@charset "UTF-8";
/*==== This single SCSS output file is intended to ONLY @import other files. ====*/
/*==== 1 - Karma CSS: the base of our styles ====*/
/* Karma CSS: the foundation of our styles */
/* Overriding Karma CSS and setting your custom variables */
/* Variables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*
* start with a copy of the current varables file:
* https://github.com/AccentDesign/karma-css/blob/master/scss/_variables.scss
*/
/* easeInQuad */
/*
A simple little SCSS mixin for creating scrim gradients
Inspired by Andreas Larson - https://github.com/larsenwork
https://css-tricks.com/easing-linear-gradients/
*/
/*! Karma-CSS v2.0.1 MIT License | http://karmacss.com | https://github.com/accentdesign/karma-css */
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 1024px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1280px) {
  .container {
    max-width: 1200px;
  }
}

.container-fluid {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*=col-] {
  padding-right: 0;
  padding-left: 0;
}

.col-xl,
.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg,
.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md,
.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm,
.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col,
.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

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

.col-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

.col-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

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

.col-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

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

.col-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

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

.col-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

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

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

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

  .col-sm-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

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

  .col-sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

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

  .col-sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

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

  .col-sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

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

  .order-sm-1 {
    order: 1;
  }

  .order-sm-2 {
    order: 2;
  }

  .order-sm-3 {
    order: 3;
  }

  .order-sm-4 {
    order: 4;
  }

  .order-sm-5 {
    order: 5;
  }

  .order-sm-6 {
    order: 6;
  }

  .order-sm-7 {
    order: 7;
  }

  .order-sm-8 {
    order: 8;
  }

  .order-sm-9 {
    order: 9;
  }

  .order-sm-10 {
    order: 10;
  }

  .order-sm-11 {
    order: 11;
  }

  .order-sm-12 {
    order: 12;
  }

  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }

  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }

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

  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }

  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }

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

  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }

  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }

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

  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }

  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

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

  .col-md-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

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

  .col-md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

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

  .col-md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

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

  .col-md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

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

  .order-md-1 {
    order: 1;
  }

  .order-md-2 {
    order: 2;
  }

  .order-md-3 {
    order: 3;
  }

  .order-md-4 {
    order: 4;
  }

  .order-md-5 {
    order: 5;
  }

  .order-md-6 {
    order: 6;
  }

  .order-md-7 {
    order: 7;
  }

  .order-md-8 {
    order: 8;
  }

  .order-md-9 {
    order: 9;
  }

  .order-md-10 {
    order: 10;
  }

  .order-md-11 {
    order: 11;
  }

  .order-md-12 {
    order: 12;
  }

  .offset-md-1 {
    margin-left: 8.3333333333%;
  }

  .offset-md-2 {
    margin-left: 16.6666666667%;
  }

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

  .offset-md-4 {
    margin-left: 33.3333333333%;
  }

  .offset-md-5 {
    margin-left: 41.6666666667%;
  }

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

  .offset-md-7 {
    margin-left: 58.3333333333%;
  }

  .offset-md-8 {
    margin-left: 66.6666666667%;
  }

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

  .offset-md-10 {
    margin-left: 83.3333333333%;
  }

  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 1024px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

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

  .col-lg-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

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

  .col-lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

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

  .col-lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

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

  .col-lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

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

  .order-lg-1 {
    order: 1;
  }

  .order-lg-2 {
    order: 2;
  }

  .order-lg-3 {
    order: 3;
  }

  .order-lg-4 {
    order: 4;
  }

  .order-lg-5 {
    order: 5;
  }

  .order-lg-6 {
    order: 6;
  }

  .order-lg-7 {
    order: 7;
  }

  .order-lg-8 {
    order: 8;
  }

  .order-lg-9 {
    order: 9;
  }

  .order-lg-10 {
    order: 10;
  }

  .order-lg-11 {
    order: 11;
  }

  .order-lg-12 {
    order: 12;
  }

  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }

  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }

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

  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }

  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }

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

  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }

  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }

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

  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }

  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 1280px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

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

  .col-xl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-xl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

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

  .col-xl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-xl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

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

  .col-xl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-xl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

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

  .col-xl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-xl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

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

  .order-xl-1 {
    order: 1;
  }

  .order-xl-2 {
    order: 2;
  }

  .order-xl-3 {
    order: 3;
  }

  .order-xl-4 {
    order: 4;
  }

  .order-xl-5 {
    order: 5;
  }

  .order-xl-6 {
    order: 6;
  }

  .order-xl-7 {
    order: 7;
  }

  .order-xl-8 {
    order: 8;
  }

  .order-xl-9 {
    order: 9;
  }

  .order-xl-10 {
    order: 10;
  }

  .order-xl-11 {
    order: 11;
  }

  .order-xl-12 {
    order: 12;
  }

  .offset-xl-1 {
    margin-left: 8.3333333333%;
  }

  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }

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

  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }

  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }

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

  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }

  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }

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

  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }

  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
*::before, *::after {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  line-height: 1.6;
  text-size-adjust: 100%;
}

body {
  color: #4a4a4a;
  font-weight: 400;
  font-size: 1.6rem;
  font-family: "Open Sans", sans-serif;
  background: white;
}

main {
  display: block;
}

a {
  color: #16a34a;
  text-decoration: none;
  background-color: transparent;
  transition: color linear 100ms;
}
a:hover {
  color: rgba(0, 0, 0, 0.12);
  text-decoration: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.button {
  display: inline-block;
  box-sizing: border-box;
  padding: 0.9rem 2rem;
  overflow: visible;
  color: white;
  font-weight: 700;
  font-size: 1.6rem;
  font-family: inherit;
  line-height: 1.5;
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  background-color: #16a34a;
  border: 1px solid #16a34a;
  border-radius: 0;
  cursor: pointer;
  transition: all cubic-bezier(0.55, 0.085, 0.68, 0.53) 100ms;
  user-select: none;
}
.button:hover, .button:focus {
  color: white;
  background-color: #107636;
  border-color: #107636;
  outline: 0;
}
.button.button-outline {
  background-color: transparent;
  transition: all cubic-bezier(0.55, 0.085, 0.68, 0.53) 100ms, color linear 100ms;
}
.button.button-outline:hover, .button.button-outline:focus {
  color: #e6e6e6;
  background-color: transparent;
  border-color: #107636;
  outline: 0;
}
.button.button-clear {
  background-color: transparent;
  border-color: transparent;
  transition: all cubic-bezier(0.55, 0.085, 0.68, 0.53) 100ms, color linear 100ms;
}
.button.button-clear:hover, .button.button-clear:focus {
  color: #e6e6e6;
  background-color: transparent;
  border-color: transparent;
  outline: 0;
}

.button.button-primary {
  color: white;
  background-color: #16a34a;
  border-color: #138d40;
}
.button.button-primary:hover, .button.button-primary:focus {
  color: white;
  background-color: #107636;
  border-color: #0d602b;
  outline: 0;
}

.button.button-outline.button-primary {
  color: #16a34a;
  background-color: transparent;
  border-color: #16a34a;
}
.button.button-outline.button-primary:hover, .button.button-outline.button-primary:focus {
  color: #107636;
  background-color: transparent;
  border-color: #107636;
  outline: 0;
}

.button.button-clear.button-primary {
  color: #16a34a;
  background-color: transparent;
  border-color: transparent;
}
.button.button-clear.button-primary:hover, .button.button-clear.button-primary:focus {
  color: #107636;
  background-color: transparent;
  border-color: transparent;
  outline: 0;
}

.button.button-secondary {
  color: #4a4a4a;
  background-color: white;
  border-color: #f2f2f2;
}
.button.button-secondary:hover, .button.button-secondary:focus {
  color: #4a4a4a;
  background-color: #e6e6e6;
  border-color: #d9d9d9;
  outline: 0;
}

.button.button-outline.button-secondary {
  color: white;
  background-color: transparent;
  border-color: white;
}
.button.button-outline.button-secondary:hover, .button.button-outline.button-secondary:focus {
  color: #e6e6e6;
  background-color: transparent;
  border-color: #e6e6e6;
  outline: 0;
}

.button.button-clear.button-secondary {
  color: white;
  background-color: transparent;
  border-color: transparent;
}
.button.button-clear.button-secondary:hover, .button.button-clear.button-secondary:focus {
  color: #e6e6e6;
  background-color: transparent;
  border-color: transparent;
  outline: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

code {
  padding: 0.2rem 0.5rem;
  color: #4a4a4a;
  font-size: 100%;
  word-break: break-word;
  background: #f0f0f0;
  border: 1px solid #16a34a;
  border-radius: 0;
}

pre {
  display: block;
  margin-bottom: 1.5rem;
  padding: 1rem 1.5rem;
  overflow-x: auto;
  color: #4a4a4a;
  font-size: 90%;
  white-space: pre;
  background: #f0f0f0;
  border: 1px solid #16a34a;
  border-radius: 0;
}
pre code {
  color: inherit;
  font-size: inherit;
  word-break: normal;
}

*[disabled] {
  cursor: not-allowed;
}

form {
  margin-bottom: 1.5rem;
}

input[type=date], input[type=datetime], input[type=datetime-local], input[type=email], input[type=month], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], input[type=week] {
  box-sizing: border-box;
  margin-bottom: 3rem;
  color: #4a4a4a;
  font-weight: 400;
  font-family: inherit;
  line-height: 1.5;
  background: rgba(118, 105, 95, 0.12);
  border: 1px solid rgba(118, 105, 95, 0.16);
  border-radius: 0;
  box-shadow: none;
  transition: background linear 100ms, border-color linear 100ms;
  padding: 0.8rem 1.5rem;
  font-size: 1.4rem;
  max-width: 100%;
  -webkit-appearance: none;
}
input[type=date]:focus, input[type=datetime]:focus, input[type=datetime-local]:focus, input[type=email]:focus, input[type=month]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=url]:focus, input[type=week]:focus {
  background: rgba(118, 105, 95, 0.12);
  border-color: rgba(118, 105, 95, 0.5);
  outline: 0;
}
input[type=date], input[type=datetime], input[type=datetime-local], input[type=month], input[type=week] {
  height: 4rem;
  -webkit-appearance: listbox;
}
input[type=checkbox], input[type=radio] {
  margin-right: 1rem;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

::-webkit-datetime-edit-fields-wrapper {
  margin: 0;
  padding: 0;
}

::placeholder {
  color: rgba(118, 105, 95, 0.5);
  opacity: 1;
}

textarea {
  box-sizing: border-box;
  margin-bottom: 3rem;
  color: #4a4a4a;
  font-weight: 400;
  font-family: inherit;
  line-height: 1.5;
  background: rgba(118, 105, 95, 0.12);
  border: 1px solid rgba(118, 105, 95, 0.16);
  border-radius: 0;
  box-shadow: none;
  transition: background linear 100ms, border-color linear 100ms;
  padding: 0.8rem 1.5rem;
  font-size: 1.4rem;
  max-width: 100%;
  overflow: auto;
  -webkit-appearance: none;
}
textarea:focus {
  background: rgba(118, 105, 95, 0.12);
  border-color: rgba(118, 105, 95, 0.5);
  outline: 0;
}

select {
  box-sizing: border-box;
  margin-bottom: 3rem;
  color: #4a4a4a;
  font-weight: 400;
  font-family: inherit;
  line-height: 1.5;
  background: rgba(118, 105, 95, 0.12);
  border: 1px solid rgba(118, 105, 95, 0.16);
  border-radius: 0;
  box-shadow: none;
  transition: background linear 100ms, border-color linear 100ms;
  padding: 0.8rem 1.5rem;
  font-size: 1.4rem;
  max-width: 100%;
  text-transform: none;
}
select:focus {
  background: rgba(118, 105, 95, 0.12);
  border-color: rgba(118, 105, 95, 0.5);
  outline: 0;
}
select:not([multiple]) {
  height: 4rem;
}

label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 700;
}

legend {
  display: block;
  box-sizing: border-box;
  max-width: 100%;
  margin-bottom: 0.5rem;
  color: inherit;
  font-weight: 700;
  white-space: normal;
}

fieldset {
  margin-bottom: 3rem;
  border-width: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  margin: 3rem 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

img {
  border-style: none;
}

figcaption {
  display: block;
}

figure {
  display: block;
  margin: 0 0 1.5rem;
}

ul {
  margin-bottom: 1.5rem;
  padding-left: 3rem;
  list-style: disc outside;
}

ol {
  margin-bottom: 1.5rem;
  padding-left: 3rem;
  list-style: decimal outside;
}

ul ul,
ul ol {
  margin: 0 0 0 2rem;
}

ol ol,
ol ul {
  margin: 0 0 0 2rem;
}

dl {
  margin-bottom: 1.5rem;
}
dl dt {
  margin: 0 0 0 0;
  font-weight: 600;
}
dl dd {
  margin: 0 0 1.5rem 2rem;
}

table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1.5rem;
  font-size: 90%;
  background-color: transparent;
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  padding: 0.85rem 0.85rem;
}

th {
  padding: 0.85rem 0.85rem;
  text-align: left;
  vertical-align: top;
}

td {
  padding: 0.85rem 0.85rem;
  text-align: left;
  vertical-align: top;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.table-bordered {
  border: solid 1px rgba(0, 0, 0, 0.12);
}

/* stylelint-disable selector-max-type */
.table-headed > thead > tr > th,
.table-headed > tbody > tr > th {
  background-color: #f0f0f0;
}

/* stylelint-enable selector-max-type */
.table-striped > tbody > tr:nth-child(odd) {
  background-color: #fafafa;
}

.table-hover > tbody > tr:hover {
  background-color: whitesmoke;
}

h6,
.h6, h5,
.h5, h4,
.h4, h3,
.h3, h2,
.h2, h1,
.h1 {
  color: #4a4a4a;
  font-family: "Open Sans", sans-serif;
}
h6 small,
.h6 small, h5 small,
.h5 small, h4 small,
.h4 small, h3 small,
.h3 small, h2 small,
.h2 small, h1 small,
.h1 small {
  font-size: 65%;
  line-height: 1;
}

h1,
.h1 {
  margin: 0 0 1.5rem;
  font-weight: 700;
  font-size: 4rem;
  line-height: 1.2;
}

h2,
.h2 {
  margin: 0 0 1.5rem;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.25;
}

h3,
.h3 {
  margin: 0 0 1.5rem;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.3;
}

h4,
.h4 {
  margin: 0 0 1.5rem;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.35;
}

h5,
.h5 {
  margin: 0 0 1.5rem;
  font-weight: 700;
  font-size: 1.328rem;
  line-height: 1.5;
}

h6,
.h6 {
  margin: 0 0 1.5rem;
  font-weight: 700;
  font-size: 1.072rem;
  line-height: 1.6;
}

abbr[title] {
  text-decoration: underline dotted;
}

p {
  margin-bottom: 1.5rem;
}

blockquote {
  margin-bottom: 1.5rem;
  padding: 3rem 3rem;
  border-left: 0 solid transparent;
}

b,
strong {
  font-weight: 700;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Skeleton
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Properties for the structural elements (or skeleton) of the website. */
body {
  overflow-x: hidden;
  position: relative;
}
body.header-fixed.t-cms .main, body.header-fixed.t-cms main, body.header-fixed.t-tour-index .main, body.header-fixed.t-tour-index main, body.header-fixed.t-about .main, body.header-fixed.t-about main, body.header-fixed.t-leader-index .main, body.header-fixed.t-leader-index main, body.header-fixed.t-leader .main, body.header-fixed.t-leader main, body.header-fixed.t-contact .main, body.header-fixed.t-contact main, body.header-fixed.t-booking .main, body.header-fixed.t-booking main, body.header-fixed.t-search .main, body.header-fixed.t-search main {
  padding-top: 13.8rem;
}
body.header-fixed .owl-carousel, body.header-fixed .banner {
  padding-top: 8.8rem;
}
body.header-fixed #scroll_top {
  opacity: 1;
}

main, .main {
  padding: 5rem 0 6rem;
  transition: padding 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.js.touch main, .js.touch .main {
  transition: none;
}
main h1, main .h1, .main h1, .main .h1 {
  margin-bottom: 2rem;
}

.column-count-2 {
  column-count: 2;
  column-gap: 3rem;
}

.content--left .rich-text {
  margin-right: 1.5rem;
}

.content--right .rich-text {
  margin-left: 1.5rem;
}

/* Desktop HD (Extra Large) screen sizes */
@media (min-width: 1280px) {
  .offset-xl-0 {
    margin-left: 0;
  }
}
/* Desktop / Tablet Landscape (Large) screen sizes */
@media (min-width: 1024px) {
  .offset-lg-0 {
    margin-left: 0;
  }
}
/* Tablet Portrait (Medium) screen sizes */
@media (min-width: 768px) {
  .offset-md-0 {
    margin-left: 0;
  }
}
@media (max-width: 1023px) {
  .column-count-2 {
    column-count: 1;
  }

  .content--left .rich-text {
    margin-right: 0;
  }

  .content--right .rich-text {
    margin-left: 0;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (min-width: 576px) {
  .offset-sm-0 {
    margin-left: 0;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  main, .main {
    padding: 3rem 0 4rem;
  }
}
/*==== Atomic Design Framework: Custom components and overrides of Karma CSS boilerplate where required ====*/
/*==== 2 - Quarks: defining the basic abstract HTML elements (http://zqsmm.qiniucdn.com/data/20110511083224/index.html) ====*/
/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, .h1 {
  font-weight: 600;
}

.h2--underlined, .t-about h2 {
  border-bottom: 0.1rem solid #4a4a4a;
  line-height: 4rem;
  margin-bottom: 3rem;
  text-transform: uppercase;
}
.h2--underlined a, .t-about h2 a {
  font-size: 1.6rem;
}
.h2--underlined .button, .t-about h2 .button {
  padding: 0.8rem 2rem;
}
.h2--underlined.b-sandstone-brown-12, .t-about h2.b-sandstone-brown-12 {
  border-bottom: 0;
  margin-bottom: 0;
  padding-left: 3rem;
}

p.drop-cap:first-letter {
  color: #16a34a;
  float: left;
  font-size: 6rem;
  font-weight: 700;
  line-height: 6rem;
  padding-right: 0.3rem;
}

p.large {
  font-size: 2.1rem;
  margin-bottom: 3rem;
}

mark {
  background-color: #e08703;
  color: #4a4a4a;
  padding: 0 0.3rem;
}

blockquote {
  background-color: white;
  position: relative;
}
blockquote i {
  color: #16a34a;
  font-size: 4rem;
  opacity: 0.6;
  position: absolute;
}
blockquote i.icon-quote-left {
  left: -3rem;
  top: -3rem;
}
blockquote i.icon-quote-right {
  bottom: -3rem;
  right: -3rem;
}
blockquote p {
  font-style: italic;
}
blockquote h4 {
  margin-bottom: 0;
  text-align: right;
}
blockquote.pull-left {
  margin: 30px 50px 30px 0px;
}
blockquote.pull-right {
  margin: 30px 0px 30px 50px;
}

address {
  font-style: normal;
  font-weight: 600;
}

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

dl dt {
  margin-bottom: 0.5rem;
}

ul.list-inline {
  list-style: none !important;
  margin: 0 0 1.5rem;
  padding: 0;
}
ul.list-inline li {
  display: inline-block;
  margin-right: 2rem;
}

ul.nav {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin-bottom: 0;
  padding-left: 0;
}
ul.nav li {
  background-color: transparent;
  border-left: 0.2rem solid #16a34a;
  cursor: pointer;
  font-size: 1.5rem;
  line-height: 24px;
  margin-bottom: 1.5rem;
  padding: 0.5rem 2rem;
  text-transform: uppercase;
  transition: all 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.js.touch ul.nav li {
  transition: none;
}
ul.nav li:hover, ul.nav li.opened, ul.nav li.current-menu-item a {
  color: #16a34a;
}
ul.nav li:hover li, ul.nav li.opened li, ul.nav li.current-menu-item a li {
  color: #4a4a4a;
}
ul.nav li:hover, ul.nav li.opened, ul.nav li.current-menu-item {
  background-color: whitesmoke;
}
ul.nav li a {
  color: #4a4a4a;
}
.no-js ul.nav li a:hover, .no-js ul.nav li a:focus, .js.no-touch ul.nav li a:hover, .js.no-touch ul.nav li a:focus, .js.touch ul.nav li a:active {
  color: #16a34a;
}
ul.nav .region_block--region-light-orange {
  border-color: #d4a11c;
}
ul.nav .region_block--region-light-orange:hover, ul.nav .region_block--region-light-orange.opened, ul.nav .region_block--region-light-orange.active, ul.nav .no-js .button-group .region_block--region-light-orange.button:hover, .no-js .button-group ul.nav .region_block--region-light-orange.button:hover, ul.nav .no-js .button-group .region_block--region-light-orange.button:focus, .no-js .button-group ul.nav .region_block--region-light-orange.button:focus, ul.nav .js.no-touch .button-group .region_block--region-light-orange.button:hover, .js.no-touch .button-group ul.nav .region_block--region-light-orange.button:hover, ul.nav .js.no-touch .button-group .region_block--region-light-orange.button:focus, .js.no-touch .button-group ul.nav .region_block--region-light-orange.button:focus, ul.nav .js.touch .button-group .region_block--region-light-orange.button:active, .js.touch .button-group ul.nav .region_block--region-light-orange.button:active {
  color: #d4a11c;
}
ul.nav .region_block--region-light-orange ul li:hover, ul.nav .region_block--region-light-orange ul li.active, ul.nav .region_block--region-light-orange ul .no-js .button-group li.button:hover, .no-js .button-group ul.nav .region_block--region-light-orange ul li.button:hover, ul.nav .region_block--region-light-orange ul .no-js .button-group li.button:focus, .no-js .button-group ul.nav .region_block--region-light-orange ul li.button:focus, ul.nav .region_block--region-light-orange ul .js.no-touch .button-group li.button:hover, .js.no-touch .button-group ul.nav .region_block--region-light-orange ul li.button:hover, ul.nav .region_block--region-light-orange ul .js.no-touch .button-group li.button:focus, .js.no-touch .button-group ul.nav .region_block--region-light-orange ul li.button:focus, ul.nav .region_block--region-light-orange ul .js.touch .button-group li.button:active, .js.touch .button-group ul.nav .region_block--region-light-orange ul li.button:active {
  color: #d4a11c;
}
ul.nav .region_block--region-dark-orange {
  border-color: #f5a623;
}
ul.nav .region_block--region-dark-orange:hover, ul.nav .region_block--region-dark-orange.opened, ul.nav .region_block--region-dark-orange.active, ul.nav .no-js .button-group .region_block--region-dark-orange.button:hover, .no-js .button-group ul.nav .region_block--region-dark-orange.button:hover, ul.nav .no-js .button-group .region_block--region-dark-orange.button:focus, .no-js .button-group ul.nav .region_block--region-dark-orange.button:focus, ul.nav .js.no-touch .button-group .region_block--region-dark-orange.button:hover, .js.no-touch .button-group ul.nav .region_block--region-dark-orange.button:hover, ul.nav .js.no-touch .button-group .region_block--region-dark-orange.button:focus, .js.no-touch .button-group ul.nav .region_block--region-dark-orange.button:focus, ul.nav .js.touch .button-group .region_block--region-dark-orange.button:active, .js.touch .button-group ul.nav .region_block--region-dark-orange.button:active {
  color: #f5a623;
}
ul.nav .region_block--region-dark-orange ul li:hover, ul.nav .region_block--region-dark-orange ul li.active, ul.nav .region_block--region-dark-orange ul .no-js .button-group li.button:hover, .no-js .button-group ul.nav .region_block--region-dark-orange ul li.button:hover, ul.nav .region_block--region-dark-orange ul .no-js .button-group li.button:focus, .no-js .button-group ul.nav .region_block--region-dark-orange ul li.button:focus, ul.nav .region_block--region-dark-orange ul .js.no-touch .button-group li.button:hover, .js.no-touch .button-group ul.nav .region_block--region-dark-orange ul li.button:hover, ul.nav .region_block--region-dark-orange ul .js.no-touch .button-group li.button:focus, .js.no-touch .button-group ul.nav .region_block--region-dark-orange ul li.button:focus, ul.nav .region_block--region-dark-orange ul .js.touch .button-group li.button:active, .js.touch .button-group ul.nav .region_block--region-dark-orange ul li.button:active {
  color: #f5a623;
}
ul.nav .region_block--region-red {
  border-color: #15803d;
}
ul.nav .region_block--region-red:hover, ul.nav .region_block--region-red.opened, ul.nav .region_block--region-red.active, ul.nav .no-js .button-group .region_block--region-red.button:hover, .no-js .button-group ul.nav .region_block--region-red.button:hover, ul.nav .no-js .button-group .region_block--region-red.button:focus, .no-js .button-group ul.nav .region_block--region-red.button:focus, ul.nav .js.no-touch .button-group .region_block--region-red.button:hover, .js.no-touch .button-group ul.nav .region_block--region-red.button:hover, ul.nav .js.no-touch .button-group .region_block--region-red.button:focus, .js.no-touch .button-group ul.nav .region_block--region-red.button:focus, ul.nav .js.touch .button-group .region_block--region-red.button:active, .js.touch .button-group ul.nav .region_block--region-red.button:active {
  color: #15803d;
}
ul.nav .region_block--region-red ul li:hover, ul.nav .region_block--region-red ul li.active, ul.nav .region_block--region-red ul .no-js .button-group li.button:hover, .no-js .button-group ul.nav .region_block--region-red ul li.button:hover, ul.nav .region_block--region-red ul .no-js .button-group li.button:focus, .no-js .button-group ul.nav .region_block--region-red ul li.button:focus, ul.nav .region_block--region-red ul .js.no-touch .button-group li.button:hover, .js.no-touch .button-group ul.nav .region_block--region-red ul li.button:hover, ul.nav .region_block--region-red ul .js.no-touch .button-group li.button:focus, .js.no-touch .button-group ul.nav .region_block--region-red ul li.button:focus, ul.nav .region_block--region-red ul .js.touch .button-group li.button:active, .js.touch .button-group ul.nav .region_block--region-red ul li.button:active {
  color: #15803d;
}
ul.nav .region_block--region-light-blue {
  border-color: #74a1cf;
}
ul.nav .region_block--region-light-blue:hover, ul.nav .region_block--region-light-blue.opened, ul.nav .region_block--region-light-blue.active, ul.nav .no-js .button-group .region_block--region-light-blue.button:hover, .no-js .button-group ul.nav .region_block--region-light-blue.button:hover, ul.nav .no-js .button-group .region_block--region-light-blue.button:focus, .no-js .button-group ul.nav .region_block--region-light-blue.button:focus, ul.nav .js.no-touch .button-group .region_block--region-light-blue.button:hover, .js.no-touch .button-group ul.nav .region_block--region-light-blue.button:hover, ul.nav .js.no-touch .button-group .region_block--region-light-blue.button:focus, .js.no-touch .button-group ul.nav .region_block--region-light-blue.button:focus, ul.nav .js.touch .button-group .region_block--region-light-blue.button:active, .js.touch .button-group ul.nav .region_block--region-light-blue.button:active {
  color: #74a1cf;
}
ul.nav .region_block--region-light-blue ul li:hover, ul.nav .region_block--region-light-blue ul li.active, ul.nav .region_block--region-light-blue ul .no-js .button-group li.button:hover, .no-js .button-group ul.nav .region_block--region-light-blue ul li.button:hover, ul.nav .region_block--region-light-blue ul .no-js .button-group li.button:focus, .no-js .button-group ul.nav .region_block--region-light-blue ul li.button:focus, ul.nav .region_block--region-light-blue ul .js.no-touch .button-group li.button:hover, .js.no-touch .button-group ul.nav .region_block--region-light-blue ul li.button:hover, ul.nav .region_block--region-light-blue ul .js.no-touch .button-group li.button:focus, .js.no-touch .button-group ul.nav .region_block--region-light-blue ul li.button:focus, ul.nav .region_block--region-light-blue ul .js.touch .button-group li.button:active, .js.touch .button-group ul.nav .region_block--region-light-blue ul li.button:active {
  color: #74a1cf;
}
ul.nav .region_block--region-purple {
  border-color: #735b73;
}
ul.nav .region_block--region-purple:hover, ul.nav .region_block--region-purple.opened, ul.nav .region_block--region-purple.active, ul.nav .no-js .button-group .region_block--region-purple.button:hover, .no-js .button-group ul.nav .region_block--region-purple.button:hover, ul.nav .no-js .button-group .region_block--region-purple.button:focus, .no-js .button-group ul.nav .region_block--region-purple.button:focus, ul.nav .js.no-touch .button-group .region_block--region-purple.button:hover, .js.no-touch .button-group ul.nav .region_block--region-purple.button:hover, ul.nav .js.no-touch .button-group .region_block--region-purple.button:focus, .js.no-touch .button-group ul.nav .region_block--region-purple.button:focus, ul.nav .js.touch .button-group .region_block--region-purple.button:active, .js.touch .button-group ul.nav .region_block--region-purple.button:active {
  color: #735b73;
}
ul.nav .region_block--region-purple ul li:hover, ul.nav .region_block--region-purple ul li.active, ul.nav .region_block--region-purple ul .no-js .button-group li.button:hover, .no-js .button-group ul.nav .region_block--region-purple ul li.button:hover, ul.nav .region_block--region-purple ul .no-js .button-group li.button:focus, .no-js .button-group ul.nav .region_block--region-purple ul li.button:focus, ul.nav .region_block--region-purple ul .js.no-touch .button-group li.button:hover, .js.no-touch .button-group ul.nav .region_block--region-purple ul li.button:hover, ul.nav .region_block--region-purple ul .js.no-touch .button-group li.button:focus, .js.no-touch .button-group ul.nav .region_block--region-purple ul li.button:focus, ul.nav .region_block--region-purple ul .js.touch .button-group li.button:active, .js.touch .button-group ul.nav .region_block--region-purple ul li.button:active {
  color: #735b73;
}
ul.nav .region_block--region-dark-blue {
  border-color: #4e74ab;
}
ul.nav .region_block--region-dark-blue:hover, ul.nav .region_block--region-dark-blue.opened, ul.nav .region_block--region-dark-blue.active, ul.nav .no-js .button-group .region_block--region-dark-blue.button:hover, .no-js .button-group ul.nav .region_block--region-dark-blue.button:hover, ul.nav .no-js .button-group .region_block--region-dark-blue.button:focus, .no-js .button-group ul.nav .region_block--region-dark-blue.button:focus, ul.nav .js.no-touch .button-group .region_block--region-dark-blue.button:hover, .js.no-touch .button-group ul.nav .region_block--region-dark-blue.button:hover, ul.nav .js.no-touch .button-group .region_block--region-dark-blue.button:focus, .js.no-touch .button-group ul.nav .region_block--region-dark-blue.button:focus, ul.nav .js.touch .button-group .region_block--region-dark-blue.button:active, .js.touch .button-group ul.nav .region_block--region-dark-blue.button:active {
  color: #4e74ab;
}
ul.nav .region_block--region-dark-blue ul li:hover, ul.nav .region_block--region-dark-blue ul li.active, ul.nav .region_block--region-dark-blue ul .no-js .button-group li.button:hover, .no-js .button-group ul.nav .region_block--region-dark-blue ul li.button:hover, ul.nav .region_block--region-dark-blue ul .no-js .button-group li.button:focus, .no-js .button-group ul.nav .region_block--region-dark-blue ul li.button:focus, ul.nav .region_block--region-dark-blue ul .js.no-touch .button-group li.button:hover, .js.no-touch .button-group ul.nav .region_block--region-dark-blue ul li.button:hover, ul.nav .region_block--region-dark-blue ul .js.no-touch .button-group li.button:focus, .js.no-touch .button-group ul.nav .region_block--region-dark-blue ul li.button:focus, ul.nav .region_block--region-dark-blue ul .js.touch .button-group li.button:active, .js.touch .button-group ul.nav .region_block--region-dark-blue ul li.button:active {
  color: #4e74ab;
}
ul.nav .region_block--region-dark-green {
  border-color: #708a1c;
}
ul.nav .region_block--region-dark-green:hover, ul.nav .region_block--region-dark-green.opened, ul.nav .region_block--region-dark-green.active, ul.nav .no-js .button-group .region_block--region-dark-green.button:hover, .no-js .button-group ul.nav .region_block--region-dark-green.button:hover, ul.nav .no-js .button-group .region_block--region-dark-green.button:focus, .no-js .button-group ul.nav .region_block--region-dark-green.button:focus, ul.nav .js.no-touch .button-group .region_block--region-dark-green.button:hover, .js.no-touch .button-group ul.nav .region_block--region-dark-green.button:hover, ul.nav .js.no-touch .button-group .region_block--region-dark-green.button:focus, .js.no-touch .button-group ul.nav .region_block--region-dark-green.button:focus, ul.nav .js.touch .button-group .region_block--region-dark-green.button:active, .js.touch .button-group ul.nav .region_block--region-dark-green.button:active {
  color: #708a1c;
}
ul.nav .region_block--region-dark-green ul li:hover, ul.nav .region_block--region-dark-green ul li.active, ul.nav .region_block--region-dark-green ul .no-js .button-group li.button:hover, .no-js .button-group ul.nav .region_block--region-dark-green ul li.button:hover, ul.nav .region_block--region-dark-green ul .no-js .button-group li.button:focus, .no-js .button-group ul.nav .region_block--region-dark-green ul li.button:focus, ul.nav .region_block--region-dark-green ul .js.no-touch .button-group li.button:hover, .js.no-touch .button-group ul.nav .region_block--region-dark-green ul li.button:hover, ul.nav .region_block--region-dark-green ul .js.no-touch .button-group li.button:focus, .js.no-touch .button-group ul.nav .region_block--region-dark-green ul li.button:focus, ul.nav .region_block--region-dark-green ul .js.touch .button-group li.button:active, .js.touch .button-group ul.nav .region_block--region-dark-green ul li.button:active {
  color: #708a1c;
}
ul.nav .region_block--region-light-green {
  border-color: #b98e98;
}
ul.nav .region_block--region-light-green:hover a {
  color: #b98e98;
}
.no-js ul.nav .region_block--region-light-green a:hover, .no-js ul.nav .region_block--region-light-green a:focus, .js.no-touch ul.nav .region_block--region-light-green a:hover, .js.no-touch ul.nav .region_block--region-light-green a:focus, .js.touch ul.nav .region_block--region-light-green a:active {
  color: #b98e98;
}

ul.side-nav,
ul.regions-nav,
ul.destinations-nav {
  flex-direction: column;
}

ul.destinations-nav {
  left: 0;
  opacity: 0;
  padding: 0 3rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
  width: 100%;
}
.js.touch ul.destinations-nav {
  transition: none;
}
ul.destinations-nav.active, .no-js .button-group ul.destinations-nav.button:hover, .no-js .button-group ul.destinations-nav.button:focus, .js.no-touch .button-group ul.destinations-nav.button:hover, .js.no-touch .button-group ul.destinations-nav.button:focus, .js.touch .button-group ul.destinations-nav.button:active {
  opacity: 1;
}
ul.destinations-nav li {
  border-left-color: transparent;
  font-size: 1.4rem;
  line-height: 22px;
  margin-bottom: 0;
  padding: 0.5rem 0;
}

.destinations-nav--region-light-orange li {
  color: #d4a11c;
}

.destinations-nav--region-dark-orange li {
  color: #f5a623;
}

.destinations-nav--region-red li {
  color: #15803d;
}

.destinations-nav--region-light-blue li {
  color: #74a1cf;
}

.destinations-nav--region-purple li {
  color: #735b73;
}

.destinations-nav--region-dark-blue li {
  color: #4e74ab;
}

.destinations-nav--region-dark-green li {
  color: #708a1c;
}

.destinations-nav-block {
  background-color: transparent;
  height: 37.7rem;
  margin-left: -3rem;
  transition: background-color 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.js.touch .destinations-nav-block {
  transition: none;
}
.destinations-nav-block.active, .no-js .button-group .destinations-nav-block.button:hover, .no-js .button-group .destinations-nav-block.button:focus, .js.no-touch .button-group .destinations-nav-block.button:hover, .js.no-touch .button-group .destinations-nav-block.button:focus, .js.touch .button-group .destinations-nav-block.button:active {
  background-color: whitesmoke;
}

/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  h1, .h1 {
    font-size: 4rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }

  h1, .h1 {
    font-size: 2.4rem;
  }

  h2, .h2 {
    font-size: 1.8rem;
  }

  h3, .h3 {
    font-size: 1.4rem;
  }

  p {
    margin-bottom: 1rem;
  }

  p.large {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
}
/* Mobile Portrait (Extra Small) screen sizes */
@media (max-width: 575px) {
  .h2--underlined, .t-about h2 {
    font-size: 1.4rem;
  }
  .h2--underlined.b-sandstone-brown-12, .t-about h2.b-sandstone-brown-12 {
    padding-left: 1.5rem;
  }
}
@font-face {
  font-family: "limosa";
  src: url("../font/limosa.eot?71662878");
  src: url("../font/limosa.eot?71662878#iefix") format("embedded-opentype"), url("../font/limosa.woff2?71662878") format("woff2"), url("../font/limosa.woff?71662878") format("woff"), url("../font/limosa.ttf?71662878") format("truetype"), url("../font/limosa.svg?71662878#limosa") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'limosa';
    src: url('../font/limosa.svg?71662878#limosa') format('svg');
  }
}
*/
[class^=icon-]:before, [class*=" icon-"]:before {
  font-family: "limosa";
  font-style: normal;
  font-weight: normal;
  speak: never;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: 0.2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-right-dir:before {
  content: "\e800";
}

/* '' */
.icon-left-dir:before {
  content: "\e801";
}

/* '' */
.icon-up-dir:before {
  content: "\e802";
}

/* '' */
.icon-search:before {
  content: "\e803";
}

/* '' */
.icon-down-dir:before {
  content: "\e804";
}

/* '' */
.icon-flight:before {
  content: "\e805";
}

/* '' */
.icon-camera:before {
  content: "\e806";
}

/* '' */
.icon-home:before {
  content: "\e807";
}

/* '' */
.icon-cancel:before {
  content: "\e808";
}

/* '' */
.icon-edit:before {
  content: "\e809";
}

/* '' */
.icon-user:before {
  content: "\e80a";
}

/* '' */
.icon-users:before {
  content: "\e80b";
}

/* '' */
.icon-attention:before {
  content: "\e80c";
}

/* '' */
.icon-info-circled:before {
  content: "\e80d";
}

/* '' */
.icon-ok-circled:before {
  content: "\e80e";
}

/* '' */
.icon-phone:before {
  content: "\e80f";
}

/* '' */
.icon-ok:before {
  content: "\e810";
}

/* '' */
.icon-walk:before {
  content: "\e812";
}

/* '' */
.icon-down-circled:before {
  content: "\f0ab";
}

/* '' */
.icon-menu:before {
  content: "\f0c9";
}

/* '' */
.icon-mail-alt:before {
  content: "\f0e0";
}

/* '' */
.icon-chat-empty:before {
  content: "\f0e6";
}

/* '' */
.icon-circle-empty:before {
  content: "\f10c";
}

/* '' */
.icon-quote-left:before {
  content: "\f10d";
}

/* '' */
.icon-quote-right:before {
  content: "\f10e";
}

/* '' */
.icon-circle:before {
  content: "\f111";
}

/* '' */
.icon-info:before {
  content: "\f129";
}

/* '' */
.icon-instagram:before {
  content: "\f16d";
}

/* '' */
.icon-file-pdf:before {
  content: "\f1c1";
}

/* '' */
.icon-commenting-o:before {
  content: "\f27b";
}

/* '' */
.icon-question-circle-o:before {
  content: "\f29c";
}

/* '' */
.icon-twitter-squared:before {
  content: "\f304";
}

/* '' */
.icon-facebook-squared:before {
  content: "\f308";
}

/* '' */
/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input[type=email],
input[type=number],
input[type=search],
input[type=text],
input[type=tel],
input[type=url],
input[type=password],
textarea,
select {
  /* Removes awkward default styles on some inputs for iOS */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type=email].medium,
input[type=number].medium,
input[type=search].medium,
input[type=text].medium,
input[type=tel].medium,
input[type=url].medium,
input[type=password].medium,
textarea.medium,
select.medium {
  width: 50%;
}
input[type=email].small,
input[type=number].small,
input[type=search].small,
input[type=text].small,
input[type=tel].small,
input[type=url].small,
input[type=password].small,
textarea.small,
select.small {
  width: 12rem;
}

input[type=checkbox],
input[type=radio] {
  display: inline;
}

label,
legend {
  font-size: 1.6rem;
  margin-bottom: 1rem;
}

textarea {
  min-height: 10rem;
}

fieldset {
  border-bottom: 0.1rem solid #4a4a4a;
  border-top: 0.1rem solid #4a4a4a;
  padding: 0;
}
fieldset legend:first-child {
  margin-left: 2.5rem;
  padding: 0 0.5rem;
  text-transform: uppercase;
}

select {
  position: relative;
}
select:after {
  content: "\e804";
  font-family: "limosa";
  left: 1.5rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

::placeholder, .help-text {
  font-style: italic;
}

.radios, .checkboxes {
  margin-bottom: 3rem;
}
.radios input[type=checkbox],
.radios input[type=radio], .checkboxes input[type=checkbox],
.checkboxes input[type=radio] {
  margin: 0 1rem 0 2rem;
}

.checkbox-label {
  font-weight: 400;
}

.input__iconised {
  display: inline-block;
  position: relative;
}
.input__iconised input {
  margin-bottom: 0;
}
.input__iconised i {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
}

.inline-label label {
  display: inline;
}

.full {
  width: 100%;
}

.select-date, #id_card_expiry_date_0 {
  margin-right: 1.5rem;
}
.select-date:last-child, #id_card_expiry_date_0:last-child {
  margin-right: 0;
}

fieldset legend {
  margin-bottom: 2.5rem;
}

.form-panel {
  border: 0.1rem solid rgba(118, 105, 95, 0.12);
  margin-bottom: 3rem;
  padding: 3rem;
}

ul.checkboxes,
ul.radios {
  list-style: none;
}
ul.checkboxes li,
ul.radios li {
  margin-bottom: 0.5rem;
  position: relative;
}

.checkbox,
ul.checkboxes,
ul.radios {
  margin-bottom: 3rem;
}
.checkbox label,
ul.checkboxes label,
ul.radios label {
  cursor: pointer;
  display: inline-block;
  font-weight: 400;
  line-height: 2.4rem;
  margin-bottom: 0;
  padding: 0 3.6rem;
  position: relative;
}
.checkbox label span,
ul.checkboxes label span,
ul.radios label span {
  position: absolute;
  inset: 0 auto auto 0;
  background: rgba(118, 105, 95, 0.12);
  border: 1px solid #16a34a;
  height: 2.4rem;
  width: 2.4rem;
}
.checkbox input,
ul.checkboxes input,
ul.radios input {
  position: absolute;
  visibility: hidden;
}
.checkbox input + span:after,
ul.checkboxes input + span:after,
ul.radios input + span:after {
  position: absolute;
  display: block;
  content: "";
  opacity: 0;
}
.checkbox input:checked + span:after,
ul.checkboxes input:checked + span:after,
ul.radios input:checked + span:after {
  opacity: 1;
}
.checkbox label:hover input:not(:checked):not(:disabled) + span:after,
ul.checkboxes label:hover input:not(:checked):not(:disabled) + span:after,
ul.radios label:hover input:not(:checked):not(:disabled) + span:after {
  opacity: 0.5;
}
.checkbox label input:disabled + span,
ul.checkboxes label input:disabled + span,
ul.radios label input:disabled + span {
  cursor: not-allowed;
}

.checkbox label span,
ul.checkboxes label span {
  border-radius: 0;
}
.checkbox input[type=checkbox] + span:after,
ul.checkboxes input[type=checkbox] + span:after {
  position: absolute;
  inset: 0.672rem auto auto 0.408rem;
  border: 0.3rem solid color("primary");
  border-top: none;
  border-right: none;
  height: 0.72rem;
  width: 1.296rem;
  transform: rotate(-45deg);
}

ul.radios {
  margin-bottom: 0;
  padding-left: 0;
}
ul.radios li {
  display: inline-block;
  margin: 0 3rem 0 0;
}
ul.radios li:last-child {
  margin-right: 0;
}
ul.radios label {
  background: rgba(118, 105, 95, 0.12);
  border: 0.1rem solid rgba(118, 105, 95, 0.16);
  color: #4a4a4a;
  font-size: 1.4rem;
  height: 7rem;
  padding: 3.5rem 0 0;
  position: relative;
  text-align: center;
  transition: all 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
  width: 7rem;
}
.js.touch ul.radios label {
  transition: none;
}
ul.radios label input[type=radio] {
  margin: 0;
}
ul.radios label.checked {
  background: #16a34a;
  border-color: rgba(177, 22, 62, 0.7);
  color: white;
}
ul.radios label:after {
  font-family: "limosa";
  left: 50%;
  position: absolute;
  top: 30%;
  transform: translate(-50%, -50%);
}

ul.radios--yes-no {
  margin-bottom: 1.5rem;
}
ul.radios--yes-no li:first-child label:after {
  content: "\e810";
  font-size: 2.8rem;
}
ul.radios--yes-no li:nth-child(2) label:after {
  content: "\e808";
  font-size: 2.8rem;
}

#id_detail-number_of_passengers li:first-child label:after {
  content: "\e80a";
  font-size: 2.4rem;
}
#id_detail-number_of_passengers li:nth-child(2) label:after {
  content: "\e80a\e80a";
  font-size: 2.1rem;
}
#id_detail-number_of_passengers li:nth-child(3) label:after {
  content: "\e80a\e80a\e80a";
  font-size: 1.8rem;
}
#id_detail-number_of_passengers li:nth-child(4) label:after {
  content: "\e80a\e80a\e80a\e80a";
  font-size: 1.5rem;
}

#id_passenger_1-room_requirements li:first-child label:after, #id_passenger_2-room_requirements li:first-child label:after,
#id_passenger_3-room_requirements li:first-child label:after, #id_passenger_4-room_requirements li:first-child label:after {
  content: "\e80a\e80a";
  font-size: 2.1rem;
}
#id_passenger_1-room_requirements li:nth-child(2) label:after, #id_passenger_2-room_requirements li:nth-child(2) label:after,
#id_passenger_3-room_requirements li:nth-child(2) label:after, #id_passenger_4-room_requirements li:nth-child(2) label:after {
  content: "\e80a\e80a";
  font-size: 2.1rem;
}
#id_passenger_1-room_requirements li:nth-child(3) label:after, #id_passenger_2-room_requirements li:nth-child(3) label:after,
#id_passenger_3-room_requirements li:nth-child(3) label:after, #id_passenger_4-room_requirements li:nth-child(3) label:after {
  content: "\e80a";
  font-size: 2.4rem;
}
#id_passenger_1-room_requirements li:nth-child(4) label:after, #id_passenger_2-room_requirements li:nth-child(4) label:after,
#id_passenger_3-room_requirements li:nth-child(4) label:after, #id_passenger_4-room_requirements li:nth-child(4) label:after {
  content: "\e80b";
  font-size: 2.4rem;
}

#id_passenger_1-address_1, #id_passenger_1-address_2,
#id_passenger_1-city, #id_passenger_1-country,
#id_passenger_2-address_1, #id_passenger_2-address_2,
#id_passenger_2-city, #id_passenger_2-country,
#id_passenger_3-address_1, #id_passenger_3-address_2,
#id_passenger_3-city, #id_passenger_3-country,
#id_passenger_4-address_1, #id_passenger_4-address_2,
#id_passenger_4-city, #id_passenger_4-country,
#id_billing_address_1, #id_billing_address_2,
#id_billing_city, #id_billing_country {
  margin-bottom: 1.5rem;
}

/* Mobile Portrait (Extra Small) screen sizes */
@media (max-width: 575px) {
  ul.radios li {
    margin: 0 1.5rem 1.5rem 0;
  }
  ul.radios li:last-child {
    margin-right: 0;
  }

  .form-panel {
    padding: 1.5rem;
  }

  fieldset legend {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
  }
}
/* Media
–––––––––––––––––––––––––––––––––––––––––––––––––– */
img {
  display: block;
}
img.full-width {
  height: auto;
}

figure {
  margin-bottom: 2rem;
}

figcaption {
  font-style: italic;
  padding: 1.5rem 0;
}

/*==== 3 - Atoms: defining the basic physical building block HTML elements ====*/
.alert {
  position: relative;
  padding: 1rem 2rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.alert-primary {
  color: #004085;
  background-color: #cce5ff;
  border-color: #b8daff;
}

.alert-secondary {
  color: #383d41;
  background-color: #e2e3e5;
  border-color: #d6d8db;
}

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.alert-warning {
  background-color: rgba(245, 166, 35, 0.1);
  border-color: rgba(245, 166, 35, 0.3);
}

.alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb;
}

.alert-light {
  color: #818182;
  background-color: #fefefe;
  border-color: #fdfdfe;
}

.alert-dark {
  color: #1b1e21;
  background-color: #d6d8d9;
  border-color: #c6c8ca;
}

/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button:not(.owl-dot),
input[type=submit],
input[type=reset],
input[type=button] {
  text-transform: uppercase;
}
.no-js .button:hover, .no-js .button:focus, .js.no-touch .button:hover, .js.no-touch .button:focus, .js.touch .button:active,
.no-js button:not(.owl-dot):hover,
.no-js button:not(.owl-dot):focus,
.js.no-touch button:not(.owl-dot):hover,
.js.no-touch button:not(.owl-dot):focus,
.js.touch button:not(.owl-dot):active,
.no-js input[type=submit]:hover,
.no-js input[type=submit]:focus,
.js.no-touch input[type=submit]:hover,
.js.no-touch input[type=submit]:focus,
.js.touch input[type=submit]:active,
.no-js input[type=reset]:hover,
.no-js input[type=reset]:focus,
.js.no-touch input[type=reset]:hover,
.js.no-touch input[type=reset]:focus,
.js.touch input[type=reset]:active,
.no-js input[type=button]:hover,
.no-js input[type=button]:focus,
.js.no-touch input[type=button]:hover,
.js.no-touch input[type=button]:focus,
.js.touch input[type=button]:active {
  background-color: #76695f;
  border-color: #76695f;
}
.button span,
button:not(.owl-dot) span,
input[type=submit] span,
input[type=reset] span,
input[type=button] span {
  font-weight: 400;
}

.button.button-secondary,
button.button-secondary,
input[type=submit].button-secondary,
input[type=reset].button-secondary,
input[type=button].button-secondary {
  box-shadow: 0 0 0.4rem 0 rgba(0, 0, 0, 0.54);
}
.no-js .button.button-secondary:hover, .no-js .button.button-secondary:focus, .js.no-touch .button.button-secondary:hover, .js.no-touch .button.button-secondary:focus, .js.touch .button.button-secondary:active,
.no-js button.button-secondary:hover,
.no-js button.button-secondary:focus,
.js.no-touch button.button-secondary:hover,
.js.no-touch button.button-secondary:focus,
.js.touch button.button-secondary:active,
.no-js input[type=submit].button-secondary:hover,
.no-js input[type=submit].button-secondary:focus,
.js.no-touch input[type=submit].button-secondary:hover,
.js.no-touch input[type=submit].button-secondary:focus,
.js.touch input[type=submit].button-secondary:active,
.no-js input[type=reset].button-secondary:hover,
.no-js input[type=reset].button-secondary:focus,
.js.no-touch input[type=reset].button-secondary:hover,
.js.no-touch input[type=reset].button-secondary:focus,
.js.touch input[type=reset].button-secondary:active,
.no-js input[type=button].button-secondary:hover,
.no-js input[type=button].button-secondary:focus,
.js.no-touch input[type=button].button-secondary:hover,
.js.no-touch input[type=button].button-secondary:focus,
.js.touch input[type=button].button-secondary:active {
  background-color: #16a34a;
  border-color: #16a34a;
  color: white;
}

.button.button-outline,
button.button-outline,
input[type=submit].button-outline,
input[type=reset].button-outline,
input[type=button].button-outline {
  background-color: transparent;
  color: #16a34a;
}
.no-js .button.button-outline:hover, .no-js .button.button-outline:focus, .js.no-touch .button.button-outline:hover, .js.no-touch .button.button-outline:focus, .js.touch .button.button-outline:active,
.no-js button.button-outline:hover,
.no-js button.button-outline:focus,
.js.no-touch button.button-outline:hover,
.js.no-touch button.button-outline:focus,
.js.touch button.button-outline:active,
.no-js input[type=submit].button-outline:hover,
.no-js input[type=submit].button-outline:focus,
.js.no-touch input[type=submit].button-outline:hover,
.js.no-touch input[type=submit].button-outline:focus,
.js.touch input[type=submit].button-outline:active,
.no-js input[type=reset].button-outline:hover,
.no-js input[type=reset].button-outline:focus,
.js.no-touch input[type=reset].button-outline:hover,
.js.no-touch input[type=reset].button-outline:focus,
.js.touch input[type=reset].button-outline:active,
.no-js input[type=button].button-outline:hover,
.no-js input[type=button].button-outline:focus,
.js.no-touch input[type=button].button-outline:hover,
.js.no-touch input[type=button].button-outline:focus,
.js.touch input[type=button].button-outline:active {
  border-color: #76695f;
  color: white;
}

.button.button-clear,
button.button-clear,
input[type=submit].button-clear,
input[type=reset].button-clear,
input[type=button].button-clear {
  background-color: transparent;
  border-color: transparent;
  color: #16a34a;
}
.no-js .button.button-clear:hover, .no-js .button.button-clear:focus, .js.no-touch .button.button-clear:hover, .js.no-touch .button.button-clear:focus, .js.touch .button.button-clear:active,
.no-js button.button-clear:hover,
.no-js button.button-clear:focus,
.js.no-touch button.button-clear:hover,
.js.no-touch button.button-clear:focus,
.js.touch button.button-clear:active,
.no-js input[type=submit].button-clear:hover,
.no-js input[type=submit].button-clear:focus,
.js.no-touch input[type=submit].button-clear:hover,
.js.no-touch input[type=submit].button-clear:focus,
.js.touch input[type=submit].button-clear:active,
.no-js input[type=reset].button-clear:hover,
.no-js input[type=reset].button-clear:focus,
.js.no-touch input[type=reset].button-clear:hover,
.js.no-touch input[type=reset].button-clear:focus,
.js.touch input[type=reset].button-clear:active,
.no-js input[type=button].button-clear:hover,
.no-js input[type=button].button-clear:focus,
.js.no-touch input[type=button].button-clear:hover,
.js.no-touch input[type=button].button-clear:focus,
.js.touch input[type=button].button-clear:active {
  background-color: transparent;
  border-color: transparent;
  color: #76695f;
}

.button.button-arrow,
button.button-arrow,
input[type=submit].button-arrow,
input[type=reset].button-arrow,
input[type=button].button-arrow {
  padding: 0.8rem 1rem 0.8rem 1.5rem;
  position: relative;
}
.button.button-arrow:before,
button.button-arrow:before,
input[type=submit].button-arrow:before,
input[type=reset].button-arrow:before,
input[type=button].button-arrow:before {
  border-color: transparent;
  border-left-color: #16a34a;
  border-style: solid;
  border-width: 2.1rem;
  content: "";
  height: 0;
  position: absolute;
  right: -4.3rem;
  top: -0.1rem;
  transition: border-color 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
  width: 0;
}
.js.touch .button.button-arrow:before,
.js.touch button.button-arrow:before,
.js.touch input[type=submit].button-arrow:before,
.js.touch input[type=reset].button-arrow:before,
.js.touch input[type=button].button-arrow:before {
  transition: none;
}
.no-js .button.button-arrow:hover, .no-js .button.button-arrow:focus, .js.no-touch .button.button-arrow:hover, .js.no-touch .button.button-arrow:focus, .js.touch .button.button-arrow:active,
.no-js button.button-arrow:hover,
.no-js button.button-arrow:focus,
.js.no-touch button.button-arrow:hover,
.js.no-touch button.button-arrow:focus,
.js.touch button.button-arrow:active,
.no-js input[type=submit].button-arrow:hover,
.no-js input[type=submit].button-arrow:focus,
.js.no-touch input[type=submit].button-arrow:hover,
.js.no-touch input[type=submit].button-arrow:focus,
.js.touch input[type=submit].button-arrow:active,
.no-js input[type=reset].button-arrow:hover,
.no-js input[type=reset].button-arrow:focus,
.js.no-touch input[type=reset].button-arrow:hover,
.js.no-touch input[type=reset].button-arrow:focus,
.js.touch input[type=reset].button-arrow:active,
.no-js input[type=button].button-arrow:hover,
.no-js input[type=button].button-arrow:focus,
.js.no-touch input[type=button].button-arrow:hover,
.js.no-touch input[type=button].button-arrow:focus,
.js.touch input[type=button].button-arrow:active {
  border-color: #76695f;
}
.no-js .button.button-arrow:hover:before, .no-js .button.button-arrow:focus:before, .js.no-touch .button.button-arrow:hover:before, .js.no-touch .button.button-arrow:focus:before, .js.touch .button.button-arrow:active:before,
.no-js button.button-arrow:hover:before,
.no-js button.button-arrow:focus:before,
.js.no-touch button.button-arrow:hover:before,
.js.no-touch button.button-arrow:focus:before,
.js.touch button.button-arrow:active:before,
.no-js input[type=submit].button-arrow:hover:before,
.no-js input[type=submit].button-arrow:focus:before,
.js.no-touch input[type=submit].button-arrow:hover:before,
.js.no-touch input[type=submit].button-arrow:focus:before,
.js.touch input[type=submit].button-arrow:active:before,
.no-js input[type=reset].button-arrow:hover:before,
.no-js input[type=reset].button-arrow:focus:before,
.js.no-touch input[type=reset].button-arrow:hover:before,
.js.no-touch input[type=reset].button-arrow:focus:before,
.js.touch input[type=reset].button-arrow:active:before,
.no-js input[type=button].button-arrow:hover:before,
.no-js input[type=button].button-arrow:focus:before,
.js.no-touch input[type=button].button-arrow:hover:before,
.js.no-touch input[type=button].button-arrow:focus:before,
.js.touch input[type=button].button-arrow:active:before {
  border-left-color: #76695f;
}

.button.button-small,
button.button-small,
input[type=submit].button-small,
input[type=reset].button-small,
input[type=button].button-small {
  font-size: 1.2rem;
  padding: 0.8rem 1.2rem 0.5rem;
}
.button.button-small.button-arrow,
button.button-small.button-arrow,
input[type=submit].button-small.button-arrow,
input[type=reset].button-small.button-arrow,
input[type=button].button-small.button-arrow {
  padding: 0.8rem 0.7rem 0.5rem 1.2rem;
}
.button.button-small.button-arrow:before,
button.button-small.button-arrow:before,
input[type=submit].button-small.button-arrow:before,
input[type=reset].button-small.button-arrow:before,
input[type=button].button-small.button-arrow:before {
  border-width: 1.65rem;
  right: -3.47rem;
}

.button.button-arrow.button-info-box-open {
  background: #e08703;
  border-color: #e08703;
}
.button.button-arrow.button-info-box-open:before {
  border-left-color: #e08703;
}

.button-group {
  margin-bottom: 1.5rem;
}
.button-group .button {
  background-color: transparent;
  border-color: #9b9b9b;
  color: #4a4a4a;
  margin-right: 1rem;
  text-transform: none;
}
.button-group .button.active, .no-js .button-group .button:hover, .no-js .button-group .button:focus, .js.no-touch .button-group .button:hover, .js.no-touch .button-group .button:focus, .js.touch .button-group .button:active {
  background-color: #16a34a;
  border-color: #16a34a;
  color: white;
}
#scroll_top {
  bottom: 8rem;
  font-size: 2.8rem;
  line-height: 1;
  opacity: 0;
  padding: 0.5rem 0 0.8rem;
  position: fixed;
  right: 8rem;
  width: 4.4rem;
  z-index: 1;
  transition: background-color 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53), opacity 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
#scroll_top.scrolled-to {
  bottom: 36rem;
  position: absolute;
}

/* Desktop/Tablet Landscape (Large) screen sizes */
@media (max-width: 1279px) {
  #scroll_top {
    bottom: 4rem;
    right: 4rem;
  }
  #scroll_top.scrolled-to {
    bottom: 42rem;
  }
}
/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  #scroll_top.scrolled-to {
    bottom: 54rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .button {
    font-size: 1.4rem;
  }

  .button-group .button {
    margin-bottom: 0.8rem;
  }

  #scroll_top {
    bottom: 2rem;
    right: 2rem;
  }
  #scroll_top.scrolled-to {
    bottom: 68rem;
  }
}
/* Mobile Portrait (Extra Small) screen sizes */
@media (max-width: 575px) {
  #scroll_top {
    bottom: 1.5rem;
    right: 1.5rem;
  }
  #scroll_top.scrolled-to {
    bottom: 81rem;
  }
}
/* Badges
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.badge {
  background-color: #9b9b9b;
  border-radius: 1.2rem;
  color: white;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.7rem 1.5rem 0.5rem;
  text-transform: uppercase;
}
.badge i {
  margin-right: 0.5rem;
}

.badge-denied,
.badge-fully-booked {
  background-color: #e11d48;
}

.badge-warning,
.badge-wait-list,
.badge-contact-us,
.badge-phone-to-book {
  background-color: #e08703;
}

.badge-success {
  background-color: #58a92b;
}

.badge-available {
  background-color: #2b75aa;
}

/*==== 4 - Molecules: atoms combined to form micro components ====*/
/* Banner
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.banner {
  border-bottom: 0.7rem solid transparent;
  padding-top: 16rem;
  overflow: hidden;
  position: relative;
  transition: all 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.js.touch .banner {
  transition: none;
}
.banner img {
  height: auto;
  transition: top 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
  width: 100%;
}
.js.touch .banner img {
  transition: none;
}

.banner__content {
  bottom: 0;
  left: 0;
  position: absolute;
  width: 100%;
}
.banner__content h1 {
  color: #16a34a;
  font-size: 5rem;
  font-weight: 700;
}
.banner__content p {
  font-size: 2.4rem;
  font-weight: 600;
}
.banner__content .banner__subtitle {
  font-size: 2.1rem;
  margin-bottom: 0;
  text-transform: uppercase;
}
.banner__content .tour__title {
  font-size: 2.1rem;
}
.banner__content .button {
  margin-top: 1.5rem;
}
.banner__content i {
  bottom: 4.3rem;
  color: white;
  cursor: pointer;
  font-size: 2.2rem;
  position: absolute;
  right: 1.5rem;
  transition: color cubic-bezier(0.55, 0.085, 0.68, 0.53) 100ms;
}
.js.touch .banner__content i {
  transition: none;
}
.no-js .banner__content i:hover, .no-js .banner__content i:focus, .js.no-touch .banner__content i:hover, .js.no-touch .banner__content i:focus, .js.touch .banner__content i:active {
  color: #16a34a;
}

.banner__panel {
  background-color: rgba(118, 105, 95, 0.7);
  color: white;
  padding: 4rem 4rem 5rem;
  width: 40rem;
}

/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .banner {
    padding-top: 15rem;
  }

  .banner__panel {
    padding: 2rem;
    width: 28rem;
  }

  .banner__content p {
    font-size: 1.8rem;
  }
  .banner__content .button {
    margin-top: 1rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .banner {
    height: 42rem;
    padding-top: 11.5rem;
  }
  .banner img {
    height: 30rem;
    left: 50%;
    position: absolute;
    top: 11.5rem;
    transform: translateX(-50%);
    width: auto;
  }

  .banner__content p {
    font-size: 1.4rem;
  }
}
/* Mobile Portrait (Extra Small) screen sizes */
@media (max-width: 575px) {
  .banner__content {
    position: relative;
  }

  .banner__panel {
    background-color: #76695f;
    margin: 0 -1.5rem;
    padding: 1.5rem;
    width: initial;
  }
}
.owl-carousel.owl-theme {
  padding-top: 16rem;
  transition: padding-top 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.js.touch .owl-carousel.owl-theme {
  transition: none;
}
.owl-carousel.owl-theme .owl-item {
  overflow: hidden;
}
.owl-carousel.owl-theme .owl-nav {
  margin-top: 0 !important;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}
.owl-carousel.owl-theme .owl-prev {
  left: -50px;
  position: absolute;
  color: #9b9b9b !important;
  font-size: 80px !important;
  margin-top: -60px !important;
}
.owl-carousel.owl-theme .owl-next {
  right: -50px;
  position: absolute;
  color: #9b9b9b !important;
  font-size: 80px !important;
  margin-top: -60px !important;
}
.owl-carousel.owl-theme .owl-nav [class*=owl-]:hover {
  background: transparent !important;
  color: #16a34a;
  text-decoration: none;
}
.owl-carousel.owl-theme .owl-nav [class*=owl-]:focus {
  outline: none;
  background: transparent !important;
}
.owl-carousel.owl-theme .owl-dots .owl-dot {
  outline: 0;
}
.owl-carousel.owl-theme .owl-dots .owl-dot span {
  background-color: rgba(0, 0, 0, 0.12);
  border-radius: 0;
}
.owl-carousel.owl-theme .owl-dots .owl-dot.active span, .owl-carousel.owl-theme .owl-dots .no-js .button-group .owl-dot.button:hover span, .no-js .button-group .owl-carousel.owl-theme .owl-dots .owl-dot.button:hover span, .owl-carousel.owl-theme .owl-dots .no-js .button-group .owl-dot.button:focus span, .no-js .button-group .owl-carousel.owl-theme .owl-dots .owl-dot.button:focus span, .owl-carousel.owl-theme .owl-dots .js.no-touch .button-group .owl-dot.button:hover span, .js.no-touch .button-group .owl-carousel.owl-theme .owl-dots .owl-dot.button:hover span, .owl-carousel.owl-theme .owl-dots .js.no-touch .button-group .owl-dot.button:focus span, .js.no-touch .button-group .owl-carousel.owl-theme .owl-dots .owl-dot.button:focus span, .owl-carousel.owl-theme .owl-dots .js.touch .button-group .owl-dot.button:active span, .js.touch .button-group .owl-carousel.owl-theme .owl-dots .owl-dot.button:active span {
  background-color: #16a34a;
}

/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .owl-carousel.owl-theme {
    padding-top: 15rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .owl-carousel.owl-theme {
    padding-top: 11.5rem;
  }
}
/* Cards
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.card {
  margin-bottom: 3rem;
  transition: background-color cubic-bezier(0.55, 0.085, 0.68, 0.53) 100ms;
}
.js.touch .card {
  transition: none;
}
.card h3, .card p {
  transition: color cubic-bezier(0.55, 0.085, 0.68, 0.53) 100ms;
}
.js.touch .card h3, .js.touch .card p {
  transition: none;
}
.card h3 {
  line-height: 1.4;
}
.card h3.tour__country {
  font-size: 3rem;
  margin-bottom: 0;
}
.card p {
  color: #4a4a4a;
  margin-bottom: 0.7rem;
}
.no-js .card:hover .card__date, .no-js .card:hover .card__panel, .no-js .card:focus .card__date, .no-js .card:focus .card__panel, .js.no-touch .card:hover .card__date, .js.no-touch .card:hover .card__panel, .js.no-touch .card:focus .card__date, .js.no-touch .card:focus .card__panel, .js.touch .card:active .card__date, .js.touch .card:active .card__panel {
  background-color: #76695f;
}
.no-js .card:hover .card__date, .no-js .card:hover .card--tour__date, .no-js .card:hover h3, .no-js .card:hover p, .no-js .card:hover .button, .no-js .card:focus .card__date, .no-js .card:focus .card--tour__date, .no-js .card:focus h3, .no-js .card:focus p, .no-js .card:focus .button, .js.no-touch .card:hover .card__date, .js.no-touch .card:hover .card--tour__date, .js.no-touch .card:hover h3, .js.no-touch .card:hover p, .js.no-touch .card:hover .button, .js.no-touch .card:focus .card__date, .js.no-touch .card:focus .card--tour__date, .js.no-touch .card:focus h3, .js.no-touch .card:focus p, .js.no-touch .card:focus .button, .js.touch .card:active .card__date, .js.touch .card:active .card--tour__date, .js.touch .card:active h3, .js.touch .card:active p, .js.touch .card:active .button {
  color: white;
}

.card--news .card__panel, .card--leaders .card__panel {
  background-color: whitesmoke;
  padding: 2rem;
  transition: background-color cubic-bezier(0.55, 0.085, 0.68, 0.53) 100ms;
}
.js.touch .card--news .card__panel, .js.touch .card--leaders .card__panel {
  transition: none;
}

.card--news .card__panel {
  min-height: 23rem;
  position: relative;
}
.card--news .card__panel .button.button-small {
  bottom: 1rem;
  position: absolute;
  right: 1rem;
}

.card--leaders .card__panel {
  min-height: 0;
}
.card--leaders .card__panel h3.h2 {
  margin-bottom: 0.5rem;
}
.card--leaders .card__panel .button-small {
  padding: 0.8rem 0 0.5rem;
}

.card__panel {
  background-color: whitesmoke;
  min-height: 26rem;
  padding: 2rem;
  transition: background-color cubic-bezier(0.55, 0.085, 0.68, 0.53) 100ms;
}
.card__panel h3 {
  margin-top: initial !important;
}
.js.touch .card__panel {
  transition: none;
}

.card__img {
  position: relative;
}

.card__img__top {
  background-color: transparent;
  height: 0.7rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.card__date {
  background-color: white;
  bottom: 1rem;
  color: #4a4a4a;
  font-size: 1.2rem;
  font-weight: 700;
  left: 0;
  padding: 0.5rem 1.5rem 0.5rem 2rem;
  position: absolute;
  transition: all cubic-bezier(0.55, 0.085, 0.68, 0.53) 100ms;
}
.js.touch .card__date {
  transition: none;
}

.card__date__out, .card__date__in {
  font-weight: 700;
  margin-bottom: 0.3rem;
}

.card__date__in i.icon-flight {
  display: inline-block;
  transform: rotate(90deg);
}

.card__date__spaces {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}

.card__subtitle {
  font-size: 1.4rem;
  opacity: 0.54;
  text-transform: uppercase;
}

.cards--4row .card .card__panel {
  align-items: center;
  display: flex;
  min-height: 11rem;
}
.cards--4row .card .card__panel h3 {
  margin-bottom: 0;
}

.card--full-width, .card--featured {
  background-color: whitesmoke;
  padding: 0;
}
.card--full-width h3.tour__country, .card--featured h3.tour__country {
  margin-bottom: 0.5rem;
}
.no-js .card--full-width:hover, .no-js .card--full-width:focus, .js.no-touch .card--full-width:hover, .js.no-touch .card--full-width:focus, .js.touch .card--full-width:active, .no-js .card--featured:hover, .no-js .card--featured:focus, .js.no-touch .card--featured:hover, .js.no-touch .card--featured:focus, .js.touch .card--featured:active {
  background-color: #16a34a;
}
.no-js .card--full-width:hover .card__panel, .no-js .card--full-width:focus .card__panel, .js.no-touch .card--full-width:hover .card__panel, .js.no-touch .card--full-width:focus .card__panel, .js.touch .card--full-width:active .card__panel, .no-js .card--featured:hover .card__panel, .no-js .card--featured:focus .card__panel, .js.no-touch .card--featured:hover .card__panel, .js.no-touch .card--featured:focus .card__panel, .js.touch .card--featured:active .card__panel {
  background-color: #16a34a;
}
.no-js .card--full-width:hover .card--full-width__content, .no-js .card--full-width:focus .card--full-width__content, .js.no-touch .card--full-width:hover .card--full-width__content, .js.no-touch .card--full-width:focus .card--full-width__content, .js.touch .card--full-width:active .card--full-width__content, .no-js .card--featured:hover .card--full-width__content, .no-js .card--featured:focus .card--full-width__content, .js.no-touch .card--featured:hover .card--full-width__content, .js.no-touch .card--featured:focus .card--full-width__content, .js.touch .card--featured:active .card--full-width__content {
  border-color: white;
}

.card--full-width__grid {
  display: grid;
  grid-template-columns: 0.7rem 30rem 1fr 26rem;
  grid-template-rows: 1.5rem 8.5rem 8.5rem 1.5rem;
}

.card--tour__border {
  grid-column: 1/span 1;
  grid-row: 1/span 4;
}

.card--tour__img {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  grid-column: 2/span 1;
  grid-row: 1/span 4;
}

.card--tour__content {
  border-right: 0.1rem dashed #9b9b9b;
  display: flex;
  flex-direction: column;
  grid-column: 3/span 1;
  grid-row: 2/span 2;
  justify-content: center;
  padding: 0 3rem;
  transition: border-color cubic-bezier(0.55, 0.085, 0.68, 0.53) 100ms;
}
.js.touch .card--tour__content {
  transition: none;
}
.card--tour__content .button {
  padding-left: 0;
  padding-right: 0;
}

.card--tour__date {
  background-color: white;
  color: #4a4a4a;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0 0 1rem -3.7rem;
  padding: 0.5rem 1.5rem 0.5rem 3.7rem;
  transition: all cubic-bezier(0.55, 0.085, 0.68, 0.53) 100ms;
}
.js.touch .card--tour__date {
  transition: none;
}

.card--tour__dates {
  grid-column: 4/span 1;
  grid-row: 2/span 1;
  padding: 0 1.5rem;
}

.card--tour__info {
  align-self: end;
  grid-column: 4/span 1;
  grid-row: 3/span 1;
  padding: 0 1.5rem;
}

.card--featured__grid {
  display: grid;
  grid-template-columns: 0.7rem 1fr 20rem;
  grid-template-rows: 23rem;
}
.card--featured__grid .card--tour__border, .card--featured__grid .card--tour__content, .card--featured__grid .card--tour__img {
  grid-row: 1/span 1;
}
.card--featured__grid .card--tour__border {
  grid-column: 1/span 1;
}
.card--featured__grid .card--tour__content {
  align-self: center;
  border-right: none;
  grid-column: 2/span 1;
}
.card--featured__grid .card--tour__content .button.button-small {
  text-align: right;
}
.card--featured__grid .card--tour__img {
  grid-column: 3/span 1;
}

.card--featured__title {
  background-color: #16a34a;
  border-color: transparent;
  color: white;
  display: inline-block;
  margin-bottom: 0;
  padding: 0 3.7rem;
}

.card--featured__title--region-light-orange {
  background-color: #d4a11c;
}

.card--featured__title--region-dark-orange {
  background-color: #f5a623;
}

.card--featured__title--region-red {
  background-color: #15803d;
}

.card--featured__title--region-light-blue {
  background-color: #74a1cf;
}

.card--featured__title--region-purple {
  background-color: #735b73;
}

.card--featured__title--region-dark-blue {
  background-color: #4e74ab;
}

.card--featured__title--region-dark-green {
  background-color: #708a1c;
}

.card--featured__title--region-light-green {
  background-color: #b98e98;
}

.card--region-light-orange .card__img__top, .card--region-light-orange .card--tour__border {
  background-color: #d4a11c;
}
.card--region-light-orange h3, .card--region-light-orange .button, .card--region-light-orange .card__date__spaces {
  color: #d4a11c;
}
.no-js .card--region-light-orange:hover, .no-js .card--region-light-orange:focus, .js.no-touch .card--region-light-orange:hover, .js.no-touch .card--region-light-orange:focus, .js.touch .card--region-light-orange:active {
  background-color: #d4a11c;
}
.no-js .card--region-light-orange:hover .card__panel, .no-js .card--region-light-orange:focus .card__panel, .js.no-touch .card--region-light-orange:hover .card__panel, .js.no-touch .card--region-light-orange:focus .card__panel, .js.touch .card--region-light-orange:active .card__panel {
  background-color: #d4a11c;
}
.no-js .card--region-light-orange:hover h3, .no-js .card--region-light-orange:hover .button, .no-js .card--region-light-orange:hover .card__date__spaces, .no-js .card--region-light-orange:focus h3, .no-js .card--region-light-orange:focus .button, .no-js .card--region-light-orange:focus .card__date__spaces, .js.no-touch .card--region-light-orange:hover h3, .js.no-touch .card--region-light-orange:hover .button, .js.no-touch .card--region-light-orange:hover .card__date__spaces, .js.no-touch .card--region-light-orange:focus h3, .js.no-touch .card--region-light-orange:focus .button, .js.no-touch .card--region-light-orange:focus .card__date__spaces, .js.touch .card--region-light-orange:active h3, .js.touch .card--region-light-orange:active .button, .js.touch .card--region-light-orange:active .card__date__spaces {
  color: white;
}

.card--region-dark-orange .card__img__top, .card--region-dark-orange .card--tour__border {
  background-color: #f5a623;
}
.card--region-dark-orange h3, .card--region-dark-orange .button, .card--region-dark-orange .card__date__spaces {
  color: #f5a623;
}
.no-js .card--region-dark-orange:hover, .no-js .card--region-dark-orange:focus, .js.no-touch .card--region-dark-orange:hover, .js.no-touch .card--region-dark-orange:focus, .js.touch .card--region-dark-orange:active {
  background-color: #f5a623;
}
.no-js .card--region-dark-orange:hover .card__panel, .no-js .card--region-dark-orange:hover .card--tour__date, .no-js .card--region-dark-orange:focus .card__panel, .no-js .card--region-dark-orange:focus .card--tour__date, .js.no-touch .card--region-dark-orange:hover .card__panel, .js.no-touch .card--region-dark-orange:hover .card--tour__date, .js.no-touch .card--region-dark-orange:focus .card__panel, .js.no-touch .card--region-dark-orange:focus .card--tour__date, .js.touch .card--region-dark-orange:active .card__panel, .js.touch .card--region-dark-orange:active .card--tour__date {
  background-color: #f5a623;
}
.no-js .card--region-dark-orange:hover h3, .no-js .card--region-dark-orange:hover .button, .no-js .card--region-dark-orange:hover .card__date__spaces, .no-js .card--region-dark-orange:focus h3, .no-js .card--region-dark-orange:focus .button, .no-js .card--region-dark-orange:focus .card__date__spaces, .js.no-touch .card--region-dark-orange:hover h3, .js.no-touch .card--region-dark-orange:hover .button, .js.no-touch .card--region-dark-orange:hover .card__date__spaces, .js.no-touch .card--region-dark-orange:focus h3, .js.no-touch .card--region-dark-orange:focus .button, .js.no-touch .card--region-dark-orange:focus .card__date__spaces, .js.touch .card--region-dark-orange:active h3, .js.touch .card--region-dark-orange:active .button, .js.touch .card--region-dark-orange:active .card__date__spaces {
  color: white;
}

.card--region-red .card__img__top, .card--region-red .card--tour__border {
  background-color: #15803d;
}
.card--region-red h3, .card--region-red .button, .card--region-red .card__date__spaces {
  color: #15803d;
}
.no-js .card--region-red:hover, .no-js .card--region-red:focus, .js.no-touch .card--region-red:hover, .js.no-touch .card--region-red:focus, .js.touch .card--region-red:active {
  background-color: #15803d;
}
.no-js .card--region-red:hover .card__panel, .no-js .card--region-red:hover .card--tour__date, .no-js .card--region-red:focus .card__panel, .no-js .card--region-red:focus .card--tour__date, .js.no-touch .card--region-red:hover .card__panel, .js.no-touch .card--region-red:hover .card--tour__date, .js.no-touch .card--region-red:focus .card__panel, .js.no-touch .card--region-red:focus .card--tour__date, .js.touch .card--region-red:active .card__panel, .js.touch .card--region-red:active .card--tour__date {
  background-color: #15803d;
}
.no-js .card--region-red:hover h3, .no-js .card--region-red:hover .button, .no-js .card--region-red:hover .card__date__spaces, .no-js .card--region-red:focus h3, .no-js .card--region-red:focus .button, .no-js .card--region-red:focus .card__date__spaces, .js.no-touch .card--region-red:hover h3, .js.no-touch .card--region-red:hover .button, .js.no-touch .card--region-red:hover .card__date__spaces, .js.no-touch .card--region-red:focus h3, .js.no-touch .card--region-red:focus .button, .js.no-touch .card--region-red:focus .card__date__spaces, .js.touch .card--region-red:active h3, .js.touch .card--region-red:active .button, .js.touch .card--region-red:active .card__date__spaces {
  color: white;
}

.card--region-light-blue .card__img__top, .card--region-light-blue .card--tour__border {
  background-color: #74a1cf;
}
.card--region-light-blue h3, .card--region-light-blue .button, .card--region-light-blue .card__date__spaces {
  color: #74a1cf;
}
.no-js .card--region-light-blue:hover, .no-js .card--region-light-blue:focus, .js.no-touch .card--region-light-blue:hover, .js.no-touch .card--region-light-blue:focus, .js.touch .card--region-light-blue:active {
  background-color: #74a1cf;
}
.no-js .card--region-light-blue:hover .card__panel, .no-js .card--region-light-blue:hover .card--tour__date, .no-js .card--region-light-blue:focus .card__panel, .no-js .card--region-light-blue:focus .card--tour__date, .js.no-touch .card--region-light-blue:hover .card__panel, .js.no-touch .card--region-light-blue:hover .card--tour__date, .js.no-touch .card--region-light-blue:focus .card__panel, .js.no-touch .card--region-light-blue:focus .card--tour__date, .js.touch .card--region-light-blue:active .card__panel, .js.touch .card--region-light-blue:active .card--tour__date {
  background-color: #74a1cf;
}
.no-js .card--region-light-blue:hover h3, .no-js .card--region-light-blue:hover .button, .no-js .card--region-light-blue:hover .card__date__spaces, .no-js .card--region-light-blue:focus h3, .no-js .card--region-light-blue:focus .button, .no-js .card--region-light-blue:focus .card__date__spaces, .js.no-touch .card--region-light-blue:hover h3, .js.no-touch .card--region-light-blue:hover .button, .js.no-touch .card--region-light-blue:hover .card__date__spaces, .js.no-touch .card--region-light-blue:focus h3, .js.no-touch .card--region-light-blue:focus .button, .js.no-touch .card--region-light-blue:focus .card__date__spaces, .js.touch .card--region-light-blue:active h3, .js.touch .card--region-light-blue:active .button, .js.touch .card--region-light-blue:active .card__date__spaces {
  color: white;
}

.card--region-purple .card__img__top, .card--region-purple .card--tour__border {
  background-color: #735b73;
}
.card--region-purple h3, .card--region-purple .button, .card--region-purple .card__date__spaces {
  color: #735b73;
}
.no-js .card--region-purple:hover, .no-js .card--region-purple:focus, .js.no-touch .card--region-purple:hover, .js.no-touch .card--region-purple:focus, .js.touch .card--region-purple:active {
  background-color: #735b73;
}
.no-js .card--region-purple:hover .card__panel, .no-js .card--region-purple:hover .card--tour__date, .no-js .card--region-purple:focus .card__panel, .no-js .card--region-purple:focus .card--tour__date, .js.no-touch .card--region-purple:hover .card__panel, .js.no-touch .card--region-purple:hover .card--tour__date, .js.no-touch .card--region-purple:focus .card__panel, .js.no-touch .card--region-purple:focus .card--tour__date, .js.touch .card--region-purple:active .card__panel, .js.touch .card--region-purple:active .card--tour__date {
  background-color: #735b73;
}
.no-js .card--region-purple:hover h3, .no-js .card--region-purple:hover .button, .no-js .card--region-purple:hover .card__date__spaces, .no-js .card--region-purple:focus h3, .no-js .card--region-purple:focus .button, .no-js .card--region-purple:focus .card__date__spaces, .js.no-touch .card--region-purple:hover h3, .js.no-touch .card--region-purple:hover .button, .js.no-touch .card--region-purple:hover .card__date__spaces, .js.no-touch .card--region-purple:focus h3, .js.no-touch .card--region-purple:focus .button, .js.no-touch .card--region-purple:focus .card__date__spaces, .js.touch .card--region-purple:active h3, .js.touch .card--region-purple:active .button, .js.touch .card--region-purple:active .card__date__spaces {
  color: white;
}

.card--region-dark-blue .card__img__top, .card--region-dark-blue .card--tour__border {
  background-color: #4e74ab;
}
.card--region-dark-blue h3, .card--region-dark-blue .button, .card--region-dark-blue .card__date__spaces {
  color: #4e74ab;
}
.no-js .card--region-dark-blue:hover, .no-js .card--region-dark-blue:focus, .js.no-touch .card--region-dark-blue:hover, .js.no-touch .card--region-dark-blue:focus, .js.touch .card--region-dark-blue:active {
  background-color: #4e74ab;
}
.no-js .card--region-dark-blue:hover .card__panel, .no-js .card--region-dark-blue:hover .card--tour__date, .no-js .card--region-dark-blue:focus .card__panel, .no-js .card--region-dark-blue:focus .card--tour__date, .js.no-touch .card--region-dark-blue:hover .card__panel, .js.no-touch .card--region-dark-blue:hover .card--tour__date, .js.no-touch .card--region-dark-blue:focus .card__panel, .js.no-touch .card--region-dark-blue:focus .card--tour__date, .js.touch .card--region-dark-blue:active .card__panel, .js.touch .card--region-dark-blue:active .card--tour__date {
  background-color: #4e74ab;
}
.no-js .card--region-dark-blue:hover h3, .no-js .card--region-dark-blue:hover .button, .no-js .card--region-dark-blue:hover .card__date__spaces, .no-js .card--region-dark-blue:focus h3, .no-js .card--region-dark-blue:focus .button, .no-js .card--region-dark-blue:focus .card__date__spaces, .js.no-touch .card--region-dark-blue:hover h3, .js.no-touch .card--region-dark-blue:hover .button, .js.no-touch .card--region-dark-blue:hover .card__date__spaces, .js.no-touch .card--region-dark-blue:focus h3, .js.no-touch .card--region-dark-blue:focus .button, .js.no-touch .card--region-dark-blue:focus .card__date__spaces, .js.touch .card--region-dark-blue:active h3, .js.touch .card--region-dark-blue:active .button, .js.touch .card--region-dark-blue:active .card__date__spaces {
  color: white;
}

.card--region-dark-green .card__img__top, .card--region-dark-green .card--tour__border {
  background-color: #708a1c;
}
.card--region-dark-green h3, .card--region-dark-green .button, .card--region-dark-green .card__date__spaces {
  color: #708a1c;
}
.no-js .card--region-dark-green:hover, .no-js .card--region-dark-green:focus, .js.no-touch .card--region-dark-green:hover, .js.no-touch .card--region-dark-green:focus, .js.touch .card--region-dark-green:active {
  background-color: #708a1c;
}
.no-js .card--region-dark-green:hover .card__panel, .no-js .card--region-dark-green:hover .card--tour__date, .no-js .card--region-dark-green:focus .card__panel, .no-js .card--region-dark-green:focus .card--tour__date, .js.no-touch .card--region-dark-green:hover .card__panel, .js.no-touch .card--region-dark-green:hover .card--tour__date, .js.no-touch .card--region-dark-green:focus .card__panel, .js.no-touch .card--region-dark-green:focus .card--tour__date, .js.touch .card--region-dark-green:active .card__panel, .js.touch .card--region-dark-green:active .card--tour__date {
  background-color: #708a1c;
}
.no-js .card--region-dark-green:hover h3, .no-js .card--region-dark-green:hover .button, .no-js .card--region-dark-green:hover .card__date__spaces, .no-js .card--region-dark-green:focus h3, .no-js .card--region-dark-green:focus .button, .no-js .card--region-dark-green:focus .card__date__spaces, .js.no-touch .card--region-dark-green:hover h3, .js.no-touch .card--region-dark-green:hover .button, .js.no-touch .card--region-dark-green:hover .card__date__spaces, .js.no-touch .card--region-dark-green:focus h3, .js.no-touch .card--region-dark-green:focus .button, .js.no-touch .card--region-dark-green:focus .card__date__spaces, .js.touch .card--region-dark-green:active h3, .js.touch .card--region-dark-green:active .button, .js.touch .card--region-dark-green:active .card__date__spaces {
  color: white;
}

.card--region-light-green .card__img__top, .card--region-light-green .card--tour__border {
  background-color: #b98e98;
}
.card--region-light-green h3, .card--region-light-green .button, .card--region-light-green .card__date__spaces {
  color: #b98e98;
}
.no-js .card--region-light-green:hover, .no-js .card--region-light-green:focus, .js.no-touch .card--region-light-green:hover, .js.no-touch .card--region-light-green:focus, .js.touch .card--region-light-green:active {
  background-color: #b98e98;
}
.no-js .card--region-light-green:hover .card__panel, .no-js .card--region-light-green:hover .card--tour__date, .no-js .card--region-light-green:focus .card__panel, .no-js .card--region-light-green:focus .card--tour__date, .js.no-touch .card--region-light-green:hover .card__panel, .js.no-touch .card--region-light-green:hover .card--tour__date, .js.no-touch .card--region-light-green:focus .card__panel, .js.no-touch .card--region-light-green:focus .card--tour__date, .js.touch .card--region-light-green:active .card__panel, .js.touch .card--region-light-green:active .card--tour__date {
  background-color: #b98e98;
}
.no-js .card--region-light-green:hover h3, .no-js .card--region-light-green:hover .button, .no-js .card--region-light-green:hover .card__date__spaces, .no-js .card--region-light-green:focus h3, .no-js .card--region-light-green:focus .button, .no-js .card--region-light-green:focus .card__date__spaces, .js.no-touch .card--region-light-green:hover h3, .js.no-touch .card--region-light-green:hover .button, .js.no-touch .card--region-light-green:hover .card__date__spaces, .js.no-touch .card--region-light-green:focus h3, .js.no-touch .card--region-light-green:focus .button, .js.no-touch .card--region-light-green:focus .card__date__spaces, .js.touch .card--region-light-green:active h3, .js.touch .card--region-light-green:active .button, .js.touch .card--region-light-green:active .card__date__spaces {
  color: white;
}

.b-wild-sand-white .card .card__panel {
  background-color: white;
}

.leaders {
  margin-top: 5rem;
}

/* Desktop/Tablet Landscape (Large) screen sizes */
@media (max-width: 1279px) {
  .card--full-width__grid {
    grid-template-rows: 1.5rem 10rem 10rem 1.5rem;
  }

  .card--news .card__panel {
    min-height: 29rem;
  }

  .cards--4row .card .card__panel {
    min-height: 10rem;
  }

  .card--featured__title {
    padding: 0 2.2rem;
  }

  .card--featured__grid .card--tour__content {
    padding: 0 1.5rem;
  }
}
/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .card--full-width__grid {
    grid-template-columns: 0.7rem 20rem 1fr 22rem;
    grid-template-rows: 1.5rem auto 1.5rem auto 1.5rem;
  }
  .card--full-width__grid .card--tour__content {
    border-bottom: 0.1rem dashed #9b9b9b;
    border-right: 0;
    grid-column: 3/span 2;
    grid-row: 2/span 1;
    margin: 0 3rem;
    padding: 0;
  }
  .card--full-width__grid .card--tour__content p:last-child {
    display: block;
    margin-bottom: 1.5rem;
  }
  .card--full-width__grid .card--tour__content h3 {
    margin-top: 0;
  }
  .card--full-width__grid .card--tour__border, .card--full-width__grid .card--tour__img {
    grid-row: 1/span 5;
  }
  .card--full-width__grid .card--tour__dates, .card--full-width__grid .card--tour__info {
    grid-row: 4/span 1;
  }
  .card--full-width__grid .card--tour__dates {
    grid-column: 3/span 1;
    padding-left: 3rem;
  }
  .card--full-width__grid .card--tour__info {
    align-self: start;
    padding: 0 3rem 0 0;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .card--news .card__panel {
    min-height: initial;
    padding-bottom: 4rem;
  }

  .cards--4row .card .card__panel {
    min-height: initial;
    padding-bottom: 2rem;
  }

  .card--full-width__grid {
    grid-template-columns: 0.7rem 1fr 1fr;
    grid-template-rows: 1.5rem auto 1.5rem auto 1.5rem 24rem;
  }
  .card--full-width__grid .card--tour__border {
    grid-row: 1/span 6;
  }
  .card--full-width__grid .card--tour__img {
    grid-column: 2/span 2;
    grid-row: 6/span 1;
  }
  .card--full-width__grid .card--tour__content {
    grid-column: 2/span 3;
    grid-row: 2/span 1;
  }
  .card--full-width__grid .card--tour__dates {
    grid-column: 2/span 1;
  }
  .card--full-width__grid .card--tour__info {
    grid-column: 3/span 1;
  }
}
/* Mobile Portrait (Extra Small) screen sizes */
@media (max-width: 575px) {
  .cards--4row .card .card__panel {
    min-height: initial;
  }

  .card--full-width__grid {
    grid-template-columns: 0.7rem 1fr;
    grid-template-rows: 1.5rem auto 1.5rem auto auto 1.5rem 20rem;
  }
  .card--full-width__grid .card--tour__border {
    grid-row: 1/span 7;
  }
  .card--full-width__grid .card--tour__img {
    grid-column: 2/span 1;
    grid-row: 7/span 1;
  }
  .card--full-width__grid .card--tour__content, .card--full-width__grid .card--tour__info {
    grid-column: 2/span 1;
    margin: 0;
    padding: 0 1.5rem;
  }
  .card--full-width__grid .card--tour__dates {
    margin-bottom: 1rem;
    padding-left: 1.5rem;
  }
  .card--full-width__grid .card--tour__info {
    align-self: end;
    grid-row: 5/span 1;
  }

  .card--featured__grid {
    grid-template-columns: 0.7rem 1fr;
    grid-template-rows: 20rem auto;
  }
  .card--featured__grid .card--tour__border {
    grid-row: 1/span 2;
  }
  .card--featured__grid > img {
    grid-column: 2/span 1;
    grid-row: 2/span 1;
  }

  .card h3.tour__country {
    font-size: 2rem;
  }

  .card--tour__content .button {
    white-space: initial;
  }
}
/* Info Boxes
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.info-box {
  border: 0.1rem solid rgba(0, 0, 0, 0.12);
  border-top: 0.8rem solid #16a34a;
  margin: 3rem 0 2rem;
  padding: 3.5rem 3rem 3rem;
  position: relative;
  text-align: center;
}
.info-box svg {
  left: 50%;
  position: absolute;
  top: -0.4rem;
  transform: translate(-50%, -50%);
}
.info-box h3 {
  text-transform: uppercase;
}
.info-box ul:not(.errorlist) {
  margin: 0 0 3rem;
}
.info-box ul:not(.errorlist) li {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
}
.info-box ul:not(.errorlist) li a {
  color: #4a4a4a;
}
.info-box ul:not(.errorlist) li i {
  color: #16a34a;
  font-size: 2.4rem;
  margin-right: 1rem;
}
.info-box .button:not(.button-clear) {
  margin-top: 1rem;
}
.info-box .button-clear {
  padding: 0;
}
.info-box .errorlist {
  margin: -2rem 0 2rem;
}

.info-box--left-align p, .info-box--left-align ul, .info-box--left-align address {
  text-align: left;
}

.info-box--fixed {
  background-color: white;
  margin-bottom: 0;
  padding-bottom: 0;
  position: fixed;
  bottom: 0;
  right: -0.1rem;
  transform: translateX(100%);
  transition: transform 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
  width: 90rem;
  z-index: 30;
}
.js.touch .info-box--fixed {
  transition: none;
}
.info-box--fixed.active, .no-js .button-group .info-box--fixed.button:hover, .no-js .button-group .info-box--fixed.button:focus, .js.no-touch .button-group .info-box--fixed.button:hover, .js.no-touch .button-group .info-box--fixed.button:focus, .js.touch .button-group .info-box--fixed.button:active {
  transform: translateX(0);
}
.info-box--fixed h3 {
  background-color: #16a34a;
  color: white;
  cursor: pointer;
  display: inline-block;
  padding: 1rem 2rem;
  position: absolute;
  left: 0;
  top: 0;
  transform: rotate(90deg) translateX(-0.8rem);
  transform-origin: left top 0;
  transition: background-color 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.js.touch .info-box--fixed h3 {
  transition: none;
}
.no-js .info-box--fixed h3:hover, .no-js .info-box--fixed h3:focus, .js.no-touch .info-box--fixed h3:hover, .js.no-touch .info-box--fixed h3:focus, .js.touch .info-box--fixed h3:active {
  background-color: #76695f;
}
.info-box--fixed ul:not(.errorlist) li {
  font-size: 1.8rem;
}

/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .info-box--fixed {
    width: 68rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .info-box--fixed {
    position: absolute;
    top: 42rem;
    bottom: initial;
    transform: translate(100%, 0);
    width: 50rem;
  }
  .info-box--fixed.active, .no-js .button-group .info-box--fixed.button:hover, .no-js .button-group .info-box--fixed.button:focus, .js.no-touch .button-group .info-box--fixed.button:hover, .js.no-touch .button-group .info-box--fixed.button:focus, .js.touch .button-group .info-box--fixed.button:active {
    transform: translate(0, 0);
  }
  .info-box--fixed ul:not(.errorlist) li {
    font-size: 1.6rem;
  }
  .info-box--fixed ul:not(.errorlist) li i {
    font-size: 1.8rem;
  }
  .info-box--fixed label {
    font-size: 1.4rem;
  }
}
/* Mobile Portrait (Extra Small) screen sizes */
@media (max-width: 575px) {
  .info-box--fixed {
    padding: 3rem 2rem 0;
    width: 28rem;
  }
  .info-box--fixed h3, .info-box--fixed ul:not(.errorlist) li {
    font-size: 1.4rem;
  }
}
.pagination {
  display: flex;
  justify-content: space-between;
}

.pagination__block {
  border-top: 0.2rem solid whitesmoke;
  width: 37rem;
  display: flex;
  padding-top: 1rem;
  margin-bottom: 2rem;
}
.pagination__block img {
  height: auto;
  width: 7rem;
}
.pagination__block .h3 {
  font-size: 1.6rem;
  opacity: 0.54;
  font-weight: 400;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.pagination__block .h2 {
  font-size: 1.8rem;
}
.pagination__block .h2 a {
  color: #4a4a4a;
}
.pagination__block .h2 a:hover {
  color: #16a34a;
}

.pagination__block--prev {
  text-align: left;
}
.pagination__block--prev img {
  margin-right: 3rem;
}

.pagination__block--next {
  flex-direction: row-reverse;
  text-align: right;
}
.pagination__block--next img {
  margin-left: 3rem;
}

/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .pagination__block {
    width: 33rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .pagination__block {
    width: 24rem;
  }
  .pagination__block img {
    width: 5rem;
  }
  .pagination__block .h3 {
    font-size: 1.4rem;
  }
  .pagination__block .h2 {
    font-size: 1.6rem;
  }

  .pagination__block--prev img {
    margin-right: 1.5rem;
  }

  .pagination__block--next img {
    margin-left: 1.5rem;
  }
}
/* Mobile Portrait (Extra Small) screen sizes */
@media (max-width: 575px) {
  .pagination {
    flex-direction: column;
  }

  .pagination__block {
    margin-bottom: 1rem;
    width: 100%;
  }
}
.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  outline: 0;
  background: white;
  opacity: 0;
}
.modal.show {
  opacity: 1;
  display: block;
}

.modal__dialog {
  height: 100vh;
  pointer-events: none;
  position: relative;
  width: 100vw;
}

.modal__content {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  pointer-events: auto;
  background-color: white;
  background-clip: padding-box;
  outline: 0;
}
.modal__content .owl-carousel {
  padding-top: 0 !important;
}

.modal__body {
  position: relative;
  flex: 1 1 auto;
}

.modal__close {
  color: #9b9b9b;
  font-size: 40px;
  position: absolute;
  right: 3rem;
  top: 0;
}

.modal-header {
  display: block !important;
}

.modal-content {
  overflow: auto;
  height: 100vh;
}

.modal-contact-form {
  background: #b1163e;
  color: #fff;
}

.modal-contact-form .modal-content {
  background: #b1163e;
  color: #fff;
}

.modal-contact-form h2 {
  color: #fff;
}

.modal-contact-form form {
  text-align: left;
}

.modal-header .close-tour-form-modal {
  font-size: 40px;
  color: #fff;
}

/*==== 5 - Organisms: atoms & molecules combined to form complete components/modules ====*/
/* Header
–––––––––––––––––––––––––––––––––––––––––––––––––– */
header, .header {
  background-color: white;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.12);
  height: 16rem;
  left: 0;
  position: absolute;
  top: 0;
  transition: height 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
  width: 100%;
  z-index: 10;
}
.js.touch header, .js.touch .header {
  transition: none;
}
header #logo, .header #logo {
  margin-top: 2rem;
  max-width: 100%;
  transition: all 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
  width: auto;
}
.js.touch header #logo, .js.touch .header #logo {
  transition: none;
}
header nav ul, .header nav ul {
  margin-bottom: 0;
}
header nav ul li, .header nav ul li {
  border-top: 0.3rem solid white;
  line-height: 1;
  margin: 0;
  transition: border-color 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.js.touch header nav ul li, .js.touch .header nav ul li {
  transition: none;
}
header nav ul li a, .header nav ul li a {
  color: #76695f;
  text-transform: uppercase;
}
.no-js header nav ul li a:hover, .no-js header nav ul li a:focus, .js.no-touch header nav ul li a:hover, .js.no-touch header nav ul li a:focus, .js.touch header nav ul li a:active, .no-js .header nav ul li a:hover, .no-js .header nav ul li a:focus, .js.no-touch .header nav ul li a:hover, .js.no-touch .header nav ul li a:focus, .js.touch .header nav ul li a:active {
  color: #16a34a;
}
header nav ul li.current-menu-item, .header nav ul li.current-menu-item {
  border-color: #16a34a;
}
header nav ul li.current-menu-item a, .header nav ul li.current-menu-item a {
  color: #16a34a;
}
header nav ul li:first-child, .header nav ul li:first-child {
  margin-left: 0;
}
header nav ul li:last-child, .header nav ul li:last-child {
  margin-right: 0;
}
header .button, .header .button {
  color: white !important;
}
header.fixed, .header.fixed {
  height: 8.5rem;
  position: fixed;
  top: -4.5rem;
}
header.fixed #logo, .header.fixed #logo {
  height: 2rem;
  margin-top: 1rem;
}
header.fixed .header__main nav, .header.fixed .header__main nav {
  margin-top: 0;
}
header.fixed .header__main nav ul li, .header.fixed .header__main nav ul li {
  padding: 1rem 0;
}

.header__top {
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.12);
  height: 4.5rem;
}
.header__top .d-flex {
  justify-content: space-between;
}
.header__top nav ul li {
  line-height: 4rem;
  margin: 0 1.5rem;
}
.header__top nav ul li a {
  font-size: 1.4rem;
}

.header__utils {
  align-items: center;
  display: flex;
}
.header__utils a {
  font-size: 3rem;
}
.header__utils span {
  color: #16a34a;
  font-size: 2rem;
  font-weight: 700;
}
.header__utils span {
  margin-left: 2rem;
}
.header__utils .button {
  margin-left: 4rem;
}

.header__main nav {
  margin-top: 5.5rem;
  transition: margin-top 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.js.touch .header__main nav {
  transition: none;
}
.header__main nav ul li {
  margin: 0 2rem;
  padding: 1.5rem 0 2.5rem;
  transition: all 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.js.touch .header__main nav ul li {
  transition: none;
}
.header__main nav ul li a {
  font-weight: 600;
}

.regions-menu {
  background-color: white;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.12);
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.12);
  display: none;
  padding: 5rem 0;
  z-index: 1;
}
.regions-menu.active, .no-js .button-group .regions-menu.button:hover, .no-js .button-group .regions-menu.button:focus, .js.no-touch .button-group .regions-menu.button:hover, .js.no-touch .button-group .regions-menu.button:focus, .js.touch .button-group .regions-menu.button:active {
  display: block;
}
.regions-menu nav .regions-nav li {
  border-top: 0;
  line-height: 24px;
  margin-bottom: 1.5rem;
  transition: all 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.js.touch .regions-menu nav .regions-nav li {
  transition: none;
}
.regions-menu nav .regions-nav li a {
  color: #4a4a4a;
}
.regions-menu nav .regions-nav .region_block--region-light-orange:hover a, .regions-menu nav .regions-nav .region_block--region-light-orange.opened a, .regions-menu nav .regions-nav .region_block--region-light-orange.active a, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-light-orange.button:focus a, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-light-orange.button:focus a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-light-orange.button:hover a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-light-orange.button:hover a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-light-orange.button:focus a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-light-orange.button:focus a, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-light-orange.button:active a, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-light-orange.button:active a {
  color: #d4a11c;
}
.regions-menu nav .regions-nav .region_block--region-light-orange:hover a:hover, .regions-menu nav .regions-nav .region_block--region-light-orange.opened a:hover, .regions-menu nav .regions-nav .region_block--region-light-orange.active a:hover, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-light-orange.button:focus a:hover, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-light-orange.button:focus a:hover, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-light-orange.button:focus a:hover, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-light-orange.button:focus a:hover, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-light-orange.button:active a:hover, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-light-orange.button:active a:hover {
  color: #d4a11c;
}
.regions-menu nav .regions-nav .region_block--region-dark-orange:hover a, .regions-menu nav .regions-nav .region_block--region-dark-orange.opened a, .regions-menu nav .regions-nav .region_block--region-dark-orange.active a, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-dark-orange.button:focus a, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-dark-orange.button:focus a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-dark-orange.button:hover a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-orange.button:hover a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-dark-orange.button:focus a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-orange.button:focus a, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-dark-orange.button:active a, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-orange.button:active a {
  color: #f5a623;
}
.regions-menu nav .regions-nav .region_block--region-dark-orange:hover a:hover, .regions-menu nav .regions-nav .region_block--region-dark-orange.opened a:hover, .regions-menu nav .regions-nav .region_block--region-dark-orange.active a:hover, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-dark-orange.button:focus a:hover, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-dark-orange.button:focus a:hover, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-dark-orange.button:focus a:hover, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-orange.button:focus a:hover, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-dark-orange.button:active a:hover, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-orange.button:active a:hover {
  color: #f5a623;
}
.regions-menu nav .regions-nav .region_block--region-red:hover a, .regions-menu nav .regions-nav .region_block--region-red.opened a, .regions-menu nav .regions-nav .region_block--region-red.active a, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-red.button:focus a, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-red.button:focus a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-red.button:hover a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-red.button:hover a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-red.button:focus a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-red.button:focus a, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-red.button:active a, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-red.button:active a {
  color: #e11d48;
}
.regions-menu nav .regions-nav .region_block--region-red:hover a:hover, .regions-menu nav .regions-nav .region_block--region-red.opened a:hover, .regions-menu nav .regions-nav .region_block--region-red.active a:hover, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-red.button:focus a:hover, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-red.button:focus a:hover, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-red.button:focus a:hover, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-red.button:focus a:hover, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-red.button:active a:hover, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-red.button:active a:hover {
  color: #e11d48;
}
.regions-menu nav .regions-nav .region_block--region-light-blue:hover a, .regions-menu nav .regions-nav .region_block--region-light-blue.opened a, .regions-menu nav .regions-nav .region_block--region-light-blue.active a, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-light-blue.button:focus a, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-light-blue.button:focus a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-light-blue.button:hover a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-light-blue.button:hover a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-light-blue.button:focus a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-light-blue.button:focus a, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-light-blue.button:active a, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-light-blue.button:active a {
  color: #74a1cf;
}
.regions-menu nav .regions-nav .region_block--region-light-blue:hover a:hover, .regions-menu nav .regions-nav .region_block--region-light-blue.opened a:hover, .regions-menu nav .regions-nav .region_block--region-light-blue.active a:hover, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-light-blue.button:focus a:hover, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-light-blue.button:focus a:hover, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-light-blue.button:focus a:hover, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-light-blue.button:focus a:hover, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-light-blue.button:active a:hover, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-light-blue.button:active a:hover {
  color: #74a1cf;
}
.regions-menu nav .regions-nav .region_block--region-purple:hover a, .regions-menu nav .regions-nav .region_block--region-purple.opened a, .regions-menu nav .regions-nav .region_block--region-purple.active a, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-purple.button:focus a, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-purple.button:focus a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-purple.button:hover a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-purple.button:hover a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-purple.button:focus a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-purple.button:focus a, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-purple.button:active a, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-purple.button:active a {
  color: #735b73;
}
.regions-menu nav .regions-nav .region_block--region-purple:hover a:hover, .regions-menu nav .regions-nav .region_block--region-purple.opened a:hover, .regions-menu nav .regions-nav .region_block--region-purple.active a:hover, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-purple.button:focus a:hover, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-purple.button:focus a:hover, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-purple.button:focus a:hover, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-purple.button:focus a:hover, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-purple.button:active a:hover, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-purple.button:active a:hover {
  color: #735b73;
}
.regions-menu nav .regions-nav .region_block--region-dark-blue:hover a, .regions-menu nav .regions-nav .region_block--region-dark-blue.opened a, .regions-menu nav .regions-nav .region_block--region-dark-blue.active a, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-dark-blue.button:focus a, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-dark-blue.button:focus a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-dark-blue.button:hover a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-blue.button:hover a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-dark-blue.button:focus a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-blue.button:focus a, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-dark-blue.button:active a, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-blue.button:active a {
  color: #4e74ab;
}
.regions-menu nav .regions-nav .region_block--region-dark-blue:hover a:hover, .regions-menu nav .regions-nav .region_block--region-dark-blue.opened a:hover, .regions-menu nav .regions-nav .region_block--region-dark-blue.active a:hover, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-dark-blue.button:focus a:hover, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-dark-blue.button:focus a:hover, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-dark-blue.button:focus a:hover, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-blue.button:focus a:hover, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-dark-blue.button:active a:hover, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-blue.button:active a:hover {
  color: #4e74ab;
}
.regions-menu nav .regions-nav .region_block--region-dark-green:hover a, .regions-menu nav .regions-nav .region_block--region-dark-green.opened a, .regions-menu nav .regions-nav .region_block--region-dark-green.active a, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-dark-green.button:focus a, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-dark-green.button:focus a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-dark-green.button:hover a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-green.button:hover a, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-dark-green.button:focus a, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-green.button:focus a, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-dark-green.button:active a, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-green.button:active a {
  color: #708a1c;
}
.regions-menu nav .regions-nav .region_block--region-dark-green:hover a:hover, .regions-menu nav .regions-nav .region_block--region-dark-green.opened a:hover, .regions-menu nav .regions-nav .region_block--region-dark-green.active a:hover, .regions-menu nav .regions-nav .no-js .button-group .region_block--region-dark-green.button:focus a:hover, .no-js .button-group .regions-menu nav .regions-nav .region_block--region-dark-green.button:focus a:hover, .regions-menu nav .regions-nav .js.no-touch .button-group .region_block--region-dark-green.button:focus a:hover, .js.no-touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-green.button:focus a:hover, .regions-menu nav .regions-nav .js.touch .button-group .region_block--region-dark-green.button:active a:hover, .js.touch .button-group .regions-menu nav .regions-nav .region_block--region-dark-green.button:active a:hover {
  color: #708a1c;
}
.regions-menu nav .regions-nav .region_block--region-light-green:hover a {
  color: #b98e98;
}
.regions-menu nav .regions-nav .region_block--region-light-green:hover a:hover {
  color: #b98e98;
}

/* Desktop/Tablet Landscape (Large) screen sizes */
@media (max-width: 1279px) {
  .header #logo, header #logo {
    margin-top: 2.5rem;
  }
}
/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .header__top nav ul li {
    margin: 0 1rem;
  }
  .header__top nav ul li a {
    font-size: 1.2rem;
  }

  .header__utils span {
    font-size: 1.8rem;
    margin-left: 1rem;
  }
  .header__utils .button {
    margin-left: 2rem;
  }

  .header, header {
    height: 15rem;
  }
  .header.fixed, header.fixed {
    height: 12rem;
  }
  .header.fixed .header__main nav, header.fixed .header__main nav {
    margin-top: 0.5rem;
  }
  .header.fixed .header__main nav ul li, header.fixed .header__main nav ul li {
    padding: 0.5rem 0 0.8rem;
  }
  .header #logo, header #logo {
    height: 4rem;
    margin-top: 1.5rem;
  }

  .header__main nav {
    margin-top: 0.5rem;
  }
  .header__main nav ul li {
    padding: 0.5rem 0 1.3rem;
  }

  .regions-menu {
    padding: 2rem 0;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .header, header {
    height: 11.5rem;
  }
  .header #logo, header #logo {
    height: 4rem;
  }
  .header.fixed, header.fixed {
    height: 9.5rem;
  }
  .header.fixed .header__main .button, header.fixed .header__main .button {
    margin-top: 0.7rem;
  }
  .header.fixed #logo, header.fixed #logo {
    height: 3rem;
  }

  .header__top .d-flex {
    justify-content: center;
  }

  .header__utils span {
    font-size: 1.6rem;
    margin-left: 2rem;
  }
  .header__utils .button {
    margin-left: 3rem;
  }

  .header__main .button {
    float: right;
    font-size: 1.8rem;
    margin-top: 1.5rem;
    padding: 0.4rem 0.5rem;
    transition: margin-top 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
  }
  .js.touch .header__main .button {
    transition: none;
  }

  .menu-modal {
    background-color: white;
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.12);
    border-top: 0.1rem solid rgba(0, 0, 0, 0.12);
    display: none;
    padding: 2rem 0;
  }
  .menu-modal nav ul.list-inline li {
    display: block;
    line-height: 1.6;
    margin-bottom: 1rem;
  }
  .menu-modal nav ul.list-inline li.current {
    border-left: 0.2rem solid #16a34a;
    border-top: 0;
    padding-left: 1.5rem;
  }
  .menu-modal nav ul.list-inline .regions-nav {
    margin-left: 0;
  }
  .menu-modal nav ul.list-inline .submenu-item {
    border-top: 0;
    border-left: 0.2rem solid transparent;
    padding: 0.2rem 0 0.2rem 1.5rem;
  }
  .menu-modal nav ul.list-inline .region_block {
    border-top: 0;
    padding-left: 1rem;
  }
  .menu-modal nav ul.list-inline .region_block--region-light-orange {
    border-color: #d4a11c;
  }
  .menu-modal nav ul.list-inline .region_block--region-light-orange.active a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-light-orange.button:hover a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-light-orange.button:hover a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-light-orange.button:focus a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-light-orange.button:focus a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-light-orange.button:hover a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-light-orange.button:hover a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-light-orange.button:focus a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-light-orange.button:focus a, .menu-modal nav ul.list-inline .js.touch .button-group .region_block--region-light-orange.button:active a, .js.touch .button-group .menu-modal nav ul.list-inline .region_block--region-light-orange.button:active a {
    color: #d4a11c;
  }
  .no-js .menu-modal nav ul.list-inline .region_block--region-light-orange a:hover, .no-js .menu-modal nav ul.list-inline .region_block--region-light-orange a:focus, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-light-orange a:hover, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-light-orange a:focus, .js.touch .menu-modal nav ul.list-inline .region_block--region-light-orange a:active {
    color: #d4a11c;
  }
  .menu-modal nav ul.list-inline .region_block--region-dark-orange {
    border-color: #f5a623;
  }
  .menu-modal nav ul.list-inline .region_block--region-dark-orange.active a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-dark-orange.button:hover a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-dark-orange.button:hover a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-dark-orange.button:focus a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-dark-orange.button:focus a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-dark-orange.button:hover a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-dark-orange.button:hover a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-dark-orange.button:focus a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-dark-orange.button:focus a, .menu-modal nav ul.list-inline .js.touch .button-group .region_block--region-dark-orange.button:active a, .js.touch .button-group .menu-modal nav ul.list-inline .region_block--region-dark-orange.button:active a {
    color: #f5a623;
  }
  .no-js .menu-modal nav ul.list-inline .region_block--region-dark-orange a:hover, .no-js .menu-modal nav ul.list-inline .region_block--region-dark-orange a:focus, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-dark-orange a:hover, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-dark-orange a:focus, .js.touch .menu-modal nav ul.list-inline .region_block--region-dark-orange a:active {
    color: #f5a623;
  }
  .menu-modal nav ul.list-inline .region_block--region-red {
    border-color: #e11d48;
  }
  .menu-modal nav ul.list-inline .region_block--region-red.active a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-red.button:hover a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-red.button:hover a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-red.button:focus a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-red.button:focus a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-red.button:hover a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-red.button:hover a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-red.button:focus a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-red.button:focus a, .menu-modal nav ul.list-inline .js.touch .button-group .region_block--region-red.button:active a, .js.touch .button-group .menu-modal nav ul.list-inline .region_block--region-red.button:active a {
    color: #e11d48;
  }
  .no-js .menu-modal nav ul.list-inline .region_block--region-red a:hover, .no-js .menu-modal nav ul.list-inline .region_block--region-red a:focus, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-red a:hover, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-red a:focus, .js.touch .menu-modal nav ul.list-inline .region_block--region-red a:active {
    color: #e11d48;
  }
  .menu-modal nav ul.list-inline .region_block--region-light-blue {
    border-color: #74a1cf;
  }
  .menu-modal nav ul.list-inline .region_block--region-light-blue.active a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-light-blue.button:hover a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-light-blue.button:hover a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-light-blue.button:focus a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-light-blue.button:focus a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-light-blue.button:hover a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-light-blue.button:hover a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-light-blue.button:focus a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-light-blue.button:focus a, .menu-modal nav ul.list-inline .js.touch .button-group .region_block--region-light-blue.button:active a, .js.touch .button-group .menu-modal nav ul.list-inline .region_block--region-light-blue.button:active a {
    color: #74a1cf;
  }
  .no-js .menu-modal nav ul.list-inline .region_block--region-light-blue a:hover, .no-js .menu-modal nav ul.list-inline .region_block--region-light-blue a:focus, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-light-blue a:hover, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-light-blue a:focus, .js.touch .menu-modal nav ul.list-inline .region_block--region-light-blue a:active {
    color: #74a1cf;
  }
  .menu-modal nav ul.list-inline .region_block--region-purple {
    border-color: #735b73;
  }
  .menu-modal nav ul.list-inline .region_block--region-purple.active a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-purple.button:hover a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-purple.button:hover a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-purple.button:focus a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-purple.button:focus a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-purple.button:hover a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-purple.button:hover a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-purple.button:focus a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-purple.button:focus a, .menu-modal nav ul.list-inline .js.touch .button-group .region_block--region-purple.button:active a, .js.touch .button-group .menu-modal nav ul.list-inline .region_block--region-purple.button:active a {
    color: #735b73;
  }
  .no-js .menu-modal nav ul.list-inline .region_block--region-purple a:hover, .no-js .menu-modal nav ul.list-inline .region_block--region-purple a:focus, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-purple a:hover, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-purple a:focus, .js.touch .menu-modal nav ul.list-inline .region_block--region-purple a:active {
    color: #735b73;
  }
  .menu-modal nav ul.list-inline .region_block--region-dark-blue {
    border-color: #4e74ab;
  }
  .menu-modal nav ul.list-inline .region_block--region-dark-blue.active a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-dark-blue.button:hover a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-dark-blue.button:hover a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-dark-blue.button:focus a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-dark-blue.button:focus a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-dark-blue.button:hover a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-dark-blue.button:hover a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-dark-blue.button:focus a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-dark-blue.button:focus a, .menu-modal nav ul.list-inline .js.touch .button-group .region_block--region-dark-blue.button:active a, .js.touch .button-group .menu-modal nav ul.list-inline .region_block--region-dark-blue.button:active a {
    color: #4e74ab;
  }
  .no-js .menu-modal nav ul.list-inline .region_block--region-dark-blue a:hover, .no-js .menu-modal nav ul.list-inline .region_block--region-dark-blue a:focus, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-dark-blue a:hover, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-dark-blue a:focus, .js.touch .menu-modal nav ul.list-inline .region_block--region-dark-blue a:active {
    color: #4e74ab;
  }
  .menu-modal nav ul.list-inline .region_block--region-dark-green {
    border-color: #708a1c;
  }
  .menu-modal nav ul.list-inline .region_block--region-dark-green.active a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-dark-green.button:hover a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-dark-green.button:hover a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-dark-green.button:focus a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-dark-green.button:focus a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-dark-green.button:hover a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-dark-green.button:hover a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-dark-green.button:focus a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-dark-green.button:focus a, .menu-modal nav ul.list-inline .js.touch .button-group .region_block--region-dark-green.button:active a, .js.touch .button-group .menu-modal nav ul.list-inline .region_block--region-dark-green.button:active a {
    color: #708a1c;
  }
  .no-js .menu-modal nav ul.list-inline .region_block--region-dark-green a:hover, .no-js .menu-modal nav ul.list-inline .region_block--region-dark-green a:focus, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-dark-green a:hover, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-dark-green a:focus, .js.touch .menu-modal nav ul.list-inline .region_block--region-dark-green a:active {
    color: #708a1c;
  }
  .menu-modal nav ul.list-inline .region_block--region-light-green {
    border-color: #b98e98;
  }
  .menu-modal nav ul.list-inline .region_block--region-light-green.active a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-light-green.button:hover a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-light-green.button:hover a, .menu-modal nav ul.list-inline .no-js .button-group .region_block--region-light-green.button:focus a, .no-js .button-group .menu-modal nav ul.list-inline .region_block--region-light-green.button:focus a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-light-green.button:hover a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-light-green.button:hover a, .menu-modal nav ul.list-inline .js.no-touch .button-group .region_block--region-light-green.button:focus a, .js.no-touch .button-group .menu-modal nav ul.list-inline .region_block--region-light-green.button:focus a, .menu-modal nav ul.list-inline .js.touch .button-group .region_block--region-light-green.button:active a, .js.touch .button-group .menu-modal nav ul.list-inline .region_block--region-light-green.button:active a {
    color: #b98e98;
  }
  .no-js .menu-modal nav ul.list-inline .region_block--region-light-green a:hover, .no-js .menu-modal nav ul.list-inline .region_block--region-light-green a:focus, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-light-green a:hover, .js.no-touch .menu-modal nav ul.list-inline .region_block--region-light-green a:focus, .js.touch .menu-modal nav ul.list-inline .region_block--region-light-green a:active {
    color: #b98e98;
  }

  .regions-menu.active, .no-js .button-group .regions-menu.button:hover, .no-js .button-group .regions-menu.button:focus, .js.no-touch .button-group .regions-menu.button:hover, .js.no-touch .button-group .regions-menu.button:focus, .js.touch .button-group .regions-menu.button:active {
    display: none;
  }
}
/* Mobile Portrait (Extra Small) screen sizes */
@media (max-width: 575px) {
  .header__utils a {
    font-size: 2rem;
  }
  .header__utils span {
    font-size: 1.2rem;
    margin-left: 1rem;
  }
  .header__utils .button {
    font-size: 1rem;
    margin: 0.7rem 0 0 1.5rem;
  }
}
/* Tabbed Area
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.tab {
  background-color: transparent;
  border: 0.1rem solid rgba(0, 0, 0, 0.12);
  border-bottom: 0;
  color: #4a4a4a;
  cursor: pointer;
  display: inline-block;
  font-family: "Open Sans", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  margin-right: 1rem;
  transition: all cubic-bezier(0.55, 0.085, 0.68, 0.53) 100ms;
}
.tab.active, .no-js .button-group .tab.button:hover, .no-js .button-group .tab.button:focus, .js.no-touch .button-group .tab.button:hover, .js.no-touch .button-group .tab.button:focus, .js.touch .button-group .tab.button:active {
  background-color: whitesmoke;
  border-color: transparent;
  border-top: 0.2rem solid #16a34a;
}
.tab:last-child {
  margin-right: 0;
}
.no-js .tab:hover, .no-js .tab:focus, .js.no-touch .tab:hover, .js.no-touch .tab:focus, .js.touch .tab:active {
  background-color: whitesmoke;
  outline: 0;
}

.tab--date {
  height: 16rem;
  opacity: 0.6;
  padding: 1.5rem 2rem;
  text-align: left;
}
.tab--date.active, .no-js .button-group .tab--date.button:hover, .no-js .button-group .tab--date.button:focus, .js.no-touch .button-group .tab--date.button:hover, .js.no-touch .button-group .tab--date.button:focus, .js.touch .button-group .tab--date.button:active {
  opacity: 1;
}
.tab--date .date__out, .tab--date .date__in {
  font-size: 2rem;
  font-weight: 600;
  text-transform: none;
}
.tab--date .date__out {
  margin-bottom: 0.3rem;
}
.tab--date .date__in {
  margin-bottom: 1.5rem;
}
.tab--date .date__in i.icon-flight {
  display: inline-block;
  transform: rotate(90deg);
}
.tab--date .date__spaces {
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}

.tab--content {
  padding: 1rem 4rem;
  text-transform: uppercase;
}

.tabbed__panel {
  display: none;
  padding: 4rem 0 3rem;
}
.tabbed__panel.active, .no-js .button-group .tabbed__panel.button:hover, .no-js .button-group .tabbed__panel.button:focus, .js.no-touch .button-group .tabbed__panel.button:hover, .js.no-touch .button-group .tabbed__panel.button:focus, .js.touch .button-group .tabbed__panel.button:active {
  display: block;
}

.tabbed__panel--content .overview__featured-image {
  margin-bottom: 4rem;
}
.tabbed__panel--content .rich-text {
  margin: 0 5rem;
}

.tabbed__panel--date .d-flex {
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.tabbed__panel--date .d-flex span {
  font-size: 2rem;
  margin-right: 4rem;
}
.tabbed__panel--date .d-flex span span {
  margin-right: 0;
}
.tabbed__panel--date .d-flex a {
  font-weight: 700;
  text-decoration: underline;
}
.tabbed__panel--date h3 {
  margin: 1.5rem 0 1rem;
  text-transform: uppercase;
}
.tabbed__panel--date ul {
  column-count: 2;
}
.tabbed__panel--date ul li {
  font-size: 1.4rem;
  line-height: 1.5;
  margin: 0 0 0.5rem;
  padding-left: 2.5rem;
  position: relative;
}
.tabbed__panel--date ul li:before {
  color: #16a34a;
  content: "\e810";
  font-family: "limosa";
  left: 0;
  position: absolute;
  top: 0;
}
.tabbed__panel--date p:not(.tabbed__panel--date__cost) {
  font-size: 1.4rem;
}

.tabbed__panel--date__cost {
  font-size: 2rem;
}

.tabbed__panel--date__cost__desc {
  font-size: 1.4rem;
}

/* Desktop / Tablet Landscape (Large) screen sizes */
@media (max-width: 1279px) {
  .tab--date .date__in, .tab--date .date__out {
    font-size: 1.8rem;
  }
}
/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .tab--date {
    height: auto;
  }

  .tabbed__panel--date ul {
    margin-bottom: 3rem;
  }

  .tab--content {
    padding: 1rem 3rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .tabbed__tabs .d-flex {
    flex-direction: column;
  }

  .tab:not(.tab--date) {
    font-size: 1.4rem;
  }

  .tab--content {
    padding: 1rem 1.5rem;
  }

  .tab--date {
    margin-right: 0;
  }
  .tab--date p, .tab--date ul {
    display: inline-block;
    float: left;
    width: 50%;
  }

  .tabbed__panel--content .rich-text {
    margin: 0;
  }

  .tabbed__panel--date .tabbed__panel--date__cost {
    font-size: 2.1rem;
  }
  .tabbed__panel--date span {
    font-size: 1.8rem;
  }
  .tabbed__panel--date .button-arrow {
    margin-bottom: 4rem;
  }
}
/* Mobile Portrait (Extra Small) screen sizes */
@media (max-width: 575px) {
  .tab:not(.tab--date) {
    width: 100%;
  }

  .tab--date p, .tab--date ul {
    width: 100%;
  }

  .tabbed__panel--date ul {
    column-count: 1;
  }
}
/* Newsletter Signup
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.newsletter-signup {
  color: white;
  margin-bottom: 4rem;
  height: 50rem;
  position: relative;
}
.newsletter-signup .background-block {
  background-position-y: 50%;
  background-size: cover;
  height: 50rem;
  width: 100%;
}
.newsletter-signup .left-block {
  background: rgba(21, 128, 61, 0.8);
  position: relative;
  width: 50%;
}
.newsletter-signup .left-block:after {
  content: "";
  position: absolute;
  right: -25rem;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25rem 0 25rem 25rem;
  border-color: transparent transparent transparent rgba(21, 128, 61, 0.8);
  clear: both;
}
.newsletter-signup .right-block {
  height: 50rem;
  width: 50%;
}
.newsletter-signup .content-block {
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}
.newsletter-signup .content-block .h2--underlined, .newsletter-signup .content-block .t-about h2, .t-about .newsletter-signup .content-block h2 {
  border-color: white;
  color: white;
  margin-bottom: 2rem;
  text-transform: initial;
}
.newsletter-signup .content-block form .checkbox {
  margin-bottom: 0;
}
.newsletter-signup .content-block form .checkbox label span {
  background: white;
}
.newsletter-signup .content-block form .checkbox label a {
  color: white;
}
.newsletter-signup .content-block form .button-primary {
  background: white;
  color: #16a34a;
}
.newsletter-signup .content-block form input {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.2);
  color: white;
}
.newsletter-signup .content-block form input::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: white;
  opacity: 1;
  /* Firefox */
}
.newsletter-signup .content-block form span {
  display: block;
  font-size: 1.2rem;
  opacity: 0.6;
}
.newsletter-signup .gfield_label,
.newsletter-signup .gform-field-label {
  color: white !important;
}
.newsletter-signup .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-left-width: 2px;
  border-left-color: #c02b0a;
  border-left-style: solid;
}
.newsletter-signup .gform_wrapper.gravity-theme .gfield_validation_message, .newsletter-signup .gform_wrapper.gravity-theme .validation_message {
  background: white;
  border: initial;
  font-size: 1.3rem;
  margin-top: 8px;
  padding: 0.2rem 0.5rem;
  display: inline;
}
.newsletter-signup .gform_wrapper.gravity-theme .gform_validation_errors {
  display: none;
}

/* Desktop / Tablet Landscape (Large) screen sizes */
@media (max-width: 1279px) {
  .newsletter-signup {
    height: 54rem;
  }
  .newsletter-signup .background-block, .newsletter-signup .right-block {
    height: 54rem;
  }
  .newsletter-signup .left-block:after {
    right: -27rem;
    border-width: 27rem 0 27rem 27rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .newsletter-signup {
    height: auto;
  }
  .newsletter-signup .background-block, .newsletter-signup .right-block {
    height: auto;
  }
  .newsletter-signup .right-block, .newsletter-signup .content-block {
    background: #16a34a;
  }
  .newsletter-signup .content-block {
    padding: 3rem 0;
    position: relative;
    transform: translateY(0);
  }
  .newsletter-signup .left-block:after {
    border: 0;
  }
}
/* Footer
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.footer__main {
  background-color: #16a34a;
  color: white;
  padding: 3rem 0 4rem;
}
.footer__main #logo_white {
  height: auto;
  margin-bottom: 1.5rem;
  max-width: 100%;
}
.footer__main address {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
}
.footer__main h3 {
  color: white;
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}
.footer__main p, .footer__main a {
  color: white;
  font-size: 1.2rem;
}
.footer__main p {
  line-height: 1.8;
  margin: 1rem 0 0;
}
.footer__main p i {
  font-size: 1.6rem;
  margin-left: 1rem;
}
.no-js .footer__main a:hover, .no-js .footer__main a:focus, .js.no-touch .footer__main a:hover, .js.no-touch .footer__main a:focus, .js.touch .footer__main a:active {
  color: #4a4a4a;
}

.footer__menu__flex {
  justify-content: space-between;
}

.footer__menu ul li {
  line-height: 1.8;
  margin-bottom: 0;
}

.footer__accreditations__flex {
  flex-wrap: wrap;
}
.footer__accreditations__flex a {
  margin: 1.5rem 1.5rem 0 0;
}
.footer__accreditations__flex img {
  max-height: 5rem;
}

.footer__bottom {
  padding: 2.5rem 0;
}
.footer__bottom .d-flex {
  align-items: center;
  justify-content: space-between;
}
.footer__bottom ul, .footer__bottom p {
  margin-bottom: 0;
}
.footer__bottom img {
  max-height: 5.5rem;
}

/* Desktop/Tablet Landscape (Large) screen sizes */
@media (max-width: 1279px) {
  .footer__bottom img {
    max-height: 3.5rem;
  }

  .footer__accreditations__flex img {
    max-height: 4rem;
  }
}
/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .footer__menu__flex {
    margin-bottom: 3rem;
  }

  .footer__accreditations__flex {
    margin-bottom: 2rem;
  }

  .footer__bottom .d-flex {
    align-items: flex-start;
    flex-direction: column;
  }
  .footer__bottom .d-flex ul {
    margin-bottom: 1rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .footer__main address {
    margin-bottom: 3rem;
  }

  .sm-footer-no-flex {
    display: block !important;
  }

  .footer__menu {
    margin-bottom: 2rem;
  }
}
/* Mobile Portrait (Extra Small) screen sizes */
@media (max-width: 575px) {
  .footer__accreditations__flex img {
    max-height: 3rem;
  }
}
/*==== 6 - Templates: organisms combined to form pages ====*/
/* Homepage/Front Page
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.homepage__intro__and__cta {
  margin-top: 5rem;
  margin-bottom: 2rem;
}

.homepage__intro {
  font-size: 20px;
}

.homepage__cta {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 30px;
  line-height: 41px;
  padding: 0 8rem 1.5rem 0;
  border-bottom: 1px solid #4a4a4a;
}
.homepage__cta b {
  color: #16a34a;
}
.homepage__cta p {
  margin-bottom: 0;
}

.homepage--featured--tours {
  padding-top: 1rem;
  padding-bottom: 3rem;
}

.homepage--late_availability {
  padding-top: 4rem;
  padding-bottom: 2rem;
}

/* Desktop/Tablet Landscape (Large) screen sizes */
@media (max-width: 1279px) {
  .homepage__cta {
    padding-right: 0;
  }

  .homepage--late_availability .tour__headline {
    font-size: 1.4rem;
  }
}
/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .homepage__cta {
    margin-bottom: 4rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .homepage__intro__and__cta {
    margin: 3rem auto 0;
  }

  .homepage__cta {
    font-size: 2.4rem;
    line-height: 3.2rem;
  }

  .homepage__intro {
    font-size: 1.8rem;
  }
}
/* Mobile Portrait (Extra Small) screen sizes */
@media (max-width: 575px) {
  .homepage__cta {
    font-size: 1.8rem;
    line-height: 2.8rem;
  }

  .homepage__intro {
    font-size: 1.6rem;
  }
}
.t-about .main, .t-about main {
  padding-top: 21rem;
}
.t-about ul.side-nav {
  margin-top: 7rem;
}
.t-about h2 {
  margin-top: 4rem;
}
.t-about .richtext-image.left {
  height: auto;
  margin: 0 2rem 2rem 0;
  max-width: 20rem;
  padding: 0;
}

/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .t-about .main, .t-about main {
    padding-top: 20rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .t-about .main, .t-about main {
    padding-top: 16rem;
  }
}
/* Tour page
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.t-tour .main {
  padding-top: 3rem;
}
.t-tour .h2--underlined, .t-tour .t-about h2, .t-about .t-tour h2 {
  font-size: 2.4rem;
  line-height: 4.4rem;
  margin: 3rem 0;
}
.no-js .t-tour .main a:not(.button):hover, .no-js .t-tour .main a:not(.button):focus, .js.no-touch .t-tour .main a:not(.button):hover, .js.no-touch .t-tour .main a:not(.button):focus, .js.touch .t-tour .main a:not(.button):active, .no-js .t-tour button.button-clear:hover, .no-js .t-tour button.button-clear:focus, .js.no-touch .t-tour button.button-clear:hover, .js.no-touch .t-tour button.button-clear:focus, .js.touch .t-tour button.button-clear:active, .no-js .t-tour input[type=submit].button-clear:hover, .no-js .t-tour input[type=submit].button-clear:focus, .js.no-touch .t-tour input[type=submit].button-clear:hover, .js.no-touch .t-tour input[type=submit].button-clear:focus, .js.touch .t-tour input[type=submit].button-clear:active,
.no-js .t-tour input[type=reset].button-clear:hover,
.no-js .t-tour input[type=reset].button-clear:focus,
.js.no-touch .t-tour input[type=reset].button-clear:hover,
.js.no-touch .t-tour input[type=reset].button-clear:focus,
.js.touch .t-tour input[type=reset].button-clear:active, .no-js .t-tour input[type=button].button-clear:hover, .no-js .t-tour input[type=button].button-clear:focus, .js.no-touch .t-tour input[type=button].button-clear:hover, .js.no-touch .t-tour input[type=button].button-clear:focus, .js.touch .t-tour input[type=button].button-clear:active,
.no-js .t-tour .info-box .button-clear:hover,
.no-js .t-tour .info-box .button-clear:focus,
.js.no-touch .t-tour .info-box .button-clear:hover,
.js.no-touch .t-tour .info-box .button-clear:focus,
.js.touch .t-tour .info-box .button-clear:active {
  color: #4a4a4a;
}
.t-tour .info-box form {
  margin-bottom: 0;
  text-align: left;
}
.t-tour .info-box form input, .t-tour .info-box form textarea {
  margin-bottom: 2rem;
}
.t-tour .info-box form textarea {
  height: 10rem;
  width: 100%;
}
.t-tour .info-box form input[type=submit] {
  float: right;
  margin: 0 0 1.5rem 1.5rem;
}
.t-tour .tabbed__panel--date .button-outline {
  margin-top: 1.5rem;
  padding: 0.9rem 2rem 0.9rem 4rem;
  position: relative;
  white-space: normal;
}
.t-tour .tabbed__panel--date .button-outline i {
  font-size: 2.4rem;
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
}
.t-tour .tabbed__panel--date .button-outline.button-info-box-open {
  padding-left: 2rem;
}

.t-tour--region-light-orange .banner, .t-tour--region-light-orange .h2--underlined, .t-tour--region-light-orange .t-about h2, .t-about .t-tour--region-light-orange h2,
.t-tour--region-light-orange .tabbed__panel--date .button-outline {
  border-color: #d4a11c;
}
.t-tour--region-light-orange .main a:not(.button), .t-tour--region-light-orange .tour__title-block h1, .t-tour--region-light-orange blockquote i, .t-tour--region-light-orange .tabbed__panel--date ul li:before,
.t-tour--region-light-orange button.button-clear, .t-tour--region-light-orange input[type=submit].button-clear,
.t-tour--region-light-orange input[type=reset].button-clear, .t-tour--region-light-orange input[type=button].button-clear,
.t-tour--region-light-orange .info-box ul li i, .t-tour--region-light-orange .info-box .button-clear,
.t-tour--region-light-orange .tabbed__panel--date .button-outline {
  color: #d4a11c;
}
.t-tour--region-light-orange .info-box--fixed h3 {
  background-color: #d4a11c;
}
.t-tour--region-light-orange .tab.active, .t-tour--region-light-orange .no-js .button-group .tab.button:hover, .no-js .button-group .t-tour--region-light-orange .tab.button:hover, .t-tour--region-light-orange .no-js .button-group .tab.button:focus, .no-js .button-group .t-tour--region-light-orange .tab.button:focus, .t-tour--region-light-orange .js.no-touch .button-group .tab.button:hover, .js.no-touch .button-group .t-tour--region-light-orange .tab.button:hover, .t-tour--region-light-orange .js.no-touch .button-group .tab.button:focus, .js.no-touch .button-group .t-tour--region-light-orange .tab.button:focus, .t-tour--region-light-orange .js.touch .button-group .tab.button:active, .js.touch .button-group .t-tour--region-light-orange .tab.button:active, .t-tour--region-light-orange .info-box {
  border-top-color: #d4a11c;
}
.t-tour--region-light-orange .info-box svg path {
  fill: #d4a11c;
}
.t-tour--region-light-orange .tour__itinerary {
  border-left-color: #d4a11c;
}
.t-tour--region-light-orange .tour__itinerary li:after {
  background-color: #d4a11c;
  box-shadow: 0 0 0 0.1rem #d4a11c;
}

.t-tour--region-dark-orange .banner, .t-tour--region-dark-orange .h2--underlined, .t-tour--region-dark-orange .t-about h2, .t-about .t-tour--region-dark-orange h2,
.t-tour--region-dark-orange .tabbed__panel--date .button-outline {
  border-color: #f5a623;
}
.t-tour--region-dark-orange .main a:not(.button), .t-tour--region-dark-orange .tour__title-block h1, .t-tour--region-dark-orange blockquote i, .t-tour--region-dark-orange .tabbed__panel--date ul li:before,
.t-tour--region-dark-orange button.button-clear, .t-tour--region-dark-orange input[type=submit].button-clear,
.t-tour--region-dark-orange input[type=reset].button-clear, .t-tour--region-dark-orange input[type=button].button-clear,
.t-tour--region-dark-orange .info-box ul li i, .t-tour--region-dark-orange .info-box .button-clear,
.t-tour--region-dark-orange .tabbed__panel--date .button-outline {
  color: #f5a623;
}
.t-tour--region-dark-orange .info-box--fixed h3 {
  background-color: #f5a623;
}
.t-tour--region-dark-orange .tab.active, .t-tour--region-dark-orange .no-js .button-group .tab.button:hover, .no-js .button-group .t-tour--region-dark-orange .tab.button:hover, .t-tour--region-dark-orange .no-js .button-group .tab.button:focus, .no-js .button-group .t-tour--region-dark-orange .tab.button:focus, .t-tour--region-dark-orange .js.no-touch .button-group .tab.button:hover, .js.no-touch .button-group .t-tour--region-dark-orange .tab.button:hover, .t-tour--region-dark-orange .js.no-touch .button-group .tab.button:focus, .js.no-touch .button-group .t-tour--region-dark-orange .tab.button:focus, .t-tour--region-dark-orange .js.touch .button-group .tab.button:active, .js.touch .button-group .t-tour--region-dark-orange .tab.button:active, .t-tour--region-dark-orange .info-box {
  border-top-color: #f5a623;
}
.t-tour--region-dark-orange .info-box svg path {
  fill: #f5a623;
}
.t-tour--region-dark-orange .tour__itinerary {
  border-left-color: #f5a623;
}
.t-tour--region-dark-orange .tour__itinerary li:after {
  background-color: #f5a623;
  box-shadow: 0 0 0 0.1rem #f5a623;
}

.t-tour--region-red .banner, .t-tour--region-red .h2--underlined, .t-tour--region-red .t-about h2, .t-about .t-tour--region-red h2,
.t-tour--region-red .tabbed__panel--date .button-outline {
  border-color: #15803d;
}
.t-tour--region-red .main a:not(.button), .t-tour--region-red .tour__title-block h1, .t-tour--region-red blockquote i, .t-tour--region-red .tabbed__panel--date ul li:before,
.t-tour--region-red button.button-clear, .t-tour--region-red input[type=submit].button-clear,
.t-tour--region-red input[type=reset].button-clear, .t-tour--region-red input[type=button].button-clear,
.t-tour--region-red .info-box ul li i, .t-tour--region-red .info-box .button-clear,
.t-tour--region-red .tabbed__panel--date .button-outline {
  color: #15803d;
}
.t-tour--region-red .info-box--fixed h3 {
  background-color: #15803d;
}
.t-tour--region-red .tab.active, .t-tour--region-red .no-js .button-group .tab.button:hover, .no-js .button-group .t-tour--region-red .tab.button:hover, .t-tour--region-red .no-js .button-group .tab.button:focus, .no-js .button-group .t-tour--region-red .tab.button:focus, .t-tour--region-red .js.no-touch .button-group .tab.button:hover, .js.no-touch .button-group .t-tour--region-red .tab.button:hover, .t-tour--region-red .js.no-touch .button-group .tab.button:focus, .js.no-touch .button-group .t-tour--region-red .tab.button:focus, .t-tour--region-red .js.touch .button-group .tab.button:active, .js.touch .button-group .t-tour--region-red .tab.button:active, .t-tour--region-red .info-box {
  border-top-color: #15803d;
}
.t-tour--region-red .info-box svg path {
  fill: #15803d;
}
.t-tour--region-red .tour__itinerary {
  border-left-color: #15803d;
}
.t-tour--region-red .tour__itinerary li:after {
  background-color: #15803d;
  box-shadow: 0 0 0 0.1rem #15803d;
}

.t-tour--region-light-blue .banner, .t-tour--region-light-blue .h2--underlined, .t-tour--region-light-blue .t-about h2, .t-about .t-tour--region-light-blue h2,
.t-tour--region-light-blue .tabbed__panel--date .button-outline {
  border-color: #74a1cf;
}
.t-tour--region-light-blue .main a:not(.button), .t-tour--region-light-blue .tour__title-block h1, .t-tour--region-light-blue blockquote i, .t-tour--region-light-blue .tabbed__panel--date ul li:before,
.t-tour--region-light-blue button.button-clear, .t-tour--region-light-blue input[type=submit].button-clear,
.t-tour--region-light-blue input[type=reset].button-clear, .t-tour--region-light-blue input[type=button].button-clear,
.t-tour--region-light-blue .info-box ul li i, .t-tour--region-light-blue .info-box .button-clear,
.t-tour--region-light-blue .tabbed__panel--date .button-outline {
  color: #74a1cf;
}
.t-tour--region-light-blue .info-box--fixed h3 {
  background-color: #74a1cf;
}
.t-tour--region-light-blue .tab.active, .t-tour--region-light-blue .no-js .button-group .tab.button:hover, .no-js .button-group .t-tour--region-light-blue .tab.button:hover, .t-tour--region-light-blue .no-js .button-group .tab.button:focus, .no-js .button-group .t-tour--region-light-blue .tab.button:focus, .t-tour--region-light-blue .js.no-touch .button-group .tab.button:hover, .js.no-touch .button-group .t-tour--region-light-blue .tab.button:hover, .t-tour--region-light-blue .js.no-touch .button-group .tab.button:focus, .js.no-touch .button-group .t-tour--region-light-blue .tab.button:focus, .t-tour--region-light-blue .js.touch .button-group .tab.button:active, .js.touch .button-group .t-tour--region-light-blue .tab.button:active, .t-tour--region-light-blue .info-box {
  border-top-color: #74a1cf;
}
.t-tour--region-light-blue .info-box svg path {
  fill: #74a1cf;
}
.t-tour--region-light-blue .tour__itinerary {
  border-left-color: #74a1cf;
}
.t-tour--region-light-blue .tour__itinerary li:after {
  background-color: #74a1cf;
  box-shadow: 0 0 0 0.1rem #74a1cf;
}

.t-tour--region-purple .banner, .t-tour--region-purple .h2--underlined, .t-tour--region-purple .t-about h2, .t-about .t-tour--region-purple h2,
.t-tour--region-purple .tabbed__panel--date .button-outline {
  border-color: #735b73;
}
.t-tour--region-purple .main a:not(.button), .t-tour--region-purple .tour__title-block h1, .t-tour--region-purple blockquote i, .t-tour--region-purple .tabbed__panel--date ul li:before,
.t-tour--region-purple button.button-clear, .t-tour--region-purple input[type=submit].button-clear,
.t-tour--region-purple input[type=reset].button-clear, .t-tour--region-purple input[type=button].button-clear,
.t-tour--region-purple .info-box ul li i, .t-tour--region-purple .info-box .button-clear,
.t-tour--region-purple .tabbed__panel--date .button-outline {
  color: #735b73;
}
.t-tour--region-purple .info-box--fixed h3 {
  background-color: #735b73;
}
.t-tour--region-purple .tab.active, .t-tour--region-purple .no-js .button-group .tab.button:hover, .no-js .button-group .t-tour--region-purple .tab.button:hover, .t-tour--region-purple .no-js .button-group .tab.button:focus, .no-js .button-group .t-tour--region-purple .tab.button:focus, .t-tour--region-purple .js.no-touch .button-group .tab.button:hover, .js.no-touch .button-group .t-tour--region-purple .tab.button:hover, .t-tour--region-purple .js.no-touch .button-group .tab.button:focus, .js.no-touch .button-group .t-tour--region-purple .tab.button:focus, .t-tour--region-purple .js.touch .button-group .tab.button:active, .js.touch .button-group .t-tour--region-purple .tab.button:active, .t-tour--region-purple .info-box {
  border-top-color: #735b73;
}
.t-tour--region-purple .info-box svg path {
  fill: #735b73;
}
.t-tour--region-purple .tour__itinerary {
  border-left-color: #735b73;
}
.t-tour--region-purple .tour__itinerary li:after {
  background-color: #735b73;
  box-shadow: 0 0 0 0.1rem #735b73;
}

.t-tour--region-dark-blue .banner, .t-tour--region-dark-blue .h2--underlined, .t-tour--region-dark-blue .t-about h2, .t-about .t-tour--region-dark-blue h2,
.t-tour--region-dark-blue .tabbed__panel--date .button-outline {
  border-color: #4e74ab;
}
.t-tour--region-dark-blue .main a:not(.button), .t-tour--region-dark-blue .tour__title-block h1, .t-tour--region-dark-blue blockquote i, .t-tour--region-dark-blue .tabbed__panel--date ul li:before,
.t-tour--region-dark-blue button.button-clear, .t-tour--region-dark-blue input[type=submit].button-clear,
.t-tour--region-dark-blue input[type=reset].button-clear, .t-tour--region-dark-blue input[type=button].button-clear,
.t-tour--region-dark-blue .info-box ul li i, .t-tour--region-dark-blue .info-box .button-clear,
.t-tour--region-dark-blue .tabbed__panel--date .button-outline {
  color: #4e74ab;
}
.t-tour--region-dark-blue .info-box--fixed h3 {
  background-color: #4e74ab;
}
.t-tour--region-dark-blue .tab.active, .t-tour--region-dark-blue .no-js .button-group .tab.button:hover, .no-js .button-group .t-tour--region-dark-blue .tab.button:hover, .t-tour--region-dark-blue .no-js .button-group .tab.button:focus, .no-js .button-group .t-tour--region-dark-blue .tab.button:focus, .t-tour--region-dark-blue .js.no-touch .button-group .tab.button:hover, .js.no-touch .button-group .t-tour--region-dark-blue .tab.button:hover, .t-tour--region-dark-blue .js.no-touch .button-group .tab.button:focus, .js.no-touch .button-group .t-tour--region-dark-blue .tab.button:focus, .t-tour--region-dark-blue .js.touch .button-group .tab.button:active, .js.touch .button-group .t-tour--region-dark-blue .tab.button:active, .t-tour--region-dark-blue .info-box {
  border-top-color: #4e74ab;
}
.t-tour--region-dark-blue .info-box svg path {
  fill: #4e74ab;
}
.t-tour--region-dark-blue .tour__itinerary {
  border-left-color: #4e74ab;
}
.t-tour--region-dark-blue .tour__itinerary li:after {
  background-color: #4e74ab;
  box-shadow: 0 0 0 0.1rem #4e74ab;
}

.t-tour--region-dark-green .banner, .t-tour--region-dark-green .h2--underlined, .t-tour--region-dark-green .t-about h2, .t-about .t-tour--region-dark-green h2,
.t-tour--region-dark-green .tabbed__panel--date .button-outline {
  border-color: #708a1c;
}
.t-tour--region-dark-green .main a:not(.button), .t-tour--region-dark-green .tour__title-block h1, .t-tour--region-dark-green blockquote i, .t-tour--region-dark-green .tabbed__panel--date ul li:before,
.t-tour--region-dark-green button.button-clear, .t-tour--region-dark-green input[type=submit].button-clear,
.t-tour--region-dark-green input[type=reset].button-clear, .t-tour--region-dark-green input[type=button].button-clear,
.t-tour--region-dark-green .info-box ul li i, .t-tour--region-dark-green .info-box .button-clear,
.t-tour--region-dark-green .tabbed__panel--date .button-outline {
  color: #708a1c;
}
.t-tour--region-dark-green .info-box--fixed h3 {
  background-color: #708a1c;
}
.t-tour--region-dark-green .tab.active, .t-tour--region-dark-green .no-js .button-group .tab.button:hover, .no-js .button-group .t-tour--region-dark-green .tab.button:hover, .t-tour--region-dark-green .no-js .button-group .tab.button:focus, .no-js .button-group .t-tour--region-dark-green .tab.button:focus, .t-tour--region-dark-green .js.no-touch .button-group .tab.button:hover, .js.no-touch .button-group .t-tour--region-dark-green .tab.button:hover, .t-tour--region-dark-green .js.no-touch .button-group .tab.button:focus, .js.no-touch .button-group .t-tour--region-dark-green .tab.button:focus, .t-tour--region-dark-green .js.touch .button-group .tab.button:active, .js.touch .button-group .t-tour--region-dark-green .tab.button:active, .t-tour--region-dark-green .info-box {
  border-top-color: #708a1c;
}
.t-tour--region-dark-green .info-box svg path {
  fill: #708a1c;
}
.t-tour--region-dark-green .tour__itinerary {
  border-left-color: #708a1c;
}
.t-tour--region-dark-green .tour__itinerary li:after {
  background-color: #708a1c;
  box-shadow: 0 0 0 0.1rem #708a1c;
}

.t-tour--region-light-green .banner, .t-tour--region-light-green .h2--underlined, .t-tour--region-light-green .t-about h2, .t-about .t-tour--region-light-green h2,
.t-tour--region-light-green .tabbed__panel--date .button-outline {
  border-color: #b98e98;
}
.t-tour--region-light-green .main a:not(.button), .t-tour--region-light-green .tour__title-block h1, .t-tour--region-light-green blockquote i, .t-tour--region-light-green .tabbed__panel--date ul li:before,
.t-tour--region-light-green button.button-clear, .t-tour--region-light-green input[type=submit].button-clear,
.t-tour--region-light-green input[type=reset].button-clear, .t-tour--region-light-green input[type=button].button-clear,
.t-tour--region-light-green .info-box ul li i, .t-tour--region-light-green .info-box .button-clear,
.t-tour--region-light-green .tabbed__panel--date .button-outline {
  color: #b98e98;
}
.t-tour--region-light-green .info-box--fixed h3 {
  background-color: #b98e98;
}
.t-tour--region-light-green .tab.active, .t-tour--region-light-green .no-js .button-group .tab.button:hover, .no-js .button-group .t-tour--region-light-green .tab.button:hover, .t-tour--region-light-green .no-js .button-group .tab.button:focus, .no-js .button-group .t-tour--region-light-green .tab.button:focus, .t-tour--region-light-green .js.no-touch .button-group .tab.button:hover, .js.no-touch .button-group .t-tour--region-light-green .tab.button:hover, .t-tour--region-light-green .js.no-touch .button-group .tab.button:focus, .js.no-touch .button-group .t-tour--region-light-green .tab.button:focus, .t-tour--region-light-green .js.touch .button-group .tab.button:active, .js.touch .button-group .t-tour--region-light-green .tab.button:active, .t-tour--region-light-green .info-box {
  border-top-color: #b98e98;
}
.t-tour--region-light-green .info-box svg path {
  fill: #b98e98;
}
.t-tour--region-light-green .tour__itinerary {
  border-left-color: #b98e98;
}
.t-tour--region-light-green .tour__itinerary li:after {
  background-color: #b98e98;
  box-shadow: 0 0 0 0.1rem #b98e98;
}

.tour__title-block {
  margin-bottom: 4rem;
}
.tour__title-block h1 {
  font-size: 5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.tour__title-block .tour__title {
  font-size: 2.1rem;
  font-weight: 600;
}

.tour__intro {
  font-size: 1.8rem;
  line-height: 1.75;
}

.tour--instance--includes {
  margin-bottom: 1.5rem;
}
.tour--instance--includes ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.form--section--title {
  line-height: 25px;
  border-bottom: 1px solid white;
  width: 100%;
  color: white;
}

.richtext-image.left {
  float: left;
  padding: 2rem 2rem 2rem 0px;
}

.tour__itinerary {
  border-left: 0.1rem solid #16a34a;
  position: relative;
  list-style: none;
  margin-left: 11rem;
  padding-left: 0;
}
.tour__itinerary li {
  line-height: 1.625;
  margin-bottom: 1rem;
  padding-left: 3.5rem;
  position: relative;
}
.tour__itinerary li:last-of-type {
  margin-bottom: 0;
}
.tour__itinerary li:before, .tour__itinerary li:after {
  display: block;
  position: absolute;
  top: 0;
}
.tour__itinerary li:before {
  content: attr(data-dates);
  font-weight: 700;
  left: -11rem;
  width: 10rem;
}
.tour__itinerary li:after {
  background-color: #16a34a;
  border: 0.2rem solid white;
  box-shadow: 0 0 0 0.1rem #16a34a;
  border-radius: 50%;
  content: "";
  height: 1rem;
  left: -0.6rem;
  top: 0.9rem;
  width: 1rem;
}

.tour__country {
  margin-bottom: 0.5rem;
}

.tour__title {
  font-weight: 700;
  margin-bottom: 1rem;
}

.tour__headline {
  font-style: italic;
  margin-bottom: 0.5rem;
}

.tour__content {
  margin: 5rem 0 1rem;
}
.tour__content figure {
  margin-bottom: 4rem;
}

.tour__info-boxes {
  padding-top: 4rem;
}

.tour__gallery {
  margin: 3rem 0 5rem;
}
.tour__gallery .owl-carousel.owl-theme .owl-item {
  height: 100vh;
}
.tour__gallery .owl-carousel.owl-theme .owl-item .item {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.image-grid {
  width: calc(100% + 2rem);
}

.image-grid__item {
  cursor: pointer;
  margin-bottom: 3rem;
  transition: opacity 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.js.touch .image-grid__item {
  transition: none;
}
.image-grid__item:hover {
  opacity: 0.6;
}

/* Desktop / Tablet Landscape (Large) screen sizes */
@media (max-width: 1279px) {
  .t-tour .tabbed__panel--date .button-outline {
    padding-left: 5rem;
  }

  .p-late-availability .tour__headline {
    font-size: 1.4rem;
  }

  .tour__itinerary {
    margin-left: 9rem;
  }
  .tour__itinerary li:before {
    left: -9rem;
  }
}
/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .t-tour .info-box form label {
    font-size: 1.2rem;
  }
  .t-tour .tabbed__panel--date .button-outline {
    margin-bottom: 3rem;
    padding-left: 5rem;
  }

  .tour__title-block h1 {
    font-size: 4rem;
  }

  .tour--instance--includes {
    margin-bottom: 3rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .tour__title-block h1 {
    font-size: 3.2rem;
  }

  .tour__intro {
    font-size: 1.6rem;
  }

  .tour__highlights ul {
    column-count: 1;
  }

  .info-box ul {
    margin-bottom: 2rem;
  }
}
.tour__calendar__filters {
  background: whitesmoke;
  margin: 0 0 4rem;
  padding: 4rem 0;
}
.tour__calendar__filters select {
  margin-bottom: 0;
}
.tour__calendar__filters .calendar--filter-search {
  display: block;
}
.tour__calendar__filters .calendar--filter-search.disabled {
  opacity: 0.4;
  pointer-events: none;
}

.calendar--filter-month.active, .no-js .button-group .calendar--filter-month.button:hover, .no-js .button-group .calendar--filter-month.button:focus, .js.no-touch .button-group .calendar--filter-month.button:hover, .js.no-touch .button-group .calendar--filter-month.button:focus, .js.touch .button-group .calendar--filter-month.button:active {
  background-color: #16a34a;
  color: white;
}

.calendar--filter_year_all.active, .no-js .button-group .calendar--filter_year_all.button:hover, .no-js .button-group .calendar--filter_year_all.button:focus, .js.no-touch .button-group .calendar--filter_year_all.button:hover, .js.no-touch .button-group .calendar--filter_year_all.button:focus, .js.touch .button-group .calendar--filter_year_all.button:active {
  background-color: #16a34a;
  color: white;
}

.calendar--tour_instances h2.h2--underlined, .calendar--tour_instances .t-about h2, .t-about .calendar--tour_instances h2 {
  margin: 4rem 0 2rem;
}
.calendar--tour_instances h2.h2--underlined:first-child, .calendar--tour_instances .t-about h2:first-child, .t-about .calendar--tour_instances h2:first-child {
  margin-top: 0;
}
.calendar--tour_instances > * {
  animation: 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53) both slide-in;
}
.calendar--tour_instances > *:nth-child(1) {
  animation-delay: 50ms;
}
.calendar--tour_instances > *:nth-child(2) {
  animation-delay: 100ms;
}
.calendar--tour_instances > *:nth-child(3) {
  animation-delay: 150ms;
}
.calendar--tour_instances > *:nth-child(4) {
  animation-delay: 200ms;
}
.calendar--tour_instances > *:nth-child(5) {
  animation-delay: 250ms;
}
.calendar--tour_instances > *:nth-child(6) {
  animation-delay: 300ms;
}
.calendar--tour_instances > *:nth-child(7) {
  animation-delay: 350ms;
}
.calendar--tour_instances > *:nth-child(8) {
  animation-delay: 400ms;
}
.calendar--tour_instances > *:nth-child(9) {
  animation-delay: 450ms;
}

/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .tour__calendar__filters {
    padding: 2rem 0;
  }
  .tour__calendar__filters #search_region {
    margin-bottom: 2rem;
  }
}
.t-news h1, .t-news-index h1 {
  color: #16a34a;
}

.t-news-index .more_cards_target > * {
  animation: 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53) both slide-in;
}
.t-news-index .more_cards_target > *:nth-child(1) {
  animation-delay: 50ms;
}
.t-news-index .more_cards_target > *:nth-child(2) {
  animation-delay: 100ms;
}
.t-news-index .more_cards_target > *:nth-child(3) {
  animation-delay: 150ms;
}
.t-news-index .more_cards_target > *:nth-child(4) {
  animation-delay: 200ms;
}
.t-news-index .more_cards_target > *:nth-child(5) {
  animation-delay: 250ms;
}
.t-news-index .more_cards_target > *:nth-child(6) {
  animation-delay: 300ms;
}
.t-news-index .more_cards_target > *:nth-child(7) {
  animation-delay: 350ms;
}
.t-news-index .more_cards_target > *:nth-child(8) {
  animation-delay: 400ms;
}
.t-news-index .more_cards_target > *:nth-child(9) {
  animation-delay: 450ms;
}
.t-news-index .more_cards_target > *:nth-child(10) {
  animation-delay: 500ms;
}
.t-news-index .more_cards_target > *:nth-child(11) {
  animation-delay: 550ms;
}
.t-news-index .more_cards_target > *:nth-child(12) {
  animation-delay: 600ms;
}
.t-news-index .more_cards_target > *:nth-child(13) {
  animation-delay: 650ms;
}
.t-news-index .more_cards_target > *:nth-child(14) {
  animation-delay: 700ms;
}
.t-news-index .more_cards_target > *:nth-child(15) {
  animation-delay: 750ms;
}
.t-news-index .more_cards_target > *:nth-child(16) {
  animation-delay: 800ms;
}
.t-news-index .more_cards_target > *:nth-child(17) {
  animation-delay: 850ms;
}
.t-news-index .more_cards_target > *:nth-child(18) {
  animation-delay: 900ms;
}
.t-news-index .more_cards_target > *:nth-child(19) {
  animation-delay: 950ms;
}
.t-news-index .more_cards_target > *:nth-child(20) {
  animation-delay: 1000ms;
}
.t-news-index .more_cards_target > *:nth-child(21) {
  animation-delay: 1050ms;
}
.t-news-index .more_cards_target > *:nth-child(22) {
  animation-delay: 1100ms;
}
.t-news-index .more_cards_target > *:nth-child(23) {
  animation-delay: 1150ms;
}
.t-news-index .more_cards_target > *:nth-child(24) {
  animation-delay: 1200ms;
}
.t-news-index .more_cards_target > *:nth-child(25) {
  animation-delay: 1250ms;
}
.t-news-index .more_cards_target > *:nth-child(26) {
  animation-delay: 1300ms;
}
.t-news-index .more_cards_target > *:nth-child(27) {
  animation-delay: 1350ms;
}
.t-news-index .more_cards_target > *:nth-child(28) {
  animation-delay: 1400ms;
}
.t-news-index .more_cards_target > *:nth-child(29) {
  animation-delay: 1450ms;
}
.t-news-index .more_cards_target > *:nth-child(30) {
  animation-delay: 1500ms;
}
.t-news-index .more_cards_target > *:nth-child(31) {
  animation-delay: 1550ms;
}
.t-news-index .more_cards_target > *:nth-child(32) {
  animation-delay: 1600ms;
}
.t-news-index .more_cards_target > *:nth-child(33) {
  animation-delay: 1650ms;
}
.t-news-index .more_cards_target > *:nth-child(34) {
  animation-delay: 1700ms;
}
.t-news-index .more_cards_target > *:nth-child(35) {
  animation-delay: 1750ms;
}
.t-news-index .more_cards_target > *:nth-child(36) {
  animation-delay: 1800ms;
}
.t-news-index .more_cards_target > *:nth-child(37) {
  animation-delay: 1850ms;
}
.t-news-index .more_cards_target > *:nth-child(38) {
  animation-delay: 1900ms;
}
.t-news-index .more_cards_target > *:nth-child(39) {
  animation-delay: 1950ms;
}
.t-news-index .more_cards_target > *:nth-child(40) {
  animation-delay: 2000ms;
}

.view_more_news, .t-news__content, .news_index_content_block,
.t-news__sidebar, .t-news__gallery {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.t-news__sidebar {
  border-bottom: 0.2rem solid whitesmoke;
}

.social__share {
  align-items: center;
  display: flex;
  justify-content: left;
}
.social__share .subtitle {
  font-size: 1.8rem;
  opacity: 0.54;
  text-transform: uppercase;
}
.social__share .icon-facebook-squared {
  color: #3b5999;
  font-size: 40px;
}

.news, .related {
  padding: 3rem 0;
}
.news h2, .related h2 {
  margin-bottom: 2.5rem;
}
.news .cards, .related .cards {
  margin-bottom: 1rem;
}

/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .t-news__sidebar, .t-news__content {
    margin-top: 0;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .social__share .subtitle {
    font-size: 1.6rem;
  }
}
.t-leader-index .main, .t-leader-index main, .t-leader .main, .t-leader main {
  padding-top: 21rem;
}
.t-leader-index .main h2, .t-leader-index main h2, .t-leader .main h2, .t-leader main h2 {
  margin: 4rem 0 3rem;
}

.leader--instances-name {
  text-transform: uppercase;
}

.leader--description, .leader--image {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.leader--instances {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .t-leader-index .main, .t-leader-index main, .t-leader .main, .t-leader main {
    padding-top: 20rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .t-leader-index .main, .t-leader-index main, .t-leader .main, .t-leader main {
    padding-top: 16rem;
  }

  .t-leader .main .rich-text {
    margin-bottom: 3rem;
  }
}
.t-contact .main, .t-contact main {
  padding-top: 21rem;
}

.contact--form--hidden-fieldset {
  display: none;
}

.field--error {
  color: #16a34a;
}

.errorlist {
  background: #16a34a;
  color: white;
  font-size: 1.2rem;
  font-style: italic;
  list-style: none;
  margin: -3rem 0 3rem;
  padding: 0.5rem 1rem;
}
.errorlist li {
  margin: 0.5rem;
}

/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .t-contact .main, .t-contact main {
    padding-top: 20rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .t-contact .main, .t-contact main {
    padding-top: 16rem;
  }
}
.t-tour-index .main, .t-tour-index main {
  padding-top: 21rem;
}
.t-tour-index h1 {
  margin-bottom: 4rem;
}
.t-tour-index .alert-warning {
  margin-bottom: 4rem;
}

.t-birdwalk-index .tour__title-block h1 {
  color: #b98e98;
}
.t-birdwalk-index .main h3:not(.tour__country) {
  margin-top: 3rem;
}
.t-birdwalk-index .main h2, .t-birdwalk-index .main .alert {
  margin: 4rem 0 3rem;
}

.t-birdwalk .tab--date .date__out {
  margin-bottom: 2.5rem;
}

.map__wrapper {
  display: inline-block;
  overflow: hidden;
  padding-bottom: 64.7%;
  position: relative;
  vertical-align: middle;
  width: 100%;
}

#world_map {
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
#world_map path {
  cursor: pointer;
}
#world_map path.active, #world_map .no-js .button-group path.button:hover, .no-js .button-group #world_map path.button:hover, #world_map .no-js .button-group path.button:focus, .no-js .button-group #world_map path.button:focus, #world_map .js.no-touch .button-group path.button:hover, .js.no-touch .button-group #world_map path.button:hover, #world_map .js.no-touch .button-group path.button:focus, .js.no-touch .button-group #world_map path.button:focus, #world_map .js.touch .button-group path.button:active, .js.touch .button-group #world_map path.button:active {
  background: red;
}

.map__tooltip {
  pointer-events: none;
  position: absolute;
  font-size: 14px;
  text-align: center;
  background: white;
  padding: 10px 15px;
  z-index: 2;
  height: auto;
  line-height: 18px;
  background: rgba(34, 34, 34, 0.75);
  margin: 0 auto;
  color: #fff;
  border-radius: 5px;
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: none;
}
.map__tooltip.active, .no-js .button-group .map__tooltip.button:hover, .no-js .button-group .map__tooltip.button:focus, .js.no-touch .button-group .map__tooltip.button:hover, .js.no-touch .button-group .map__tooltip.button:focus, .js.touch .button-group .map__tooltip.button:active {
  display: block;
}
.map__tooltip:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  width: 0;
  height: 0;
  margin-left: -10px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid rgba(34, 34, 34, 0.75);
}

.region--tour_instances {
  margin-top: 2rem;
}
.region--tour_instances h2.h2--underlined, .region--tour_instances .t-about h2, .t-about .region--tour_instances h2 {
  margin: 4rem 0 2rem;
}
.region--tour_instances h2.h2--underlined:first-child, .region--tour_instances .t-about h2:first-child, .t-about .region--tour_instances h2:first-child {
  margin-top: 0;
}
.region--tour_instances > * {
  animation: 100ms cubic-bezier(0.55, 0.085, 0.68, 0.53) both slide-in;
}
.region--tour_instances > *:nth-child(1) {
  animation-delay: 50ms;
}
.region--tour_instances > *:nth-child(2) {
  animation-delay: 100ms;
}
.region--tour_instances > *:nth-child(3) {
  animation-delay: 150ms;
}
.region--tour_instances > *:nth-child(4) {
  animation-delay: 200ms;
}
.region--tour_instances > *:nth-child(5) {
  animation-delay: 250ms;
}
.region--tour_instances > *:nth-child(6) {
  animation-delay: 300ms;
}
.region--tour_instances > *:nth-child(7) {
  animation-delay: 350ms;
}
.region--tour_instances > *:nth-child(8) {
  animation-delay: 400ms;
}
.region--tour_instances > *:nth-child(9) {
  animation-delay: 450ms;
}

/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .t-tour-index .main, .t-tour-index main {
    padding-top: 20rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .t-tour-index .main, .t-tour-index main {
    padding-top: 16rem;
  }
}
.t-booking .main, .t-booking main {
  min-height: calc(100vh - 40rem);
  padding-top: 21rem;
}
.t-booking .main h1, .t-booking main h1 {
  margin-bottom: 4rem;
}
.t-booking .main .h2--underlined, .t-booking .main .t-about h2, .t-about .t-booking .main h2, .t-booking main .h2--underlined, .t-booking main .t-about h2, .t-about .t-booking main h2 {
  margin: 2rem 0 5rem;
}
.t-booking .main .h2--underlined.b-sandstone-brown-12, .t-booking .main .t-about h2.b-sandstone-brown-12, .t-about .t-booking .main h2.b-sandstone-brown-12, .t-booking main .h2--underlined.b-sandstone-brown-12, .t-booking main .t-about h2.b-sandstone-brown-12, .t-about .t-booking main h2.b-sandstone-brown-12 {
  margin-bottom: 0;
}
.t-booking .main input[type=email], .t-booking .main input[type=number], .t-booking .main input[type=search],
.t-booking .main input[type=text], .t-booking .main input[type=tel], .t-booking .main input[type=url],
.t-booking .main input[type=password], .t-booking .main textarea, .t-booking .main select, .t-booking main input[type=email], .t-booking main input[type=number], .t-booking main input[type=search],
.t-booking main input[type=text], .t-booking main input[type=tel], .t-booking main input[type=url],
.t-booking main input[type=password], .t-booking main textarea, .t-booking main select {
  margin-bottom: 0;
}
.t-booking .main .errorlist, .t-booking main .errorlist {
  margin: 0;
}

.t-booking-details .info-box {
  font-size: 1.4rem;
  margin-top: 0;
  padding: 2.5rem 2rem 2rem;
}

.t-booking-continue .main button {
  margin: 3rem 3rem 0 0;
}

.t-booking__progress {
  border-top: 0.1rem solid #16a34a;
  display: flex;
  justify-content: space-between;
  padding-top: 2rem;
}
.t-booking__progress span {
  color: #76695f;
  font-weight: 600;
  position: relative;
  text-transform: uppercase;
}
.t-booking__progress span:after {
  background-color: white;
  border: 0.2rem solid white;
  box-shadow: 0 0 0 0.1rem #16a34a;
  border-radius: 50%;
  content: "";
  height: 1rem;
  left: 50%;
  position: absolute;
  top: -2.5rem;
  transform: translateX(-50%);
  width: 1rem;
}
.t-booking__progress span.active, .t-booking__progress .no-js .button-group span.button:hover, .no-js .button-group .t-booking__progress span.button:hover, .t-booking__progress .no-js .button-group span.button:focus, .no-js .button-group .t-booking__progress span.button:focus, .t-booking__progress .js.no-touch .button-group span.button:hover, .js.no-touch .button-group .t-booking__progress span.button:hover, .t-booking__progress .js.no-touch .button-group span.button:focus, .js.no-touch .button-group .t-booking__progress span.button:focus, .t-booking__progress .js.touch .button-group span.button:active, .js.touch .button-group .t-booking__progress span.button:active {
  color: #16a34a;
}
.t-booking__progress span.active:after, .t-booking__progress .no-js .button-group span.button:hover:after, .no-js .button-group .t-booking__progress span.button:hover:after, .t-booking__progress .no-js .button-group span.button:focus:after, .no-js .button-group .t-booking__progress span.button:focus:after, .t-booking__progress .js.no-touch .button-group span.button:hover:after, .js.no-touch .button-group .t-booking__progress span.button:hover:after, .t-booking__progress .js.no-touch .button-group span.button:focus:after, .js.no-touch .button-group .t-booking__progress span.button:focus:after, .t-booking__progress .js.touch .button-group span.button:active:after, .js.touch .button-group .t-booking__progress span.button:active:after {
  background-color: #16a34a;
}

.t-booking-details-confirm .card--full-width, .t-booking-status .card--full-width {
  pointer-events: none;
}
.t-booking-details-confirm .card--full-width__grid, .t-booking-status .card--full-width__grid {
  grid-template-columns: 0.7rem 116.3rem;
  grid-template-rows: 2rem 6.75rem 6.75rem 2rem;
}
.t-booking-details-confirm .card--full-width__grid .row, .t-booking-status .card--full-width__grid .row {
  grid-column: 2/span 1;
  grid-row: 2/span 1;
  margin: 0;
}
.t-booking-details-confirm .b-wild-sand-white, .t-booking-status .b-wild-sand-white {
  padding: 4rem 0;
}
.t-booking-details-confirm .b-wild-sand-white .button-arrow, .t-booking-status .b-wild-sand-white .button-arrow {
  margin-right: 2rem;
}
.t-booking-details-confirm .b-wild-sand-white ul.list-inline li, .t-booking-status .b-wild-sand-white ul.list-inline li {
  margin-bottom: 0;
}
.t-booking-details-confirm .b-wild-sand-white ul.list-inline li:last-child, .t-booking-status .b-wild-sand-white ul.list-inline li:last-child {
  margin-right: 0;
}

.t-booking-details-confirm .panel-top {
  margin-bottom: 2rem;
}
.t-booking-details-confirm .panel-top .message {
  margin: 0 4rem;
}
.t-booking-details-confirm .panel-top .message p:last-child {
  margin-bottom: 0;
}
.t-booking-details-confirm .panel-bottom {
  margin-top: 2rem;
}

.t-booking-status .h2--underlined.b-sandstone-brown-12, .t-booking-status .t-about h2.b-sandstone-brown-12, .t-about .t-booking-status h2.b-sandstone-brown-12 {
  margin: 0 0 2rem !important;
}
.t-booking-status p.large {
  margin-bottom: 2rem;
  padding-left: 3rem;
}

.message {
  margin-bottom: 5rem;
  padding-left: 3.5rem;
  position: relative;
}
.message:before, .message label {
  left: 0;
  position: absolute;
  top: -0.3rem;
}
.message:before {
  color: #16a34a;
  font-family: "limosa";
  font-size: 2.4rem;
}

.message--info:before {
  content: "\e80d";
}

.message--warning:before {
  content: "\e80c";
}

/* Desktop/Tablet Landscape (Large) screen sizes */
@media (max-width: 1279px) {
  .t-booking-details-confirm .card--full-width__grid {
    grid-template-columns: 0.7rem 92.3rem;
  }
}
/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .t-booking .main, .t-booking main {
    padding-top: 20rem;
  }
  .t-booking .main h1, .t-booking main h1 {
    margin-bottom: 3rem;
  }

  .t-booking__progress {
    margin-bottom: 4rem;
  }

  .t-booking-details-confirm .card--full-width__grid {
    grid-template-columns: 0.7rem 68.3rem;
  }
  .t-booking-details-confirm .b-wild-sand-white .button-arrow {
    margin-top: 1.5rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .t-booking .main, .t-booking main {
    padding-top: 16rem;
  }
  .t-booking .main h1, .t-booking main h1 {
    margin-bottom: 2rem;
  }
  .t-booking .main .h2--underlined, .t-booking .main .t-about h2, .t-about .t-booking .main h2, .t-booking main .h2--underlined, .t-booking main .t-about h2, .t-about .t-booking main h2 {
    margin-bottom: 3rem;
  }

  .t-booking-details-confirm .card--full-width__grid {
    grid-template-columns: 0.7rem 50.3rem;
    grid-template-rows: 2rem 10rem 10rem 2rem;
  }
  .t-booking-details-confirm .card--full-width__grid p.tour__title {
    margin-bottom: 2rem;
  }
  .t-booking-details-confirm .panel-top .message {
    margin: 0 2rem;
  }
}
/* Mobile Portrait (Extra Small) screen sizes */
@media (max-width: 575px) {
  .t-booking .main form .button-arrow, .t-booking main form .button-arrow {
    margin-right: 2rem;
  }

  .t-booking-details .info-box .button {
    font-size: 1rem;
  }

  .t-booking__progress {
    margin-bottom: 3rem;
  }
  .t-booking__progress span {
    font-size: 1.2rem;
  }

  .t-booking-details-confirm .card--full-width__grid {
    grid-template-columns: 0.7rem 27.3rem;
    grid-template-rows: 2rem 14rem 14rem 2rem;
  }
  .t-booking-details-confirm .card--full-width__grid p.tour__title, .t-booking-details-confirm .card--full-width__grid p.card__date__in {
    margin-bottom: 1.5rem;
  }
  .t-booking-details-confirm .b-wild-sand-white {
    padding: 3rem 1.5rem 1.5rem;
  }

  .message {
    margin-bottom: 3rem;
  }

  .t-booking-status .b-wild-sand-white {
    padding: 3rem 1.5rem;
  }
  .t-booking-status .b-wild-sand-white p.large {
    padding-left: 1.5rem;
  }
}
.t-search .main, .t-search main {
  min-height: calc(100vh - 40rem);
  padding-top: 21rem;
}
.t-search .main .input__iconised, .t-search main .input__iconised {
  display: block;
  margin: 3rem 0 4rem;
}

/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .t-search .main, .t-search main {
    padding-top: 20rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .t-search .main, .t-search main {
    padding-top: 16rem;
  }
}
.t-cms .main, .t-cms main {
  padding-top: 21rem;
}
.t-cms h2 {
  margin-top: 4rem;
}
.t-cms h3 {
  margin-top: 3rem;
}

/* Tablet Portrait (Medium) screen sizes */
@media (max-width: 1023px) {
  .t-cms .main, .t-cms main {
    padding-top: 20rem;
  }
}
/* Phablet/Mobile Landscape (Small) screen sizes */
@media (max-width: 767px) {
  .t-cms .main, .t-cms main {
    padding-top: 16rem;
  }
}
@keyframes slide-in {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Retina Displays (2x Resolution Devices) */
/* Print */
@media print {
  *,
*:before,
*:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster: http://www.sanbeiji.com/archives/953 */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a, a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]:after,
a[href^="javascript:"]:after {
    content: "";
  }

  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
   * Printing Tables:
   * http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group;
  }

  tr, img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }

  h2, h3 {
    page-break-after: avoid;
  }

  .navbar {
    display: none;
  }
}
/* Custom Helper Classes */
.b-africa-middle-east,
.b-southern-europe {
  background-color: #f5a623;
}

.b-asia-australasia {
  background-color: #15803d;
}

.b-britain-ireland {
  background-color: #74a1cf;
}

.b-central-south-america {
  background-color: #735b73;
}

.b-north-america {
  background-color: #4e74ab;
}

.b-northern-eastern-europe {
  background-color: #708a1c;
}

.b-uk-guided-birdwalks {
  background-color: #b98e98;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-2 {
  margin-top: 2rem;
}

.mt-5 {
  margin-top: 5rem;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-2 {
  margin-bottom: 2rem;
}

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

.pr-2 {
  padding-right: 2rem;
}

.pl-2 {
  padding-left: 2rem !important;
}

.font-lg {
  font-size: 2rem;
}

.button-rounded {
  border-radius: 3rem;
}

.button-rounded-tl-bl {
  border-radius: 3rem 0 0 3rem;
}

.line-clamp {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

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

/*
    WordPress
*/
.wp-block-search__input {
  margin-bottom: initial !important;
}

.wp-element-button {
  padding-left: 2rem;
  padding-right: 2rem;
}

.wp-block-image.size-full img {
  width: 100%;
  height: auto;
}

.alignright {
  float: right;
  margin: 0 0 1em 1em;
}

.alignleft {
  float: left;
  margin: 0 1em 1em 0;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1023px) {
  .alignright, .alignleft, .aligncenter {
    display: block;
    float: none;
    margin: 1rem 0;
  }
}
/*
    Gravity Forms
*/
.gfield-choice-input {
  margin-bottom: initial !important;
}

.gfield_consent_label {
  display: inline-block;
}

.gform_button.button {
  margin-left: 0 !important;
}

/* Karma CSS Utilities */
.align-top {
  vertical-align: top;
}

.align-bottom {
  vertical-align: bottom;
}

.align-middle {
  vertical-align: middle;
}

.align-baseline {
  vertical-align: baseline;
}

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

.b-white {
  background-color: white;
}

.c-white {
  color: white;
}

.b-black {
  background-color: #111111;
}

.c-black {
  color: #111111;
}

.b-primary {
  background-color: #33c3f0;
}

.c-primary {
  color: #33c3f0;
}

.b-secondary {
  background-color: #f0f0f0;
}

.c-secondary {
  color: #f0f0f0;
}

.b-aqua {
  background-color: #7fdbff;
}

.c-aqua {
  color: #7fdbff;
}

.b-blue {
  background-color: #0074d9;
}

.c-blue {
  color: #0074d9;
}

.b-navy {
  background-color: #001f3f;
}

.c-navy {
  color: #001f3f;
}

.b-teal {
  background-color: #39cccc;
}

.c-teal {
  color: #39cccc;
}

.b-green {
  background-color: #2ecc40;
}

.c-green {
  color: #2ecc40;
}

.b-olive {
  background-color: #3d9970;
}

.c-olive {
  color: #3d9970;
}

.b-lime {
  background-color: #01ff70;
}

.c-lime {
  color: #01ff70;
}

.b-yellow {
  background-color: #ffdc00;
}

.c-yellow {
  color: #ffdc00;
}

.b-orange {
  background-color: #ff851b;
}

.c-orange {
  color: #ff851b;
}

.b-red {
  background-color: #ff4136;
}

.c-red {
  color: #ff4136;
}

.b-fuchsia {
  background-color: #f012be;
}

.c-fuchsia {
  color: #f012be;
}

.b-purple {
  background-color: #b10dc9;
}

.c-purple {
  color: #b10dc9;
}

.b-maroon {
  background-color: #85144b;
}

.c-maroon {
  color: #85144b;
}

.b-silver {
  background-color: #dddddd;
}

.c-silver {
  color: #dddddd;
}

.b-gray {
  background-color: #aaaaaa;
}

.c-gray {
  color: #aaaaaa;
}

.b-facebook {
  background-color: #3b5999;
}

.c-facebook {
  color: #3b5999;
}

.b-twitter {
  background-color: #55acee;
}

.c-twitter {
  color: #55acee;
}

.b-linkedin {
  background-color: #0077b5;
}

.c-linkedin {
  color: #0077b5;
}

.b-googleplus {
  background-color: #dd4b39;
}

.c-googleplus {
  color: #dd4b39;
}

.b-instagram {
  background-color: #e4405f;
}

.c-instagram {
  color: #e4405f;
}

.b-pinterest {
  background-color: #bd081c;
}

.c-pinterest {
  color: #bd081c;
}

.b-jewel {
  background-color: #16a34a;
}

.c-jewel {
  color: #16a34a;
}

.b-sandstone-brown {
  background-color: #76695f;
}

.c-sandstone-brown {
  color: #76695f;
}

.b-sandstone-brown-16 {
  background-color: rgba(118, 105, 95, 0.16);
}

.c-sandstone-brown-16 {
  color: rgba(118, 105, 95, 0.16);
}

.b-sandstone-brown-12 {
  background-color: rgba(118, 105, 95, 0.12);
}

.c-sandstone-brown-12 {
  color: rgba(118, 105, 95, 0.12);
}

.b-wild-sand-white {
  background-color: whitesmoke;
}

.c-wild-sand-white {
  color: whitesmoke;
}

.b-dusty-gray {
  background-color: #9b9b9b;
}

.c-dusty-gray {
  color: #9b9b9b;
}

.b-tundora-black {
  background-color: #4a4a4a;
}

.c-tundora-black {
  color: #4a4a4a;
}

.b-black-12 {
  background-color: rgba(0, 0, 0, 0.12);
}

.c-black-12 {
  color: rgba(0, 0, 0, 0.12);
}

.b-golden-grass {
  background-color: #d4a11c;
}

.c-golden-grass {
  color: #d4a11c;
}

.b-buttercup-yellow {
  background-color: #f5a623;
}

.c-buttercup-yellow {
  color: #f5a623;
}

.b-emerald {
  background-color: #15803d;
}

.c-emerald {
  color: #15803d;
}

.b-danube-blue {
  background-color: #74a1cf;
}

.c-danube-blue {
  color: #74a1cf;
}

.b-old-lavendar {
  background-color: #735b73;
}

.c-old-lavendar {
  color: #735b73;
}

.b-san-marino-blue {
  background-color: #4e74ab;
}

.c-san-marino-blue {
  color: #4e74ab;
}

.b-trendy-green {
  background-color: #708a1c;
}

.c-trendy-green {
  color: #708a1c;
}

.b-quicksand {
  background-color: #b98e98;
}

.c-quicksand {
  color: #b98e98;
}

.b-success-green {
  background-color: #58a92b;
}

.c-success-green {
  color: #58a92b;
}

.b-available-blue {
  background-color: #2b75aa;
}

.c-available-blue {
  color: #2b75aa;
}

.b-warning-amber {
  background-color: #e08703;
}

.c-warning-amber {
  color: #e08703;
}

.b-poppy-red {
  background-color: #e11d48;
}

.c-poppy-red {
  color: #e11d48;
}

.disabled {
  cursor: not-allowed;
}

.move {
  cursor: move;
}

.pointer {
  cursor: pointer;
}

.d-block {
  display: block;
}

[x-cloak],
.d-hidden {
  display: none !important;
}

.d-flex {
  display: flex;
}

.d-grid {
  display: grid;
}

.d-inline {
  display: inline;
}

.d-inline-block {
  display: inline-block;
}

.d-inline-flex {
  display: inline-flex;
}

.d-table {
  display: table;
}

.d-table-cell {
  display: table-cell;
}

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

.flex-column {
  flex-direction: column;
}

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

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

.justify-content-start {
  justify-content: flex-start;
}

.justify-content-end {
  justify-content: flex-end;
}

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

.justify-content-between {
  justify-content: space-between;
}

.justify-content-around {
  justify-content: space-around;
}

.align-items-start {
  align-items: flex-start;
}

.align-items-end {
  align-items: flex-end;
}

.align-items-center {
  align-items: center;
}

.align-items-baseline {
  align-items: baseline;
}

.align-items-stretch {
  align-items: stretch;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}

.align-self-start {
  align-self: flex-start;
}

.align-self-end {
  align-self: flex-end;
}

.align-self-center {
  align-self: center;
}

.align-self-baseline {
  align-self: baseline;
}

.align-self-stretch {
  align-self: stretch;
}

.pull-left {
  float: left !important;
}

.pull-right {
  float: right !important;
}

.img-fluid {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 1px;
}

.list-style-none {
  list-style: none !important;
}

.list-style-reset {
  margin: 0;
  padding: 0;
  list-style: none !important;
}

.scroll-x {
  overflow-x: auto;
}

.noscroll {
  overflow: hidden;
}

.fixed {
  position: fixed;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

@media print {
  .no-print,
.no-print * {
    display: none !important;
  }
}
.full-height {
  height: 100%;
}

.full-visual-height {
  height: 100vh;
}

.full-width {
  box-sizing: border-box;
  width: 100%;
}

.max-full-width {
  box-sizing: border-box;
  max-width: 100%;
}

.margin-zero {
  margin: 0;
}

.m-auto {
  margin: auto;
}

.mt-auto {
  margin-top: auto;
}

.mr-auto {
  margin-right: auto;
}

.mb-auto {
  margin-bottom: auto;
}

.ml-auto {
  margin-left: auto;
}

.push-auto {
  margin-right: auto;
  margin-left: auto;
}

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

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

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

.text-just {
  text-align: justify;
}

.strong {
  font-weight: 700;
}

.lead {
  font-weight: 600;
}

.muted {
  opacity: 0.7;
}

.nowrap {
  white-space: nowrap;
}

.small {
  font-size: 80%;
}

.uppercase {
  text-transform: uppercase;
}

.text-shadow {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.flip-x {
  transform: scale(-1, 1);
}

.flip-y {
  transform: scale(1, -1);
}

.flip-both {
  transform: scale(-1, -1);
}

.preload-transitions * {
  transition: none !important;
}

.hidden-xs-up {
  display: none !important;
}

@media (max-width: 575px) {
  .hidden-xs-down {
    display: none !important;
  }
}

@media (min-width: ) and (max-width: 575px) {
  .hidden-xs {
    display: none !important;
  }
}

@media (min-width: 576px) {
  .hidden-sm-up {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .hidden-sm-down {
    display: none !important;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .hidden-sm {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .hidden-md-up {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  .hidden-md-down {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .hidden-md {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .hidden-lg-up {
    display: none !important;
  }
}

@media (max-width: 1279px) {
  .hidden-lg-down {
    display: none !important;
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .hidden-lg {
    display: none !important;
  }
}

@media (min-width: 1280px) {
  .hidden-xl-up {
    display: none !important;
  }
}

.hidden-xl-down {
  display: none !important;
}

@media (min-width: 1280px) and (max-width: ) {
  .hidden-xl {
    display: none !important;
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3Njc3Mvc3R5bGVzLnNjc3MiLCIuLi8uLi9zY3NzLzEtYmFzZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9zY3NzLzEtYmFzZS9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvX2NyZWRpdHMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9rYXJtYS1jc3Mvc2Nzcy9jb3JlL19ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvbWl4aW5zL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL2NvcmUvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9rYXJtYS1jc3Mvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvY29yZS9fYW5jaG9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvY29yZS9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvbWl4aW5zL19idXR0b24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9rYXJtYS1jc3Mvc2Nzcy9jb3JlL19jb2RlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvY29yZS9fY3Vyc29yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvY29yZS9fZm9ybS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL21peGlucy9faW5wdXQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9rYXJtYS1jc3Mvc2Nzcy9jb3JlL19oci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL2NvcmUvX2ltYWdlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvY29yZS9fbGlzdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL2NvcmUvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvY29yZS9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vc2Nzcy8xLWJhc2UvX3NrZWxldG9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvbWl4aW5zL19tb2Rlcm5penIuc2NzcyIsIi4uLy4uL3Njc3MvMi1xdWFya3MvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL3Njc3MvZm9udGVsbG8vY3NzL2xpbW9zYS5jc3MiLCIuLi8uLi9zY3NzLzItcXVhcmtzL19mb3Jtcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL21peGlucy9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9rYXJtYS1jc3Mvc2Nzcy9taXhpbnMvX3BzZXVkby5zY3NzIiwiLi4vLi4vc2Nzcy8yLXF1YXJrcy9fbWVkaWEuc2NzcyIsIi4uLy4uL3Njc3MvMy1hdG9tcy9fYWxlcnRzLnNjc3MiLCIuLi8uLi9zY3NzLzMtYXRvbXMvX2J1dHRvbnMuc2NzcyIsIi4uLy4uL3Njc3MvMy1hdG9tcy9fYmFkZ2VzLnNjc3MiLCIuLi8uLi9zY3NzLzQtbW9sZWN1bGVzL19iYW5uZXIuc2NzcyIsIi4uLy4uL3Njc3MvNC1tb2xlY3VsZXMvX2Nhcm91c2VsLnNjc3MiLCIuLi8uLi9zY3NzLzQtbW9sZWN1bGVzL19jYXJkcy5zY3NzIiwiLi4vLi4vc2Nzcy80LW1vbGVjdWxlcy9faW5mby1ib3hlcy5zY3NzIiwiLi4vLi4vc2Nzcy80LW1vbGVjdWxlcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vc2Nzcy80LW1vbGVjdWxlcy9fbW9kYWwuc2NzcyIsIi4uLy4uL3Njc3MvNC1tb2xlY3VsZXMvX3RvdXJfY29udGFjdF9tb2RhbC5zY3NzIiwiLi4vLi4vc2Nzcy81LW9yZ2FuaXNtcy9faGVhZGVyLnNjc3MiLCIuLi8uLi9zY3NzLzUtb3JnYW5pc21zL190YWJiZWQtYXJlYXMuc2NzcyIsIi4uLy4uL3Njc3MvNS1vcmdhbmlzbXMvX25ld3NsZXR0ZXItc2lnbnVwLnNjc3MiLCIuLi8uLi9zY3NzLzUtb3JnYW5pc21zL19mb290ZXIuc2NzcyIsIi4uLy4uL3Njc3MvNi10ZW1wbGF0ZXMvX2hvbWUuc2NzcyIsIi4uLy4uL3Njc3MvNi10ZW1wbGF0ZXMvX2Fib3V0LnNjc3MiLCIuLi8uLi9zY3NzLzYtdGVtcGxhdGVzL190b3VyLnNjc3MiLCIuLi8uLi9zY3NzLzYtdGVtcGxhdGVzL190b3VyX2NhbGVuZGFyLnNjc3MiLCIuLi8uLi9zY3NzLzYtdGVtcGxhdGVzL19uZXdzLnNjc3MiLCIuLi8uLi9zY3NzLzYtdGVtcGxhdGVzL19sZWFkZXIuc2NzcyIsIi4uLy4uL3Njc3MvNi10ZW1wbGF0ZXMvX2NvbnRhY3Quc2NzcyIsIi4uLy4uL3Njc3MvNi10ZW1wbGF0ZXMvX3RvdXJfcmVnaW9ucy5zY3NzIiwiLi4vLi4vc2Nzcy82LXRlbXBsYXRlcy9fYm9va2luZy5zY3NzIiwiLi4vLi4vc2Nzcy82LXRlbXBsYXRlcy9fc2VhcmNoLnNjc3MiLCIuLi8uLi9zY3NzLzYtdGVtcGxhdGVzL19jbXMuc2NzcyIsIi4uLy4uL3Njc3MvNy1taXNjZWxsYW5lb3VzL19hbmltYXRpb25zLnNjc3MiLCIuLi8uLi9zY3NzLzctbWlzY2VsbGFuZW91cy9fcHJpbnQuc2NzcyIsIi4uLy4uL3Njc3MvOC11dGlsaXRpZXMvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9rYXJtYS1jc3Mvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL3V0aWxpdGllcy9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9rYXJtYS1jc3Mvc2Nzcy91dGlsaXRpZXMvX2N1cnNvci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9rYXJtYS1jc3Mvc2Nzcy91dGlsaXRpZXMvX2ltYWdlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL3V0aWxpdGllcy9fbGlzdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL3V0aWxpdGllcy9fb3ZlcmZsb3cuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9rYXJtYS1jc3Mvc2Nzcy91dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvdXRpbGl0aWVzL19wcmludC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvbWl4aW5zL19wdXNoLWF1dG8uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9rYXJtYS1jc3Mvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9rYXJtYS1jc3Mvc2Nzcy91dGlsaXRpZXMvX3RyYW5zZm9ybS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL21peGlucy9fZmxpcC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL3V0aWxpdGllcy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2thcm1hLWNzcy9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUVBO0FBRUE7QUFDQTtBQ0xBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQTREd0U7QUMvRHhFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQ0tFO0VDS0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUN5Q0U7RUZsREY7SUNpQkksV0pJaUI7OztBSzZCbkI7RUZsREY7SUNpQkksV0pJaUI7OztBSzZCbkI7RUZsREY7SUNpQkksV0pJaUI7OztBSzZCbkI7RUZsREY7SUNpQkksV0pJaUI7Ozs7QUdmckI7RUNEQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURFQTtFQ2NBO0VBQ0E7RUFDQTtFQUNBOzs7QURaQTtFQUNFO0VBQ0E7O0FBRUE7QUFBQTtFQUVFO0VBQ0E7OztBR3JCSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBb0JFO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUE7RUZGTjtFQUlBOzs7QUVGTTtFRkZOO0VBSUE7OztBRUZNO0VGRk47RUFJQTs7O0FFRk07RUZGTjtFQUlBOzs7QUVGTTtFRkZOO0VBSUE7OztBRUZNO0VGRk47RUFJQTs7O0FFRk07RUZGTjtFQUlBOzs7QUVGTTtFRkZOO0VBSUE7OztBRUZNO0VGRk47RUFJQTs7O0FFRk07RUZGTjtFQUlBOzs7QUVGTTtFRkZOO0VBSUE7OztBRUZNO0VGRk47RUFJQTs7O0FFSU07RUFDRSxPQUZTOzs7QUFDWDtFQUNFLE9BRlM7OztBQUNYO0VBQ0UsT0FGUzs7O0FBQ1g7RUFDRSxPQUZTOzs7QUFDWDtFQUNFLE9BRlM7OztBQUNYO0VBQ0UsT0FGUzs7O0FBQ1g7RUFDRSxPQUZTOzs7QUFDWDtFQUNFLE9BRlM7OztBQUNYO0VBQ0UsT0FGUzs7O0FBQ1g7RUFDRSxPQUZTOzs7QUFDWDtFQUNFLE9BRlM7OztBQUNYO0VBQ0UsT0FGUzs7O0FBUVg7RUZBTjs7O0FFQU07RUZBTjs7O0FFQU07RUZBTjs7O0FFQU07RUZBTjs7O0FFQU07RUZBTjs7O0FFQU07RUZBTjs7O0FFQU07RUZBTjs7O0FFQU07RUZBTjs7O0FFQU07RUZBTjs7O0FFQU07RUZBTjs7O0FFQU07RUZBTjs7O0FDRkU7RUN4QkU7SUFDRTtJQUNBO0lBQ0E7OztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7RUFJQTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVJTTtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFRWDtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7QUNGRTtFQ3hCRTtJQUNFO0lBQ0E7SUFDQTs7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztFQUlBO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUlNO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQVFYO0lGQU47OztFRUFNO0lGQU47OztFRUFNO0lGQU47OztFRUFNO0lGQU47OztFRUFNO0lGQU47OztFRUFNO0lGQU47OztFRUFNO0lGQU47OztFRUFNO0lGQU47OztFRUFNO0lGQU47OztFRUFNO0lGQU47OztFRUFNO0lGQU47OztBQ0ZFO0VDeEJFO0lBQ0U7SUFDQTtJQUNBOzs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0VBSUE7SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFSU07SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBUVg7SUZBTjs7O0VFQU07SUZBTjs7O0VFQU07SUZBTjs7O0VFQU07SUZBTjs7O0VFQU07SUZBTjs7O0VFQU07SUZBTjs7O0VFQU07SUZBTjs7O0VFQU07SUZBTjs7O0VFQU07SUZBTjs7O0VFQU07SUZBTjs7O0VFQU07SUZBTjs7O0FDRkU7RUN4QkU7SUFDRTtJQUNBO0lBQ0E7OztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7RUFJQTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVGTTtJRkZOO0lBSUE7OztFRUZNO0lGRk47SUFJQTs7O0VFRk07SUZGTjtJQUlBOzs7RUVJTTtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFDWDtJQUNFLE9BRlM7OztFQUNYO0lBQ0UsT0FGUzs7O0VBQ1g7SUFDRSxPQUZTOzs7RUFRWDtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7RUVBTTtJRkFOOzs7QUdqREY7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFFRTs7O0FBS0o7RUFDRTtFQUNBLGFDTGlCO0VETWpCOzs7QUFHRjtFQUNFLE9QOEI4QjtFTzdCOUIsYUNWaUI7RURXakIsV1ByQjhCO0VPc0I5QixhQ1RpQjtFRFVqQixZQ3NGZ0I7OztBRG5GbEI7RUFDRTs7O0FFaENGO0VBQ0UsT1QrRDhCO0VTOUQ5QixpQkQySWdCO0VDMUloQjtFQUNBLFlEMklnQjs7QUN6SWhCO0VBQ0UsT1QwRDRCO0VTekQ1QixpQkRzSW9COzs7QUUxSXhCO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0VBQ0U7RUFDQTs7O0FBSUY7RUNURTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9Yd0U4QjtFV3ZFOUIsYVhrRThCO0VXakU5QixXWGdFOEI7RVcvRDlCO0VBQ0EsYUg0Sm1CO0VHM0puQjtFQUNBO0VBQ0E7RUFDQSxrQlgrRDhCO0VXOUQ5QjtFQUNBLGVYd0M4QjtFV3ZDOUI7RUFDQSxZWDBEOEI7RVd6RDlCOztBQW9CQTtFQUVFLE9YcUM0QjtFV3BDNUIsa0JEM0JhO0VDNEJiLGNEN0JpQjtFQzhCakI7O0FEdkJGO0VBQ0U7RUFDQTs7QUNnQkY7RUFFRSxPRHRCZTtFQ3VCZixrQkRqQnVDO0VDa0J2QyxjRDdCaUI7RUM4QmpCOztBRGhCRjtFQUNFO0VBQ0E7RUFDQTs7QUNRRjtFQUVFLE9EdEJlO0VDdUJmLGtCRFR1QztFQ1V2QyxjRFZvRDtFQ1dwRDs7O0FES0Y7RUNyQkEsT0RhVztFQ1pYLGtCRGFTO0VDWlQsY0RVYTs7QUNEYjtFQUVFO0VBQ0Esa0JESWE7RUNIYixjREVpQjtFQ0RqQjs7O0FEV0Y7RUMzQkEsT0RjUztFQ2JULGtCRDJCMkM7RUMxQjNDLGNEWVM7O0FDSFQ7RUFFRSxPREthO0VDSmIsa0JEZXFDO0VDZHJDLGNER2E7RUNGYjs7O0FEaUJGO0VDakNBLE9EY1M7RUNiVCxrQkRpQzJDO0VDaEMzQyxjRGdDd0Q7O0FDdkJ4RDtFQUVFLE9ES2E7RUNKYixrQkRxQnFDO0VDcEJyQyxjRG9Ca0Q7RUNuQmxEOzs7QURLRjtFQ3JCQSxPRGFXO0VDWlgsa0JEYVM7RUNaVCxjRFVhOztBQ0RiO0VBRUU7RUFDQSxrQkRJYTtFQ0hiLGNERWlCO0VDRGpCOzs7QURXRjtFQzNCQSxPRGNTO0VDYlQsa0JEMkIyQztFQzFCM0MsY0RZUzs7QUNIVDtFQUVFLE9ES2E7RUNKYixrQkRlcUM7RUNkckMsY0RHYTtFQ0ZiOzs7QURpQkY7RUNqQ0EsT0RjUztFQ2JULGtCRGlDMkM7RUNoQzNDLGNEZ0N3RDs7QUN2QnhEO0VBRUUsT0RLYTtFQ0piLGtCRHFCcUM7RUNwQnJDLGNEb0JrRDtFQ25CbEQ7OztBQ2xESjtBQUFBO0FBQUE7QUFBQTtFQUlFLGFKZ0JpQjs7O0FJWm5CO0VBQ0UsU0owTmE7RUl6TmIsT1o0QzhCO0VZM0M5QixXSnVOZTtFSXROZjtFQUNBLFlKbU5nQjtFSWxOaEI7RUFDQSxlWitDOEI7OztBWTNDaEM7RUFDRTtFQUNBLGVKMEdzQjtFSXpHdEIsU0ppTlk7RUloTlo7RUFDQSxPWjhCOEI7RVk3QjlCLFdKNk1jO0VJNU1kO0VBQ0EsWUpxTWdCO0VJcE1oQjtFQUNBLGVaaUM4Qjs7QVk5QjlCO0VBQ0U7RUFDQTtFQUNBOzs7QUNuQ0o7RUFDRTs7O0FDQ0Y7RUFDRSxlTjRIc0I7OztBTXhIdEI7RUNDQTtFQUNBLGVma0Y4QjtFZWpGOUIsT2Y0QzhCO0VlM0M5QixhUElpQjtFT0hqQjtFQUNBLGFQbUxrQjtFT2xMbEIsWWZ3RThCO0VldkU5QjtFQUNBLGVmOEM4QjtFZTdDOUI7RUFDQSxZUG1MaUI7RU83SWpCO0VBQ0EsV2YrQjhCO0VlaEQ5QjtFRGhCRTs7QUNLRjtFQUNFLFlmd0Q0QjtFZXZENUIsY2Y4RDRCO0VlN0Q1Qjs7QURMRjtFQUtFLFFkK0Q0QjtFYzlENUI7O0FBSUY7RUFFRTs7O0FBS0o7QUFBQTtFQUVFOzs7QUFJRjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0UsT2RpQzhCO0VjaEM5Qjs7O0FBR0Y7RUNyREU7RUFDQSxlZmtGOEI7RWVqRjlCLE9mNEM4QjtFZTNDOUIsYVBJaUI7RU9IakI7RUFDQSxhUG1Ma0I7RU9sTGxCLFlmd0U4QjtFZXZFOUI7RUFDQSxlZjhDOEI7RWU3QzlCO0VBQ0EsWVBtTGlCO0VPN0lqQjtFQUNBLFdmK0I4QjtFZWhEOUI7RUQyQkE7RUFDQTs7QUN2Q0E7RUFDRSxZZndENEI7RWV2RDVCLGNmOEQ0QjtFZTdENUI7OztBRHVDSjtFQy9ERTtFQUNBLGVma0Y4QjtFZWpGOUIsT2Y0QzhCO0VlM0M5QixhUElpQjtFT0hqQjtFQUNBLGFQbUxrQjtFT2xMbEIsWWZ3RThCO0VldkU5QjtFQUNBLGVmOEM4QjtFZTdDOUI7RUFDQSxZUG1MaUI7RU83SWpCO0VBQ0EsV2YrQjhCO0VlaEQ5QjtFRHFDQTs7QUNoREE7RUFDRSxZZndENEI7RWV2RDVCLGNmOEQ0QjtFZTdENUI7O0FEK0NGO0VBQ0UsUWRlNEI7OztBY1hoQztFQUNFO0VBQ0E7RUFDQSxhZFU4Qjs7O0FjUGhDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFkQzhCO0VjQTlCOzs7QUFHRjtFQUNFLGVkVjhCO0VjVzlCOzs7QUV0R0Y7RUFDRTtFQUNBO0VBQ0EsUWhCd0c4QjtFZ0J2RzlCO0VBQ0E7RUFDQTs7O0FDTkY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUNWRjtFQUNFLGVWOEhzQjtFVTdIdEIsY2xCaUU4QjtFa0JoRTlCLFlsQmlFOEI7OztBa0I5RGhDO0VBQ0UsZVZ3SHNCO0VVdkh0QixjbEI4RDhCO0VrQjdEOUIsWWxCOEQ4Qjs7O0FrQjNEaEM7QUFBQTtFQUVFLFFWdUlzQjs7O0FVcEl4QjtBQUFBO0VBRUUsUVZzSXNCOzs7QVVuSXhCO0VBQ0UsZVZ3R3NCOztBVXRHdEI7RUFDRSxRVmlJUTtFVWhJUjs7QUFHRjtFQUNFLFFWNkhROzs7QVc1Slo7RUFDRTtFQUNBO0VBQ0EsZVg0SHNCO0VXM0h0QixXWG1OZ0I7RVdsTmhCLGtCWDhNdUI7RVc3TXZCO0VBQ0E7OztBQUdGO0VBQ0UsU1gyTW1COzs7QVd4TXJCO0VBQ0UsU1h1TW1CO0VXdE1uQjtFQUNBOzs7QUFHRjtFQUNFLFNYaU1tQjtFV2hNbkI7RUFDQTtFQUNBOzs7QUFJRjtFQUNFOzs7QUFHRjtBQUVBO0FBQUE7RUFFRSxrQlhvTG1COzs7QVdqTHJCO0FBRUE7RUFDRSxrQlhnTG9COzs7QVc3S3RCO0VBQ0Usa0JYMktrQjs7O0FZek5wQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFLE9wQnFEOEI7RW9CcEQ5QixhWmdCaUI7O0FZZGpCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7O0FBSUo7QUFBQTtFQUlFLFFac0JlO0VZckJmLGFwQko4QjtFb0JLOUIsV3BCVDhC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UDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FtRHpFUDtFQUNFLGtCbkR3RUs7OztBbURyRVA7RUFDRSxPbkRvRUs7OztBbUR6RVA7RUFDRSxrQm5Ed0VLOzs7QW1EckVQO0VBQ0UsT25Eb0VLOzs7QW1EekVQO0VBQ0Usa0JuRHdFSzs7O0FtRHJFUDtFQUNFLE9uRG9FSzs7O0FvRDdFVDtFQUFZOzs7QUFDWjtFQUFROzs7QUFDUjtFQUFXOzs7QUNGWDtFQUFXOzs7QUFFWDtBQUFBO0VBRUU7OztBQUdGO0VBQVU7OztBQUNWO0VBQVU7OztBQUNWO0VBQVk7OztBQUNaO0VBQWtCOzs7QUFDbEI7RUFBaUI7OztBQUNqQjtFQUFXOzs7QUFDWDtFQUFnQjs7O0FDWmhCO0VBQVk7OztBQUNaO0VBQWU7OztBQUdmO0VBQW9COzs7QUFDcEI7RUFBdUI7OztBQUd2QjtFQUF5Qjs7O0FBQ3pCO0VBQXVCOzs7QUFDdkI7RUFBMEI7OztBQUMxQjtFQUEyQjs7O0FBQzNCO0VBQTBCOzs7QUFHMUI7RUFBcUI7OztBQUNyQjtFQUFtQjs7O0FBQ25CO0VBQXNCOzs7QUFDdEI7RUFBd0I7OztBQUN4QjtFQUF1Qjs7O0FBR3ZCO0VBQWU7OztBQUNmO0VBQWE7OztBQUNiO0VBQXFCOzs7QUFHckI7RUFBb0I7OztBQUNwQjtFQUFrQjs7O0FBQ2xCO0VBQXFCOzs7QUFDckI7RUFBdUI7OztBQUN2QjtFQUFzQjs7O0FDaEN0QjtFQUFhOzs7QUFDYjtFQUFjOzs7QUNEZDtFQ01FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ1ZGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUNQRjtFQUFZOzs7QUFDWjtFQUFZOzs7QUNEWjtFQUFTOzs7QUFDVDtFQUFZOzs7QUFDWjtFQUFZOzs7QUNGWjtFQUNFO0FBQUE7SUFFRTs7O0FDSEo7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQ2ZGO0VBQWU7OztBQUNmO0VBQVU7OztBQUNWO0VBQVc7OztBQUNYO0VBQVc7OztBQUNYO0VBQVc7OztBQUNYO0VBQVc7OztBQUNYO0VDRUk7RUFDQTs7O0FDVEo7RUFBYTs7O0FBQ2I7RUFBYzs7O0FBQ2Q7RUFBZTs7O0FBQ2Y7RUFBYTs7O0FBRWI7RUFBVSxhakU0Q1c7OztBaUUzQ3JCO0VBQVEsYXpFT3dCOzs7QXlFTmhDO0VBQVMsU2pFMkhPOzs7QWlFMUhoQjtFQUFVOzs7QUFDVjtFQUFTLFdqRTBDUzs7O0FpRXpDbEI7RUFBYTs7O0FBRWI7RUFBZTs7O0FDWmY7RUNzQkU7OztBRHJCRjtFQ3FCRTs7O0FEcEJGO0VDb0JFOzs7QUN0QkY7RUFBeUI7OztBQ0t2QjtFQUVJOzs7QXhFNERGO0V3RXhERjtJQUVJOzs7O0F4RWtGSjtFd0U5RUE7SUFFSTs7OztBeEVpQ0Y7RXdFL0NGO0lBRUk7Ozs7QXhFNERGO0V3RXhERjtJQUVJOzs7O0F4RWtGSjtFd0U5RUE7SUFFSTs7OztBeEVpQ0Y7RXdFL0NGO0lBRUk7Ozs7QXhFNERGO0V3RXhERjtJQUVJOzs7O0F4RWtGSjtFd0U5RUE7SUFFSTs7OztBeEVpQ0Y7RXdFL0NGO0lBRUk7Ozs7QXhFNERGO0V3RXhERjtJQUVJOzs7O0F4RWtGSjtFd0U5RUE7SUFFSTs7OztBeEVpQ0Y7RXdFL0NGO0lBRUk7Ozs7QUFJSjtFQUVJOzs7QXhFa0ZKO0V3RTlFQTtJQUVJIiwiZmlsZSI6InN0eWxlcy5jc3MiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyo9PT09IFRoaXMgc2luZ2xlIFNDU1Mgb3V0cHV0IGZpbGUgaXMgaW50ZW5kZWQgdG8gT05MWSBAaW1wb3J0IG90aGVyIGZpbGVzLiA9PT09Ki9cblxuLyo9PT09IDEgLSBLYXJtYSBDU1M6IHRoZSBiYXNlIG9mIG91ciBzdHlsZXMgPT09PSovXG5cbi8qIEthcm1hIENTUzogdGhlIGZvdW5kYXRpb24gb2Ygb3VyIHN0eWxlcyAqL1xuLyogT3ZlcnJpZGluZyBLYXJtYSBDU1MgYW5kIHNldHRpbmcgeW91ciBjdXN0b20gdmFyaWFibGVzICovXG5AaW1wb3J0IFwiMS1iYXNlL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIjEtYmFzZS9taXhpbnNcIjtcblxuQGltcG9ydCBcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9rYXJtYS1jc3Mvc2Nzcy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMva2FybWEtY3NzL3Njc3MvaW1wb3J0XCI7XG5cbkBpbXBvcnQgXCIxLWJhc2Uvc2tlbGV0b25cIjtcblxuXG4vKj09PT0gQXRvbWljIERlc2lnbiBGcmFtZXdvcms6IEN1c3RvbSBjb21wb25lbnRzIGFuZCBvdmVycmlkZXMgb2YgS2FybWEgQ1NTIGJvaWxlcnBsYXRlIHdoZXJlIHJlcXVpcmVkID09PT0qL1xuLyo9PT09IDIgLSBRdWFya3M6IGRlZmluaW5nIHRoZSBiYXNpYyBhYnN0cmFjdCBIVE1MIGVsZW1lbnRzIChodHRwOi8venFzbW0ucWluaXVjZG4uY29tL2RhdGEvMjAxMTA1MTEwODMyMjQvaW5kZXguaHRtbCkgPT09PSovXG5AaW1wb3J0IFwiMi1xdWFya3MvdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImZvbnRlbGxvL2Nzcy9saW1vc2FcIjtcbkBpbXBvcnQgXCIyLXF1YXJrcy9mb3Jtc1wiO1xuQGltcG9ydCBcIjItcXVhcmtzL21lZGlhXCI7XG5cblxuLyo9PT09IDMgLSBBdG9tczogZGVmaW5pbmcgdGhlIGJhc2ljIHBoeXNpY2FsIGJ1aWxkaW5nIGJsb2NrIEhUTUwgZWxlbWVudHMgPT09PSovXG5AaW1wb3J0IFwiMy1hdG9tcy9hbGVydHNcIjtcbkBpbXBvcnQgXCIzLWF0b21zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCIzLWF0b21zL2JhZGdlc1wiO1xuXG5cbi8qPT09PSA0IC0gTW9sZWN1bGVzOiBhdG9tcyBjb21iaW5lZCB0byBmb3JtIG1pY3JvIGNvbXBvbmVudHMgPT09PSovXG5AaW1wb3J0IFwiNC1tb2xlY3VsZXMvYmFubmVyXCI7XG5AaW1wb3J0IFwiNC1tb2xlY3VsZXMvY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCI0LW1vbGVjdWxlcy9jYXJkc1wiO1xuQGltcG9ydCBcIjQtbW9sZWN1bGVzL2luZm8tYm94ZXNcIjtcbkBpbXBvcnQgXCI0LW1vbGVjdWxlcy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiNC1tb2xlY3VsZXMvbW9kYWxcIjtcbkBpbXBvcnQgXCI0LW1vbGVjdWxlcy90b3VyX2NvbnRhY3RfbW9kYWxcIjtcblxuXG4vKj09PT0gNSAtIE9yZ2FuaXNtczogYXRvbXMgJiBtb2xlY3VsZXMgY29tYmluZWQgdG8gZm9ybSBjb21wbGV0ZSBjb21wb25lbnRzL21vZHVsZXMgPT09PSovXG5AaW1wb3J0IFwiNS1vcmdhbmlzbXMvaGVhZGVyXCI7XG5AaW1wb3J0IFwiNS1vcmdhbmlzbXMvdGFiYmVkLWFyZWFzXCI7XG5AaW1wb3J0IFwiNS1vcmdhbmlzbXMvbmV3c2xldHRlci1zaWdudXBcIjtcbkBpbXBvcnQgXCI1LW9yZ2FuaXNtcy9mb290ZXJcIjtcblxuXG4vKj09PT0gNiAtIFRlbXBsYXRlczogb3JnYW5pc21zIGNvbWJpbmVkIHRvIGZvcm0gcGFnZXMgPT09PSovXG5AaW1wb3J0IFwiNi10ZW1wbGF0ZXMvaG9tZVwiO1xuQGltcG9ydCBcIjYtdGVtcGxhdGVzL2Fib3V0XCI7XG5AaW1wb3J0IFwiNi10ZW1wbGF0ZXMvdG91clwiO1xuQGltcG9ydCBcIjYtdGVtcGxhdGVzL3RvdXJfY2FsZW5kYXJcIjtcbkBpbXBvcnQgXCI2LXRlbXBsYXRlcy9uZXdzXCI7XG5AaW1wb3J0IFwiNi10ZW1wbGF0ZXMvbGVhZGVyXCI7XG5AaW1wb3J0IFwiNi10ZW1wbGF0ZXMvY29udGFjdFwiO1xuQGltcG9ydCBcIjYtdGVtcGxhdGVzL3RvdXJfcmVnaW9uc1wiO1xuQGltcG9ydCBcIjYtdGVtcGxhdGVzL2Jvb2tpbmdcIjtcbkBpbXBvcnQgXCI2LXRlbXBsYXRlcy9zZWFyY2hcIjtcbkBpbXBvcnQgXCI2LXRlbXBsYXRlcy9jbXNcIjtcblxuXG5AaW1wb3J0IFwiNy1taXNjZWxsYW5lb3VzL2FuaW1hdGlvbnNcIjtcblxuLyogUmV0aW5hIERpc3BsYXlzICgyeCBSZXNvbHV0aW9uIERldmljZXMpICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS41KSxcbm9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSB7XG5cdEBpbXBvcnQgXCI3LW1pc2NlbGxhbmVvdXMvMnhcIjtcbn1cblxuXG4vKiBQcmludCAqL1xuQG1lZGlhIHByaW50IHtcblx0QGltcG9ydCBcIjctbWlzY2VsbGFuZW91cy9wcmludFwiO1xufVxuXG5cbi8qIEN1c3RvbSBIZWxwZXIgQ2xhc3NlcyAqL1xuQGltcG9ydCBcIjgtdXRpbGl0aWVzL2hlbHBlcnNcIjtcblxuLyogS2FybWEgQ1NTIFV0aWxpdGllcyAqL1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9rYXJtYS1jc3Mvc2Nzcy91dGlsaXRpZXNcIjtcbiIsIi8qIFZhcmlhYmxlc1xu4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG5cbi8qXG4qIHN0YXJ0IHdpdGggYSBjb3B5IG9mIHRoZSBjdXJyZW50IHZhcmFibGVzIGZpbGU6XG4qIGh0dHBzOi8vZ2l0aHViLmNvbS9BY2NlbnREZXNpZ24va2FybWEtY3NzL2Jsb2IvbWFzdGVyL3Njc3MvX3ZhcmlhYmxlcy5zY3NzXG4qL1xuXG4kYmFzZS1mb250LXNpemU6ICAgICAgICAgICAgICAgIDEuNnJlbSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICA0cmVtICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAgIDYwMCAhZGVmYXVsdDtcblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICAgICAgeHM6IDAsXG4gICAgICAgIHNtOiA1NzZweCxcbiAgICAgICAgbWQ6IDc2OHB4LFxuICAgICAgICBsZzogMTAyNHB4LFxuICAgICAgICB4bDogMTI4MHB4XG4pICFkZWZhdWx0O1xuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgICAgICAgc206IDU0MHB4LFxuICAgICAgICBtZDogNzIwcHgsXG4gICAgICAgIGxnOiA5NjBweCxcbiAgICAgICAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuJGNvbG9yczogKFxuICAgICAgICBcImpld2VsXCI6IHJnYigyMiwgMTYzLCA3NCksXG4gICAgICAgIFwic2FuZHN0b25lLWJyb3duXCI6IHJnYigxMTgsIDEwNSwgOTUpLFxuICAgICAgICBcInNhbmRzdG9uZS1icm93bi0xNlwiOiByZ2JhKDExOCwgMTA1LCA5NSwgLjE2KSxcbiAgICAgICAgXCJzYW5kc3RvbmUtYnJvd24tMTJcIjogcmdiYSgxMTgsIDEwNSwgOTUsIC4xMiksXG4gICAgICAgIFwid2lsZC1zYW5kLXdoaXRlXCI6IHJnYigyNDUsIDI0NSwgMjQ1KSxcbiAgICAgICAgXCJkdXN0eS1ncmF5XCI6IHJnYigxNTUsIDE1NSwgMTU1KSxcbiAgICAgICAgXCJ0dW5kb3JhLWJsYWNrXCI6IHJnYig3NCwgNzQsIDc0KSxcbiAgICAgICAgXCJ3aGl0ZVwiOiByZ2IoMjU1LCAyNTUsIDI1NSksXG4gICAgICAgIFwiYmxhY2stMTJcIjogcmdiYSgwLCAwLCAwLCAuMTIpLFxuICAgICAgICBcImdvbGRlbi1ncmFzc1wiOiByZ2IoMjEyLCAxNjEsIDI4KSxcbiAgICAgICAgXCJidXR0ZXJjdXAteWVsbG93XCI6IHJnYigyNDUsIDE2NiwgMzUpLFxuICAgICAgICBcImVtZXJhbGRcIjogcmdiKDIxLCAxMjgsIDYxKSxcbiAgICAgICAgXCJkYW51YmUtYmx1ZVwiOiByZ2IoMTE2LCAxNjEsIDIwNyksXG4gICAgICAgIFwib2xkLWxhdmVuZGFyXCI6IHJnYigxMTUsIDkxLCAxMTUpLFxuICAgICAgICBcInNhbi1tYXJpbm8tYmx1ZVwiOiByZ2IoNzgsIDExNiwgMTcxKSxcbiAgICAgICAgXCJ0cmVuZHktZ3JlZW5cIjogcmdiKDExMiwgMTM4LCAyOCksXG4gICAgICAgIFwicXVpY2tzYW5kXCI6IHJnYigxODUsIDE0MiwgMTUyKSxcbiAgICAgICAgXCJzdWNjZXNzLWdyZWVuXCI6IHJnYig4OCwgMTY5LCA0MyksXG4gICAgICAgIFwiYXZhaWxhYmxlLWJsdWVcIjogcmdiKDQzLCAxMTcsIDE3MCksXG4gICAgICAgIFwid2FybmluZy1hbWJlclwiOiByZ2IoMjI0LCAxMzUsIDMpLFxuICAgICAgICBcInBvcHB5LXJlZFwiOiByZ2IoMjI1LCAyOSwgNzIpLFxuKSAhZGVmYXVsdDtcblxuJGZvbnQtY29sb3I6ICAgICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRjb2xvcnMsIFwidHVuZG9yYS1ibGFja1wiKSAhZGVmYXVsdDtcblxuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRjb2xvcnMsIFwiamV3ZWxcIikgIWRlZmF1bHQ7XG5cbiRhbmltYXRpb24tc3BlZWQtZmFzdDogICAgICAgICAgMTAwbXMgIWRlZmF1bHQ7XG5cbiRlYXNpbmctZGVmYXVsdDogICAgICAgICAgICAgICAgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDg1LCAwLjY4LCAwLjUzKTsgIC8qIGVhc2VJblF1YWQgKi9cblxuJGdsb2JhbC1yYWRpdXM6ICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJGNvbG9ycywgXCJqZXdlbFwiKSAhZGVmYXVsdDtcbiRsaW5rLWNvbG9yLWhvdmVyOiAgICAgICAgICAgICAgbWFwLWdldCgkY29sb3JzLCBcImJsYWNrLTEyXCIpICFkZWZhdWx0O1xuXG4kdWwtbGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7XG4kdWwtbGlzdC1zdHlsZTogICAgICAgICAgICAgICAgIGRpc2Mgb3V0c2lkZSAhZGVmYXVsdDtcblxuJG9sLWxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuJG9sLWxpc3Qtc3R5bGU6ICAgICAgICAgICAgICAgICBkZWNpbWFsIG91dHNpZGUgIWRlZmF1bHQ7XG5cbiRidXR0b25zOiAoXG4gICAgICAgIFwicHJpbWFyeVwiOiBtYXAtZ2V0KCRjb2xvcnMsIFwiamV3ZWxcIikgbWFwLWdldCgkY29sb3JzLCBcIndoaXRlXCIpLFxuICAgICAgICBcInNlY29uZGFyeVwiOiBtYXAtZ2V0KCRjb2xvcnMsIFwid2hpdGVcIikgbWFwLWdldCgkY29sb3JzLCBcInR1bmRvcmEtYmxhY2tcIiksXG4pICFkZWZhdWx0O1xuXG4kYnV0dG9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgIDEuNnJlbSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGJ1dHRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuOXJlbSAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRidXR0b24tdHJhbnNpdGlvbjogICAgICAgICAgICAgYWxsICRlYXNpbmctZGVmYXVsdCAkYW5pbWF0aW9uLXNwZWVkLWZhc3QgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYmctY29sb3I6ICAgICAgIG1hcC1nZXQoJGNvbG9ycywgXCJqZXdlbFwiKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1mb250LWNvbG9yOiAgICAgbWFwLWdldCgkY29sb3JzLCBcIndoaXRlXCIpICFkZWZhdWx0O1xuXG4kaW5wdXQtYmFja2dyb3VuZDogICAgICAgICAgICAgIHJnYmEoMTE4LCAxMDUsIDk1LCAuMTIpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICByZ2JhKDExOCwgMTA1LCA5NSwgLjE2KSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgMS40cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgIHJnYmEoMTE4LCAxMDUsIDk1LCAuNTApICFkZWZhdWx0O1xuJGlucHV0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLWNvbG9yLWZvY3VzOiAgICAgIHJnYmEoMTE4LCAxMDUsIDk1LCAuNTApICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgIDRyZW0gIWRlZmF1bHQ7XG5cbiRsYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIG1hcC1nZXQoJGNvbG9ycywgXCJibGFjay0xMlwiKSAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtcGFkZGluZy14OiAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtcGFkZGluZy15OiAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtYm9yZGVyLWxlZnQtd2lkdGg6ICAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtYm9yZGVyLWxlZnQtY29sb3I6ICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICBtYXAtZ2V0KCRjb2xvcnMsIFwiYmxhY2stMTJcIikgIWRlZmF1bHQ7XG4kaHItbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgIDNyZW0gMCAhZGVmYXVsdDtcblxuJHotbGF5ZXJzOiAoXG4gICAgICAgIFwiYmFzZW1lbnRcIjogICAgICAgICAgICAgLTEsXG4gICAgICAgIFwiZ3JvdW5kX2Zsb29yXCI6ICAgICAgICAgMCxcbiAgICAgICAgXCJmaXJzdF9mbG9vclwiOiAgICAgICAgICAxLFxuICAgICAgICBcInNlY29uZF9mbG9vclwiOiAgICAgICAgIDIsXG4gICAgICAgIFwidG9wX2Zsb29yXCI6ICAgICAgICAgICAgMTAsXG4gICAgICAgIFwicm9vZlwiOiAgICAgICAgICAgICAgICAgMzAsXG4pICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1kZWZhdWx0OiAgICAgICAgICAgIDAgMCAuNHJlbSAwIHJnYmEoMCwwLDAsLjU0KSAhZGVmYXVsdDtcbiR0ZXh0LXNoYWRvdy1kZWZhdWx0OiAgICAgICAgICAgMCAwIC40cmVtIHJnYmEoMCwwLDAsLjU0KSAhZGVmYXVsdDtcblxuLy8gQ2hlY2tib3hlcyBhbmQgUmFkaW9zXG4vL+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4kY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogICAgICAgIGNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRjaGVja2JveC1mb250LXdlaWdodDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGNoZWNrYm94LXNpemU6ICAgICAgICAgICAgICAgICAyLjRyZW0gIWRlZmF1bHQ7XG4kY2hlY2tib3gtdGljay13aWR0aDogICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJHJhZGlvLWRvdC1zcGFjaW5nOiAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDsiLCIvKlxuQSBzaW1wbGUgbGl0dGxlIFNDU1MgbWl4aW4gZm9yIGNyZWF0aW5nIHNjcmltIGdyYWRpZW50c1xuSW5zcGlyZWQgYnkgQW5kcmVhcyBMYXJzb24gLSBodHRwczovL2dpdGh1Yi5jb20vbGFyc2Vud29ya1xuaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9lYXNpbmctbGluZWFyLWdyYWRpZW50cy9cbiovXG5cbkBtaXhpbiBzY3JpbS1ncmFkaWVudCgkc3RhcnRDb2xvcjogJGNvbG9yLWJsYWNrLCAkZGlyZWN0aW9uOiAndG8gYm90dG9tJykge1xuICAgICRzY3JpbUNvb3JkaW5hdGVzOiAoXG4gICAgICAgIDA6IDEsXG4gICAgICAgIDE5OiAwLjczOCxcbiAgICAgICAgMzQ6IDAuNTQxLFxuICAgICAgICA0NzogMC4zODIsXG4gICAgICAgIDU2LjU6IDAuMjc4LFxuICAgICAgICA2NTogMC4xOTQsXG4gICAgICAgIDczOiAwLjEyNixcbiAgICAgICAgODAuMjogMC4wNzUsXG4gICAgICAgIDg2LjE6IDAuMDQyLFxuICAgICAgICA5MTogMC4wMjEsXG4gICAgICAgIDk1LjI6IDAuMDA4LFxuICAgICAgICA5OC4yOiAwLjAwMixcbiAgICAgICAgMTAwOiAwXG4gICAgKTtcblxuICAgICRodWU6IGh1ZSgkc3RhcnRDb2xvcik7XG4gICAgJHNhdHVyYXRpb246IHNhdHVyYXRpb24oJHN0YXJ0Q29sb3IpO1xuICAgICRsaWdodG5lc3M6IGxpZ2h0bmVzcygkc3RhcnRDb2xvcik7XG4gICAgJHN0b3BzOiAoKTtcblxuICAgIEBlYWNoICRjb2xvclN0b3AsICRhbHBoYVZhbHVlIGluICRzY3JpbUNvb3JkaW5hdGVzIHtcbiAgICAgICAgJHN0b3A6IGhzbGEoJGh1ZSwgJHNhdHVyYXRpb24sICRsaWdodG5lc3MsICRhbHBoYVZhbHVlKSBwZXJjZW50YWdlKCRjb2xvclN0b3AvMTAwKTtcbiAgICAgICAgJHN0b3BzOiBhcHBlbmQoJHN0b3BzLCAkc3RvcCwgY29tbWEpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh1bnF1b3RlKCRkaXJlY3Rpb24pLCAkc3RvcHMpO1xufVxuXG5cbkBtaXhpbiB0cnVuY2F0ZS1tdWx0aWxpbmUoJG51bUxpbmVzOiAxLCAkbGluZUhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQpIHtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogJG51bUxpbmVzO1xuICAgIG1heC1oZWlnaHQ6ICRudW1MaW5lcyAqICRsaW5lSGVpZ2h0ICsgdW5xdW90ZSgnZW0nKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IC1vLWVsbGlwc2lzLWxhc3RsaW5lO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuIiwiLyohIEthcm1hLUNTUyB2Mi4wLjEgTUlUIExpY2Vuc2UgfCBodHRwOi8va2FybWFjc3MuY29tIHwgaHR0cHM6Ly9naXRodWIuY29tL2FjY2VudGRlc2lnbi9rYXJtYS1jc3MgKi9cbiIsIi8vIEdyaWRcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAvLyBDb250YWluZXJzXG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHM7XG4gIH1cblxuICAvLyBGbHVpZCBjb250YWluZXJcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXI7XG4gIH1cblxuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3c7XG4gIH1cblxuICAvLyBObyBndXR0ZXJzLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5zXG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zO1xufVxuIiwiLy8vIEdyaWRcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG5AdXNlICdzYXNzOm1hdGgnO1xuXG4vLyBUaGUgbWFpbiBtaXhpbnMgdXNlZCB0byBjcmVhdGUgdGhlIGdyaWQgY29udGFpbmVycywgcm93cyBhbmQgY29sdW1uc1xuXG4vLyB1c2VkIGluIC5jb250YWluZXIgYW5kIC5jb250YWluZXItZmx1aWRcbi8vIC4uLlxuQG1peGluIG1ha2UtY29udGFpbmVyKCkge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1yaWdodDogbWF0aC5kaXYoJGdyaWQtZ3V0dGVyLXdpZHRoLCAyKTtcbiAgcGFkZGluZy1sZWZ0OiBtYXRoLmRpdigkZ3JpZC1ndXR0ZXItd2lkdGgsIDIpO1xufVxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lclxuLy8gLi4uXG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4vLyBtYWtlIGEgZ3JpZCByb3dcbi8vIC4uLlxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSBtYXRoLmRpdigkZ3V0dGVyLCAyKTtcbiAgbWFyZ2luLWxlZnQ6IC0gbWF0aC5kaXYoJGd1dHRlciwgMik7XG59XG5cbi8vIG1ha2UgYSBncmlkIGNvbHVtblxuLy8gLi4uXG4vLyAkc2l6ZTogbnVtYmVyIG9mIGNvbHVtbnMgd2lkZVxuLy8gJGNvbHVtbnM6IG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSByb3dcbi8vIC4uLlxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgbWF0aC5wZXJjZW50YWdlKG1hdGguZGl2KCRzaXplLCAkY29sdW1ucykpO1xuXG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC5cbiAgbWF4LXdpZHRoOiBtYXRoLnBlcmNlbnRhZ2UobWF0aC5kaXYoJHNpemUsICRjb2x1bW5zKSk7XG59XG5cbi8vIG1ha2UgYSBncmlkIGNvbHVtbiBvZmZzZXRcbi8vIC4uLlxuLy8gJHNpemU6IG51bWJlciBvZiBjb2x1bW5zIHRvIG9mZnNldFxuLy8gJGNvbHVtbnM6IG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSByb3dcbi8vIC4uLlxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogbWF0aC5kaXYoJHNpemUsICRjb2x1bW5zKTtcblxuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBtYXRoLnBlcmNlbnRhZ2UoJG51bSkpO1xufVxuIiwiLy8gQnJlYWtwb2ludFxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbkB1c2UgJ3Nhc3M6bGlzdCc7XG5AdXNlICdzYXNzOm1hcCc7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBsaXN0LmluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG5cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIGxpc3QubnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy8gLi4uXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG4vLyAuLi5cbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuXG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4xLlxuLy8gLi4uXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2N3B4XG4vLyAuLi5cbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMXB4LCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbmZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vLyAuLi5cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vIC4uLlxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbi8vIC4uLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbi8vIC4uLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuLy8gLi4uXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG4vLyAuLi5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1tYXgoJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG4vLyAuLi5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBHcmlkIEZyYW1ld29ya1xuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogbWF0aC5kaXYoJGd1dHRlciwgMik7XG4gICAgcGFkZGluZy1sZWZ0OiBtYXRoLmRpdigkZ3V0dGVyLCAyKTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIG9yZGVyOiAkaTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBoZXJlIHdlIGRvbnQgbmVlZCB0aGUgZnVsbCB3aXRoIGFzIHlvdSBjYW5ub3Qgb2Zmc2V0IGJ5IDEwMCVcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZSBTdHlsZXNcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4vLyBOT1RFXG4vLyBodG1sIGlzIHNldCB0byA2Mi41JSBzbyB0aGF0IGFsbCB0aGUgUkVNIG1lYXN1cmVtZW50cyB0aHJvdWdob3V0IGthcm1hLWNzc1xuLy8gYXJlIGJhc2VkIG9uIDEwcHggc2l6aW5nLiBTbyBiYXNpY2FsbHkgMS41cmVtID0gMTVweCA6KVxuXG4vLyBib3ggc2l6aW5nICAmIHJlc2V0IG1hcmdpblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbi8vIGJhc2ljIGRvY3VtZW50IHN0eWxpbmdcbmh0bWwge1xuICBmb250LXNpemU6IDYyLjUlO1xuICBsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7XG4gIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbmJvZHkge1xuICBjb2xvcjogJGZvbnQtY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiAkYmFzZS1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbn1cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLy8gVmFyaWFibGVzXG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuQHVzZSAnc2Fzczpjb2xvcic7XG5AdXNlICdzYXNzOm1hcCc7XG5cbi8vIE9wdGlvbnNcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4vLyBlbmFibGUgYWxsIGNvbnRhaW5lciwgcm93LCBjb2wsIG9yZGVyIGNsYXNzZXNcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBUeXBvZ3JhcGh5XG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuLy8gQmFzZSBmb250XG4kYmFzZS1mb250LXNpemU6IDE1cHggIWRlZmF1bHQ7XG4kYmFzZS1saW5lLWhlaWdodDogMS42ICFkZWZhdWx0O1xuJGJhc2UtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcblxuLy8gRm9udCBGYW1pbHlcbiRiYXNlLWZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGhlYWRlci1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY29kZS1mb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGhlYWRpbmctZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRoMS1mb250LXdlaWdodDogJGhlYWRpbmctZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kaDItZm9udC13ZWlnaHQ6ICRoZWFkaW5nLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGgzLWZvbnQtd2VpZ2h0OiAkaGVhZGluZy1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRoNC1mb250LXdlaWdodDogJGhlYWRpbmctZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kaDUtZm9udC13ZWlnaHQ6ICRoZWFkaW5nLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGg2LWZvbnQtd2VpZ2h0OiAkaGVhZGluZy1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRoZWFkaW5nLW1hcmdpbjogMCAwIDEuNXJlbSAhZGVmYXVsdDtcbiRoMS1tYXJnaW46ICRoZWFkaW5nLW1hcmdpbiAhZGVmYXVsdDtcbiRoMi1tYXJnaW46ICRoZWFkaW5nLW1hcmdpbiAhZGVmYXVsdDtcbiRoMy1tYXJnaW46ICRoZWFkaW5nLW1hcmdpbiAhZGVmYXVsdDtcbiRoNC1tYXJnaW46ICRoZWFkaW5nLW1hcmdpbiAhZGVmYXVsdDtcbiRoNS1tYXJnaW46ICRoZWFkaW5nLW1hcmdpbiAhZGVmYXVsdDtcbiRoNi1tYXJnaW46ICRoZWFkaW5nLW1hcmdpbiAhZGVmYXVsdDtcbiRoMS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGgyLWxpbmUtaGVpZ2h0OiAxLjI1ICFkZWZhdWx0O1xuJGgzLWxpbmUtaGVpZ2h0OiAxLjMgIWRlZmF1bHQ7XG4kaDQtbGluZS1oZWlnaHQ6IDEuMzUgIWRlZmF1bHQ7XG4kaDUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRoNi1saW5lLWhlaWdodDogMS42ICFkZWZhdWx0O1xuJHN0cm9uZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8gR3JpZFxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG4kZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogMzBweCAhZGVmYXVsdDtcblxuLy8gU3R5bGluZ1xuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbi8vIGNvbG91cnNcbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuJGNvbG9yczogbWFwLm1lcmdlKFxuICAoXG4gICAgLy8gcmVxdWlyZWQgYmFzZSBjb2xvdXJzXG4gICAgXCJ3aGl0ZVwiOiAgICAgICAgICAgICAgICAgIHJnYigyNTUgMjU1IDI1NSksXG4gICAgXCJibGFja1wiOiAgICAgICAgICAgICAgICAgIHJnYigxNyAxNyAxNyksXG4gICAgXCJwcmltYXJ5XCI6ICAgICAgICAgICAgICAgIHJnYig1MSAxOTUgMjQwKSxcbiAgICBcInNlY29uZGFyeVwiOiAgICAgICAgICAgICAgcmdiKDI0MCAyNDAgMjQwKSxcbiAgICAvLyBDb29sXG4gICAgXCJhcXVhXCI6ICAgICAgICAgICAgICAgICAgIHJnYigxMjcgMjE5IDI1NSksXG4gICAgXCJibHVlXCI6ICAgICAgICAgICAgICAgICAgIHJnYigwIDExNiAyMTcpLFxuICAgIFwibmF2eVwiOiAgICAgICAgICAgICAgICAgICByZ2IoMCAzMSA2MyksXG4gICAgXCJ0ZWFsXCI6ICAgICAgICAgICAgICAgICAgIHJnYig1NyAyMDQgMjA0KSxcbiAgICBcImdyZWVuXCI6ICAgICAgICAgICAgICAgICAgcmdiKDQ2IDIwNCA2NCksXG4gICAgXCJvbGl2ZVwiOiAgICAgICAgICAgICAgICAgIHJnYig2MSAxNTMgMTEyKSxcbiAgICBcImxpbWVcIjogICAgICAgICAgICAgICAgICAgcmdiKDEgMjU1IDExMiksXG4gICAgLy8gV2FybVxuICAgIFwieWVsbG93XCI6ICAgICAgICAgICAgICAgICByZ2IoMjU1IDIyMCAwKSxcbiAgICBcIm9yYW5nZVwiOiAgICAgICAgICAgICAgICAgcmdiKDI1NSAxMzMgMjcpLFxuICAgIFwicmVkXCI6ICAgICAgICAgICAgICAgICAgICByZ2IoMjU1IDY1IDU0KSxcbiAgICBcImZ1Y2hzaWFcIjogICAgICAgICAgICAgICAgcmdiKDI0MCAxOCAxOTApLFxuICAgIFwicHVycGxlXCI6ICAgICAgICAgICAgICAgICByZ2IoMTc3IDEzIDIwMSksXG4gICAgXCJtYXJvb25cIjogICAgICAgICAgICAgICAgIHJnYigxMzMgMjAgNzUpLFxuICAgIC8vIE90aGVyIEdyZXlzY2FsZVxuICAgIFwic2lsdmVyXCI6ICAgICAgICAgICAgICAgICByZ2IoMjIxIDIyMSAyMjEpLFxuICAgIFwiZ3JheVwiOiAgICAgICAgICAgICAgICAgICByZ2IoMTcwIDE3MCAxNzApLFxuICAgIC8vIFNvY2lhbCBtZWRpYSwgbW9yZSBjYW4gYmUgZm91bmQgYXQgaHR0cHM6Ly93d3cubWF0ZXJpYWx1aS5jby9zb2NpYWxjb2xvcnNcbiAgICBcImZhY2Vib29rXCI6ICAgICAgICAgICAgICAgcmdiKDU5IDg5IDE1MyksXG4gICAgXCJ0d2l0dGVyXCI6ICAgICAgICAgICAgICAgIHJnYig4NSAxNzIgMjM4KSxcbiAgICBcImxpbmtlZGluXCI6ICAgICAgICAgICAgICAgcmdiKDAgMTE5IDE4MSksXG4gICAgXCJnb29nbGVwbHVzXCI6ICAgICAgICAgICAgIHJnYigyMjEgNzUgNTcpLFxuICAgIFwiaW5zdGFncmFtXCI6ICAgICAgICAgICAgICByZ2IoMjI4IDY0IDk1KSxcbiAgICBcInBpbnRlcmVzdFwiOiAgICAgICAgICAgICAgcmdiKDE4OSA4IDI4KVxuICApLFxuICAkY29sb3JzXG4pO1xuXG4vLyBkZWZpbmVkIGNvbG9yc1xuJGJvZHktYmFja2dyb3VuZDogcmdiKDI1NSAyNTUgMjU1KSAhZGVmYXVsdDtcbiRmb250LWNvbG9yOiByZ2IoNjIgNjIgNjIpICFkZWZhdWx0O1xuJGhlYWRlci1mb250LWNvbG9yOiAkZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8gYm9yZGVyc1xuJGJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogcmdiKDIzMCAyMzAgMjMwKSAhZGVmYXVsdDtcblxuLy8gYW5pbWF0aW9uXG4kYW5pbWF0aW9uLXNwZWVkLXNsb3c6IDAuNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNwZWVkLWZhc3Q6IDAuMThzICFkZWZhdWx0O1xuXG4vLyBtaXNjXG4kZ2VuZXJpYy1tYXJnaW4tYm90dG9tOiAxLjVyZW0gIWRlZmF1bHQ7IC8vIHVzZWQgYXMgYSBzdGFydGluZyBwb2ludCBmb3Igb3RoZXIgdmFyaWFibGVzXG4kZ2xvYmFsLXJhZGl1czogMC4yNXJlbSAhZGVmYXVsdDtcbiRkYXJrZW4taG92ZXItcGVyY2VudDogMTAlICFkZWZhdWx0OyAvLyB1c2VkIHdpdGhpbiBob3ZlcnMgaW4gbGlua3MgYW5kIGJ1dHRvbnNcbiRtdXRlZC1vcGFjaXR5OiAwLjcgIWRlZmF1bHQ7IC8vIG9wYWNpdHkgdGhhdHMgc2V0IGluIHRoZSAubXV0ZWQgaGVscGVyIGNsYXNzXG5cbi8vIHBhcmFncmFwaFxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAkZ2VuZXJpYy1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLyBpbWFnZVxuJGZpZ3VyZS1tYXJnaW4tYm90dG9tOiAkZ2VuZXJpYy1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLyBsaW5rc1xuJGxpbmstY29sb3I6IG1hcC5nZXQoJGNvbG9ycywgXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstY29sb3ItaG92ZXI6IGNvbG9yLmFkanVzdCgkbGluay1jb2xvciwgJGxpZ2h0bmVzczogLSAkZGFya2VuLWhvdmVyLXBlcmNlbnQpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG4kbGluay10cmFuc2l0aW9uOiBjb2xvciBsaW5lYXIgJGFuaW1hdGlvbi1zcGVlZC1mYXN0ICFkZWZhdWx0O1xuXG4vLyBsaXN0c1xuJHVsLWxpc3QtcGFkZGluZy1sZWZ0OiAwICFkZWZhdWx0O1xuJHVsLWxpc3Qtc3R5bGU6IGNpcmNsZSBpbnNpZGUgIWRlZmF1bHQ7XG4kdWwtbGlzdC1tYXJnaW4tYm90dG9tOiAkZ2VuZXJpYy1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuJHVsLWxpc3QtbmVzdGVkLW1hcmdpbjogMCAwIDAgMnJlbSAhZGVmYXVsdDtcbiRvbC1saXN0LXBhZGRpbmctbGVmdDogMCAhZGVmYXVsdDtcbiRvbC1saXN0LXN0eWxlOiBkZWNpbWFsIGluc2lkZSAhZGVmYXVsdDtcbiRvbC1saXN0LW1hcmdpbi1ib3R0b206ICRnZW5lcmljLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG4kb2wtbGlzdC1uZXN0ZWQtbWFyZ2luOiAwIDAgMCAycmVtICFkZWZhdWx0O1xuJGRsLW1hcmdpbi1ib3R0b206ICRnZW5lcmljLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG4kZHQtbWFyZ2luOiAwIDAgMCAwICFkZWZhdWx0O1xuJGRkLW1hcmdpbjogMCAwICRnZW5lcmljLW1hcmdpbi1ib3R0b20gMnJlbSAhZGVmYXVsdDtcblxuLy8gYnV0dG9uc1xuJGJ1dHRvbnM6ICgpICFkZWZhdWx0O1xuJGJ1dHRvbnM6IG1hcC5tZXJnZShcbiAgKFxuICAgIC8vIG5hbWUgICAgICAgICBjb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1jb2xvclxuICAgIHByaW1hcnk6ICAgICAgICBtYXAuZ2V0KCRjb2xvcnMsIFwicHJpbWFyeVwiKSAgICAgIG1hcC5nZXQoJGNvbG9ycywgXCJ3aGl0ZVwiKSxcbiAgICBzZWNvbmRhcnk6ICAgICAgbWFwLmdldCgkY29sb3JzLCBcInNlY29uZGFyeVwiKSAgICBtYXAuZ2V0KCRjb2xvcnMsIFwiYmxhY2tcIilcbiAgKSxcbiAgJGJ1dHRvbnNcbik7XG4kYnV0dG9uLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJ1dHRvbi1wYWRkaW5nLXk6IDAuOHJlbSAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIGxpbmVhciAkYW5pbWF0aW9uLXNwZWVkLWZhc3QsIGJvcmRlci1jb2xvciBsaW5lYXIgJGFuaW1hdGlvbi1zcGVlZC1mYXN0ICFkZWZhdWx0O1xuXG4vLyB0aGUgYmVsb3cgYXBwbGllcyB0byB0aGUgZGVmYXVsdCBidXR0b24gY2xhc3Mgb25seSBgLmJ1dHRvbmBcbiRidXR0b24tZGVmYXVsdC1ib3JkZXItY29sb3I6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYmctY29sb3I6IG1hcC5nZXQoJGNvbG9ycywgXCJ3aGl0ZVwiKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1mb250LWNvbG9yOiAkZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8gZm9ybXNcbiRmb3JtLW1hcmdpbi1ib3R0b206ICRnZW5lcmljLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG4kaW5wdXQtdXNlLWZ1bGwtd2lkdGg6IGZhbHNlICFkZWZhdWx0OyAvLyBmYWxzZSA9IG1heC13aWR0aDoxMDAlLCB0cnVlID0gd2lkdGg6MTAwJVxuJGlucHV0LWJhY2tncm91bmQ6IHJnYigyNTUgMjU1IDI1NSkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogJGJhc2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1jb2xvcjogJGZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXk6IDAuOHJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6IHJnYigxODUgMTg1IDE4NSkgIWRlZmF1bHQ7XG4kaW5wdXQtbWFyZ2luLWJvdHRvbTogMS41cmVtICFkZWZhdWx0O1xuJGlucHV0LXRyYW5zaXRpb246IGJhY2tncm91bmQgbGluZWFyICRhbmltYXRpb24tc3BlZWQtZmFzdCwgYm9yZGVyLWNvbG9yIGxpbmVhciAkYW5pbWF0aW9uLXNwZWVkLWZhc3QgIWRlZmF1bHQ7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJGlucHV0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yLWZvY3VzOiBtYXAuZ2V0KCRjb2xvcnMsIHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLyB0aGVzZSBzaG91bGQgbm90IG5lZWQgY2hhbmdpbmcsIHRoZXkgYXJlIHVzZWQgdG8gZm9yY2Ugc2VsZWN0cyB0byB0aGUgc2FtZSBoZWlnaHQgYXMgaW5wdXRzXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAoJGlucHV0LXBhZGRpbmcteSAqIDIpICsgKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodDogY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4vLyBsYWJlbHNcbiRsYWJlbC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuXG4vLyB0YWJsZXNcbiR0YWJsZS1tYXJnaW4tYm90dG9tOiAkZ2VuZXJpYy1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuJHRhYmxlLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nOiAwLjg1cmVtIDAuODVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtZm9udC1zaXplOiA5MCUgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVkLWNvbG9yOiByZ2IoMjQwIDI0MCAyNDApICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiByZ2IoMjQ1IDI0NSAyNDUpICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtY29sb3I6IHJnYigyNTAgMjUwIDI1MCkgIWRlZmF1bHQ7XG5cbi8vIGNvZGVcbiRjb2RlLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjb2RlLWJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjb2RlLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGNvZGUtYmFja2dyb3VuZDogcmdiKDI0MCAyNDAgMjQwKSAhZGVmYXVsdDtcbiRjb2RlLWZvbnQtY29sb3I6ICRmb250LWNvbG9yICFkZWZhdWx0O1xuJGNvZGUtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuJGNvZGUtcGFkZGluZzogMC4ycmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8gcHJlZm9ybWF0dGVkIGJsb2NrXG4kcHJlLWZvbnQtc2l6ZTogOTAlICFkZWZhdWx0O1xuJHByZS1wYWRkaW5nOiAxcmVtIDEuNXJlbSAhZGVmYXVsdDtcbiRwcmUtbWFyZ2luLWJvdHRvbTogJGdlbmVyaWMtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8gYmxvY2txdW90ZVxuJGJsb2NrcXVvdGUtcGFkZGluZy14OiAxLjVyZW0gIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1wYWRkaW5nLXk6IDFyZW0gIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1ib3JkZXItbGVmdC13aWR0aDogM3B4ICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtYm9yZGVyLWxlZnQtY29sb3I6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1tYXJnaW4tYm90dG9tOiAkZ2VuZXJpYy1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLyBoclxuJGhyLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoci1ib3JkZXItY29sb3I6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kaHItbWFyZ2luOiAxLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8gZGVmaW5lZCB6LWluZGV4ZXMgYW5kIGdldCB3aXRoIHppbmRleCgnZGVmYXVsdCcpXG4kei1sYXllcnM6IChcbiAgXCJkZWZhdWx0XCI6IDFcbikgIWRlZmF1bHQ7XG4iLCIvLyBBbmNob3Jcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiAkbGluay10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1jb2xvci1ob3ZlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb24taG92ZXI7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvblxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbkB1c2UgJ3Nhc3M6Y29sb3InO1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHQvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcbn1cblxuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBkZWZhdWx0IGJ1dHRvbnMgc3R5bGVcbi5idXR0b24ge1xuICBAaW5jbHVkZSBidXR0b247XG5cbiAgJGJ0bi1ib3JkZXItaG92ZXI6IGNvbG9yLmFkanVzdCgkYnV0dG9uLWRlZmF1bHQtYm9yZGVyLWNvbG9yLCAkbGlnaHRuZXNzOiAtICRkYXJrZW4taG92ZXItcGVyY2VudCk7XG4gICRidG4tYmctaG92ZXI6IGNvbG9yLmFkanVzdCgkYnV0dG9uLWRlZmF1bHQtYmctY29sb3IsICRsaWdodG5lc3M6IC0gJGRhcmtlbi1ob3Zlci1wZXJjZW50KTtcblxuICBAaW5jbHVkZSBidXR0b24taG92ZXIoJGJ1dHRvbi1kZWZhdWx0LWZvbnQtY29sb3IsICRidG4tYmctaG92ZXIsICRidG4tYm9yZGVyLWhvdmVyKTtcblxuICAkYnRuLWZvbnQtaG92ZXI6IGNvbG9yLmFkanVzdCgkYnV0dG9uLWRlZmF1bHQtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogLSAkZGFya2VuLWhvdmVyLXBlcmNlbnQpO1xuXG4gICYuYnV0dG9uLW91dGxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbiwgY29sb3IgbGluZWFyICRhbmltYXRpb24tc3BlZWQtZmFzdDtcblxuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob3ZlcigkYnRuLWZvbnQtaG92ZXIsIHRyYW5zcGFyZW50LCAkYnRuLWJvcmRlci1ob3Zlcik7XG4gIH1cblxuICAmLmJ1dHRvbi1jbGVhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb24sIGNvbG9yIGxpbmVhciAkYW5pbWF0aW9uLXNwZWVkLWZhc3Q7XG5cbiAgICBAaW5jbHVkZSBidXR0b24taG92ZXIoJGJ0bi1mb250LWhvdmVyLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG5cbi8vIGJ1dHRvbiBjb2xvciB2YXJpYXRpb25zXG5AZWFjaCAkYnV0dG9uLCAkY29sb3JzIGluICRidXR0b25zIHtcbiAgLy8gc3RhcnQgd2l0aCBhIGJvcmRlciBjb2xvciBoYWxmIG9mIHRoZSAkZGFya2VuLWhvdmVyLXBlcmNlbnQgdG8gZ2V0IGEgc2xpZ2h0IHZpc3VhbCBjb250cmFzdFxuICAkYnRuLWJvcmRlcjogY29sb3IuYWRqdXN0KGxpc3QubnRoKCRjb2xvcnMsIDEpLCAkbGlnaHRuZXNzOiAtIG1hdGguZGl2KCRkYXJrZW4taG92ZXItcGVyY2VudCwgMikpO1xuICAkYnRuLWZvbnQ6IGxpc3QubnRoKCRjb2xvcnMsIDIpO1xuICAkYnRuLWJnOiBsaXN0Lm50aCgkY29sb3JzLCAxKTtcblxuICAvLyB0aGVuIHdoZW4gd2Ugcm9sbCBvdmVyIHdlIHdpbGwgdXNlciB0aGUgZnVsbCBwZXJjZW50YWdlIHRvIGFkanVzdCB0aGUgY29sb3JzXG4gICRidG4tYm9yZGVyLWhvdmVyOiBjb2xvci5hZGp1c3QoJGJ0bi1ib3JkZXIsICRsaWdodG5lc3M6IC0gJGRhcmtlbi1ob3Zlci1wZXJjZW50KTtcbiAgJGJ0bi1iZy1ob3ZlcjogY29sb3IuYWRqdXN0KCRidG4tYmcsICRsaWdodG5lc3M6IC0gJGRhcmtlbi1ob3Zlci1wZXJjZW50KTtcblxuICAvLyBiYXNpYyBjb2xvdXJlZCBidXR0b25cbiAgLmJ1dHRvbi5idXR0b24tI3skYnV0dG9ufSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNvbG9yLXZhcmlhdGlvbigkYnRuLWZvbnQsICRidG4tYmcsICRidG4tYm9yZGVyKTtcbiAgICBAaW5jbHVkZSBidXR0b24taG92ZXIoJGJ0bi1mb250LCAkYnRuLWJnLWhvdmVyLCAkYnRuLWJvcmRlci1ob3Zlcik7XG4gIH1cblxuICAvLyBvdXRsaW5lIHRyYW5zcGFyZW50IGJhY2tncm91bmQsIHVzZSBidXR0b24gY29sb3IgZm9yIGZvbnQgY29sb3JcbiAgLmJ1dHRvbi5idXR0b24tb3V0bGluZS5idXR0b24tI3skYnV0dG9ufSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNvbG9yLXZhcmlhdGlvbigkYnRuLWJnLCB0cmFuc3BhcmVudCwgJGJ0bi1iZyk7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvdmVyKCRidG4tYmctaG92ZXIsIHRyYW5zcGFyZW50LCAkYnRuLWJnLWhvdmVyKTtcbiAgfVxuXG4gIC8vIGNsZWFyIHRyYW5zcGFyZW50IGJhY2tncm91bmQgYW5kIGJvcmRlciwgdXNlIGJ1dHRvbiBjb2xvciBmb3IgZm9udCBjb2xvclxuICAuYnV0dG9uLmJ1dHRvbi1jbGVhci5idXR0b24tI3skYnV0dG9ufSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNvbG9yLXZhcmlhdGlvbigkYnRuLWJnLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob3ZlcigkYnRuLWJnLWhvdmVyLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG4iLCIvLyBCdXR0b25cbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4vLyBtaXhpbnMgdG8gY3JlYXRlIGJ1dHRvbnNcblxuLy8gY3JlYXRlIGEgYmFzaWMgYnV0dG9uXG4vLyAuLi5cbi8vIFVzYWdlOlxuLy8gQGluY2x1ZGUgYnV0dG9uO1xuLy8gLi4uXG5AbWl4aW4gYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmcteSAkYnV0dG9uLXBhZGRpbmcteDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtZm9udC1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXNpemU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogJGJ1dHRvbi1saW5lLWhlaWdodDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1iZy1jb2xvcjtcbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCAkYnV0dG9uLWRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8gYnV0dG9uIHN0eWxlcyByZXF1aXJlZCB0byBjcmVhdGUgYSBjb2xvcmVkIHZhcmlhdGlvblxuLy8gLi4uXG4vLyBVc2FnZTpcbi8vIEBpbmNsdWRlIGJ1dHRvbi1jb2xvci12YXJpYXRpb24oY29sb3IoXCJ3aGl0ZVwiKSwgY29sb3IoXCJibGFja1wiKSwgY29sb3IoXCJzZWNvbmRhcnlcIikpO1xuLy8gLi4uXG5AbWl4aW4gYnV0dG9uLWNvbG9yLXZhcmlhdGlvbigkY29sb3IsICRiYWNrZ3JvdW5kLWNvbG9yLCAkYm9yZGVyLWNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG59XG5cbi8vIGJ1dHRvbiBob3ZlciBhbmQgZm9jdXMgc3RhdGVcbi8vIC4uLlxuLy8gVXNhZ2U6XG4vLyBAaW5jbHVkZSBidXR0b24taG92ZXIoY29sb3IoXCJ3aGl0ZVwiKSwgY29sb3IoXCJibGFja1wiKSwgY29sb3IoXCJzZWNvbmRhcnlcIikpO1xuLy8gLi4uXG5AbWl4aW4gYnV0dG9uLWhvdmVyKCRjb2xvciwgJGJhY2tncm91bmQtY29sb3IsICRib3JkZXItY29sb3IpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLyBidXR0b24gc2l6ZSB2YXJpYXRpb25cbi8vIC4uLlxuLy8gVXNhZ2U6XG4vLyBAaW5jbHVkZSBidXR0b24tc2l6ZSgxcmVtLCAxcmVtLCAxNXB4KTtcbi8vIC4uLlxuQG1peGluIGJ1dHRvbi1zaXplKFxuICAkcGFkZGluZy15OiAkYnV0dG9uLXBhZGRpbmcteSxcbiAgJHBhZGRpbmcteDogJGJ1dHRvbi1wYWRkaW5nLXgsXG4gICRmb250LXNpemU6ICRidXR0b24tZm9udC1zaXplKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xufVxuIiwiLy8gQ29kZVxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xufVxuXG4vLyBpbmxpbmUgY29kZVxuY29kZSB7XG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG4gIGNvbG9yOiAkY29kZS1mb250LWNvbG9yO1xuICBmb250LXNpemU6ICRjb2RlLWZvbnQtc2l6ZTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZDogJGNvZGUtYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkY29kZS1ib3JkZXItd2lkdGggc29saWQgJGNvZGUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkY29kZS1ib3JkZXItcmFkaXVzO1xufVxuXG4vLyBjb2RlIGJsb2NrXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJHByZS1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nOiAkcHJlLXBhZGRpbmc7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGNvbG9yOiAkY29kZS1mb250LWNvbG9yO1xuICBmb250LXNpemU6ICRwcmUtZm9udC1zaXplO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBiYWNrZ3JvdW5kOiAkY29kZS1iYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRjb2RlLWJvcmRlci13aWR0aCBzb2xpZCAkY29kZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRjb2RlLWJvcmRlci1yYWRpdXM7XG5cbiAgLy8gaW5saW5lIGNvZGUgd2l0aGluXG4gIGNvZGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIEN1cnNvclxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbipbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbiIsIi8vIEZvcm1cbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLW1hcmdpbi1ib3R0b207XG59XG5cbmlucHV0IHtcbiAgJlt0eXBlPVwiZGF0ZVwiXSxcbiAgJlt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4gICZbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAmW3R5cGU9XCJlbWFpbFwiXSxcbiAgJlt0eXBlPVwibW9udGhcIl0sXG4gICZbdHlwZT1cIm51bWJlclwiXSxcbiAgJlt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICZbdHlwZT1cInNlYXJjaFwiXSxcbiAgJlt0eXBlPVwidGVsXCJdLFxuICAmW3R5cGU9XCJ0ZXh0XCJdLFxuICAmW3R5cGU9XCJ1cmxcIl0sXG4gICZbdHlwZT1cIndlZWtcIl0ge1xuICAgIEBpbmNsdWRlIGlucHV0O1xuICAgIEBpbmNsdWRlIGlucHV0LXNpemU7XG4gICAgQGluY2x1ZGUgaW5wdXQtd2lkdGg7XG4gICAgQGluY2x1ZGUgaW5wdXQtZm9jdXM7XG5cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuICB9XG5cbiAgJlt0eXBlPVwiZGF0ZVwiXSxcbiAgJlt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4gICZbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAmW3R5cGU9XCJtb250aFwiXSxcbiAgJlt0eXBlPVwid2Vla1wiXSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG4gIH1cblxuICAvLyBvbmx5IHNldCBzb21lIHNpbXBsZSBtYXJnaW4gYXMgY29tcG9uZW50cyB3aWxsIGhhbmRsZSB0aGUgc3R5bGUgYmV0dGVyXG4gICZbdHlwZT1cImNoZWNrYm94XCJdLFxuICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB9XG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gc3RvcCBkYXRlIGNvbnRyb2xzIGluIHdlYmtpdCBiZWluZyB0YWxsZXJcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLyBwbGFjZWhvbGRlciB0ZXh0XG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgb3BhY2l0eTogMTtcbn1cblxudGV4dGFyZWEge1xuICBAaW5jbHVkZSBpbnB1dDtcbiAgQGluY2x1ZGUgaW5wdXQtc2l6ZTtcbiAgQGluY2x1ZGUgaW5wdXQtd2lkdGg7XG4gIEBpbmNsdWRlIGlucHV0LWZvY3VzO1xuXG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxufVxuXG5zZWxlY3Qge1xuICBAaW5jbHVkZSBpbnB1dDtcbiAgQGluY2x1ZGUgaW5wdXQtc2l6ZTtcbiAgQGluY2x1ZGUgaW5wdXQtd2lkdGg7XG4gIEBpbmNsdWRlIGlucHV0LWZvY3VzO1xuXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogJGxhYmVsLWZvbnQtd2VpZ2h0O1xufVxuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogJGxhYmVsLWZvbnQtd2VpZ2h0O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbi1ib3R0b206ICRpbnB1dC1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG4iLCIvLyBJbnB1dHNcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4vLyBtaXhpbnMgdG8gY3JlYXRlIGZvcm0gaW5wdXRzXG5cbi8vIGNyZWF0ZSBhIGJhc2ljIGlucHV0XG4vLyAuLi5cbi8vIFVzYWdlOlxuLy8gQGluY2x1ZGUgaW5wdXQ7XG4vLyAuLi5cbkBtaXhpbiBpbnB1dCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi1ib3R0b206ICRpbnB1dC1tYXJnaW4tYm90dG9tO1xuICBjb2xvcjogJGlucHV0LWZvbnQtY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbn1cblxuLy8gaW5wdXQgc3R5bGVzIGZvciBmb2N1cyBzdGF0ZVxuLy8gLi4uXG4vLyBVc2FnZTpcbi8vIEBpbmNsdWRlIGlucHV0LWZvY3VzKGNvbG9yKFwid2hpdGVcIiksIGNvbG9yKFwicHJpbWFyeVwiKSk7XG4vLyAuLi5cbkBtaXhpbiBpbnB1dC1mb2N1cyhcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzLFxuICAkYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yLWZvY3VzKSB7XG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIHVzZWQgaW50ZXJuYWxseSB0byBzZXQgdGhlIGRlZmF1bHQgd2lkdGggb2YgZm9ybSBmaWVsZHNcbi8vIGJhc2VkIG9uIHRoZSAkaW5wdXQtdXNlLWZ1bGwtd2lkdGggdmFyaWFibGVcbi8vIC4uLlxuQG1peGluIGlucHV0LXdpZHRoIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyB3aWxsIHN0b3AgdGhlIGFiaWxpdHkgdG8gc3RyZXRjaCBhIHRleHRhcmVhIGJleW9uZCAxMDAlIHdpZHRoXG5cbiAgQGlmICRpbnB1dC11c2UtZnVsbC13aWR0aCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gaW5wdXQgc2l6ZSB2YXJpYXRpb25cbi8vIC4uLlxuLy8gVXNhZ2U6XG4vLyBAaW5jbHVkZSBpbnB1dC1zaXplKDFyZW0sIDFyZW0sIDE1cHgpO1xuLy8gLi4uXG5AbWl4aW4gaW5wdXQtc2l6ZShcbiAgJHBhZGRpbmcteTogJGlucHV0LXBhZGRpbmcteSxcbiAgJHBhZGRpbmcteDogJGlucHV0LXBhZGRpbmcteCxcbiAgJGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZSkge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbn1cbiIsIi8vIEhSXG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRoci1tYXJnaW47XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cbiIsIi8vIEltYWdlXG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5maWdjYXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAkZmlndXJlLW1hcmdpbi1ib3R0b207XG59XG4iLCIvLyBMaXN0XG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxudWwge1xuICBtYXJnaW4tYm90dG9tOiAkdWwtbGlzdC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWxlZnQ6ICR1bC1saXN0LXBhZGRpbmctbGVmdDtcbiAgbGlzdC1zdHlsZTogJHVsLWxpc3Qtc3R5bGU7XG59XG5cbm9sIHtcbiAgbWFyZ2luLWJvdHRvbTogJG9sLWxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1sZWZ0OiAkb2wtbGlzdC1wYWRkaW5nLWxlZnQ7XG4gIGxpc3Qtc3R5bGU6ICRvbC1saXN0LXN0eWxlO1xufVxuXG51bCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luOiAkdWwtbGlzdC1uZXN0ZWQtbWFyZ2luO1xufVxuXG5vbCBvbCxcbm9sIHVsIHtcbiAgbWFyZ2luOiAkb2wtbGlzdC1uZXN0ZWQtbWFyZ2luO1xufVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206ICRkbC1tYXJnaW4tYm90dG9tO1xuXG4gIGR0IHtcbiAgICBtYXJnaW46ICRkdC1tYXJnaW47XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIGRkIHtcbiAgICBtYXJnaW46ICRkZC1tYXJnaW47XG4gIH1cbn1cbiIsIi8vIFRhYmxlXG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGFibGUtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1zaXplOiAkdGFibGUtZm9udC1zaXplO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xufVxuXG50aCB7XG4gIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbnRkIHtcbiAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xufVxuXG4vLyB2aXN1YWwgYWx0ZXJuYXRpdmVzXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IHNvbGlkICR0YWJsZS1ib3JkZXItd2lkdGggJHRhYmxlLWJvcmRlci1jb2xvcjtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LXR5cGUgKi9cblxuLnRhYmxlLWhlYWRlZCA+IHRoZWFkID4gdHIgPiB0aCxcbi50YWJsZS1oZWFkZWQgPiB0Ym9keSA+IHRyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZGVkLWNvbG9yO1xufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW1heC10eXBlICovXG5cbi50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWNvbG9yO1xufVxuXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xufVxuIiwiLy8gVHlwb2dyYXBoeVxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiVoIHtcbiAgY29sb3I6ICRoZWFkZXItZm9udC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNjUlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG59XG5cbmgxLFxuLmgxIHtcbiAgQGV4dGVuZCAlaDtcblxuICBtYXJnaW46ICRoMS1tYXJnaW47XG4gIGZvbnQtd2VpZ2h0OiAkaDEtZm9udC13ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRoMS1saW5lLWhlaWdodDtcbn1cblxuaDIsXG4uaDIge1xuICBAZXh0ZW5kICVoO1xuXG4gIG1hcmdpbjogJGgyLW1hcmdpbjtcbiAgZm9udC13ZWlnaHQ6ICRoMi1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkaDItZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGgyLWxpbmUtaGVpZ2h0O1xufVxuXG5oMyxcbi5oMyB7XG4gIEBleHRlbmQgJWg7XG5cbiAgbWFyZ2luOiAkaDMtbWFyZ2luO1xuICBmb250LXdlaWdodDogJGgzLWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRoMy1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkaDMtbGluZS1oZWlnaHQ7XG59XG5cbmg0LFxuLmg0IHtcbiAgQGV4dGVuZCAlaDtcblxuICBtYXJnaW46ICRoNC1tYXJnaW47XG4gIGZvbnQtd2VpZ2h0OiAkaDQtZm9udC13ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRoNC1saW5lLWhlaWdodDtcbn1cblxuaDUsXG4uaDUge1xuICBAZXh0ZW5kICVoO1xuXG4gIG1hcmdpbjogJGg1LW1hcmdpbjtcbiAgZm9udC13ZWlnaHQ6ICRoNS1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGg1LWxpbmUtaGVpZ2h0O1xufVxuXG5oNixcbi5oNiB7XG4gIEBleHRlbmQgJWg7XG5cbiAgbWFyZ2luOiAkaDYtbWFyZ2luO1xuICBmb250LXdlaWdodDogJGg2LWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRoNi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkaDYtbGluZS1oZWlnaHQ7XG59XG5cbmFiYnJbdGl0bGVdIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGJsb2NrcXVvdGUtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZy15ICRibG9ja3F1b3RlLXBhZGRpbmcteDtcbiAgYm9yZGVyLWxlZnQ6ICRibG9ja3F1b3RlLWJvcmRlci1sZWZ0LXdpZHRoIHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1sZWZ0LWNvbG9yO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRzdHJvbmctZm9udC13ZWlnaHQ7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xufVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuIiwiLyogU2tlbGV0b25cbuKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuXG4vKiBQcm9wZXJ0aWVzIGZvciB0aGUgc3RydWN0dXJhbCBlbGVtZW50cyAob3Igc2tlbGV0b24pIG9mIHRoZSB3ZWJzaXRlLiAqL1xuXG5ib2R5IHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICYuaGVhZGVyLWZpeGVkIHtcbiAgICAgICAgJi50LWNtcywgJi50LXRvdXItaW5kZXgsICYudC1hYm91dCwgJi50LWxlYWRlci1pbmRleCxcbiAgICAgICAgJi50LWxlYWRlciwgJi50LWNvbnRhY3QsICYudC1ib29raW5nLCAmLnQtc2VhcmNoIHtcbiAgICAgICAgICAgIC5tYWluLCBtYWluIHsgcGFkZGluZy10b3A6IDEzLjhyZW07IH1cbiAgICAgICAgfVxuICAgICAgICAub3dsLWNhcm91c2VsLCAuYmFubmVyIHsgcGFkZGluZy10b3A6IDguOHJlbTsgfVxuICAgICAgICAjc2Nyb2xsX3RvcCB7IG9wYWNpdHk6IDE7IH1cbiAgICB9XG59XG5cbm1haW4sIC5tYWluIHtcbiAgICBwYWRkaW5nOiA1cmVtIDAgNnJlbTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLW5vLXRvdWNoKHBhZGRpbmcgJGFuaW1hdGlvbi1zcGVlZC1mYXN0ICRlYXNpbmctZGVmYXVsdCk7XG4gICAgaDEsIC5oMSB7IG1hcmdpbi1ib3R0b206IDJyZW07IH1cbn1cblxuLmNvbHVtbi1jb3VudC0yIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWdhcDogM3JlbTtcbn1cblxuLmNvbnRlbnQtLWxlZnQgLnJpY2gtdGV4dCB7IG1hcmdpbi1yaWdodDogMS41cmVtOyB9XG4uY29udGVudC0tcmlnaHQgLnJpY2gtdGV4dCB7IG1hcmdpbi1sZWZ0OiAxLjVyZW07IH1cblxuLyogRGVza3RvcCBIRCAoRXh0cmEgTGFyZ2UpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgIC5vZmZzZXQteGwtMCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG59XG5cbi8qIERlc2t0b3AgLyBUYWJsZXQgTGFuZHNjYXBlIChMYXJnZSkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLm9mZnNldC1sZy0wIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbn1cblxuLyogVGFibGV0IFBvcnRyYWl0IChNZWRpdW0pIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIC5vZmZzZXQtbWQtMCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIC5jb2x1bW4tY291bnQtMiB7IGNvbHVtbi1jb3VudDogMTsgfVxuICAgIC5jb250ZW50LS1sZWZ0IC5yaWNoLXRleHQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY29udGVudC0tcmlnaHQgLnJpY2gtdGV4dCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG59XG5cbi8qIFBoYWJsZXQvTW9iaWxlIExhbmRzY2FwZSAoU21hbGwpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIC5vZmZzZXQtc20tMCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG59XG5cbi8qIFBoYWJsZXQvTW9iaWxlIExhbmRzY2FwZSAoU21hbGwpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgbWFpbiwgLm1haW4geyBwYWRkaW5nOiAzcmVtIDAgNHJlbTsgfVxufVxuIiwiLy8gTW9kZXJuaXpyIG1peGluc1xuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbi8vIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL21vZGVybml6clxuXG4vLyBQcm92aWRlIGEgaG92ZXIgZWZmZWN0IGZvciBub24tdG91Y2ggZGV2aWNlcywgdHVybiBpdCBpbnRvIGFuIEFjdGl2ZSBzdGF0ZSBmb3IgbW9iaWxlLCBhbmQgbWFpbnRhaW4gYSBmYWxsYmFjay5cbi8vIEByZXF1aXJlcyBNb2Rlcm5penIgYXMgYSBKUyBkZXBlbmRlbmN5IHRvIGdldCAubm8tdG91Y2ggY2xhc3Nlc1xuLy8gQWRkcyBzdHlsZXMgdmlhIEBjb250ZW50XG4vLyAuLi5cbi8vIFRvIGFwcGx5IGl0IHRvIGEgc3BlY2lmaWMgY2xhc3MsIHRoZSBtaXhpbiBtdXN0IGJlIGFwcGxpZWQgaW5zaWRlIHRoYXQgY2xhc3MsIGxpa2Ugc28gKHNpbmNlIGl0IHJlbGllcyBvbiB0aGUgJiBvcGVyYXRvcik6XG4vLyAuYW5jaG9yIHtcbi8vICAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHtcbi8vICAgICAgICAgY29sb3I6IHB1cnBsZTtcbi8vICAgICB9XG4vLyB9XG4vLyAuLi5cbkBtaXhpbiB0b3VjaC1ob3ZlcigpIHtcbiAgLm5vLWpzICY6aG92ZXIsIC8vIHRoZSBmYWxsYmFja1xuICAubm8tanMgJjpmb2N1cyxcbiAgLmpzLm5vLXRvdWNoICY6aG92ZXIsIC8vIGVuaGFuY2VkIGZvciBuby10b3VjaFxuICAuanMubm8tdG91Y2ggJjpmb2N1cyxcbiAgLmpzLnRvdWNoICY6YWN0aXZlIHsgLy8gcmVsYXkgc2FtZSBzdHlsZXMgdG8gYWN0aXZlIGZvciB0b3VjaCBkZXZpY2VzXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gQXBwbGllcyB0cmFuc2l0aW9uIHRvIGVsZW1lbnQgYnV0IHJlbW92ZXMgaXQgZnJvbSB0aGUgc2FtZSBlbGVtZW50IG9uIHRvdWNoIGRldmljZXMuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyBhbGwgcHNldWRvIGhvdmVyIGVmZmVjdHMgb24gbW9iaWxlIGluc3RhbnQgb24gY2xpY2suXG4vLyAuLi5cbi8vIEByZXF1aXJlcyBNb2Rlcm5penJcbi8vIC4uLlxuQG1peGluIHRyYW5zaXRpb24tbm8tdG91Y2goJHByb3BlcnRpZXMpIHtcbiAgdHJhbnNpdGlvbjogJHByb3BlcnRpZXM7XG5cbiAgLmpzLnRvdWNoICYge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbiIsIi8qIFR5cG9ncmFwaHlcbuKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuXG5oMSwgLmgxIHsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uaDItLXVuZGVybGluZWQge1xuICAgIGJvcmRlci1ib3R0b206IC4xcmVtIHNvbGlkIGNvbG9yKFwidHVuZG9yYS1ibGFja1wiKTtcbiAgICBsaW5lLWhlaWdodDogNHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYSB7IGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLmJ1dHRvbiB7IHBhZGRpbmc6IC44cmVtIDJyZW07IH1cbiAgICAmLmItc2FuZHN0b25lLWJyb3duLTEyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgIH1cbn1cblxucC5kcm9wLWNhcDpmaXJzdC1sZXR0ZXIge1xuICAgIGNvbG9yOiBjb2xvcihcImpld2VsXCIpO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IC4zcmVtO1xufVxuXG5wLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcIndhcm5pbmctYW1iZXJcIik7XG4gICAgY29sb3I6IGNvbG9yKFwidHVuZG9yYS1ibGFja1wiKTtcbiAgICBwYWRkaW5nOiAwIC4zcmVtO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcIndoaXRlXCIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiamV3ZWxcIik7XG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgICAgb3BhY2l0eTogLjY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgJi5pY29uLXF1b3RlLWxlZnQge1xuICAgICAgICAgICAgbGVmdDogLTNyZW07XG4gICAgICAgICAgICB0b3A6IC0zcmVtO1xuICAgICAgICB9XG4gICAgICAgICYuaWNvbi1xdW90ZS1yaWdodCB7XG4gICAgICAgICAgICBib3R0b206IC0zcmVtO1xuICAgICAgICAgICAgcmlnaHQ6IC0zcmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIHAgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICBoNCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICAmLnB1bGwtbGVmdHtcbiAgICAgICAgbWFyZ2luOjMwcHggNTBweCAzMHB4IDBweDtcbiAgICB9XG4gICAgJi5wdWxsLXJpZ2h0e1xuICAgICAgICBtYXJnaW46MzBweCAwcHggMzBweCA1MHB4O1xuICAgIH1cbn1cblxuYWRkcmVzcyB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbnVsLCBvbCB7XG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB1bCwgb2wgeyBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgfVxufVxuXG5kbCBkdCB7IG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG5cbnVsLmxpc3QtaW5saW5lIHtcbiAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICB9XG59XG5cbnVsLm5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogLjJyZW0gc29saWQgY29sb3IoXCJqZXdlbFwiKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZzogLjVyZW0gMnJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1uby10b3VjaChhbGwgJGFuaW1hdGlvbi1zcGVlZC1mYXN0ICRlYXNpbmctZGVmYXVsdCk7XG5cbiAgICAgICAgJjpob3ZlciwgJi5vcGVuZWQsICYuY3VycmVudC1tZW51LWl0ZW0gYSB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoXCJqZXdlbFwiKTtcbiAgICAgICAgICAgIGxpIHsgY29sb3I6ICRmb250LWNvbG9yOyB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciwgJi5vcGVuZWQsICYuY3VycmVudC1tZW51LWl0ZW0geyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcIndpbGQtc2FuZC13aGl0ZVwiKTsgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvdWNoLWhvdmVyKCkgeyBjb2xvcjogY29sb3IoXCJqZXdlbFwiKTsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5yZWdpb25fYmxvY2stLXJlZ2lvbi1saWdodC1vcmFuZ2Uge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKFwiZ29sZGVuLWdyYXNzXCIpO1xuICAgICAgICAmOmhvdmVyLCAmLm9wZW5lZCwgJi5hY3RpdmUgeyBjb2xvcjogY29sb3IoXCJnb2xkZW4tZ3Jhc3NcIik7IH1cbiAgICAgICAgdWwgbGkge1xuICAgICAgICAgICAgJjpob3ZlciwgJi5hY3RpdmUgeyBjb2xvcjogY29sb3IoXCJnb2xkZW4tZ3Jhc3NcIik7IH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucmVnaW9uX2Jsb2NrLS1yZWdpb24tZGFyay1vcmFuZ2Uge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKFwiYnV0dGVyY3VwLXllbGxvd1wiKTtcbiAgICAgICAgJjpob3ZlciwgJi5vcGVuZWQsICYuYWN0aXZlIHsgY29sb3I6IGNvbG9yKFwiYnV0dGVyY3VwLXllbGxvd1wiKTsgfVxuICAgICAgICB1bCBsaSB7XG4gICAgICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7IGNvbG9yOiBjb2xvcihcImJ1dHRlcmN1cC15ZWxsb3dcIik7IH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucmVnaW9uX2Jsb2NrLS1yZWdpb24tcmVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihcImVtZXJhbGRcIik7XG4gICAgICAgICY6aG92ZXIsICYub3BlbmVkLCAmLmFjdGl2ZSB7IGNvbG9yOiBjb2xvcihcImVtZXJhbGRcIik7IH1cbiAgICAgICAgdWwgbGkge1xuICAgICAgICAgICAgJjpob3ZlciwgJi5hY3RpdmUgeyBjb2xvcjogY29sb3IoXCJlbWVyYWxkXCIpOyB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJlZ2lvbl9ibG9jay0tcmVnaW9uLWxpZ2h0LWJsdWUge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKFwiZGFudWJlLWJsdWVcIik7XG4gICAgICAgICY6aG92ZXIsICYub3BlbmVkLCAmLmFjdGl2ZSB7IGNvbG9yOiBjb2xvcihcImRhbnViZS1ibHVlXCIpOyB9XG4gICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHsgY29sb3I6IGNvbG9yKFwiZGFudWJlLWJsdWVcIik7IH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucmVnaW9uX2Jsb2NrLS1yZWdpb24tcHVycGxlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihcIm9sZC1sYXZlbmRhclwiKTtcbiAgICAgICAgJjpob3ZlciwgJi5vcGVuZWQsICYuYWN0aXZlIHsgY29sb3I6IGNvbG9yKFwib2xkLWxhdmVuZGFyXCIpOyB9XG4gICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHsgY29sb3I6IGNvbG9yKFwib2xkLWxhdmVuZGFyXCIpOyB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJlZ2lvbl9ibG9jay0tcmVnaW9uLWRhcmstYmx1ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoXCJzYW4tbWFyaW5vLWJsdWVcIik7XG4gICAgICAgICY6aG92ZXIsICYub3BlbmVkLCAmLmFjdGl2ZSB7IGNvbG9yOiBjb2xvcihcInNhbi1tYXJpbm8tYmx1ZVwiKTsgfVxuICAgICAgICB1bCBsaSB7XG4gICAgICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7IGNvbG9yOiBjb2xvcihcInNhbi1tYXJpbm8tYmx1ZVwiKTsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5yZWdpb25fYmxvY2stLXJlZ2lvbi1kYXJrLWdyZWVuIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihcInRyZW5keS1ncmVlblwiKTtcbiAgICAgICAgJjpob3ZlciwgJi5vcGVuZWQsICYuYWN0aXZlIHsgY29sb3I6IGNvbG9yKFwidHJlbmR5LWdyZWVuXCIpOyB9XG4gICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHsgY29sb3I6IGNvbG9yKFwidHJlbmR5LWdyZWVuXCIpOyB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJlZ2lvbl9ibG9jay0tcmVnaW9uLWxpZ2h0LWdyZWVuIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihcInF1aWNrc2FuZFwiKTtcbiAgICAgICAgJjpob3ZlciBhIHsgY29sb3I6IGNvbG9yKFwicXVpY2tzYW5kXCIpOyB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG91Y2gtaG92ZXIoKSB7IGNvbG9yOiBjb2xvcihcInF1aWNrc2FuZFwiKTsgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG51bC5zaWRlLW5hdixcbnVsLnJlZ2lvbnMtbmF2LFxudWwuZGVzdGluYXRpb25zLW5hdiB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxudWwuZGVzdGluYXRpb25zLW5hdiB7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tbm8tdG91Y2gob3BhY2l0eSAkYW5pbWF0aW9uLXNwZWVkLWZhc3QgJGVhc2luZy1kZWZhdWx0KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAmLmFjdGl2ZSB7IG9wYWNpdHk6IDE7IH1cbiAgICBsaSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAuNXJlbSAwO1xuICAgIH1cbn1cblxuLmRlc3RpbmF0aW9ucy1uYXYtLXJlZ2lvbi1saWdodC1vcmFuZ2UgbGkgeyBjb2xvcjogY29sb3IoXCJnb2xkZW4tZ3Jhc3NcIik7IH1cbi5kZXN0aW5hdGlvbnMtbmF2LS1yZWdpb24tZGFyay1vcmFuZ2UgbGkgeyBjb2xvcjogY29sb3IoXCJidXR0ZXJjdXAteWVsbG93XCIpOyB9XG4uZGVzdGluYXRpb25zLW5hdi0tcmVnaW9uLXJlZCBsaSB7IGNvbG9yOiBjb2xvcihcImVtZXJhbGRcIik7IH1cbi5kZXN0aW5hdGlvbnMtbmF2LS1yZWdpb24tbGlnaHQtYmx1ZSBsaSB7IGNvbG9yOiBjb2xvcihcImRhbnViZS1ibHVlXCIpOyB9XG4uZGVzdGluYXRpb25zLW5hdi0tcmVnaW9uLXB1cnBsZSBsaSB7IGNvbG9yOiBjb2xvcihcIm9sZC1sYXZlbmRhclwiKTsgfVxuLmRlc3RpbmF0aW9ucy1uYXYtLXJlZ2lvbi1kYXJrLWJsdWUgbGkgeyBjb2xvcjogY29sb3IoXCJzYW4tbWFyaW5vLWJsdWVcIik7IH1cbi5kZXN0aW5hdGlvbnMtbmF2LS1yZWdpb24tZGFyay1ncmVlbiBsaSB7IGNvbG9yOiBjb2xvcihcInRyZW5keS1ncmVlblwiKTsgfVxuXG4uZGVzdGluYXRpb25zLW5hdi1ibG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgaGVpZ2h0OiAzNy43cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLW5vLXRvdWNoKGJhY2tncm91bmQtY29sb3IgJGFuaW1hdGlvbi1zcGVlZC1mYXN0ICRlYXNpbmctZGVmYXVsdCk7XG4gICAgJi5hY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcIndpbGQtc2FuZC13aGl0ZVwiKTsgfVxufVxuXG5cbi8qIFRhYmxldCBQb3J0cmFpdCAoTWVkaXVtKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIGgxLCAuaDEgeyBmb250LXNpemU6IDRyZW07IH1cbn1cblxuLyogUGhhYmxldC9Nb2JpbGUgTGFuZHNjYXBlIChTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICBib2R5IHsgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICBoMSwgLmgxIHsgZm9udC1zaXplOiAyLjRyZW07IH1cbiAgICBoMiwgLmgyIHsgZm9udC1zaXplOiAxLjhyZW07IH1cbiAgICBoMywgLmgzIHsgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICBwIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIHAubGFyZ2Uge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG59XG5cbi8qIE1vYmlsZSBQb3J0cmFpdCAoRXh0cmEgU21hbGwpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgLmgyLS11bmRlcmxpbmVkIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICYuYi1zYW5kc3RvbmUtYnJvd24tMTIgeyBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfVxuICAgIH1cbn1cbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2xpbW9zYSc7XG4gIHNyYzogdXJsKCcuLi9mb250L2xpbW9zYS5lb3Q/NzE2NjI4NzgnKTtcbiAgc3JjOiB1cmwoJy4uL2ZvbnQvbGltb3NhLmVvdD83MTY2Mjg3OCNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnQvbGltb3NhLndvZmYyPzcxNjYyODc4JykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnLi4vZm9udC9saW1vc2Eud29mZj83MTY2Mjg3OCcpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnLi4vZm9udC9saW1vc2EudHRmPzcxNjYyODc4JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgIHVybCgnLi4vZm9udC9saW1vc2Euc3ZnPzcxNjYyODc4I2xpbW9zYScpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8qIENocm9tZSBoYWNrOiBTVkcgaXMgcmVuZGVyZWQgbW9yZSBzbW9vdGggaW4gV2luZG96emUuIDEwMCUgbWFnaWMsIHVuY29tbWVudCBpZiB5b3UgbmVlZCBpdC4gKi9cbi8qIE5vdGUsIHRoYXQgd2lsbCBicmVhayBoaW50aW5nISBJbiBvdGhlciBPUy1lcyBmb250IHdpbGwgYmUgbm90IGFzIHNoYXJwIGFzIGl0IGNvdWxkIGJlICovXG4vKlxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnbGltb3NhJztcbiAgICBzcmM6IHVybCgnLi4vZm9udC9saW1vc2Euc3ZnPzcxNjYyODc4I2xpbW9zYScpIGZvcm1hdCgnc3ZnJyk7XG4gIH1cbn1cbiovXG5bY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlLCBbY2xhc3MqPVwiIGljb24tXCJdOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxpbW9zYVwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNwZWFrOiBuZXZlcjtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgd2lkdGg6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIG9wYWNpdHk6IC44OyAqL1xuXG4gIC8qIEZvciBzYWZldHkgLSByZXNldCBwYXJlbnQgc3R5bGVzLCB0aGF0IGNhbiBicmVhayBnbHlwaCBjb2RlcyovXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAvKiBmaXggYnV0dG9ucyBoZWlnaHQsIGZvciB0d2l0dGVyIGJvb3RzdHJhcCAqL1xuICBsaW5lLWhlaWdodDogMWVtO1xuXG4gIC8qIEFuaW1hdGlvbiBjZW50ZXIgY29tcGVuc2F0aW9uIC0gbWFyZ2lucyBzaG91bGQgYmUgc3ltbWV0cmljICovXG4gIC8qIHJlbW92ZSBpZiBub3QgbmVlZGVkICovXG4gIG1hcmdpbi1sZWZ0OiAuMmVtO1xuXG4gIC8qIHlvdSBjYW4gYmUgbW9yZSBjb21mb3J0YWJsZSB3aXRoIGluY3JlYXNlZCBpY29ucyBzaXplICovXG4gIC8qIGZvbnQtc2l6ZTogMTIwJTsgKi9cblxuICAvKiBGb250IHNtb290aGluZy4gVGhhdCB3YXMgdGFrZW4gZnJvbSBUV0JTICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG4gIC8qIFVuY29tbWVudCBmb3IgM0QgZWZmZWN0ICovXG4gIC8qIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDEyNywgMTI3LCAxMjcsIDAuMyk7ICovXG59XG5cbi5pY29uLXJpZ2h0LWRpcjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAwJzsgfSAvKiAn7qCAJyAqL1xuLmljb24tbGVmdC1kaXI6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMSc7IH0gLyogJ+6ggScgKi9cbi5pY29uLXVwLWRpcjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAyJzsgfSAvKiAn7qCCJyAqL1xuLmljb24tc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDMnOyB9IC8qICfuoIMnICovXG4uaWNvbi1kb3duLWRpcjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA0JzsgfSAvKiAn7qCEJyAqL1xuLmljb24tZmxpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDUnOyB9IC8qICfuoIUnICovXG4uaWNvbi1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNic7IH0gLyogJ+6ghicgKi9cbi5pY29uLWhvbWU6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNyc7IH0gLyogJ+6ghycgKi9cbi5pY29uLWNhbmNlbDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA4JzsgfSAvKiAn7qCIJyAqL1xuLmljb24tZWRpdDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA5JzsgfSAvKiAn7qCJJyAqL1xuLmljb24tdXNlcjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBhJzsgfSAvKiAn7qCKJyAqL1xuLmljb24tdXNlcnM6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwYic7IH0gLyogJ+6giycgKi9cbi5pY29uLWF0dGVudGlvbjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBjJzsgfSAvKiAn7qCMJyAqL1xuLmljb24taW5mby1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGQnOyB9IC8qICfuoI0nICovXG4uaWNvbi1vay1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGUnOyB9IC8qICfuoI4nICovXG4uaWNvbi1waG9uZTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBmJzsgfSAvKiAn7qCPJyAqL1xuLmljb24tb2s6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxMCc7IH0gLyogJ+6gkCcgKi9cbi5pY29uLXdhbGs6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxMic7IH0gLyogJ+6gkicgKi9cbi5pY29uLWRvd24tY2lyY2xlZDpiZWZvcmUgeyBjb250ZW50OiAnXFxmMGFiJzsgfSAvKiAn74KrJyAqL1xuLmljb24tbWVudTpiZWZvcmUgeyBjb250ZW50OiAnXFxmMGM5JzsgfSAvKiAn74OJJyAqL1xuLmljb24tbWFpbC1hbHQ6YmVmb3JlIHsgY29udGVudDogJ1xcZjBlMCc7IH0gLyogJ++DoCcgKi9cbi5pY29uLWNoYXQtZW1wdHk6YmVmb3JlIHsgY29udGVudDogJ1xcZjBlNic7IH0gLyogJ++DpicgKi9cbi5pY29uLWNpcmNsZS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTBjJzsgfSAvKiAn74SMJyAqL1xuLmljb24tcXVvdGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTBkJzsgfSAvKiAn74SNJyAqL1xuLmljb24tcXVvdGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJ1xcZjEwZSc7IH0gLyogJ++EjicgKi9cbi5pY29uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTExJzsgfSAvKiAn74SRJyAqL1xuLmljb24taW5mbzpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTI5JzsgfSAvKiAn74SpJyAqL1xuLmljb24taW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYxNmQnOyB9IC8qICfvha0nICovXG4uaWNvbi1maWxlLXBkZjpiZWZvcmUgeyBjb250ZW50OiAnXFxmMWMxJzsgfSAvKiAn74eBJyAqL1xuLmljb24tY29tbWVudGluZy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYyN2InOyB9IC8qICfvibsnICovXG4uaWNvbi1xdWVzdGlvbi1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAnXFxmMjljJzsgfSAvKiAn74qcJyAqL1xuLmljb24tdHdpdHRlci1zcXVhcmVkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYzMDQnOyB9IC8qICfvjIQnICovXG4uaWNvbi1mYWNlYm9vay1zcXVhcmVkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYzMDgnOyB9IC8qICfvjIgnICovXG4iLCIvKiBGb3Jtc1xu4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgICAmLm1lZGl1bSB7IHdpZHRoOiA1MCU7IH1cbiAgICAmLnNtYWxsIHsgd2lkdGg6IDEycmVtOyB9XG4gICAgLyogUmVtb3ZlcyBhd2t3YXJkIGRlZmF1bHQgc3R5bGVzIG9uIHNvbWUgaW5wdXRzIGZvciBpT1MgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHsgZGlzcGxheTogaW5saW5lOyB9XG5cbmxhYmVsLFxubGVnZW5kIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG50ZXh0YXJlYSB7IG1pbi1oZWlnaHQ6IDEwcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXItYm90dG9tOiAuMXJlbSBzb2xpZCAkZm9udC1jb2xvcjtcbiAgICBib3JkZXItdG9wOiAuMXJlbSBzb2xpZCAkZm9udC1jb2xvcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxlZ2VuZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgLjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufVxuXG5zZWxlY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1xcZTgwNCc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnbGltb3NhJztcbiAgICAgICAgbGVmdDogMS41cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxufVxuXG46OnBsYWNlaG9sZGVyLCAuaGVscC10ZXh0IHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5yYWRpb3MsIC5jaGVja2JveGVzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0geyBtYXJnaW46IDAgMXJlbSAwIDJyZW07IH1cbn1cblxuLmNoZWNrYm94LWxhYmVsIHsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uaW5wdXRfX2ljb25pc2VkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGlucHV0IHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIGkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAuNXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG59XG5cbi5pbmxpbmUtbGFiZWwgbGFiZWwgeyBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmZ1bGwgeyB3aWR0aDoxMDAlOyB9XG5cbi5zZWxlY3QtZGF0ZSwgI2lkX2NhcmRfZXhwaXJ5X2RhdGVfMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG59XG5cbmZpZWxkc2V0IGxlZ2VuZCB7IG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4uZm9ybS1wYW5lbCB7XG4gICAgYm9yZGVyOiAuMXJlbSBzb2xpZCBjb2xvcihcInNhbmRzdG9uZS1icm93bi0xMlwiKTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmc6IDNyZW07XG59XG5cbi8vIENoZWNrYm94ZXMgYW5kIFJhZGlvc1xuLy/igJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuXG4vLyBsaXN0IHNwZWNpZmljXG5cbnVsLmNoZWNrYm94ZXMsXG51bC5yYWRpb3Mge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuLy8gc2hhcmVkIHN0eWxpbmdcbi5jaGVja2JveCxcbnVsLmNoZWNrYm94ZXMsXG51bC5yYWRpb3Mge1xuICAgIG1hcmdpbi1ib3R0b206ICRpbnB1dC1tYXJnaW4tYm90dG9tO1xuICAgIGxhYmVsIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY2hlY2tib3gtZm9udC13ZWlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY2hlY2tib3gtc2l6ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMCAkY2hlY2tib3gtc2l6ZSAqIDEuNTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIGxhYmVsIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbigkdG9wOiAwLCAkbGVmdDogMCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgaGVpZ2h0OiAkY2hlY2tib3gtc2l6ZTtcbiAgICAgICAgd2lkdGg6ICRjaGVja2JveC1zaXplO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgaW5wdXQgKyBzcGFuOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIGlucHV0OmNoZWNrZWQgKyBzcGFuOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICBsYWJlbDpob3ZlciBpbnB1dDpub3QoOmNoZWNrZWQpOm5vdCg6ZGlzYWJsZWQpICsgc3BhbjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICBsYWJlbCBpbnB1dDpkaXNhYmxlZCArIHNwYW4ge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbn1cblxuLy8gY2hlY2tib3ggb25seSBzdHlsZXNcblxuLmNoZWNrYm94LFxudWwuY2hlY2tib3hlcyB7XG5cbiAgICBsYWJlbCBzcGFuIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgfVxuXG4gICAgLy8gdGhpcyBlbnN1cmVzIHRoZSByb3RhdGVkIHRpY2sgc3RheXMgaW4gYSBnb29kIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBzaXplIG9mIHRoZSBjaGVja2JveFxuICAgICR0aWNrLXRvcDogJGNoZWNrYm94LXNpemUgKi4yODtcbiAgICAkdGljay1sZWZ0OiAkY2hlY2tib3gtc2l6ZSAqLjE3O1xuICAgICR0aWNrLWhlaWdodDogJGNoZWNrYm94LXNpemUgKiAuMztcbiAgICAkdGljay13aWR0aDogJGNoZWNrYm94LXNpemUgKiAuNTQ7XG5cbiAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSArIHNwYW46YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbigkdG9wOiAkdGljay10b3AsICRsZWZ0OiAkdGljay1sZWZ0KTtcbiAgICAgICAgYm9yZGVyOiAkY2hlY2tib3gtdGljay13aWR0aCBzb2xpZCAkY2hlY2tib3gtY2hlY2tlZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBoZWlnaHQ6ICR0aWNrLWhlaWdodDtcbiAgICAgICAgd2lkdGg6ICR0aWNrLXdpZHRoO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn1cblxuLy8gcmFkaW8gb25seSBzdHlsZXNcblxudWwucmFkaW9zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDNyZW0gMCAwO1xuICAgICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyOiAuMXJlbSBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgICAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiA3cmVtO1xuICAgICAgICBwYWRkaW5nOiAzLjVyZW0gMCAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1uby10b3VjaChhbGwgJGFuaW1hdGlvbi1zcGVlZC1mYXN0ICRlYXNpbmctZGVmYXVsdCk7XG4gICAgICAgIHdpZHRoOiA3cmVtO1xuICAgICAgICBpbnB1dFt0eXBlPXJhZGlvXSB7IG1hcmdpbjogMDsgfVxuICAgICAgICAmLmNoZWNrZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJqZXdlbFwiKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNzcsMjIsNjIsLjcpO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwid2hpdGVcIilcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnbGltb3NhJztcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMzAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxudWwucmFkaW9zLS15ZXMtbm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICBsaTpmaXJzdC1jaGlsZCBsYWJlbDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGU4MTAnO1xuICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICB9XG4gICAgbGk6bnRoLWNoaWxkKDIpIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1xcZTgwOCc7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgIH1cbn1cblxuI2lkX2RldGFpbC1udW1iZXJfb2ZfcGFzc2VuZ2VycyB7XG4gICAgbGk6Zmlyc3QtY2hpbGQgbGFiZWw6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnXFxlODBhJztcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgfVxuICAgIGxpOm50aC1jaGlsZCgyKSBsYWJlbDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGU4MGEgXFxlODBhJztcbiAgICAgICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgfVxuICAgIGxpOm50aC1jaGlsZCgzKSBsYWJlbDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGU4MGEgXFxlODBhIFxcZTgwYSc7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIH1cbiAgICBsaTpudGgtY2hpbGQoNCkgbGFiZWw6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnXFxlODBhIFxcZTgwYSBcXGU4MGEgXFxlODBhJztcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxufVxuXG4jaWRfcGFzc2VuZ2VyXzEtcm9vbV9yZXF1aXJlbWVudHMsICNpZF9wYXNzZW5nZXJfMi1yb29tX3JlcXVpcmVtZW50cyxcbiNpZF9wYXNzZW5nZXJfMy1yb29tX3JlcXVpcmVtZW50cywgI2lkX3Bhc3Nlbmdlcl80LXJvb21fcmVxdWlyZW1lbnRzIHtcbiAgICBsaTpmaXJzdC1jaGlsZCBsYWJlbDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGU4MGEgXFxlODBhJztcbiAgICAgICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgfVxuICAgIGxpOm50aC1jaGlsZCgyKSBsYWJlbDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGU4MGEgXFxlODBhJztcbiAgICAgICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgfVxuICAgIGxpOm50aC1jaGlsZCgzKSBsYWJlbDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGU4MGEnO1xuICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICB9XG4gICAgbGk6bnRoLWNoaWxkKDQpIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1xcZTgwYic7XG4gICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIH1cbn1cblxuI2lkX3Bhc3Nlbmdlcl8xLWFkZHJlc3NfMSwgI2lkX3Bhc3Nlbmdlcl8xLWFkZHJlc3NfMixcbiNpZF9wYXNzZW5nZXJfMS1jaXR5LCAjaWRfcGFzc2VuZ2VyXzEtY291bnRyeSxcbiNpZF9wYXNzZW5nZXJfMi1hZGRyZXNzXzEsICNpZF9wYXNzZW5nZXJfMi1hZGRyZXNzXzIsXG4jaWRfcGFzc2VuZ2VyXzItY2l0eSwgI2lkX3Bhc3Nlbmdlcl8yLWNvdW50cnksXG4jaWRfcGFzc2VuZ2VyXzMtYWRkcmVzc18xLCAjaWRfcGFzc2VuZ2VyXzMtYWRkcmVzc18yLFxuI2lkX3Bhc3Nlbmdlcl8zLWNpdHksICNpZF9wYXNzZW5nZXJfMy1jb3VudHJ5LFxuI2lkX3Bhc3Nlbmdlcl80LWFkZHJlc3NfMSwgI2lkX3Bhc3Nlbmdlcl80LWFkZHJlc3NfMixcbiNpZF9wYXNzZW5nZXJfNC1jaXR5LCAjaWRfcGFzc2VuZ2VyXzQtY291bnRyeSxcbiNpZF9iaWxsaW5nX2FkZHJlc3NfMSwgI2lkX2JpbGxpbmdfYWRkcmVzc18yLFxuI2lkX2JpbGxpbmdfY2l0eSwgI2lkX2JpbGxpbmdfY291bnRyeSB7IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4vKiBNb2JpbGUgUG9ydHJhaXQgKEV4dHJhIFNtYWxsKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgIHVsLnJhZGlvcyBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAxLjVyZW0gMS41cmVtIDA7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMDsgfVxuICAgIH1cbiAgICAuZm9ybS1wYW5lbCB7IHBhZGRpbmc6IDEuNXJlbTsgfVxuICAgIGZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxufSIsIi8vIFBvc2l0aW9uXG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuLy8gcG9zaXRpb24gYW4gZWxlbWVudFxuLy8gYmUgc3VyZSB0byBzZXQgdGhlIHBhcmVudCBlbGVtZW50cyBwb3NpdGlvbiB0byByZWxhdGl2ZSB0aGVuIHRoaXMgd2lsbCB1c2UgaXRzIGZ1bGwgYm91bmRzXG4vLyB1c2VmdWxsIGZvciBjYXJkcyB3aGVyZSB0aGUgYW5jaG9yIGlzIGEgY2hpbGQgb2YgdGhlIGNhcmQgdG8gbWFrZSB0aGUgd2hvbGUgY2FyZCBjbGlja2FibGVcbi8vIC4uLlxuLy8gVXNhZ2U6XG4vLyA+PiBAaW5jbHVkZSBwb3NpdGlvbigwLDAsMCwwKVxuLy8gdG9wOiAwOyByaWdodDogMDsgYm90dG9tOiAwOyBsZWZ0OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAuLi5cbkBtaXhpbiBwb3NpdGlvbigkdG9wOiBhdXRvLCAkcmlnaHQ6IGF1dG8sICRib3R0b206IGF1dG8sICRsZWZ0OiBhdXRvLCAkcG9zaXRpb246IGFic29sdXRlKSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG4gIGluc2V0OiAkdG9wICRyaWdodCAkYm90dG9tICRsZWZ0O1xufVxuIiwiLy8gUHNldWRvXG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuLy8gdXNlZnVsIGZvciB3aGVuIHN0eWxpbmcgOmJlZm9yZSBvciA6YWZ0ZXJcbi8vIHlvdSBuZWFsbHkgYWx3YXlzIG5lZWQgdGhlc2UgM1xuLy8gLi4uXG4vLyBVc2FnZTpcbi8vIEBpbmNsdWRlIHBzZXVkbztcbi8vIC4uLlxuQG1peGluIHBzZXVkbygkZGlzcGxheTogYmxvY2ssICRwb3M6IGFic29sdXRlLCAkY29udGVudDogXCJcIikge1xuICBwb3NpdGlvbjogJHBvcztcbiAgZGlzcGxheTogJGRpc3BsYXk7XG4gIGNvbnRlbnQ6ICRjb250ZW50O1xufVxuIiwiLyogTWVkaWFcbuKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuXG5pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICYuZnVsbC13aWR0aCB7IGhlaWdodDogYXV0bzsgfVxufVxuXG5maWd1cmUgeyBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbmZpZ2NhcHRpb24ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBwYWRkaW5nOiAxLjVyZW0gMDtcbn1cbiIsIi5hbGVydCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbn1cbi5hbGVydC1wcmltYXJ5IHtcbiAgICBjb2xvcjogIzAwNDA4NTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NlNWZmO1xuICAgIGJvcmRlci1jb2xvcjogI2I4ZGFmZjtcbn1cbi5hbGVydC1zZWNvbmRhcnkge1xuICAgIGNvbG9yOiAjMzgzZDQxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmUzZTU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDZkOGRiO1xufVxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAjMTU1NzI0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGVkZGE7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzNlNmNiO1xufVxuLmFsZXJ0LWRhbmdlciB7XG4gICAgY29sb3I6ICM3MjFjMjQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYTtcbiAgICBib3JkZXItY29sb3I6ICNmNWM2Y2I7XG59XG4uYWxlcnQtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDUsMTY2LDM1LC4xKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjQ1LDE2NiwzNSwuMyk7XG59XG4uYWxlcnQtaW5mbyB7XG4gICAgY29sb3I6ICMwYzU0NjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QxZWNmMTtcbiAgICBib3JkZXItY29sb3I6ICNiZWU1ZWI7XG59XG4uYWxlcnQtbGlnaHQge1xuICAgIGNvbG9yOiAjODE4MTgyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmRmZGZlO1xufVxuLmFsZXJ0LWRhcmsge1xuICAgIGNvbG9yOiAjMWIxZTIxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNmQ4ZDk7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzZjOGNhO1xufSIsIi8qIEJ1dHRvbnNcbuKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuXG4uYnV0dG9uLFxuYnV0dG9uOm5vdCgub3dsLWRvdCksXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJzYW5kc3RvbmUtYnJvd25cIik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoXCJzYW5kc3RvbmUtYnJvd25cIik7XG4gICAgfVxuICAgIHNwYW4geyBmb250LXdlaWdodDogNDAwOyB9XG59XG5cbi5idXR0b24uYnV0dG9uLXNlY29uZGFyeSxcbmJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5LFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tc2Vjb25kYXJ5LFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1zZWNvbmRhcnksXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmJ1dHRvbi1zZWNvbmRhcnkge1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgdG91Y2gtaG92ZXIoKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiamV3ZWxcIik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoXCJqZXdlbFwiKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgfVxufVxuXG4uYnV0dG9uLmJ1dHRvbi1vdXRsaW5lLFxuYnV0dG9uLmJ1dHRvbi1vdXRsaW5lLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tb3V0bGluZSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXS5idXR0b24tb3V0bGluZSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLW91dGxpbmUge1xuICBcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBjb2xvcihcImpld2VsXCIpO1xuICBcdEBpbmNsdWRlIHRvdWNoLWhvdmVyKCkge1xuXHRcdGJvcmRlci1jb2xvcjogY29sb3IoXCJzYW5kc3RvbmUtYnJvd25cIik7XG4gIFx0XHRjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICB9XG59XG5cbi5idXR0b24uYnV0dG9uLWNsZWFyLFxuYnV0dG9uLmJ1dHRvbi1jbGVhcixcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uLWNsZWFyLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1jbGVhcixcbmlucHV0W3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLWNsZWFyIHtcbiAgXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgXHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBjb2xvcihcImpld2VsXCIpO1xuICBcdEBpbmNsdWRlIHRvdWNoLWhvdmVyKCkge1xuICBcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgXHRcdGNvbG9yOiBjb2xvcihcInNhbmRzdG9uZS1icm93blwiKTtcblx0fVxufVxuXG4uYnV0dG9uLmJ1dHRvbi1hcnJvdyxcbmJ1dHRvbi5idXR0b24tYXJyb3csXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbi1hcnJvdyxcbmlucHV0W3R5cGU9XCJyZXNldFwiXS5idXR0b24tYXJyb3csXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmJ1dHRvbi1hcnJvdyB7XG4gICAgcGFkZGluZzogLjhyZW0gMXJlbSAuOHJlbSAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGNvbG9yKFwiamV3ZWxcIik7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMi4xcmVtO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtNC4zcmVtO1xuICAgICAgICB0b3A6IC0uMXJlbTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1uby10b3VjaChib3JkZXItY29sb3IgJGFuaW1hdGlvbi1zcGVlZC1mYXN0ICRlYXNpbmctZGVmYXVsdCk7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihcInNhbmRzdG9uZS1icm93blwiKTtcbiAgICAgICAgJjpiZWZvcmUgeyBib3JkZXItbGVmdC1jb2xvcjogY29sb3IoXCJzYW5kc3RvbmUtYnJvd25cIik7IH1cbiAgICB9XG59XG5cbi5idXR0b24uYnV0dG9uLXNtYWxsLFxuYnV0dG9uLmJ1dHRvbi1zbWFsbCxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uLXNtYWxsLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1zbWFsbCxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLXNtYWxsIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBwYWRkaW5nOiAuOHJlbSAxLjJyZW0gLjVyZW07XG4gICAgJi5idXR0b24tYXJyb3cge1xuICAgICAgICBwYWRkaW5nOiAuOHJlbSAuN3JlbSAuNXJlbSAxLjJyZW07XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMS42NXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMy40N3JlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ1dHRvbi5idXR0b24tYXJyb3cuYnV0dG9uLWluZm8tYm94LW9wZW4ge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yKFwid2FybmluZy1hbWJlclwiKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yKFwid2FybmluZy1hbWJlclwiKTtcbiAgICAmOmJlZm9yZSB7IGJvcmRlci1sZWZ0LWNvbG9yOiBjb2xvcihcIndhcm5pbmctYW1iZXJcIik7IH1cbn1cblxuLmJ1dHRvbi1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIC5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihcImR1c3R5LWdyYXlcIik7XG4gICAgICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJqZXdlbFwiKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoXCJqZXdlbFwiKTtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcIndoaXRlXCIpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHRvdWNoLWhvdmVyKCkge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jc2Nyb2xsX3RvcCB7XG4gICAgYm90dG9tOiA4cmVtO1xuICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZzogLjVyZW0gMCAuOHJlbTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDhyZW07XG4gICAgd2lkdGg6IDQuNHJlbTtcbiAgICB6LWluZGV4OiB6aW5kZXgoXCJmaXJzdF9mbG9vclwiKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRhbmltYXRpb24tc3BlZWQtZmFzdCAkZWFzaW5nLWRlZmF1bHQsIG9wYWNpdHkgJGFuaW1hdGlvbi1zcGVlZC1mYXN0ICRlYXNpbmctZGVmYXVsdDtcbiAgICAmLnNjcm9sbGVkLXRvIHtcbiAgICAgICAgYm90dG9tOiAzNnJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbn1cblxuLyogRGVza3RvcC9UYWJsZXQgTGFuZHNjYXBlIChMYXJnZSkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAjc2Nyb2xsX3RvcCB7XG4gICAgICAgIGJvdHRvbTogNHJlbTtcbiAgICAgICAgcmlnaHQ6IDRyZW07XG4gICAgICAgICYuc2Nyb2xsZWQtdG8geyBib3R0b206IDQycmVtOyB9XG4gICAgfVxufVxuXG4vKiBUYWJsZXQgUG9ydHJhaXQgKE1lZGl1bSkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAjc2Nyb2xsX3RvcC5zY3JvbGxlZC10byB7IGJvdHRvbTogNTRyZW07IH1cbn1cblxuLyogUGhhYmxldC9Nb2JpbGUgTGFuZHNjYXBlIChTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAuYnV0dG9uIHsgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAuOHJlbTsgfVxuICAgICNzY3JvbGxfdG9wIHtcbiAgICAgICAgYm90dG9tOiAycmVtO1xuICAgICAgICByaWdodDogMnJlbTtcbiAgICAgICAgJi5zY3JvbGxlZC10byB7IGJvdHRvbTogNjhyZW07IH1cbiAgICB9XG59XG5cbi8qIE1vYmlsZSBQb3J0cmFpdCAoRXh0cmEgU21hbGwpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgI3Njcm9sbF90b3Age1xuICAgICAgICBib3R0b206IDEuNXJlbTtcbiAgICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgJi5zY3JvbGxlZC10byB7IGJvdHRvbTogODFyZW07IH1cbiAgICB9XG59XG4iLCIvKiBCYWRnZXNcbuKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuXG4uYmFkZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiZHVzdHktZ3JheVwiKTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjJyZW07XG4gICAgY29sb3I6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogLjdyZW0gMS41cmVtIC41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgaSB7IG1hcmdpbi1yaWdodDogLjVyZW07IH1cbn1cblxuLmJhZGdlLWRlbmllZCxcbi5iYWRnZS1mdWxseS1ib29rZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwicG9wcHktcmVkXCIpO1xufVxuXG4uYmFkZ2Utd2FybmluZyxcbi5iYWRnZS13YWl0LWxpc3QsXG4uYmFkZ2UtY29udGFjdC11cyxcbi5iYWRnZS1waG9uZS10by1ib29rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcIndhcm5pbmctYW1iZXJcIik7XG59XG5cbi5iYWRnZS1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInN1Y2Nlc3MtZ3JlZW5cIik7XG59XG5cblxuLmJhZGdlLWF2YWlsYWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJhdmFpbGFibGUtYmx1ZVwiKTtcbn0iLCIvKiBCYW5uZXJcbuKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuXG4uYmFubmVyIHtcbiAgICBib3JkZXItYm90dG9tOiAuN3JlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLXRvcDogMTZyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1uby10b3VjaChhbGwgJGFuaW1hdGlvbi1zcGVlZC1mYXN0ICRlYXNpbmctZGVmYXVsdCk7XG4gICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLW5vLXRvdWNoKHRvcCAkYW5pbWF0aW9uLXNwZWVkLWZhc3QgJGVhc2luZy1kZWZhdWx0KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uYmFubmVyX19jb250ZW50IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaDEge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJqZXdlbFwiKTtcbiAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIC5iYW5uZXJfX3N1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIC50b3VyX190aXRsZSB7IGZvbnQtc2l6ZTogMi4xcmVtOyB9XG4gICAgLmJ1dHRvbiB7IG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgIGkge1xuICAgICAgICBib3R0b206IDQuM3JlbTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1uby10b3VjaChjb2xvciAkZWFzaW5nLWRlZmF1bHQgJGFuaW1hdGlvbi1zcGVlZC1mYXN0KTtcbiAgICAgICAgQGluY2x1ZGUgdG91Y2gtaG92ZXIoKSB7IGNvbG9yOiBjb2xvcihcImpld2VsXCIpOyB9XG4gICAgfVxufVxuXG4uYmFubmVyX19wYW5lbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMTgsMTA1LDk1LC43KTtcbiAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICBwYWRkaW5nOiA0cmVtIDRyZW0gNXJlbTtcbiAgICB3aWR0aDogNDByZW07XG59XG5cbi8qIFRhYmxldCBQb3J0cmFpdCAoTWVkaXVtKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIC5iYW5uZXIgeyBwYWRkaW5nLXRvcDogMTVyZW07IH1cbiAgICAuYmFubmVyX19wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgIHdpZHRoOiAyOHJlbTtcbiAgICB9XG4gICAgLmJhbm5lcl9fY29udGVudCB7XG4gICAgICAgIHAgeyBmb250LXNpemU6IDEuOHJlbTsgfVxuICAgICAgICAuYnV0dG9uIHsgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIH1cbn1cblxuLyogUGhhYmxldC9Nb2JpbGUgTGFuZHNjYXBlIChTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAuYmFubmVyIHtcbiAgICAgICAgaGVpZ2h0OiA0MnJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDExLjVyZW07XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcmVtO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMS41cmVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJhbm5lcl9fY29udGVudCBwIHsgZm9udC1zaXplOiAxLjRyZW07IH1cbn1cblxuLyogTW9iaWxlIFBvcnRyYWl0IChFeHRyYSBTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAuYmFubmVyX19jb250ZW50IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmJhbm5lcl9fcGFuZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInNhbmRzdG9uZS1icm93blwiKTtcbiAgICAgICAgbWFyZ2luOiAwIC0xLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgfVxufVxuIiwiLm93bC1jYXJvdXNlbC5vd2wtdGhlbWUge1xuICAgIHBhZGRpbmctdG9wOiAxNnJlbTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLW5vLXRvdWNoKHBhZGRpbmctdG9wICRhbmltYXRpb24tc3BlZWQtZmFzdCAkZWFzaW5nLWRlZmF1bHQpO1xuICAgIC5vd2wtaXRlbSB7IG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAub3dsLW5hdiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLm93bC1wcmV2IHtcbiAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZHVzdHktZ3JheVwiKSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDgwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTYwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm93bC1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IC01MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImR1c3R5LWdyYXlcIikgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IC02MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5vd2wtbmF2IFtjbGFzcyo9J293bC0nXTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImpld2VsXCIpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIC5vd2wtbmF2IFtjbGFzcyo9J293bC0nXTpmb2N1c3tcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm93bC1kb3RzIC5vd2wtZG90IHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImJsYWNrLTEyXCIpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSBzcGFuIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJqZXdlbFwiKTsgfVxuICAgIH1cbn1cblxuLyogVGFibGV0IFBvcnRyYWl0IChNZWRpdW0pIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLm93bC1jYXJvdXNlbC5vd2wtdGhlbWUgeyBwYWRkaW5nLXRvcDogMTVyZW07IH1cbn1cblxuLyogUGhhYmxldC9Nb2JpbGUgTGFuZHNjYXBlIChTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAub3dsLWNhcm91c2VsLm93bC10aGVtZSB7IHBhZGRpbmctdG9wOiAxMS41cmVtOyB9XG59XG4iLCIvKiBDYXJkc1xu4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG5cbi5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tbm8tdG91Y2goYmFja2dyb3VuZC1jb2xvciAkZWFzaW5nLWRlZmF1bHQgJGFuaW1hdGlvbi1zcGVlZC1mYXN0KTtcbiAgICBoMywgcCB7IEBpbmNsdWRlIHRyYW5zaXRpb24tbm8tdG91Y2goY29sb3IgJGVhc2luZy1kZWZhdWx0ICRhbmltYXRpb24tc3BlZWQtZmFzdCk7IH1cbiAgICBoMyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICYudG91cl9fY291bnRyeSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIHAge1xuICAgICAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC43cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHtcbiAgICAgICAgLmNhcmRfX2RhdGUsIC5jYXJkX19wYW5lbCB7IGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwic2FuZHN0b25lLWJyb3duXCIpOyB9XG4gICAgICAgIC5jYXJkX19kYXRlLCAuY2FyZC0tdG91cl9fZGF0ZSwgaDMsIHAsIC5idXR0b24geyBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTsgfVxuICAgIH1cbn1cblxuLmNhcmQtLW5ld3MgLmNhcmRfX3BhbmVsLCAuY2FyZC0tbGVhZGVycyAuY2FyZF9fcGFuZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwid2lsZC1zYW5kLXdoaXRlXCIpO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1uby10b3VjaChiYWNrZ3JvdW5kLWNvbG9yICRlYXNpbmctZGVmYXVsdCAkYW5pbWF0aW9uLXNwZWVkLWZhc3QpO1xufVxuXG4uY2FyZC0tbmV3cyAuY2FyZF9fcGFuZWwge1xuICAgIG1pbi1oZWlnaHQ6IDIzcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuYnV0dG9uLmJ1dHRvbi1zbWFsbCB7XG4gICAgICAgIGJvdHRvbTogMXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICB9XG59XG5cbi5jYXJkLS1sZWFkZXJzIC5jYXJkX19wYW5lbCB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBoMy5oMiB7IG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG4gICAgLmJ1dHRvbi1zbWFsbCB7IHBhZGRpbmc6IC44cmVtIDAgLjVyZW0gfVxufVxuXG4uY2FyZF9fcGFuZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwid2lsZC1zYW5kLXdoaXRlXCIpO1xuICAgIG1pbi1oZWlnaHQ6IDI2cmVtO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tbm8tdG91Y2goYmFja2dyb3VuZC1jb2xvciAkZWFzaW5nLWRlZmF1bHQgJGFuaW1hdGlvbi1zcGVlZC1mYXN0KTtcbn1cblxuLmNhcmRfX2ltZyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2FyZF9faW1nX190b3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGhlaWdodDogLjdyZW07XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uY2FyZF9fZGF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICBib3R0b206IDFyZW07XG4gICAgY29sb3I6ICRmb250LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAuNXJlbSAxLjVyZW0gLjVyZW0gMnJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1uby10b3VjaChhbGwgJGVhc2luZy1kZWZhdWx0ICRhbmltYXRpb24tc3BlZWQtZmFzdCk7XG59XG5cbi5jYXJkX19kYXRlX19vdXQsIC5jYXJkX19kYXRlX19pbiB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuM3JlbTtcbn1cblxuLmNhcmRfX2RhdGVfX2luIGkuaWNvbi1mbGlnaHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5jYXJkX19kYXRlX19zcGFjZXMge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNhcmRfX3N1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBvcGFjaXR5OiAuNTQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNhcmRzLS00cm93IC5jYXJkIC5jYXJkX19wYW5lbCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi1oZWlnaHQ6IDExcmVtO1xuICAgIGgzIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxufVxuXG4uY2FyZC0tZnVsbC13aWR0aCwgLmNhcmQtLWZlYXR1cmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcIndpbGQtc2FuZC13aGl0ZVwiKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGgzLnRvdXJfX2NvdW50cnkgeyBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICAgIEBpbmNsdWRlIHRvdWNoLWhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImpld2VsXCIpO1xuICAgICAgICAuY2FyZF9fcGFuZWwgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImpld2VsXCIpOyB9XG4gICAgICAgIC5jYXJkLS1mdWxsLXdpZHRoX19jb250ZW50IHsgYm9yZGVyLWNvbG9yOiBjb2xvcihcIndoaXRlXCIpOyB9XG4gICAgfVxufVxuXG4uY2FyZC0tZnVsbC13aWR0aF9fZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IC43cmVtIDMwcmVtIDFmciAyNnJlbTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEuNXJlbSA4LjVyZW0gOC41cmVtIDEuNXJlbTtcbn1cblxuLmNhcmQtLXRvdXJfX2JvcmRlciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7XG59XG5cbi5jYXJkLS10b3VyX19pbWcge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7XG59XG5cbi5jYXJkLS10b3VyX19jb250ZW50IHtcbiAgICBib3JkZXItcmlnaHQ6IC4xcmVtIGRhc2hlZCBjb2xvcihcImR1c3R5LWdyYXlcIik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdyaWQtY29sdW1uOiAzIC8gc3BhbiAxO1xuICAgIGdyaWQtcm93OiAyIC8gc3BhbiAyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLW5vLXRvdWNoKGJvcmRlci1jb2xvciAkZWFzaW5nLWRlZmF1bHQgJGFuaW1hdGlvbi1zcGVlZC1mYXN0KTtcbiAgICAuYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLmNhcmQtLXRvdXJfX2RhdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgY29sb3I6ICRmb250LWNvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gLTMuN3JlbTtcbiAgICBwYWRkaW5nOiAuNXJlbSAxLjVyZW0gLjVyZW0gMy43cmVtO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tbm8tdG91Y2goYWxsICRlYXNpbmctZGVmYXVsdCAkYW5pbWF0aW9uLXNwZWVkLWZhc3QpO1xufVxuXG4uY2FyZC0tdG91cl9fZGF0ZXMge1xuICAgIGdyaWQtY29sdW1uOiA0IC8gc3BhbiAxO1xuICAgIGdyaWQtcm93OiAyIC8gc3BhbiAxO1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xufVxuXG4uY2FyZC0tdG91cl9faW5mbyB7XG4gICAgYWxpZ24tc2VsZjogZW5kO1xuICAgIGdyaWQtY29sdW1uOiA0IC8gc3BhbiAxO1xuICAgIGdyaWQtcm93OiAzIC8gc3BhbiAxO1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xufVxuXG4uY2FyZC0tZmVhdHVyZWRfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuN3JlbSAxZnIgMjByZW07XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyM3JlbTtcbiAgICAuY2FyZC0tdG91cl9fYm9yZGVyLCAuY2FyZC0tdG91cl9fY29udGVudCwgLmNhcmQtLXRvdXJfX2ltZyB7IGdyaWQtcm93OiAxIC8gc3BhbiAxOyB9XG4gICAgLmNhcmQtLXRvdXJfX2JvcmRlciB7IGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxOyB9XG4gICAgLmNhcmQtLXRvdXJfX2NvbnRlbnQge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgICAgIC5idXR0b24uYnV0dG9uLXNtYWxsIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICB9XG4gICAgLmNhcmQtLXRvdXJfX2ltZyB7IGdyaWQtY29sdW1uOiAzIC8gc3BhbiAxOyB9XG59XG5cbi5jYXJkLS1mZWF0dXJlZF9fdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiamV3ZWxcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwIDMuN3JlbTtcbn1cblxuLmNhcmQtLWZlYXR1cmVkX190aXRsZS0tcmVnaW9uLWxpZ2h0LW9yYW5nZSB7IGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiZ29sZGVuLWdyYXNzXCIpOyB9XG4uY2FyZC0tZmVhdHVyZWRfX3RpdGxlLS1yZWdpb24tZGFyay1vcmFuZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImJ1dHRlcmN1cC15ZWxsb3dcIik7IH1cbi5jYXJkLS1mZWF0dXJlZF9fdGl0bGUtLXJlZ2lvbi1yZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImVtZXJhbGRcIik7IH1cbi5jYXJkLS1mZWF0dXJlZF9fdGl0bGUtLXJlZ2lvbi1saWdodC1ibHVlIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJkYW51YmUtYmx1ZVwiKTsgfVxuLmNhcmQtLWZlYXR1cmVkX190aXRsZS0tcmVnaW9uLXB1cnBsZSB7IGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwib2xkLWxhdmVuZGFyXCIpOyB9XG4uY2FyZC0tZmVhdHVyZWRfX3RpdGxlLS1yZWdpb24tZGFyay1ibHVlIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJzYW4tbWFyaW5vLWJsdWVcIik7IH1cbi5jYXJkLS1mZWF0dXJlZF9fdGl0bGUtLXJlZ2lvbi1kYXJrLWdyZWVuIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJ0cmVuZHktZ3JlZW5cIik7IH1cbi5jYXJkLS1mZWF0dXJlZF9fdGl0bGUtLXJlZ2lvbi1saWdodC1ncmVlbiB7IGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwicXVpY2tzYW5kXCIpOyB9XG5cbi5jYXJkLS1yZWdpb24tbGlnaHQtb3JhbmdlIHtcbiAgICAuY2FyZF9faW1nX190b3AsIC5jYXJkLS10b3VyX19ib3JkZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImdvbGRlbi1ncmFzc1wiKTsgfVxuICAgIGgzLCAuYnV0dG9uLCAuY2FyZF9fZGF0ZV9fc3BhY2VzIHsgY29sb3I6IGNvbG9yKFwiZ29sZGVuLWdyYXNzXCIpOyB9XG4gICAgQGluY2x1ZGUgdG91Y2gtaG92ZXIoKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiZ29sZGVuLWdyYXNzXCIpO1xuICAgICAgICAuY2FyZF9fcGFuZWwgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImdvbGRlbi1ncmFzc1wiKTsgfVxuICAgICAgICBoMywgLmJ1dHRvbiwgLmNhcmRfX2RhdGVfX3NwYWNlcyB7IGNvbG9yOiBjb2xvcihcIndoaXRlXCIpOyB9XG4gICAgfVxufVxuXG4uY2FyZC0tcmVnaW9uLWRhcmstb3JhbmdlIHtcbiAgICAuY2FyZF9faW1nX190b3AsIC5jYXJkLS10b3VyX19ib3JkZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImJ1dHRlcmN1cC15ZWxsb3dcIik7IH1cbiAgICBoMywgLmJ1dHRvbiwgLmNhcmRfX2RhdGVfX3NwYWNlcyB7IGNvbG9yOiBjb2xvcihcImJ1dHRlcmN1cC15ZWxsb3dcIik7IH1cbiAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJidXR0ZXJjdXAteWVsbG93XCIpO1xuICAgICAgICAuY2FyZF9fcGFuZWwsIC5jYXJkLS10b3VyX19kYXRlIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJidXR0ZXJjdXAteWVsbG93XCIpOyB9XG4gICAgICAgIGgzLCAuYnV0dG9uLCAuY2FyZF9fZGF0ZV9fc3BhY2VzIHsgY29sb3I6IGNvbG9yKFwid2hpdGVcIik7IH1cbiAgICB9XG59XG5cbi5jYXJkLS1yZWdpb24tcmVkIHtcbiAgICAuY2FyZF9faW1nX190b3AsIC5jYXJkLS10b3VyX19ib3JkZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImVtZXJhbGRcIik7IH1cbiAgICBoMywgLmJ1dHRvbiwgLmNhcmRfX2RhdGVfX3NwYWNlcyB7IGNvbG9yOiBjb2xvcihcImVtZXJhbGRcIik7IH1cbiAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJlbWVyYWxkXCIpO1xuICAgICAgICAuY2FyZF9fcGFuZWwsIC5jYXJkLS10b3VyX19kYXRlIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJlbWVyYWxkXCIpOyB9XG4gICAgICAgIGgzLCAuYnV0dG9uLCAuY2FyZF9fZGF0ZV9fc3BhY2VzIHsgY29sb3I6IGNvbG9yKFwid2hpdGVcIik7IH1cbiAgICB9XG59XG5cbi5jYXJkLS1yZWdpb24tbGlnaHQtYmx1ZSB7XG4gICAgLmNhcmRfX2ltZ19fdG9wLCAuY2FyZC0tdG91cl9fYm9yZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJkYW51YmUtYmx1ZVwiKTsgfVxuICAgIGgzLCAuYnV0dG9uLCAuY2FyZF9fZGF0ZV9fc3BhY2VzIHsgY29sb3I6IGNvbG9yKFwiZGFudWJlLWJsdWVcIik7IH1cbiAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJkYW51YmUtYmx1ZVwiKTtcbiAgICAgICAgLmNhcmRfX3BhbmVsLCAuY2FyZC0tdG91cl9fZGF0ZSB7IGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiZGFudWJlLWJsdWVcIik7IH1cbiAgICAgICAgaDMsIC5idXR0b24sIC5jYXJkX19kYXRlX19zcGFjZXMgeyBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTsgfVxuICAgIH1cbn1cblxuLmNhcmQtLXJlZ2lvbi1wdXJwbGUge1xuICAgIC5jYXJkX19pbWdfX3RvcCwgLmNhcmQtLXRvdXJfX2JvcmRlciB7IGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwib2xkLWxhdmVuZGFyXCIpOyB9XG4gICAgaDMsIC5idXR0b24sIC5jYXJkX19kYXRlX19zcGFjZXMgeyBjb2xvcjogY29sb3IoXCJvbGQtbGF2ZW5kYXJcIik7IH1cbiAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJvbGQtbGF2ZW5kYXJcIik7XG4gICAgICAgIC5jYXJkX19wYW5lbCwgLmNhcmQtLXRvdXJfX2RhdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcIm9sZC1sYXZlbmRhclwiKTsgfVxuICAgICAgICBoMywgLmJ1dHRvbiwgLmNhcmRfX2RhdGVfX3NwYWNlcyB7IGNvbG9yOiBjb2xvcihcIndoaXRlXCIpOyB9XG4gICAgfVxufVxuXG4uY2FyZC0tcmVnaW9uLWRhcmstYmx1ZSB7XG4gICAgLmNhcmRfX2ltZ19fdG9wLCAuY2FyZC0tdG91cl9fYm9yZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJzYW4tbWFyaW5vLWJsdWVcIik7IH1cbiAgICBoMywgLmJ1dHRvbiwgLmNhcmRfX2RhdGVfX3NwYWNlcyB7IGNvbG9yOiBjb2xvcihcInNhbi1tYXJpbm8tYmx1ZVwiKTsgfVxuICAgIEBpbmNsdWRlIHRvdWNoLWhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInNhbi1tYXJpbm8tYmx1ZVwiKTtcbiAgICAgICAgLmNhcmRfX3BhbmVsLCAuY2FyZC0tdG91cl9fZGF0ZSB7IGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwic2FuLW1hcmluby1ibHVlXCIpOyB9XG4gICAgICAgIGgzLCAuYnV0dG9uLCAuY2FyZF9fZGF0ZV9fc3BhY2VzIHsgY29sb3I6IGNvbG9yKFwid2hpdGVcIik7IH1cbiAgICB9XG59XG5cbi5jYXJkLS1yZWdpb24tZGFyay1ncmVlbiB7XG4gICAgLmNhcmRfX2ltZ19fdG9wLCAuY2FyZC0tdG91cl9fYm9yZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJ0cmVuZHktZ3JlZW5cIik7IH1cbiAgICBoMywgLmJ1dHRvbiwgLmNhcmRfX2RhdGVfX3NwYWNlcyB7IGNvbG9yOiBjb2xvcihcInRyZW5keS1ncmVlblwiKTsgfVxuICAgIEBpbmNsdWRlIHRvdWNoLWhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInRyZW5keS1ncmVlblwiKTtcbiAgICAgICAgLmNhcmRfX3BhbmVsLCAuY2FyZC0tdG91cl9fZGF0ZSB7IGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwidHJlbmR5LWdyZWVuXCIpOyB9XG4gICAgICAgIGgzLCAuYnV0dG9uLCAuY2FyZF9fZGF0ZV9fc3BhY2VzIHsgY29sb3I6IGNvbG9yKFwid2hpdGVcIik7IH1cbiAgICB9XG59XG5cbi5jYXJkLS1yZWdpb24tbGlnaHQtZ3JlZW4ge1xuICAgIC5jYXJkX19pbWdfX3RvcCwgLmNhcmQtLXRvdXJfX2JvcmRlciB7IGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwicXVpY2tzYW5kXCIpOyB9XG4gICAgaDMsIC5idXR0b24sIC5jYXJkX19kYXRlX19zcGFjZXMgeyBjb2xvcjogY29sb3IoXCJxdWlja3NhbmRcIik7IH1cbiAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJxdWlja3NhbmRcIik7XG4gICAgICAgIC5jYXJkX19wYW5lbCwgLmNhcmQtLXRvdXJfX2RhdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInF1aWNrc2FuZFwiKTsgfVxuICAgICAgICBoMywgLmJ1dHRvbiwgLmNhcmRfX2RhdGVfX3NwYWNlcyB7IGNvbG9yOiBjb2xvcihcIndoaXRlXCIpOyB9XG4gICAgfVxufVxuXG4uYi13aWxkLXNhbmQtd2hpdGUgLmNhcmQgLmNhcmRfX3BhbmVsIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTsgfVxuXG4ubGVhZGVycyB7IG1hcmdpbi10b3A6IDVyZW07IH1cblxuLyogRGVza3RvcC9UYWJsZXQgTGFuZHNjYXBlIChMYXJnZSkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAuY2FyZC0tZnVsbC13aWR0aF9fZ3JpZCB7IGdyaWQtdGVtcGxhdGUtcm93czogMS41cmVtIDEwcmVtIDEwcmVtIDEuNXJlbTsgfVxuICAgIC5jYXJkLS1uZXdzIC5jYXJkX19wYW5lbCB7IG1pbi1oZWlnaHQ6IDI5cmVtOyB9XG4gICAgLmNhcmRzLS00cm93IC5jYXJkIC5jYXJkX19wYW5lbCB7IG1pbi1oZWlnaHQ6IDEwcmVtOyB9XG4gICAgLmNhcmQtLWZlYXR1cmVkX190aXRsZSB7IHBhZGRpbmc6IDAgMi4ycmVtOyB9XG4gICAgLmNhcmQtLWZlYXR1cmVkX19ncmlkIC5jYXJkLS10b3VyX19jb250ZW50IHsgcGFkZGluZzogMCAxLjVyZW07IH1cbn1cblxuLyogVGFibGV0IFBvcnRyYWl0IChNZWRpdW0pIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLmNhcmQtLWZ1bGwtd2lkdGhfX2dyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IC43cmVtIDIwcmVtIDFmciAyMnJlbTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxLjVyZW0gYXV0byAxLjVyZW0gYXV0byAxLjVyZW07XG4gICAgICAgIC5jYXJkLS10b3VyX19jb250ZW50IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IC4xcmVtIGRhc2hlZCBjb2xvcihcImR1c3R5LWdyYXlcIik7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMyAvIHNwYW4gMjtcbiAgICAgICAgICAgIGdyaWQtcm93OiAyIC8gc3BhbiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDNyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMyB7IG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgfVxuICAgICAgICAuY2FyZC0tdG91cl9fYm9yZGVyLCAuY2FyZC0tdG91cl9faW1nIHsgZ3JpZC1yb3c6IDEgLyBzcGFuIDU7IH1cbiAgICAgICAgLmNhcmQtLXRvdXJfX2RhdGVzLCAuY2FyZC0tdG91cl9faW5mbyB7IGdyaWQtcm93OiA0IC8gc3BhbiAxOyB9XG4gICAgICAgIC5jYXJkLS10b3VyX19kYXRlcyB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMyAvIHNwYW4gMTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZC0tdG91cl9faW5mbyB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgM3JlbSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFBoYWJsZXQvTW9iaWxlIExhbmRzY2FwZSAoU21hbGwpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLmNhcmQtLW5ld3MgLmNhcmRfX3BhbmVsIHtcbiAgICAgICAgbWluLWhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gICAgfVxuICAgIC5jYXJkcy0tNHJvdyAuY2FyZCAuY2FyZF9fcGFuZWwge1xuICAgICAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICB9XG4gICAgLmNhcmQtLWZ1bGwtd2lkdGhfX2dyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IC43cmVtIDFmciAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMS41cmVtIGF1dG8gMS41cmVtIGF1dG8gMS41cmVtIDI0cmVtO1xuICAgICAgICAuY2FyZC0tdG91cl9fYm9yZGVyIHsgZ3JpZC1yb3c6IDEgLyBzcGFuIDY7IH1cbiAgICAgICAgLmNhcmQtLXRvdXJfX2ltZyB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMjtcbiAgICAgICAgICAgIGdyaWQtcm93OiA2IC8gc3BhbiAxO1xuICAgICAgICB9XG4gICAgICAgIC5jYXJkLS10b3VyX19jb250ZW50IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAzO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDIgLyBzcGFuIDE7XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQtLXRvdXJfX2RhdGVzIHsgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7IH1cbiAgICAgICAgLmNhcmQtLXRvdXJfX2luZm8geyBncmlkLWNvbHVtbjogMyAvIHNwYW4gMTsgfVxuICAgIH1cbn1cblxuLyogTW9iaWxlIFBvcnRyYWl0IChFeHRyYSBTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAuY2FyZHMtLTRyb3cgLmNhcmQgLmNhcmRfX3BhbmVsIHsgbWluLWhlaWdodDogaW5pdGlhbDsgfVxuICAgIC5jYXJkLS1mdWxsLXdpZHRoX19ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuN3JlbSAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMS41cmVtIGF1dG8gMS41cmVtIGF1dG8gYXV0byAxLjVyZW0gMjByZW07XG4gICAgICAgIC5jYXJkLS10b3VyX19ib3JkZXIgeyBncmlkLXJvdzogMSAvIHNwYW4gNzsgfVxuICAgICAgICAuY2FyZC0tdG91cl9faW1nIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDcgLyBzcGFuIDE7XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQtLXRvdXJfX2NvbnRlbnQsIC5jYXJkLS10b3VyX19pbmZvIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQtLXRvdXJfX2RhdGVzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZC0tdG91cl9faW5mbyB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgICAgICAgICBncmlkLXJvdzogNSAvIHNwYW4gMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2FyZC0tZmVhdHVyZWRfX2dyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IC43cmVtIDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyMHJlbSBhdXRvO1xuICAgICAgICAuY2FyZC0tdG91cl9fYm9yZGVyIHsgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7IH1cbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMiAvIHNwYW4gMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2FyZCBoMy50b3VyX19jb3VudHJ5IHsgZm9udC1zaXplOiAycmVtOyB9XG4gICAgLmNhcmQtLXRvdXJfX2NvbnRlbnQgLmJ1dHRvbiB7IHdoaXRlLXNwYWNlOiBpbml0aWFsOyB9XG59XG4iLCIvKiBJbmZvIEJveGVzXG7igJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cblxuLmluZm8tYm94IHtcbiAgICBib3JkZXI6IC4xcmVtIHNvbGlkIGNvbG9yKFwiYmxhY2stMTJcIik7XG4gICAgYm9yZGVyLXRvcDogLjhyZW0gc29saWQgY29sb3IoXCJqZXdlbFwiKTtcbiAgICBtYXJnaW46IDNyZW0gMCAycmVtO1xuICAgIHBhZGRpbmc6IDMuNXJlbSAzcmVtIDNyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBzdmcge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtLjRyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgfVxuICAgIGgzIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIHVsOm5vdCguZXJyb3JsaXN0KSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDNyZW07XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgYSB7IGNvbG9yOiAkZm9udC1jb2xvcjsgfVxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiamV3ZWxcIik7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5idXR0b246bm90KC5idXR0b24tY2xlYXIpIHsgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIC5idXR0b24tY2xlYXIgeyBwYWRkaW5nOiAwOyB9XG4gICAgLmVycm9ybGlzdCB7IG1hcmdpbjogLTJyZW0gMCAycmVtOyB9XG59XG5cbi5pbmZvLWJveC0tbGVmdC1hbGlnbiB7XG4gICAgcCwgdWwsIGFkZHJlc3MgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG59XG5cbi5pbmZvLWJveC0tZml4ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAtLjFyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tbm8tdG91Y2godHJhbnNmb3JtICRhbmltYXRpb24tc3BlZWQtZmFzdCAkZWFzaW5nLWRlZmF1bHQpO1xuICAgIHdpZHRoOiA5MHJlbTtcbiAgICB6LWluZGV4OiB6aW5kZXgoXCJyb29mXCIpO1xuICAgICYuYWN0aXZlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgaDMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImpld2VsXCIpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGVYKC0uOHJlbSk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wIDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tbm8tdG91Y2goYmFja2dyb3VuZC1jb2xvciAkYW5pbWF0aW9uLXNwZWVkLWZhc3QgJGVhc2luZy1kZWZhdWx0KTtcbiAgICAgICAgQGluY2x1ZGUgdG91Y2gtaG92ZXIoKSB7IGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwic2FuZHN0b25lLWJyb3duXCIpOyB9XG4gICAgfVxuICAgIHVsOm5vdCguZXJyb3JsaXN0KSBsaSB7IGZvbnQtc2l6ZTogMS44cmVtOyB9XG59XG5cbi8qIFRhYmxldCBQb3J0cmFpdCAoTWVkaXVtKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIC5pbmZvLWJveC0tZml4ZWQgeyB3aWR0aDogNjhyZW07IH1cbn1cblxuLyogUGhhYmxldC9Nb2JpbGUgTGFuZHNjYXBlIChTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAuaW5mby1ib3gtLWZpeGVkIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDQycmVtO1xuICAgICAgICBib3R0b206IGluaXRpYWw7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApO1xuICAgICAgICB3aWR0aDogNTByZW07XG4gICAgICAgICYuYWN0aXZlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgICAgICAgdWw6bm90KC5lcnJvcmxpc3QpIGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgaSB7IGZvbnQtc2l6ZTogMS44cmVtOyB9XG4gICAgICAgIH1cbiAgICAgICAgbGFiZWwgeyBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIH1cbn1cblxuLyogTW9iaWxlIFBvcnRyYWl0IChFeHRyYSBTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAuaW5mby1ib3gtLWZpeGVkIHtcbiAgICAgICAgcGFkZGluZzogM3JlbSAycmVtIDA7XG4gICAgICAgIHdpZHRoOiAyOHJlbTtcbiAgICAgICAgaDMsIHVsOm5vdCguZXJyb3JsaXN0KSBsaSB7IGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ucGFnaW5hdGlvbl9fYmxvY2sge1xuICAgIGJvcmRlci10b3A6IC4ycmVtIHNvbGlkIGNvbG9yKFwid2lsZC1zYW5kLXdoaXRlXCIpO1xuICAgIHdpZHRoOiAzN3JlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogN3JlbTtcbiAgICB9XG4gICAgLmgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIG9wYWNpdHk6IC41NDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gICAgLmgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRmb250LWNvbG9yO1xuICAgICAgICAgICAgJjpob3ZlciB7IGNvbG9yOiBjb2xvcihcImpld2VsXCIpOyB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdpbmF0aW9uX19ibG9jay0tcHJldiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBpbWcgeyBtYXJnaW4tcmlnaHQ6IDNyZW07IH1cbn1cblxuLnBhZ2luYXRpb25fX2Jsb2NrLS1uZXh0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgaW1nIHsgbWFyZ2luLWxlZnQ6IDNyZW07IH1cbn1cblxuLyogVGFibGV0IFBvcnRyYWl0IChNZWRpdW0pIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLnBhZ2luYXRpb25fX2Jsb2NrIHsgd2lkdGg6IDMzcmVtOyB9XG59XG5cbi8qIFBoYWJsZXQvTW9iaWxlIExhbmRzY2FwZSAoU21hbGwpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLnBhZ2luYXRpb25fX2Jsb2NrIHtcbiAgICAgICAgd2lkdGg6IDI0cmVtO1xuICAgICAgICBpbWcgeyB3aWR0aDogNXJlbTsgfVxuICAgICAgICAuaDMgeyBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgICAgICAuaDIgeyBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIH1cbiAgICAucGFnaW5hdGlvbl9fYmxvY2stLXByZXYgaW1nIHsgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cbiAgICAucGFnaW5hdGlvbl9fYmxvY2stLW5leHQgaW1nIHsgbWFyZ2luLWxlZnQ6IDEuNXJlbTsgfVxufVxuXG4vKiBNb2JpbGUgUG9ydHJhaXQgKEV4dHJhIFNtYWxsKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgIC5wYWdpbmF0aW9uIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5wYWdpbmF0aW9uX19ibG9jayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi5tb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDUwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgb3BhY2l0eTogMDtcbiAgICAmLnNob3cge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5tb2RhbF9fZGlhbG9nIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwdnc7XG59XG5cbi5tb2RhbF9fY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgb3V0bGluZTogMDtcbiAgICAub3dsLWNhcm91c2VsIHsgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxufVxuXG4ubW9kYWxfX2JvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLm1vZGFsX19jbG9zZSB7XG4gICAgY29sb3I6IGNvbG9yKFwiZHVzdHktZ3JheVwiKTtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAzcmVtO1xuICAgIHRvcDogMDtcbn1cbiIsIi5tb2RhbC1oZWFkZXJ7XG4gICAgZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xufVxuLm1vZGFsLWNvbnRlbnR7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDB2aDtcbn1cbi5tb2RhbC1jb250YWN0LWZvcm17XG4gICAgYmFja2dyb3VuZDogI2IxMTYzZTtcbiAgICBjb2xvcjojZmZmO1xufVxuLm1vZGFsLWNvbnRhY3QtZm9ybSAubW9kYWwtY29udGVudHtcbiAgICBiYWNrZ3JvdW5kOiAjYjExNjNlO1xuICAgIGNvbG9yOiNmZmY7XG59XG4ubW9kYWwtY29udGFjdC1mb3JtIGgye1xuICAgIGNvbG9yOiNmZmY7XG59XG4ubW9kYWwtY29udGFjdC1mb3JtIGZvcm17XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xufVxuLm1vZGFsLWhlYWRlciAuY2xvc2UtdG91ci1mb3JtLW1vZGFsIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgY29sb3I6ICNmZmY7XG59IiwiLyogSGVhZGVyXG7igJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cblxuaGVhZGVyLCAuaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcIndoaXRlXCIpO1xuICAgIGJvcmRlci1ib3R0b206IC4xcmVtIHNvbGlkIGNvbG9yKFwiYmxhY2stMTJcIik7XG4gICAgaGVpZ2h0OiAxNnJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1uby10b3VjaChoZWlnaHQgJGFuaW1hdGlvbi1zcGVlZC1mYXN0ICRlYXNpbmctZGVmYXVsdCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogemluZGV4KFwidG9wX2Zsb29yXCIpO1xuICAgICNsb2dvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLW5vLXRvdWNoKGFsbCAkYW5pbWF0aW9uLXNwZWVkLWZhc3QgJGVhc2luZy1kZWZhdWx0KTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG5hdiB1bCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IC4zcmVtIHNvbGlkIGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tbm8tdG91Y2goYm9yZGVyLWNvbG9yICRhbmltYXRpb24tc3BlZWQtZmFzdCAkZWFzaW5nLWRlZmF1bHQpO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwic2FuZHN0b25lLWJyb3duXCIpO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdG91Y2gtaG92ZXIoKSB7IGNvbG9yOiBjb2xvcihcImpld2VsXCIpOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKFwiamV3ZWxcIik7XG4gICAgICAgICAgICAgICAgYSB7IGNvbG9yOiBjb2xvcihcImpld2VsXCIpOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5idXR0b24geyBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuICAgICYuZml4ZWQge1xuICAgICAgICBoZWlnaHQ6IDguNXJlbTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IC00LjVyZW07XG4gICAgICAgICNsb2dvIHtcbiAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIH1cbiAgICAgICAgLmhlYWRlcl9fbWFpbiBuYXYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHVsIGxpIHsgcGFkZGluZzogMXJlbSAwOyB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXJfX3RvcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogLjFyZW0gc29saWQgY29sb3IoXCJibGFjay0xMlwiKTtcbiAgICBoZWlnaHQ6IDQuNXJlbTtcbiAgICAuZC1mbGV4IHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgbmF2IHVsIGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgICAgIG1hcmdpbjogMCAxLjVyZW07XG4gICAgICAgIGEgeyBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIH1cbn1cblxuLmhlYWRlcl9fdXRpbHMge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhIHsgZm9udC1zaXplOiAzcmVtOyB9XG4gICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImpld2VsXCIpO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIHNwYW4geyBtYXJnaW4tbGVmdDogMnJlbTsgfVxuICAgIC5idXR0b24geyBtYXJnaW4tbGVmdDogNHJlbTsgfVxufVxuXG4uaGVhZGVyX19tYWluIG5hdiB7XG4gICAgbWFyZ2luLXRvcDogNS41cmVtO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tbm8tdG91Y2gobWFyZ2luLXRvcCAkYW5pbWF0aW9uLXNwZWVkLWZhc3QgJGVhc2luZy1kZWZhdWx0KTtcbiAgICB1bCBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAycmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMCAyLjVyZW07XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tbm8tdG91Y2goYWxsICRhbmltYXRpb24tc3BlZWQtZmFzdCAkZWFzaW5nLWRlZmF1bHQpO1xuICAgICAgICBhIHsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIH1cbn1cblxuLnJlZ2lvbnMtbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICBib3JkZXItdG9wOiAuMXJlbSBzb2xpZCBjb2xvcihcImJsYWNrLTEyXCIpO1xuICAgIGJvcmRlci1ib3R0b206IC4xcmVtIHNvbGlkIGNvbG9yKFwiYmxhY2stMTJcIik7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiA1cmVtIDA7XG4gICAgei1pbmRleDogMTtcbiAgICAmLmFjdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgbmF2IC5yZWdpb25zLW5hdiB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tbm8tdG91Y2goYWxsICRhbmltYXRpb24tc3BlZWQtZmFzdCAkZWFzaW5nLWRlZmF1bHQpO1xuICAgICAgICAgICAgYSB7IGNvbG9yOiAkZm9udC1jb2xvcjsgfVxuICAgICAgICB9XG4gICAgICAgIC5yZWdpb25fYmxvY2stLXJlZ2lvbi1saWdodC1vcmFuZ2Uge1xuICAgICAgICAgICAgJjpob3ZlciwgJi5vcGVuZWQsICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiZ29sZGVuLWdyYXNzXCIpO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6IGNvbG9yKFwiZ29sZGVuLWdyYXNzXCIpOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZWdpb25fYmxvY2stLXJlZ2lvbi1kYXJrLW9yYW5nZSB7XG4gICAgICAgICAgICAmOmhvdmVyLCAmLm9wZW5lZCwgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IoXCJidXR0ZXJjdXAteWVsbG93XCIpO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6IGNvbG9yKFwiYnV0dGVyY3VwLXllbGxvd1wiKTsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVnaW9uX2Jsb2NrLS1yZWdpb24tcmVkIHtcbiAgICAgICAgICAgICY6aG92ZXIsICYub3BlbmVkLCAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcInBvcHB5LXJlZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7IGNvbG9yOiBjb2xvcihcInBvcHB5LXJlZFwiKTsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVnaW9uX2Jsb2NrLS1yZWdpb24tbGlnaHQtYmx1ZSB7XG4gICAgICAgICAgICAmOmhvdmVyLCAmLm9wZW5lZCwgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IoXCJkYW51YmUtYmx1ZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7IGNvbG9yOiBjb2xvcihcImRhbnViZS1ibHVlXCIpOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZWdpb25fYmxvY2stLXJlZ2lvbi1wdXJwbGUge1xuICAgICAgICAgICAgJjpob3ZlciwgJi5vcGVuZWQsICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwib2xkLWxhdmVuZGFyXCIpO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6IGNvbG9yKFwib2xkLWxhdmVuZGFyXCIpOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZWdpb25fYmxvY2stLXJlZ2lvbi1kYXJrLWJsdWUge1xuICAgICAgICAgICAgJjpob3ZlciwgJi5vcGVuZWQsICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwic2FuLW1hcmluby1ibHVlXCIpO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6IGNvbG9yKFwic2FuLW1hcmluby1ibHVlXCIpOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZWdpb25fYmxvY2stLXJlZ2lvbi1kYXJrLWdyZWVuIHtcbiAgICAgICAgICAgICY6aG92ZXIsICYub3BlbmVkLCAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcInRyZW5keS1ncmVlblwiKTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7IGNvbG9yOiBjb2xvcihcInRyZW5keS1ncmVlblwiKTsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVnaW9uX2Jsb2NrLS1yZWdpb24tbGlnaHQtZ3JlZW46aG92ZXIgYSB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoXCJxdWlja3NhbmRcIik7XG4gICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6IGNvbG9yKFwicXVpY2tzYW5kXCIpOyB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERlc2t0b3AvVGFibGV0IExhbmRzY2FwZSAoTGFyZ2UpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgLmhlYWRlciwgaGVhZGVyIHtcbiAgICAgICAgI2xvZ28geyBtYXJnaW4tdG9wOiAyLjVyZW07IH1cbiAgICB9XG59XG5cbi8qIFRhYmxldCBQb3J0cmFpdCAoTWVkaXVtKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIC5oZWFkZXJfX3RvcCBuYXYgdWwgbGkge1xuICAgICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgICAgYSB7IGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgfVxuICAgIC5oZWFkZXJfX3V0aWxzIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24geyBtYXJnaW4tbGVmdDogMnJlbTsgfVxuICAgIH1cbiAgICAuaGVhZGVyLCBoZWFkZXIge1xuICAgICAgICBoZWlnaHQ6IDE1cmVtO1xuICAgICAgICAmLmZpeGVkIHtcbiAgICAgICAgICAgIGhlaWdodDogMTJyZW07XG4gICAgICAgICAgICAuaGVhZGVyX19tYWluIG5hdiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgICAgICAgICAgICAgdWwgbGkgeyBwYWRkaW5nOiAuNXJlbSAwIC44cmVtOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI2xvZ28ge1xuICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5oZWFkZXJfX21haW4gbmF2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgICAgIHVsIGxpIHsgcGFkZGluZzogLjVyZW0gMCAxLjNyZW07IH1cbiAgICB9XG4gICAgLnJlZ2lvbnMtbWVudSB7IHBhZGRpbmc6IDJyZW0gMDsgfVxufVxuXG4vKiBQaGFibGV0L01vYmlsZSBMYW5kc2NhcGUgKFNtYWxsKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIC5oZWFkZXIsIGhlYWRlciB7XG4gICAgICAgIGhlaWdodDogMTEuNXJlbTtcbiAgICAgICAgI2xvZ28geyBoZWlnaHQ6IDRyZW07IH1cbiAgICAgICAgJi5maXhlZCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDkuNXJlbTtcbiAgICAgICAgICAgIC5oZWFkZXJfX21haW4gLmJ1dHRvbiB7IG1hcmdpbi10b3A6IC43cmVtOyB9XG4gICAgICAgICAgICAjbG9nbyB7IGhlaWdodDogM3JlbTsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5oZWFkZXJfX3RvcCAuZC1mbGV4IHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuaGVhZGVyX191dGlscyB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uIHsgbWFyZ2luLWxlZnQ6IDNyZW07IH1cbiAgICB9XG4gICAgLmhlYWRlcl9fbWFpbiAuYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nOiAuNHJlbSAuNXJlbTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1uby10b3VjaChtYXJnaW4tdG9wICRhbmltYXRpb24tc3BlZWQtZmFzdCAkZWFzaW5nLWRlZmF1bHQpO1xuICAgIH1cbiAgICAubWVudS1tb2RhbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgIGJvcmRlci1ib3R0b206IC4xcmVtIHNvbGlkIGNvbG9yKFwiYmxhY2stMTJcIik7XG4gICAgICAgIGJvcmRlci10b3A6IC4xcmVtIHNvbGlkIGNvbG9yKFwiYmxhY2stMTJcIik7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICAgICAgbmF2IHVsLmxpc3QtaW5saW5lIHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZzogLjJyZW0gMDtcbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogLjJyZW0gc29saWQgY29sb3IoXCJqZXdlbFwiKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJlZ2lvbnMtbmF2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdWJtZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IC4ycmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC4ycmVtIDAgLjJyZW0gMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJlZ2lvbl9ibG9jayB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmVnaW9uX2Jsb2NrLS1yZWdpb24tbGlnaHQtb3JhbmdlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKFwiZ29sZGVuLWdyYXNzXCIpO1xuICAgICAgICAgICAgICAgICYuYWN0aXZlIGEgeyBjb2xvcjogY29sb3IoXCJnb2xkZW4tZ3Jhc3NcIik7IH1cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdG91Y2gtaG92ZXIoKSB7IGNvbG9yOiBjb2xvcihcImdvbGRlbi1ncmFzc1wiKTsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yZWdpb25fYmxvY2stLXJlZ2lvbi1kYXJrLW9yYW5nZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihcImJ1dHRlcmN1cC15ZWxsb3dcIik7XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUgYSB7IGNvbG9yOiBjb2xvcihcImJ1dHRlcmN1cC15ZWxsb3dcIik7IH1cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdG91Y2gtaG92ZXIoKSB7IGNvbG9yOiBjb2xvcihcImJ1dHRlcmN1cC15ZWxsb3dcIik7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmVnaW9uX2Jsb2NrLS1yZWdpb24tcmVkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKFwicG9wcHktcmVkXCIpO1xuICAgICAgICAgICAgICAgICYuYWN0aXZlIGEgeyBjb2xvcjogY29sb3IoXCJwb3BweS1yZWRcIik7IH1cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdG91Y2gtaG92ZXIoKSB7IGNvbG9yOiBjb2xvcihcInBvcHB5LXJlZFwiKTsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yZWdpb25fYmxvY2stLXJlZ2lvbi1saWdodC1ibHVlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKFwiZGFudWJlLWJsdWVcIik7XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUgYSB7IGNvbG9yOiBjb2xvcihcImRhbnViZS1ibHVlXCIpOyB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRvdWNoLWhvdmVyKCkgeyBjb2xvcjogY29sb3IoXCJkYW51YmUtYmx1ZVwiKTsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yZWdpb25fYmxvY2stLXJlZ2lvbi1wdXJwbGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoXCJvbGQtbGF2ZW5kYXJcIik7XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUgYSB7IGNvbG9yOiBjb2xvcihcIm9sZC1sYXZlbmRhclwiKTsgfVxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHsgY29sb3I6IGNvbG9yKFwib2xkLWxhdmVuZGFyXCIpOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJlZ2lvbl9ibG9jay0tcmVnaW9uLWRhcmstYmx1ZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihcInNhbi1tYXJpbm8tYmx1ZVwiKTtcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSBhIHsgY29sb3I6IGNvbG9yKFwic2FuLW1hcmluby1ibHVlXCIpOyB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRvdWNoLWhvdmVyKCkgeyBjb2xvcjogY29sb3IoXCJzYW4tbWFyaW5vLWJsdWVcIik7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmVnaW9uX2Jsb2NrLS1yZWdpb24tZGFyay1ncmVlbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihcInRyZW5keS1ncmVlblwiKTtcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSBhIHsgY29sb3I6IGNvbG9yKFwidHJlbmR5LWdyZWVuXCIpOyB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRvdWNoLWhvdmVyKCkgeyBjb2xvcjogY29sb3IoXCJ0cmVuZHktZ3JlZW5cIik7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmVnaW9uX2Jsb2NrLS1yZWdpb24tbGlnaHQtZ3JlZW4ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoXCJxdWlja3NhbmRcIik7XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUgYSB7IGNvbG9yOiBjb2xvcihcInF1aWNrc2FuZFwiKTsgfVxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHsgY29sb3I6IGNvbG9yKFwicXVpY2tzYW5kXCIpOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5yZWdpb25zLW1lbnUuYWN0aXZlIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4vKiBNb2JpbGUgUG9ydHJhaXQgKEV4dHJhIFNtYWxsKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgIC5oZWFkZXJfX3V0aWxzIHtcbiAgICAgICAgYSB7IGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBtYXJnaW46IC43cmVtIDAgMCAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiBUYWJiZWQgQXJlYVxu4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG5cbi50YWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogLjFyZW0gc29saWQgY29sb3IoXCJibGFjay0xMlwiKTtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJGVhc2luZy1kZWZhdWx0ICRhbmltYXRpb24tc3BlZWQtZmFzdDtcbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwid2lsZC1zYW5kLXdoaXRlXCIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiAuMnJlbSBzb2xpZCBjb2xvcihcImpld2VsXCIpO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJ3aWxkLXNhbmQtd2hpdGVcIik7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxufVxuXG4udGFiLS1kYXRlIHtcbiAgICBoZWlnaHQ6IDE2cmVtO1xuICAgIG9wYWNpdHk6IC42O1xuICAgIHBhZGRpbmc6IDEuNXJlbSAycmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgJi5hY3RpdmUgeyBvcGFjaXR5OiAxOyB9XG4gICAgLmRhdGVfX291dCwgLmRhdGVfX2luIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gICAgLmRhdGVfX291dCB7IG1hcmdpbi1ib3R0b206IC4zcmVtOyB9XG4gICAgLmRhdGVfX2luIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICBpLmljb24tZmxpZ2h0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZGF0ZV9fc3BhY2VzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbn1cblxuLnRhYi0tY29udGVudCB7XG4gICAgcGFkZGluZzogMXJlbSA0cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50YWJiZWRfX3BhbmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDRyZW0gMCAzcmVtO1xuICAgICYuYWN0aXZlIHsgZGlzcGxheTogYmxvY2s7IH1cbn1cblxuLnRhYmJlZF9fcGFuZWwtLWNvbnRlbnQge1xuICAgIC5vdmVydmlld19fZmVhdHVyZWQtaW1hZ2UgeyBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG4gICAgLnJpY2gtdGV4dCB7IG1hcmdpbjogMCA1cmVtOyB9XG59XG5cbi50YWJiZWRfX3BhbmVsLS1kYXRlIHtcbiAgICAuZC1mbGV4IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHJlbTtcbiAgICAgICAgICAgIHNwYW4geyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbjogMS41cmVtIDAgMXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIC41cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiamV3ZWxcIik7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZTgxMCc7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwibGltb3NhXCI7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHA6bm90KC50YWJiZWRfX3BhbmVsLS1kYXRlX19jb3N0KSB7IGZvbnQtc2l6ZTogMS40cmVtOyB9XG59XG5cbi50YWJiZWRfX3BhbmVsLS1kYXRlX19jb3N0IHsgZm9udC1zaXplOiAycmVtOyB9XG5cbi50YWJiZWRfX3BhbmVsLS1kYXRlX19jb3N0X19kZXNjIHsgZm9udC1zaXplOiAxLjRyZW07IH1cblxuLyogRGVza3RvcCAvIFRhYmxldCBMYW5kc2NhcGUgKExhcmdlKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIC50YWItLWRhdGUge1xuICAgICAgICAuZGF0ZV9faW4sIC5kYXRlX19vdXQgeyBmb250LXNpemU6IDEuOHJlbTsgfVxuICAgIH1cbn1cblxuLyogVGFibGV0IFBvcnRyYWl0IChNZWRpdW0pIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLnRhYi0tZGF0ZSB7IGhlaWdodDogYXV0bzsgfVxuICAgIC50YWJiZWRfX3BhbmVsLS1kYXRlIHVsIHsgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuICAgIC50YWItLWNvbnRlbnQgeyBwYWRkaW5nOiAxcmVtIDNyZW07IH1cbn1cblxuLyogUGhhYmxldC9Nb2JpbGUgTGFuZHNjYXBlIChTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAudGFiYmVkX190YWJzIC5kLWZsZXggeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLnRhYjpub3QoLnRhYi0tZGF0ZSkgeyBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC50YWItLWNvbnRlbnQgeyBwYWRkaW5nOiAxcmVtIDEuNXJlbTsgfVxuICAgIC50YWItLWRhdGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHAsIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGFiYmVkX19wYW5lbC0tY29udGVudCAucmljaC10ZXh0IHsgbWFyZ2luOiAwOyB9XG4gICAgLnRhYmJlZF9fcGFuZWwtLWRhdGUge1xuICAgICAgICAudGFiYmVkX19wYW5lbC0tZGF0ZV9fY29zdCB7IGZvbnQtc2l6ZTogMi4xcmVtOyB9XG4gICAgICAgIHNwYW4geyBmb250LXNpemU6IDEuOHJlbTsgfVxuICAgICAgICAuYnV0dG9uLWFycm93IHsgbWFyZ2luLWJvdHRvbTogNHJlbTsgfVxuICAgIH1cbn1cblxuLyogTW9iaWxlIFBvcnRyYWl0IChFeHRyYSBTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAudGFiOm5vdCgudGFiLS1kYXRlKSB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnRhYi0tZGF0ZSB7XG4gICAgICAgIHAsIHVsIHsgd2lkdGg6IDEwMCU7IH1cbiAgICB9XG4gICAgLnRhYmJlZF9fcGFuZWwtLWRhdGUgdWwgeyBjb2x1bW4tY291bnQ6IDE7IH1cbn1cbiIsIi8qIE5ld3NsZXR0ZXIgU2lnbnVwXG7igJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cblxuLm5ld3NsZXR0ZXItc2lnbnVwIHtcbiAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgIGhlaWdodDogNTByZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5iYWNrZ3JvdW5kLWJsb2NrIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGhlaWdodDogNTByZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAubGVmdC1ibG9jayB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLWEoXCJlbWVyYWxkXCIsIC44KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IC0yNXJlbTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMjVyZW0gMCAyNXJlbSAyNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgY29sb3ItYShcImVtZXJhbGRcIiwgLjgpO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJpZ2h0LWJsb2NrIHtcbiAgICAgICAgaGVpZ2h0OiA1MHJlbTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAuaDItLXVuZGVybGluZWQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihcIndoaXRlXCIpO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAuY2hlY2tib3gge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBzcGFuIHsgYmFja2dyb3VuZDogY29sb3IoXCJ3aGl0ZVwiKTsgfVxuICAgICAgICAgICAgICAgICAgICBhIHsgY29sb3I6IGNvbG9yKFwid2hpdGVcIik7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnV0dG9uLXByaW1hcnkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiamV3ZWxcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsIDI1NSwgMC4yKTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwgMjU1LCAwLjIpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcIndoaXRlXCIpO1xuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHsgLyogQ2hyb21lLCBGaXJlZm94LCBPcGVyYSwgU2FmYXJpIDEwLjErICovXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTsgLyogRmlyZWZveCAqL1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nZmllbGRfbGFiZWwsXG4gICAgLmdmb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwid2hpdGVcIikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfZXJyb3IgW2FyaWEtaW52YWxpZD10cnVlXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjI1KTtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDJweDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNjMDJiMGE7XG4gICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfdmFsaWRhdGlvbl9tZXNzYWdlLCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcIndoaXRlXCIpO1xuICAgICAgICBib3JkZXI6IGluaXRpYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IC4ycmVtIC41cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcnMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIC8gVGFibGV0IExhbmRzY2FwZSAoTGFyZ2UpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgLm5ld3NsZXR0ZXItc2lnbnVwIHtcbiAgICAgICAgaGVpZ2h0OiA1NHJlbTtcbiAgICAgICAgLmJhY2tncm91bmQtYmxvY2ssIC5yaWdodC1ibG9jayB7IGhlaWdodDogNTRyZW07IH1cbiAgICAgICAgLmxlZnQtYmxvY2s6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IC0yN3JlbTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMjdyZW0gMCAyN3JlbSAyN3JlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogUGhhYmxldC9Nb2JpbGUgTGFuZHNjYXBlIChTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAubmV3c2xldHRlci1zaWdudXAge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIC5iYWNrZ3JvdW5kLWJsb2NrLCAucmlnaHQtYmxvY2sgeyBoZWlnaHQ6IGF1dG87IH1cbiAgICAgICAgLnJpZ2h0LWJsb2NrLCAuY29udGVudC1ibG9jayB7IGJhY2tncm91bmQ6IGNvbG9yKFwiamV3ZWxcIik7IH1cbiAgICAgICAgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgICAgICAgcGFkZGluZzogM3JlbSAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgICAgIC5sZWZ0LWJsb2NrOmFmdGVyIHsgYm9yZGVyOiAwOyB9XG4gICAgfVxufVxuIiwiLyogRm9vdGVyXG7igJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cblxuLmZvb3Rlcl9fbWFpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJqZXdlbFwiKTtcbiAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICBwYWRkaW5nOiAzcmVtIDAgNHJlbTtcbiAgICAjbG9nb193aGl0ZSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIGFkZHJlc3Mge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICB9XG4gICAgaDMge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICBwLCBhIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHsgY29sb3I6IGNvbG9yKFwidHVuZG9yYS1ibGFja1wiKTsgfVxuICAgIH1cbn1cblxuLmZvb3Rlcl9fbWVudV9fZmxleCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uZm9vdGVyX19tZW51IHVsIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mb290ZXJfX2FjY3JlZGl0YXRpb25zX19mbGV4IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYSB7IG1hcmdpbjogMS41cmVtIDEuNXJlbSAwIDA7IH1cbiAgICBpbWcgeyBtYXgtaGVpZ2h0OiA1cmVtOyB9XG59XG5cbi5mb290ZXJfX2JvdHRvbSB7XG4gICAgcGFkZGluZzogMi41cmVtIDA7XG4gICAgLmQtZmxleCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgdWwsIHAgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgaW1nIHsgbWF4LWhlaWdodDogNS41cmVtOyB9XG59XG5cbi8qIERlc2t0b3AvVGFibGV0IExhbmRzY2FwZSAoTGFyZ2UpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgLmZvb3Rlcl9fYm90dG9tIGltZyB7IG1heC1oZWlnaHQ6IDMuNXJlbTsgfVxuICAgIC5mb290ZXJfX2FjY3JlZGl0YXRpb25zX19mbGV4IGltZyB7IG1heC1oZWlnaHQ6IDRyZW07IH1cbn1cblxuLyogVGFibGV0IFBvcnRyYWl0IChNZWRpdW0pIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLmZvb3Rlcl9fbWVudV9fZmxleCB7IG1hcmdpbi1ib3R0b206IDNyZW07IH1cbiAgICAuZm9vdGVyX19hY2NyZWRpdGF0aW9uc19fZmxleCB7IG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAuZm9vdGVyX19ib3R0b20gLmQtZmxleCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB1bCB7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICB9XG59XG5cbi8qIFBoYWJsZXQvTW9iaWxlIExhbmRzY2FwZSAoU21hbGwpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLmZvb3Rlcl9fbWFpbiBhZGRyZXNzIHsgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuICAgIC5zbS1mb290ZXItbm8tZmxleCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5mb290ZXJfX21lbnUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbn1cblxuLyogTW9iaWxlIFBvcnRyYWl0IChFeHRyYSBTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAuZm9vdGVyX19hY2NyZWRpdGF0aW9uc19fZmxleCBpbWcgeyBtYXgtaGVpZ2h0OiAzcmVtOyB9XG59XG4iLCIvKiBIb21lcGFnZS9Gcm9udCBQYWdlXG7igJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cblxuLmhvbWVwYWdlX19pbnRyb19fYW5kX19jdGEge1xuICAgIG1hcmdpbi10b3A6IDVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLmhvbWVwYWdlX19pbnRybyB7IGZvbnQtc2l6ZTogMjBweDsgfVxuXG4uaG9tZXBhZ2VfX2N0YSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogNDFweDtcbiAgICBwYWRkaW5nOiAgMCA4cmVtIDEuNXJlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihcInR1bmRvcmEtYmxhY2tcIik7XG4gICAgYiB7IGNvbG9yOiBjb2xvcihcImpld2VsXCIpOyB9XG4gICAgcCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbn1cblxuLmhvbWVwYWdlLS1mZWF0dXJlZC0tdG91cnMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xufVxuXG4uaG9tZXBhZ2UtLWxhdGVfYXZhaWxhYmlsaXR5IHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbn1cblxuLyogRGVza3RvcC9UYWJsZXQgTGFuZHNjYXBlIChMYXJnZSkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAuaG9tZXBhZ2VfX2N0YSB7IHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAuaG9tZXBhZ2UtLWxhdGVfYXZhaWxhYmlsaXR5IC50b3VyX19oZWFkbGluZSB7IGZvbnQtc2l6ZTogMS40cmVtOyB9XG59XG5cbi8qIFRhYmxldCBQb3J0cmFpdCAoTWVkaXVtKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIC5ob21lcGFnZV9fY3RhIHsgbWFyZ2luLWJvdHRvbTogNHJlbTsgfVxufVxuXG4vKiBQaGFibGV0L01vYmlsZSBMYW5kc2NhcGUgKFNtYWxsKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIC5ob21lcGFnZV9faW50cm9fX2FuZF9fY3RhIHsgbWFyZ2luOiAzcmVtIGF1dG8gMDsgfVxuICAgIC5ob21lcGFnZV9fY3RhIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjJyZW07XG4gICAgfVxuICAgIC5ob21lcGFnZV9faW50cm8geyBmb250LXNpemU6IDEuOHJlbTsgfVxufVxuXG4vKiBNb2JpbGUgUG9ydHJhaXQgKEV4dHJhIFNtYWxsKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgIC5ob21lcGFnZV9fY3RhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjhyZW07XG4gICAgfVxuICAgIC5ob21lcGFnZV9faW50cm8geyBmb250LXNpemU6IDEuNnJlbTsgfVxufVxuIiwiLnQtYWJvdXQge1xuICAgIC5tYWluLCBtYWluIHsgcGFkZGluZy10b3A6IDIxcmVtOyB9XG4gICAgdWwuc2lkZS1uYXYgeyBtYXJnaW4tdG9wOiA3cmVtOyB9XG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgICBAZXh0ZW5kIC5oMi0tdW5kZXJsaW5lZDtcbiAgICB9XG4gICAgLnJpY2h0ZXh0LWltYWdlLmxlZnQge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCAycmVtIDJyZW0gMDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi8qIFRhYmxldCBQb3J0cmFpdCAoTWVkaXVtKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIC50LWFib3V0IHtcbiAgICAgICAgLm1haW4sIG1haW4geyBwYWRkaW5nLXRvcDogMjByZW07IH1cbiAgICB9XG59XG5cbi8qIFBoYWJsZXQvTW9iaWxlIExhbmRzY2FwZSAoU21hbGwpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLnQtYWJvdXQge1xuICAgICAgICAubWFpbiwgbWFpbiB7IHBhZGRpbmctdG9wOiAxNnJlbTsgfVxuICAgIH1cbn0iLCIvKiBUb3VyIHBhZ2VcbuKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuXG4udC10b3VyIHtcbiAgICAubWFpbiB7IHBhZGRpbmctdG9wOiAzcmVtOyB9XG4gICAgLmgyLS11bmRlcmxpbmVkIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0LjRyZW07XG4gICAgICAgIG1hcmdpbjogM3JlbSAwO1xuICAgIH1cbiAgICAubWFpbiBhOm5vdCguYnV0dG9uKSwgYnV0dG9uLmJ1dHRvbi1jbGVhciwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tY2xlYXIsXG4gICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1jbGVhciwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idXR0b24tY2xlYXIsXG4gICAgLmluZm8tYm94IC5idXR0b24tY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSB0b3VjaC1ob3ZlcigpIHsgY29sb3I6IGNvbG9yKFwidHVuZG9yYS1ibGFja1wiKTsgfVxuICAgIH1cbiAgICAuaW5mby1ib3ggZm9ybSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGlucHV0LCB0ZXh0YXJlYSB7IG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41cmVtIDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGFiYmVkX19wYW5lbC0tZGF0ZSAuYnV0dG9uLW91dGxpbmUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IC45cmVtIDJyZW0gLjlyZW0gNHJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgICAgICYuYnV0dG9uLWluZm8tYm94LW9wZW4geyBwYWRkaW5nLWxlZnQ6IDJyZW07IH1cbiAgICB9XG59XG5cbi50LXRvdXItLXJlZ2lvbi1saWdodC1vcmFuZ2Uge1xuICAgIC5iYW5uZXIsIC5oMi0tdW5kZXJsaW5lZCxcbiAgICAudGFiYmVkX19wYW5lbC0tZGF0ZSAuYnV0dG9uLW91dGxpbmUgeyBib3JkZXItY29sb3I6IGNvbG9yKFwiZ29sZGVuLWdyYXNzXCIpOyB9XG4gICAgLm1haW4gYTpub3QoLmJ1dHRvbiksIC50b3VyX190aXRsZS1ibG9jayBoMSwgYmxvY2txdW90ZSBpLCAudGFiYmVkX19wYW5lbC0tZGF0ZSB1bCBsaTpiZWZvcmUsXG4gICAgYnV0dG9uLmJ1dHRvbi1jbGVhciwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tY2xlYXIsXG4gICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1jbGVhciwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idXR0b24tY2xlYXIsXG4gICAgLmluZm8tYm94IHVsIGxpIGksIC5pbmZvLWJveCAuYnV0dG9uLWNsZWFyLFxuICAgIC50YWJiZWRfX3BhbmVsLS1kYXRlIC5idXR0b24tb3V0bGluZSB7IGNvbG9yOiBjb2xvcihcImdvbGRlbi1ncmFzc1wiKTsgfVxuICAgIC5pbmZvLWJveC0tZml4ZWQgaDMgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImdvbGRlbi1ncmFzc1wiKTsgfVxuICAgIC50YWIuYWN0aXZlLCAuaW5mby1ib3ggeyBib3JkZXItdG9wLWNvbG9yOiBjb2xvcihcImdvbGRlbi1ncmFzc1wiKTsgfVxuICAgIC5pbmZvLWJveCBzdmcgcGF0aCB7IGZpbGw6IGNvbG9yKFwiZ29sZGVuLWdyYXNzXCIpOyB9XG4gICAgLnRvdXJfX2l0aW5lcmFyeSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBjb2xvcihcImdvbGRlbi1ncmFzc1wiKTtcbiAgICAgICAgbGk6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJnb2xkZW4tZ3Jhc3NcIik7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAuMXJlbSBjb2xvcihcImdvbGRlbi1ncmFzc1wiKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnQtdG91ci0tcmVnaW9uLWRhcmstb3JhbmdlIHtcbiAgICAuYmFubmVyLCAuaDItLXVuZGVybGluZWQsXG4gICAgLnRhYmJlZF9fcGFuZWwtLWRhdGUgLmJ1dHRvbi1vdXRsaW5lIHsgYm9yZGVyLWNvbG9yOiBjb2xvcihcImJ1dHRlcmN1cC15ZWxsb3dcIik7IH1cbiAgICAubWFpbiBhOm5vdCguYnV0dG9uKSwgLnRvdXJfX3RpdGxlLWJsb2NrIGgxLCBibG9ja3F1b3RlIGksIC50YWJiZWRfX3BhbmVsLS1kYXRlIHVsIGxpOmJlZm9yZSxcbiAgICBidXR0b24uYnV0dG9uLWNsZWFyLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbi1jbGVhcixcbiAgICBpbnB1dFt0eXBlPVwicmVzZXRcIl0uYnV0dG9uLWNsZWFyLCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmJ1dHRvbi1jbGVhcixcbiAgICAuaW5mby1ib3ggdWwgbGkgaSwgLmluZm8tYm94IC5idXR0b24tY2xlYXIsXG4gICAgLnRhYmJlZF9fcGFuZWwtLWRhdGUgLmJ1dHRvbi1vdXRsaW5lIHsgY29sb3I6IGNvbG9yKFwiYnV0dGVyY3VwLXllbGxvd1wiKTsgfVxuICAgIC5pbmZvLWJveC0tZml4ZWQgaDMgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImJ1dHRlcmN1cC15ZWxsb3dcIik7IH1cbiAgICAudGFiLmFjdGl2ZSwgLmluZm8tYm94IHsgYm9yZGVyLXRvcC1jb2xvcjogY29sb3IoXCJidXR0ZXJjdXAteWVsbG93XCIpOyB9XG4gICAgLmluZm8tYm94IHN2ZyBwYXRoIHsgZmlsbDogY29sb3IoXCJidXR0ZXJjdXAteWVsbG93XCIpOyB9XG4gICAgLnRvdXJfX2l0aW5lcmFyeSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBjb2xvcihcImJ1dHRlcmN1cC15ZWxsb3dcIik7XG4gICAgICAgIGxpOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiYnV0dGVyY3VwLXllbGxvd1wiKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIC4xcmVtIGNvbG9yKFwiYnV0dGVyY3VwLXllbGxvd1wiKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnQtdG91ci0tcmVnaW9uLXJlZCB7XG4gICAgLmJhbm5lciwgLmgyLS11bmRlcmxpbmVkLFxuICAgIC50YWJiZWRfX3BhbmVsLS1kYXRlIC5idXR0b24tb3V0bGluZSB7IGJvcmRlci1jb2xvcjogY29sb3IoXCJlbWVyYWxkXCIpOyB9XG4gICAgLm1haW4gYTpub3QoLmJ1dHRvbiksIC50b3VyX190aXRsZS1ibG9jayBoMSwgYmxvY2txdW90ZSBpLCAudGFiYmVkX19wYW5lbC0tZGF0ZSB1bCBsaTpiZWZvcmUsXG4gICAgYnV0dG9uLmJ1dHRvbi1jbGVhciwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tY2xlYXIsXG4gICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1jbGVhciwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idXR0b24tY2xlYXIsXG4gICAgLmluZm8tYm94IHVsIGxpIGksIC5pbmZvLWJveCAuYnV0dG9uLWNsZWFyLFxuICAgIC50YWJiZWRfX3BhbmVsLS1kYXRlIC5idXR0b24tb3V0bGluZSB7IGNvbG9yOiBjb2xvcihcImVtZXJhbGRcIik7IH1cbiAgICAuaW5mby1ib3gtLWZpeGVkIGgzIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJlbWVyYWxkXCIpOyB9XG4gICAgLnRhYi5hY3RpdmUsIC5pbmZvLWJveCB7IGJvcmRlci10b3AtY29sb3I6IGNvbG9yKFwiZW1lcmFsZFwiKTsgfVxuICAgIC5pbmZvLWJveCBzdmcgcGF0aCB7IGZpbGw6IGNvbG9yKFwiZW1lcmFsZFwiKTsgfVxuICAgIC50b3VyX19pdGluZXJhcnkge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogY29sb3IoXCJlbWVyYWxkXCIpO1xuICAgICAgICBsaTphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImVtZXJhbGRcIik7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAuMXJlbSBjb2xvcihcImVtZXJhbGRcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50LXRvdXItLXJlZ2lvbi1saWdodC1ibHVlIHtcbiAgICAuYmFubmVyLCAuaDItLXVuZGVybGluZWQsXG4gICAgLnRhYmJlZF9fcGFuZWwtLWRhdGUgLmJ1dHRvbi1vdXRsaW5lIHsgYm9yZGVyLWNvbG9yOiBjb2xvcihcImRhbnViZS1ibHVlXCIpOyB9XG4gICAgLm1haW4gYTpub3QoLmJ1dHRvbiksIC50b3VyX190aXRsZS1ibG9jayBoMSwgYmxvY2txdW90ZSBpLCAudGFiYmVkX19wYW5lbC0tZGF0ZSB1bCBsaTpiZWZvcmUsXG4gICAgYnV0dG9uLmJ1dHRvbi1jbGVhciwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tY2xlYXIsXG4gICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1jbGVhciwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idXR0b24tY2xlYXIsXG4gICAgLmluZm8tYm94IHVsIGxpIGksIC5pbmZvLWJveCAuYnV0dG9uLWNsZWFyLFxuICAgIC50YWJiZWRfX3BhbmVsLS1kYXRlIC5idXR0b24tb3V0bGluZSB7IGNvbG9yOiBjb2xvcihcImRhbnViZS1ibHVlXCIpOyB9XG4gICAgLmluZm8tYm94LS1maXhlZCBoMyB7IGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiZGFudWJlLWJsdWVcIik7IH1cbiAgICAudGFiLmFjdGl2ZSwgLmluZm8tYm94IHsgYm9yZGVyLXRvcC1jb2xvcjogY29sb3IoXCJkYW51YmUtYmx1ZVwiKTsgfVxuICAgIC5pbmZvLWJveCBzdmcgcGF0aCB7IGZpbGw6IGNvbG9yKFwiZGFudWJlLWJsdWVcIik7IH1cbiAgICAudG91cl9faXRpbmVyYXJ5IHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGNvbG9yKFwiZGFudWJlLWJsdWVcIik7XG4gICAgICAgIGxpOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiZGFudWJlLWJsdWVcIik7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAuMXJlbSBjb2xvcihcImRhbnViZS1ibHVlXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udC10b3VyLS1yZWdpb24tcHVycGxlIHtcbiAgICAuYmFubmVyLCAuaDItLXVuZGVybGluZWQsXG4gICAgLnRhYmJlZF9fcGFuZWwtLWRhdGUgLmJ1dHRvbi1vdXRsaW5lIHsgYm9yZGVyLWNvbG9yOiBjb2xvcihcIm9sZC1sYXZlbmRhclwiKTsgfVxuICAgIC5tYWluIGE6bm90KC5idXR0b24pLCAudG91cl9fdGl0bGUtYmxvY2sgaDEsIGJsb2NrcXVvdGUgaSwgLnRhYmJlZF9fcGFuZWwtLWRhdGUgdWwgbGk6YmVmb3JlLFxuICAgIGJ1dHRvbi5idXR0b24tY2xlYXIsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uLWNsZWFyLFxuICAgIGlucHV0W3R5cGU9XCJyZXNldFwiXS5idXR0b24tY2xlYXIsIGlucHV0W3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLWNsZWFyLFxuICAgIC5pbmZvLWJveCB1bCBsaSBpLCAuaW5mby1ib3ggLmJ1dHRvbi1jbGVhcixcbiAgICAudGFiYmVkX19wYW5lbC0tZGF0ZSAuYnV0dG9uLW91dGxpbmUgeyBjb2xvcjogY29sb3IoXCJvbGQtbGF2ZW5kYXJcIik7IH1cbiAgICAuaW5mby1ib3gtLWZpeGVkIGgzIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJvbGQtbGF2ZW5kYXJcIik7IH1cbiAgICAudGFiLmFjdGl2ZSwgLmluZm8tYm94IHsgYm9yZGVyLXRvcC1jb2xvcjogY29sb3IoXCJvbGQtbGF2ZW5kYXJcIik7IH1cbiAgICAuaW5mby1ib3ggc3ZnIHBhdGggeyBmaWxsOiBjb2xvcihcIm9sZC1sYXZlbmRhclwiKTsgfVxuICAgIC50b3VyX19pdGluZXJhcnkge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogY29sb3IoXCJvbGQtbGF2ZW5kYXJcIik7XG4gICAgICAgIGxpOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwib2xkLWxhdmVuZGFyXCIpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgLjFyZW0gY29sb3IoXCJvbGQtbGF2ZW5kYXJcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50LXRvdXItLXJlZ2lvbi1kYXJrLWJsdWUge1xuICAgIC5iYW5uZXIsIC5oMi0tdW5kZXJsaW5lZCxcbiAgICAudGFiYmVkX19wYW5lbC0tZGF0ZSAuYnV0dG9uLW91dGxpbmUgeyBib3JkZXItY29sb3I6IGNvbG9yKFwic2FuLW1hcmluby1ibHVlXCIpOyB9XG4gICAgLm1haW4gYTpub3QoLmJ1dHRvbiksIC50b3VyX190aXRsZS1ibG9jayBoMSwgYmxvY2txdW90ZSBpLCAudGFiYmVkX19wYW5lbC0tZGF0ZSB1bCBsaTpiZWZvcmUsXG4gICAgYnV0dG9uLmJ1dHRvbi1jbGVhciwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tY2xlYXIsXG4gICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1jbGVhciwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idXR0b24tY2xlYXIsXG4gICAgLmluZm8tYm94IHVsIGxpIGksIC5pbmZvLWJveCAuYnV0dG9uLWNsZWFyLFxuICAgIC50YWJiZWRfX3BhbmVsLS1kYXRlIC5idXR0b24tb3V0bGluZSB7IGNvbG9yOiBjb2xvcihcInNhbi1tYXJpbm8tYmx1ZVwiKTsgfVxuICAgIC5pbmZvLWJveC0tZml4ZWQgaDMgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInNhbi1tYXJpbm8tYmx1ZVwiKTsgfVxuICAgIC50YWIuYWN0aXZlLCAuaW5mby1ib3ggeyBib3JkZXItdG9wLWNvbG9yOiBjb2xvcihcInNhbi1tYXJpbm8tYmx1ZVwiKTsgfVxuICAgIC5pbmZvLWJveCBzdmcgcGF0aCB7IGZpbGw6IGNvbG9yKFwic2FuLW1hcmluby1ibHVlXCIpOyB9XG4gICAgLnRvdXJfX2l0aW5lcmFyeSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBjb2xvcihcInNhbi1tYXJpbm8tYmx1ZVwiKTtcbiAgICAgICAgbGk6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJzYW4tbWFyaW5vLWJsdWVcIik7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAuMXJlbSBjb2xvcihcInNhbi1tYXJpbm8tYmx1ZVwiKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnQtdG91ci0tcmVnaW9uLWRhcmstZ3JlZW4ge1xuICAgIC5iYW5uZXIsIC5oMi0tdW5kZXJsaW5lZCxcbiAgICAudGFiYmVkX19wYW5lbC0tZGF0ZSAuYnV0dG9uLW91dGxpbmUgeyBib3JkZXItY29sb3I6IGNvbG9yKFwidHJlbmR5LWdyZWVuXCIpOyB9XG4gICAgLm1haW4gYTpub3QoLmJ1dHRvbiksIC50b3VyX190aXRsZS1ibG9jayBoMSwgYmxvY2txdW90ZSBpLCAudGFiYmVkX19wYW5lbC0tZGF0ZSB1bCBsaTpiZWZvcmUsXG4gICAgYnV0dG9uLmJ1dHRvbi1jbGVhciwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tY2xlYXIsXG4gICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1jbGVhciwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idXR0b24tY2xlYXIsXG4gICAgLmluZm8tYm94IHVsIGxpIGksIC5pbmZvLWJveCAuYnV0dG9uLWNsZWFyLFxuICAgIC50YWJiZWRfX3BhbmVsLS1kYXRlIC5idXR0b24tb3V0bGluZSB7IGNvbG9yOiBjb2xvcihcInRyZW5keS1ncmVlblwiKTsgfVxuICAgIC5pbmZvLWJveC0tZml4ZWQgaDMgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInRyZW5keS1ncmVlblwiKTsgfVxuICAgIC50YWIuYWN0aXZlLCAuaW5mby1ib3ggeyBib3JkZXItdG9wLWNvbG9yOiBjb2xvcihcInRyZW5keS1ncmVlblwiKTsgfVxuICAgIC5pbmZvLWJveCBzdmcgcGF0aCB7IGZpbGw6IGNvbG9yKFwidHJlbmR5LWdyZWVuXCIpOyB9XG4gICAgLnRvdXJfX2l0aW5lcmFyeSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBjb2xvcihcInRyZW5keS1ncmVlblwiKTtcbiAgICAgICAgbGk6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJ0cmVuZHktZ3JlZW5cIik7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAuMXJlbSBjb2xvcihcInRyZW5keS1ncmVlblwiKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnQtdG91ci0tcmVnaW9uLWxpZ2h0LWdyZWVuIHtcbiAgICAuYmFubmVyLCAuaDItLXVuZGVybGluZWQsXG4gICAgLnRhYmJlZF9fcGFuZWwtLWRhdGUgLmJ1dHRvbi1vdXRsaW5lIHsgYm9yZGVyLWNvbG9yOiBjb2xvcihcInF1aWNrc2FuZFwiKTsgfVxuICAgIC5tYWluIGE6bm90KC5idXR0b24pLCAudG91cl9fdGl0bGUtYmxvY2sgaDEsIGJsb2NrcXVvdGUgaSwgLnRhYmJlZF9fcGFuZWwtLWRhdGUgdWwgbGk6YmVmb3JlLFxuICAgIGJ1dHRvbi5idXR0b24tY2xlYXIsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uLWNsZWFyLFxuICAgIGlucHV0W3R5cGU9XCJyZXNldFwiXS5idXR0b24tY2xlYXIsIGlucHV0W3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLWNsZWFyLFxuICAgIC5pbmZvLWJveCB1bCBsaSBpLCAuaW5mby1ib3ggLmJ1dHRvbi1jbGVhcixcbiAgICAudGFiYmVkX19wYW5lbC0tZGF0ZSAuYnV0dG9uLW91dGxpbmUgeyBjb2xvcjogY29sb3IoXCJxdWlja3NhbmRcIik7IH1cbiAgICAuaW5mby1ib3gtLWZpeGVkIGgzIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJxdWlja3NhbmRcIik7IH1cbiAgICAudGFiLmFjdGl2ZSwgLmluZm8tYm94IHsgYm9yZGVyLXRvcC1jb2xvcjogY29sb3IoXCJxdWlja3NhbmRcIik7IH1cbiAgICAuaW5mby1ib3ggc3ZnIHBhdGggeyBmaWxsOiBjb2xvcihcInF1aWNrc2FuZFwiKTsgfVxuICAgIC50b3VyX19pdGluZXJhcnkge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogY29sb3IoXCJxdWlja3NhbmRcIik7XG4gICAgICAgIGxpOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwicXVpY2tzYW5kXCIpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgLjFyZW0gY29sb3IoXCJxdWlja3NhbmRcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50b3VyX190aXRsZS1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgfVxuICAgIC50b3VyX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuLnRvdXJfX2ludHJvIHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43NTtcbn1cblxuLnRvdXItLWluc3RhbmNlLS1pbmNsdWRlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbn1cblxuLmZvcm0tLXNlY3Rpb24tLXRpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbn1cblxuLnJpY2h0ZXh0LWltYWdlLmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDBweDtcbn1cblxuLnRvdXJfX2l0aW5lcmFyeSB7XG4gICAgYm9yZGVyLWxlZnQ6IC4xcmVtIHNvbGlkIGNvbG9yKFwiamV3ZWxcIik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDExcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1kYXRlcyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbGVmdDogLTExcmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJqZXdlbFwiKTtcbiAgICAgICAgICAgIGJvcmRlcjogLjJyZW0gc29saWQgY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIC4xcmVtIGNvbG9yKFwiamV3ZWxcIik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IC0uNnJlbTtcbiAgICAgICAgICAgIHRvcDogLjlyZW07XG4gICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRvdXJfX2NvdW50cnkgeyBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuXG4udG91cl9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnRvdXJfX2hlYWRsaW5lIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG59XG5cbi50b3VyX19jb250ZW50IHtcbiAgICBtYXJnaW46IDVyZW0gMCAxcmVtO1xuICAgIGZpZ3VyZSB7IG1hcmdpbi1ib3R0b206IDRyZW07IH1cbn1cblxuLnRvdXJfX2luZm8tYm94ZXMgeyBwYWRkaW5nLXRvcDogNHJlbTsgfVxuXG4udG91cl9fZ2FsbGVyeSB7XG4gICAgbWFyZ2luOiAzcmVtIDAgNXJlbTtcbiAgICAub3dsLWNhcm91c2VsLm93bC10aGVtZSAub3dsLWl0ZW0ge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmltYWdlLWdyaWQgeyB3aWR0aDogY2FsYygxMDAlICsgMnJlbSk7IH1cblxuLmltYWdlLWdyaWRfX2l0ZW0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tbm8tdG91Y2gob3BhY2l0eSAkYW5pbWF0aW9uLXNwZWVkLWZhc3QgJGVhc2luZy1kZWZhdWx0KTtcbiAgICAmOmhvdmVyIHsgb3BhY2l0eTogLjY7IH1cbn1cblxuLyogRGVza3RvcCAvIFRhYmxldCBMYW5kc2NhcGUgKExhcmdlKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIC50LXRvdXIgLnRhYmJlZF9fcGFuZWwtLWRhdGUgLmJ1dHRvbi1vdXRsaW5lIHsgcGFkZGluZy1sZWZ0OiA1cmVtOyB9XG4gICAgLnAtbGF0ZS1hdmFpbGFiaWxpdHkgLnRvdXJfX2hlYWRsaW5lIHsgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAudG91cl9faXRpbmVyYXJ5IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDlyZW07XG4gICAgICAgIGxpOmJlZm9yZSB7IGxlZnQ6IC05cmVtOyB9XG4gICAgfVxufVxuXG4vKiBUYWJsZXQgUG9ydHJhaXQgKE1lZGl1bSkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAudC10b3VyIHtcbiAgICAgICAgLmluZm8tYm94IGZvcm0gbGFiZWwgeyBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgICAgICAudGFiYmVkX19wYW5lbC0tZGF0ZSAuYnV0dG9uLW91dGxpbmUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudG91cl9fdGl0bGUtYmxvY2sgaDEgeyBmb250LXNpemU6IDRyZW07IH1cbiAgICAudG91ci0taW5zdGFuY2UtLWluY2x1ZGVzIHsgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxufVxuXG4vKiBQaGFibGV0L01vYmlsZSBMYW5kc2NhcGUgKFNtYWxsKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIC50b3VyX190aXRsZS1ibG9jayBoMSB7IGZvbnQtc2l6ZTogMy4ycmVtOyB9XG4gICAgLnRvdXJfX2ludHJvIHsgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAudG91cl9faGlnaGxpZ2h0cyB1bCB7IGNvbHVtbi1jb3VudDogMTsgfVxuICAgIC5pbmZvLWJveCB1bCB7IG1hcmdpbi1ib3R0b206IDJyZW07IH1cbn1cbiIsIi50b3VyX19jYWxlbmRhcl9fZmlsdGVycyB7XG4gICAgYmFja2dyb3VuZDogY29sb3IoXCJ3aWxkLXNhbmQtd2hpdGVcIik7XG4gICAgbWFyZ2luOiAwIDAgNHJlbTtcbiAgICBwYWRkaW5nOiA0cmVtIDA7XG4gICAgc2VsZWN0IHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jYWxlbmRhci0tZmlsdGVyLXNlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYWxlbmRhci0tZmlsdGVyLW1vbnRoLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJqZXdlbFwiKTtcbiAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbn1cblxuLmNhbGVuZGFyLS1maWx0ZXJfeWVhcl9hbGwuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImpld2VsXCIpO1xuICAgIGNvbG9yOiBjb2xvcihcIndoaXRlXCIpO1xufVxuXG4uY2FsZW5kYXItLXRvdXJfaW5zdGFuY2VzIHtcbiAgICBoMi5oMi0tdW5kZXJsaW5lZCB7XG4gICAgICAgIG1hcmdpbjogNHJlbSAwIDJyZW07XG4gICAgICAgICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG4gICAgfVxuICAgID4gKiB7XG4gICAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbi1zcGVlZC1mYXN0ICRlYXNpbmctZGVmYXVsdCBib3RoIHNsaWRlLWluO1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDkge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoI3skaX0pIHsgYW5pbWF0aW9uLWRlbGF5OiAoI3skaSo1MG1zfSk7IH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogUGhhYmxldC9Nb2JpbGUgTGFuZHNjYXBlIChTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAudG91cl9fY2FsZW5kYXJfX2ZpbHRlcnMge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgICAgICNzZWFyY2hfcmVnaW9uIHsgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIH1cbn1cbiIsIi50LW5ld3MsIC50LW5ld3MtaW5kZXgge1xuICAgIGgxIHsgY29sb3I6IGNvbG9yKFwiamV3ZWxcIik7IH1cbn1cblxuLnQtbmV3cy1pbmRleCAubW9yZV9jYXJkc190YXJnZXQgPiAqIHtcbiAgICBhbmltYXRpb246ICRhbmltYXRpb24tc3BlZWQtZmFzdCAkZWFzaW5nLWRlZmF1bHQgYm90aCBzbGlkZS1pbjtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDQwIHtcbiAgICAgICAgJjpudGgtY2hpbGQoI3skaX0pIHsgYW5pbWF0aW9uLWRlbGF5OiAoI3skaSo1MG1zfSk7IH1cbiAgICB9XG59XG5cbi52aWV3X21vcmVfbmV3cywgLnQtbmV3c19fY29udGVudCwgLm5ld3NfaW5kZXhfY29udGVudF9ibG9jayxcbi50LW5ld3NfX3NpZGViYXIsIC50LW5ld3NfX2dhbGxlcnkge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbn1cblxuLnQtbmV3c19fc2lkZWJhciB7IGJvcmRlci1ib3R0b206IC4ycmVtIHNvbGlkIGNvbG9yKFwid2lsZC1zYW5kLXdoaXRlXCIpOyB9XG5cbi5zb2NpYWxfX3NoYXJlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBvcGFjaXR5OiAuNTQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIC5pY29uLWZhY2Vib29rLXNxdWFyZWQge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJmYWNlYm9va1wiKTtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgIH1cbn1cblxuLm5ld3MsIC5yZWxhdGVkIHtcbiAgICBwYWRkaW5nOiAzcmVtIDA7XG4gICAgaDIgeyBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgICAuY2FyZHMgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG59XG5cbi8qIFRhYmxldCBQb3J0cmFpdCAoTWVkaXVtKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIC50LW5ld3NfX3NpZGViYXIsIC50LW5ld3NfX2NvbnRlbnQgeyBtYXJnaW4tdG9wOiAwOyB9XG59XG5cbi8qIFBoYWJsZXQvTW9iaWxlIExhbmRzY2FwZSAoU21hbGwpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLnNvY2lhbF9fc2hhcmUgLnN1YnRpdGxlIHsgZm9udC1zaXplOiAxLjZyZW07IH1cbn1cbiIsIi50LWxlYWRlci1pbmRleCwgLnQtbGVhZGVyIHtcbiAgICAubWFpbiwgbWFpbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMXJlbTtcbiAgICAgICAgaDIgeyBtYXJnaW46IDRyZW0gMCAzcmVtOyB9XG4gICAgfVxufVxuXG4ubGVhZGVyLS1pbnN0YW5jZXMtbmFtZXtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmxlYWRlci0tZGVzY3JpcHRpb24sIC5sZWFkZXItLWltYWdle1xuICAgIG1hcmdpbi10b3A6NHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOjRyZW07XG59XG4ubGVhZGVyLS1pbnN0YW5jZXN7XG4gICAgbWFyZ2luLXRvcDo0cmVtO1xuICAgIG1hcmdpbi1ib3R0b206NHJlbTtcbn1cblxuLyogVGFibGV0IFBvcnRyYWl0IChNZWRpdW0pIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLnQtbGVhZGVyLWluZGV4LCAudC1sZWFkZXIge1xuICAgICAgICAubWFpbiwgbWFpbiB7IHBhZGRpbmctdG9wOiAyMHJlbTsgfVxuICAgIH1cbn1cblxuLyogUGhhYmxldC9Nb2JpbGUgTGFuZHNjYXBlIChTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAudC1sZWFkZXItaW5kZXgsIC50LWxlYWRlciB7XG4gICAgICAgIC5tYWluLCBtYWluIHsgcGFkZGluZy10b3A6IDE2cmVtOyB9XG4gICAgfVxuICAgIC50LWxlYWRlciAubWFpbiAucmljaC10ZXh0IHsgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxufSAiLCIudC1jb250YWN0IHtcbiAgICAubWFpbiwgbWFpbiB7IHBhZGRpbmctdG9wOiAyMXJlbTsgfVxufVxuXG4uY29udGFjdC0tZm9ybS0taGlkZGVuLWZpZWxkc2V0IHsgZGlzcGxheTogbm9uZTsgfVxuXG4uZmllbGQtLWVycm9yIHsgY29sb3I6IGNvbG9yKFwiamV3ZWxcIik7IH1cblxuLmVycm9ybGlzdCB7XG4gICAgYmFja2dyb3VuZDogY29sb3IoXCJqZXdlbFwiKTtcbiAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IC0zcmVtIDAgM3JlbTtcbiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICAgIGxpIHsgbWFyZ2luOiAuNXJlbTsgfVxufVxuXG4vKiBUYWJsZXQgUG9ydHJhaXQgKE1lZGl1bSkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAudC1jb250YWN0IHtcbiAgICAgICAgLm1haW4sIG1haW4geyBwYWRkaW5nLXRvcDogMjByZW07IH1cbiAgICB9XG59XG5cbi8qIFBoYWJsZXQvTW9iaWxlIExhbmRzY2FwZSAoU21hbGwpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLnQtY29udGFjdCB7XG4gICAgICAgIC5tYWluLCBtYWluIHsgcGFkZGluZy10b3A6IDE2cmVtOyB9XG4gICAgfVxufSIsIi50LXRvdXItaW5kZXgge1xuICAgIC5tYWluLCBtYWluIHsgcGFkZGluZy10b3A6IDIxcmVtOyB9XG4gICAgaDEgeyBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG4gICAgLmFsZXJ0LXdhcm5pbmcgeyBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG59XG5cbi50LWJpcmR3YWxrLWluZGV4IHtcbiAgICAudG91cl9fdGl0bGUtYmxvY2sgaDEgeyBjb2xvcjogY29sb3IoXCJxdWlja3NhbmRcIik7IH1cbiAgICAubWFpbiB7XG4gICAgICAgIGgzOm5vdCgudG91cl9fY291bnRyeSkgeyBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gICAgICAgIGgyLCAuYWxlcnQgeyBtYXJnaW46IDRyZW0gMCAzcmVtOyB9XG4gICAgfVxufVxuXG4udC1iaXJkd2FsayAudGFiLS1kYXRlIC5kYXRlX19vdXQgeyBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cblxuLm1hcF9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDY0LjclO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4jd29ybGRfbWFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGF0aCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJi5hY3RpdmUgeyBiYWNrZ3JvdW5kOiByZWQ7IH1cbiAgICB9XG59XG5cbi5tYXBfX3Rvb2x0aXAge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICB6LWluZGV4OiB6aW5kZXgoXCJzZWNvbmRfZmxvb3JcIik7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM0LCAzNCwgMC43NSk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJi5hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgcmdiYSgzNCwgMzQsIDM0LCAwLjc1KTtcbiAgICB9XG59XG5cbi5yZWdpb24tLXRvdXJfaW5zdGFuY2VzIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIGgyLmgyLS11bmRlcmxpbmVkIHtcbiAgICAgICAgbWFyZ2luOiA0cmVtIDAgMnJlbTtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbiAgICB9XG4gICAgPiAqIHtcbiAgICAgICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uLXNwZWVkLWZhc3QgJGVhc2luZy1kZWZhdWx0IGJvdGggc2xpZGUtaW47XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgjeyRpfSkgeyBhbmltYXRpb24tZGVsYXk6ICgjeyRpKjUwbXN9KTsgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBUYWJsZXQgUG9ydHJhaXQgKE1lZGl1bSkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAudC10b3VyLWluZGV4IHtcbiAgICAgICAgLm1haW4sIG1haW4geyBwYWRkaW5nLXRvcDogMjByZW07IH1cbiAgICB9XG59XG5cbi8qIFBoYWJsZXQvTW9iaWxlIExhbmRzY2FwZSAoU21hbGwpIHNjcmVlbiBzaXplcyAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLnQtdG91ci1pbmRleCB7XG4gICAgICAgIC5tYWluLCBtYWluIHsgcGFkZGluZy10b3A6IDE2cmVtOyB9XG4gICAgfVxufVxuIiwiLnQtYm9va2luZyB7XG4gICAgLm1haW4sIG1haW4ge1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDByZW0pO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjFyZW07XG4gICAgICAgIGgxIHsgbWFyZ2luLWJvdHRvbTogNHJlbTsgfVxuICAgICAgICAuaDItLXVuZGVybGluZWQge1xuICAgICAgICAgICAgbWFyZ2luOiAycmVtIDAgNXJlbTtcbiAgICAgICAgICAgICYuYi1zYW5kc3RvbmUtYnJvd24tMTIgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCB0ZXh0YXJlYSwgc2VsZWN0IHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAuZXJyb3JsaXN0IHsgbWFyZ2luOiAwOyB9XG4gICAgfVxufVxuXG4udC1ib29raW5nLWRldGFpbHMgLmluZm8tYm94IHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAycmVtIDJyZW07XG59XG5cbi50LWJvb2tpbmctY29udGludWUgLm1haW4gYnV0dG9uIHsgbWFyZ2luOiAzcmVtIDNyZW0gMCAwOyB9XG5cbi50LWJvb2tpbmdfX3Byb2dyZXNzIHtcbiAgICBib3JkZXItdG9wOiAuMXJlbSBzb2xpZCBjb2xvcihcImpld2VsXCIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJzYW5kc3RvbmUtYnJvd25cIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcIndoaXRlXCIpO1xuICAgICAgICAgICAgYm9yZGVyOiAuMnJlbSBzb2xpZCB3aGl0ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIC4xcmVtIGNvbG9yKFwiamV3ZWxcIik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTIuNXJlbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcImpld2VsXCIpO1xuICAgICAgICAgICAgJjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiamV3ZWxcIik7IH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnQtYm9va2luZy1kZXRhaWxzLWNvbmZpcm0sIC50LWJvb2tpbmctc3RhdHVzIHtcbiAgICAuY2FyZC0tZnVsbC13aWR0aCB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmNhcmQtLWZ1bGwtd2lkdGhfX2dyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IC43cmVtIDExNi4zcmVtO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDJyZW0gNi43NXJlbSA2Ljc1cmVtIDJyZW07XG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMiAvIHNwYW4gMTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYi13aWxkLXNhbmQtd2hpdGUge1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDA7XG4gICAgICAgIC5idXR0b24tYXJyb3cgeyBtYXJnaW4tcmlnaHQ6IDJyZW07IH1cbiAgICAgICAgdWwubGlzdC1pbmxpbmUgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udC1ib29raW5nLWRldGFpbHMtY29uZmlybSB7XG4gICAgLnBhbmVsLXRvcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIC5tZXNzYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCA0cmVtO1xuICAgICAgICAgICAgcDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wYW5lbC1ib3R0b20geyBtYXJnaW4tdG9wOiAycmVtOyB9XG59XG5cbi50LWJvb2tpbmctc3RhdHVzIHtcbiAgICAuaDItLXVuZGVybGluZWQuYi1zYW5kc3RvbmUtYnJvd24tMTIgeyBtYXJnaW46IDAgMCAycmVtICFpbXBvcnRhbnQ7IH1cbiAgICBwLmxhcmdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgIH1cbn1cblxuLm1lc3NhZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YmVmb3JlLCBsYWJlbCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtLjNyZW07XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiamV3ZWxcIik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnbGltb3NhJztcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgfVxufVxuXG4ubWVzc2FnZS0taW5mbzpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBkJzsgfVxuLm1lc3NhZ2UtLXdhcm5pbmc6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwYyc7IH1cblxuLyogRGVza3RvcC9UYWJsZXQgTGFuZHNjYXBlIChMYXJnZSkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAudC1ib29raW5nLWRldGFpbHMtY29uZmlybSAuY2FyZC0tZnVsbC13aWR0aF9fZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogLjdyZW0gOTIuM3JlbTsgfVxufVxuXG4vKiBUYWJsZXQgUG9ydHJhaXQgKE1lZGl1bSkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAudC1ib29raW5nIHtcbiAgICAgICAgLm1haW4sIG1haW4ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcmVtO1xuICAgICAgICAgICAgaDEgeyBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnQtYm9va2luZ19fcHJvZ3Jlc3MgeyBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG4gICAgLnQtYm9va2luZy1kZXRhaWxzLWNvbmZpcm0ge1xuICAgICAgICAuY2FyZC0tZnVsbC13aWR0aF9fZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogLjdyZW0gNjguM3JlbTsgfVxuICAgICAgICAuYi13aWxkLXNhbmQtd2hpdGUgLmJ1dHRvbi1hcnJvdyB7IG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgIH1cbn1cblxuLyogUGhhYmxldC9Nb2JpbGUgTGFuZHNjYXBlIChTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAudC1ib29raW5nIHtcbiAgICAgICAgLm1haW4sIG1haW4ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE2cmVtO1xuICAgICAgICAgICAgaDEgeyBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgICAgICAgICAuaDItLXVuZGVybGluZWQgeyBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnQtYm9va2luZy1kZXRhaWxzLWNvbmZpcm0ge1xuICAgICAgICAuY2FyZC0tZnVsbC13aWR0aF9fZ3JpZCB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IC43cmVtIDUwLjNyZW07XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDJyZW0gMTByZW0gMTByZW0gMnJlbTtcbiAgICAgICAgICAgIHAudG91cl9fdGl0bGUgeyBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnBhbmVsLXRvcCAubWVzc2FnZSB7IG1hcmdpbjogMCAycmVtOyB9XG4gICAgfVxufVxuXG4vKiBNb2JpbGUgUG9ydHJhaXQgKEV4dHJhIFNtYWxsKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgIC50LWJvb2tpbmcge1xuICAgICAgICAubWFpbiwgbWFpbiB7XG4gICAgICAgICAgICBmb3JtIC5idXR0b24tYXJyb3cgeyBtYXJnaW4tcmlnaHQ6IDJyZW07IH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudC1ib29raW5nLWRldGFpbHMgLmluZm8tYm94IC5idXR0b24geyBmb250LXNpemU6IDFyZW07IH1cbiAgICAudC1ib29raW5nX19wcm9ncmVzcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgIHNwYW4geyBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgIH1cbiAgICAudC1ib29raW5nLWRldGFpbHMtY29uZmlybSB7XG4gICAgICAgIC5jYXJkLS1mdWxsLXdpZHRoX19ncmlkIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogLjdyZW0gMjcuM3JlbTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMnJlbSAxNHJlbSAxNHJlbSAycmVtO1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgJi50b3VyX190aXRsZSwgJi5jYXJkX19kYXRlX19pbiB7IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5iLXdpbGQtc2FuZC13aGl0ZSB7IHBhZGRpbmc6IDNyZW0gMS41cmVtIDEuNXJlbTsgfVxuICAgIH1cbiAgICAubWVzc2FnZSB7IG1hcmdpbi1ib3R0b206IDNyZW07IH1cbiAgICAudC1ib29raW5nLXN0YXR1cyAuYi13aWxkLXNhbmQtd2hpdGUge1xuICAgICAgICBwYWRkaW5nOiAzcmVtIDEuNXJlbTtcbiAgICAgICAgcC5sYXJnZSB7IHBhZGRpbmctbGVmdDogMS41cmVtOyB9XG4gICAgfVxufSIsIi50LXNlYXJjaCB7XG4gICAgLm1haW4sIG1haW4ge1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDByZW0pO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjFyZW07XG4gICAgICAgIC5pbnB1dF9faWNvbmlzZWQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDNyZW0gMCA0cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBUYWJsZXQgUG9ydHJhaXQgKE1lZGl1bSkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAudC1zZWFyY2gge1xuICAgICAgICAubWFpbiwgbWFpbiB7IHBhZGRpbmctdG9wOiAyMHJlbTsgfVxuICAgIH1cbn1cblxuLyogUGhhYmxldC9Nb2JpbGUgTGFuZHNjYXBlIChTbWFsbCkgc2NyZWVuIHNpemVzICovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAudC1zZWFyY2gge1xuICAgICAgICAubWFpbiwgbWFpbiB7IHBhZGRpbmctdG9wOiAxNnJlbTsgfVxuICAgIH1cbn0iLCIudC1jbXMge1xuICAgIC5tYWluLCBtYWluIHsgcGFkZGluZy10b3A6IDIxcmVtOyB9XG4gICAgaDIgeyBtYXJnaW4tdG9wOiA0cmVtOyB9XG4gICAgaDMgeyBtYXJnaW4tdG9wOiAzcmVtOyB9XG59XG5cbi8qIFRhYmxldCBQb3J0cmFpdCAoTWVkaXVtKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIC50LWNtcyB7XG4gICAgICAgIC5tYWluLCBtYWluIHsgcGFkZGluZy10b3A6IDIwcmVtOyB9XG4gICAgfVxufVxuXG4vKiBQaGFibGV0L01vYmlsZSBMYW5kc2NhcGUgKFNtYWxsKSBzY3JlZW4gc2l6ZXMgKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIC50LWNtcyB7XG4gICAgICAgIC5tYWluLCBtYWluIHsgcGFkZGluZy10b3A6IDE2cmVtOyB9XG4gICAgfVxufSIsIkBrZXlmcmFtZXMgc2xpZGUtaW4ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHB4KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59IiwiKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvKiBCbGFjayBwcmludHMgZmFzdGVyOiBodHRwOi8vd3d3LnNhbmJlaWppLmNvbS9hcmNoaXZlcy85NTMgKi9cbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYSwgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG5cbmFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG5cbi8qXG4gKiBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICogb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICovXG5hW2hyZWZePVwiI1wiXTphZnRlcixcbmFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IH1cblxucHJlLCBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbn1cblxuLypcbiAqIFByaW50aW5nIFRhYmxlczpcbiAqIGh0dHA6Ly9jc3MtZGlzY3Vzcy5pbmN1dGlvLmNvbS93aWtpL1ByaW50aW5nX1RhYmxlc1xuICovXG50aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG50ciwgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbmltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbnAsIGgyLCBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG59XG5cbmgyLCBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbi5uYXZiYXIgeyBkaXNwbGF5OiBub25lOyB9IiwiLmItYWZyaWNhLW1pZGRsZS1lYXN0LFxuLmItc291dGhlcm4tZXVyb3BlIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJidXR0ZXJjdXAteWVsbG93XCIpOyB9XG5cbi5iLWFzaWEtYXVzdHJhbGFzaWEgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImVtZXJhbGRcIik7IH1cblxuLmItYnJpdGFpbi1pcmVsYW5kIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJkYW51YmUtYmx1ZVwiKTsgfVxuXG4uYi1jZW50cmFsLXNvdXRoLWFtZXJpY2EgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcIm9sZC1sYXZlbmRhclwiKTsgfVxuXG4uYi1ub3J0aC1hbWVyaWNhIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJzYW4tbWFyaW5vLWJsdWVcIik7IH1cblxuLmItbm9ydGhlcm4tZWFzdGVybi1ldXJvcGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInRyZW5keS1ncmVlblwiKTsgfVxuXG4uYi11ay1ndWlkZWQtYmlyZHdhbGtzIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJxdWlja3NhbmRcIik7IH1cblxuLm10LTAgeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5tdC0yIHsgbWFyZ2luLXRvcDogMnJlbTsgfVxuLm10LTUgeyBtYXJnaW4tdG9wOiA1cmVtOyB9XG4ubWItMCB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLm1iLTIgeyBtYXJnaW4tYm90dG9tOiAycmVtIDsgfVxuLm1iLTUgeyBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG5cbi5wci0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xufVxuXG4ucGwtMiB7IHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5mb250LWxnIHtcbiAgICBmb250LXNpemU6IDJyZW07XG59XG5cbi5idXR0b24tcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogM3JlbTtcbn1cblxuLmJ1dHRvbi1yb3VuZGVkLXRsLWJsIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcmVtIDAgMCAzcmVtO1xufVxuXG4ubGluZS1jbGFtcCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbn1cblxuLnRydW5jYXRlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cblxuLypcbiAgICBXb3JkUHJlc3NcbiovXG5cbi53cC1ibG9jay1zZWFyY2hfX2lucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiBpbml0aWFsICFpbXBvcnRhbnQ7XG59XG5cbi53cC1lbGVtZW50LWJ1dHRvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG59XG5cbi53cC1ibG9jay1pbWFnZS5zaXplLWZ1bGwgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwIDAgMWVtIDFlbTtcbn1cblxuLmFsaWdubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDFlbSAxZW0gMDtcbn1cblxuLmFsaWduY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIC5hbGlnbnJpZ2h0LCAuYWxpZ25sZWZ0LCAuYWxpZ25jZW50ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgfVxufVxuXG5cbi8qXG4gICAgR3Jhdml0eSBGb3Jtc1xuKi9cblxuLmdmaWVsZC1jaG9pY2UtaW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IGluaXRpYWwgIWltcG9ydGFudDtcbn1cblxuLmdmaWVsZF9jb25zZW50X2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5nZm9ybV9idXR0b24uYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuIiwiLy8gQWxpZ25cbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4uYWxpZ24tdG9wIHsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuLmFsaWduLWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbi5hbGlnbi1taWRkbGUgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4uYWxpZ24tYmFzZWxpbmUgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiIsIi8vIENsZWFyZml4XG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuLy8gdXNlZCB0byBjbGVhciBhIGZsb2F0aW5nIGVsZW1lbnRcbi8vIC4uLlxuLy8gVXNhZ2U6XG4vLyBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vIC4uLlxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vIENvbG9yXG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuLy8gY3JlYXRlcyBjb2xvciBoZWxwZXJzIGZvciBlYWNoIGNvbG9yXG4vLyAgICAgIC5iLXByaW1hcnkgey4uLn1cbi8vICAgICAgLmMtcHJpbWFyeSB7Li4ufVxuQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkY29sb3JzIHtcbiAgLmItI3skbmFtZX0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC5jLSN7JG5hbWV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG4iLCIvLyBDdXJzb3Jcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4uZGlzYWJsZWQgeyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4ubW92ZSB7IGN1cnNvcjogbW92ZTsgfVxuLnBvaW50ZXIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbiIsIi8vIERpc3BsYXlcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4uZC1ibG9jayB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblt4LWNsb2FrXSxcbi5kLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgIC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG59XG5cbi5kLWZsZXggeyBkaXNwbGF5OiBmbGV4OyB9XG4uZC1ncmlkIHsgZGlzcGxheTogZ3JpZDsgfVxuLmQtaW5saW5lIHsgZGlzcGxheTogaW5saW5lOyB9XG4uZC1pbmxpbmUtYmxvY2sgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbi5kLWlubGluZS1mbGV4IHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbi5kLXRhYmxlIHsgZGlzcGxheTogdGFibGU7IH1cbi5kLXRhYmxlLWNlbGwgeyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4iLCIvLyBGbGV4XG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuLy8gZGlyZWN0aW9uc1xuLmZsZXgtcm93IHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuLmZsZXgtY29sdW1uIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4vLyByZXZlcnNlIGRpcmVjdGlvbnNcbi5mbGV4LXJvdy1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4uZmxleC1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG4vLyB1c2UgaW4gY29uanVuY3Rpb24gd2l0aCAuZC1mbGV4IHRvIGp1c3RpZnkgdGhlIGl0ZW1zIHdpdGhpbiB0aGUgY29udGFpbmVyXG4uanVzdGlmeS1jb250ZW50LXN0YXJ0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4uanVzdGlmeS1jb250ZW50LWVuZCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbi5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuLmp1c3RpZnktY29udGVudC1hcm91bmQgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vLyB1c2UgaW4gY29uanVuY3Rpb24gd2l0aCAuZC1mbGV4IHRvIGFsaWduIHRoZSBpdGVtcyB3aXRoaW4gdGhlIGNvbnRhaW5lclxuLmFsaWduLWl0ZW1zLXN0YXJ0IHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbi5hbGlnbi1pdGVtcy1lbmQgeyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbi5hbGlnbi1pdGVtcy1jZW50ZXIgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4uYWxpZ24taXRlbXMtYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbi5hbGlnbi1pdGVtcy1zdHJldGNoIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLy8gdXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLmQtZmxleCB0byBhcHBseSB3cmFwcGluZyBvZiB0aGUgaXRlbXMgd2l0aGluIHRoZSBjb250YWluZXJcbi5mbGV4LW5vd3JhcCB7IGZsZXgtd3JhcDogbm93cmFwOyB9XG4uZmxleC13cmFwIHsgZmxleC13cmFwOiB3cmFwOyB9XG4uZmxleC13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsgfVxuXG4vLyB1c2UgaW4gY29uanVuY3Rpb24gd2l0aCAuZC1mbGV4IG9uIHRoZSBwYXJlbnQgY29udGFpbmVyIHRvIGFsaWduIGVhY2ggaXRlbSBpbmRpdmlkdWFsbHlcbi5hbGlnbi1zZWxmLXN0YXJ0IHsgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuLmFsaWduLXNlbGYtZW5kIHsgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbi5hbGlnbi1zZWxmLWNlbnRlciB7IGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuLmFsaWduLXNlbGYtYmFzZWxpbmUgeyBhbGlnbi1zZWxmOiBiYXNlbGluZTsgfVxuLmFsaWduLXNlbGYtc3RyZXRjaCB7IGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cbiIsIi8vIEZsb2F0XG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuLnB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH0gLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbi5wdWxsLXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH0gLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiIsIi8vIEltYWdlXG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuLmltZy1mbHVpZCB7IEBpbmNsdWRlIGltZy1mbHVpZDsgfVxuIiwiLy8gSW1hZ2Vcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4vLyBiYXNlIGltYWdlIGZsdWlkIG1peGluXG4vLyAuLi5cbi8vIFVzYWdlOlxuLy8gQGluY2x1ZGUgaW1nLWZsdWlkO1xuLy8gLi4uXG5AbWl4aW4gaW1nLWZsdWlkKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAxcHg7XG59XG4iLCIvLyBMaXN0XG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuLmxpc3Qtc3R5bGUtbm9uZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbn1cblxuLmxpc3Qtc3R5bGUtcmVzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbn1cbiIsIi8vIE92ZXJmbG93XG4vLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuLnNjcm9sbC14IHsgb3ZlcmZsb3cteDogYXV0bzsgfVxuLm5vc2Nyb2xsIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuIiwiLy8gUG9zaXRpb25cbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4uZml4ZWQgeyBwb3NpdGlvbjogZml4ZWQ7IH1cbi5yZWxhdGl2ZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuLmFic29sdXRlIHsgcG9zaXRpb246IGFic29sdXRlOyB9XG4iLCIvLyBwcmludFxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbkBtZWRpYSBwcmludCB7XG4gIC5uby1wcmludCxcbiAgLm5vLXByaW50ICoge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgfVxufVxuIiwiLy8gd2lkdGggYW5kIGhlaWdodFxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbi5mdWxsLWhlaWdodCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmZ1bGwtdmlzdWFsLWhlaWdodCB7XG4gIGhlaWdodDogMTAwdmg7XG59XG5cbi5mdWxsLXdpZHRoIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5tYXgtZnVsbC13aWR0aCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbiIsIi8vIFNwYWNpbmdcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4ubWFyZ2luLXplcm8geyBtYXJnaW46IDA7IH1cbi5tLWF1dG8geyBtYXJnaW46IGF1dG87IH1cbi5tdC1hdXRvIHsgbWFyZ2luLXRvcDogYXV0bzsgfVxuLm1yLWF1dG8geyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbi5tYi1hdXRvIHsgbWFyZ2luLWJvdHRvbTogYXV0bzsgfVxuLm1sLWF1dG8geyBtYXJnaW4tbGVmdDogYXV0bzsgfVxuLnB1c2gtYXV0byB7IEBpbmNsdWRlIHB1c2gtLWF1dG87IH1cbiIsIi8vIFB1c2ggQXV0b1xuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbi8vIHVzZWZ1bCBmb3IgY2VudHJhbGx5IGFsaWduaW5nIGFsIGVsZW1lbnRcbi8vIHRob3VnaCB0aGUgbWFyZ2luIG1peGluIGNhbiBkbyB0aGUgc2FtZSB0aGluZy5cbi8vIC4uLlxuLy8gVXNhZ2U6XG4vLyBAaW5jbHVkZSBwdXNoLS1hdXRvO1xuLy8gLi4uXG5AbWl4aW4gcHVzaC0tYXV0byB7XG4gIG1hcmdpbjoge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vIFRleHRcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4udGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuLnRleHQtcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLnRleHQtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1qdXN0IHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG4uc3Ryb25nIHsgZm9udC13ZWlnaHQ6ICRzdHJvbmctZm9udC13ZWlnaHQ7IH1cbi5sZWFkIHsgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0OyB9XG4ubXV0ZWQgeyBvcGFjaXR5OiAkbXV0ZWQtb3BhY2l0eTsgfVxuLm5vd3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbi5zbWFsbCB7IGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTsgfVxuLnVwcGVyY2FzZSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRleHQtc2hhZG93IHsgdGV4dC1zaGFkb3c6IDAgMnB4IDRweCByZ2IoMCAwIDAgLyA1MCUpOyB9XG4iLCIvLyBUcmFuc2Zvcm1cbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4uZmxpcC14IHsgQGluY2x1ZGUgZmxpcCgkeDogdHJ1ZSk7IH1cbi5mbGlwLXkgeyBAaW5jbHVkZSBmbGlwKCR5OiB0cnVlKTsgfVxuLmZsaXAtYm90aCB7IEBpbmNsdWRlIGZsaXAoJHg6IHRydWUsICR5OiB0cnVlKTsgfVxuIiwiLy8gRmxpcFxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbi8vIGZsaXAgYW4gZWxlbWVudCBvbiBpdHMgYXhpc1xuLy8gLi4uXG4vLyBVc2FnZTpcbi8vIGhvcml6b250YWxseSBvbmx5OlxuLy8gQGluY2x1ZGUgZmxpcCh0cnVlLCBmYWxzZSk7XG4vLyB2ZXJ0aWNhbGx5IG9ubHk6XG4vLyBAaW5jbHVkZSBmbGlwKGZhbHNlLCB0cnVlKTtcbi8vIGhvcml6b250YWxseSBhbmQgdmVydGljYWxseTpcbi8vIEBpbmNsdWRlIGZsaXAodHJ1ZSwgdHJ1ZSk7XG4vLyAuLi5cbkBtaXhpbiBmbGlwKCR4OiBmYWxzZSwgJHk6IGZhbHNlKSB7XG4gICRzY2FsZS14OiAxO1xuICAkc2NhbGUteTogMTtcblxuICBAaWYgJHgge1xuICAgICRzY2FsZS14OiAtMTtcbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgJHNjYWxlLXk6IC0xO1xuICB9XG5cbiAgdHJhbnNmb3JtOiBzY2FsZSgkc2NhbGUteCwgJHNjYWxlLXkpO1xufVxuIiwiLy8gVHJhbnNpdGlvblxuLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbi5wcmVsb2FkLXRyYW5zaXRpb25zICogeyB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIFZpc2liaWxpdHlcbi8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4vLyBjcmVhdGVzIGhpZGRlbiBoZWxwZXJzIGZvciBlYWNoIGJyZWFrcG9pbnRcbi8vICAgICAgLmhpZGRlbi1zbSB7Li4ufVxuLy8gICAgICAuaGlkZGVuLXNtLXVwIHsuLi59XG4vLyAgICAgIC5oaWRkZW4tc20tZG93biB7Li4ufVxuQGVhY2ggJGJwIGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC5oaWRkZW4tI3skYnB9LXVwIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cbiAgfVxuXG4gIC5oaWRkZW4tI3skYnB9LWRvd24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnApIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICB9XG4gIH1cblxuICAuaGlkZGVuLSN7JGJwfSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRicCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cbiAgfVxufVxuIl19 */