@import url(//fonts.googleapis.com/css?family=Libre+Franklin:400,500,800|Maven+Pro:500);
.animated {
  animation-duration: 1s;
  animation-fill-mode: both; }

.animated.infinite {
  animation-iteration-count: infinite; }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-20%, 0, 0) skew(-20deg); }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) skew(-20deg); } }

.fadeInLeft {
  animation-name: fadeInLeft; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

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

/*!
 * Bootstrap v4.0.0-beta (https://getbootstrap.com)
 * Copyright 2011-2017 The Bootstrap Authors
 * Copyright 2011-2017 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit; }

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

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

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

h4, .h4 {
  font-size: 1.5rem; }

h5, .h5 {
  font-size: 1.25rem; }

h6, .h6 {
  font-size: 1rem; }

.lead {
  font-size: 1.25rem;
  font-weight: 300; }

.display-1 {
  font-size: 6rem;
  font-weight: 300;
  line-height: 1.1; }

.display-2 {
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1.1; }

.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.1; }

.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.1; }

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1); }

small,
.small {
  font-size: 80%;
  font-weight: normal; }

mark,
.mark {
  padding: 0.2em;
  background-color: #fcf8e3; }

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

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

.list-inline-item {
  display: inline-block; }
  .list-inline-item:not(:last-child) {
    margin-right: 5px; }

.initialism {
  font-size: 90%;
  text-transform: uppercase; }

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem; }

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: #868e96; }
  .blockquote-footer::before {
    content: "\2014 \00A0"; }

.container {
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
  width: 100%; }
  @media (min-width: 576px) {
    .container {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .container {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .container {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .container {
      max-width: 1140px; } }

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

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      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-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px; }

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

.col-auto {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  width: auto;
  max-width: none; }

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

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

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

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

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

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

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

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

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

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

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

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

.order-1 {
  -ms-flex-order: 1;
      order: 1; }

.order-2 {
  -ms-flex-order: 2;
      order: 2; }

.order-3 {
  -ms-flex-order: 3;
      order: 3; }

.order-4 {
  -ms-flex-order: 4;
      order: 4; }

.order-5 {
  -ms-flex-order: 5;
      order: 5; }

.order-6 {
  -ms-flex-order: 6;
      order: 6; }

.order-7 {
  -ms-flex-order: 7;
      order: 7; }

.order-8 {
  -ms-flex-order: 8;
      order: 8; }

.order-9 {
  -ms-flex-order: 9;
      order: 9; }

.order-10 {
  -ms-flex-order: 10;
      order: 10; }

.order-11 {
  -ms-flex-order: 11;
      order: 11; }

.order-12 {
  -ms-flex-order: 12;
      order: 12; }

@media (min-width: 576px) {
  .col-sm {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-positive: 1;
        flex-grow: 1;
    max-width: 100%; }
  .col-sm-auto {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .col-sm-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-sm-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sm-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .col-sm-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-sm-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-sm-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .col-sm-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-sm-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-sm-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .col-sm-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-sm-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-sm-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .order-sm-1 {
    -ms-flex-order: 1;
        order: 1; }
  .order-sm-2 {
    -ms-flex-order: 2;
        order: 2; }
  .order-sm-3 {
    -ms-flex-order: 3;
        order: 3; }
  .order-sm-4 {
    -ms-flex-order: 4;
        order: 4; }
  .order-sm-5 {
    -ms-flex-order: 5;
        order: 5; }
  .order-sm-6 {
    -ms-flex-order: 6;
        order: 6; }
  .order-sm-7 {
    -ms-flex-order: 7;
        order: 7; }
  .order-sm-8 {
    -ms-flex-order: 8;
        order: 8; }
  .order-sm-9 {
    -ms-flex-order: 9;
        order: 9; }
  .order-sm-10 {
    -ms-flex-order: 10;
        order: 10; }
  .order-sm-11 {
    -ms-flex-order: 11;
        order: 11; }
  .order-sm-12 {
    -ms-flex-order: 12;
        order: 12; } }

@media (min-width: 768px) {
  .col-md {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-positive: 1;
        flex-grow: 1;
    max-width: 100%; }
  .col-md-auto {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .col-md-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-md-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-md-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .col-md-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-md-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-md-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .col-md-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-md-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-md-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .col-md-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-md-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-md-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .order-md-1 {
    -ms-flex-order: 1;
        order: 1; }
  .order-md-2 {
    -ms-flex-order: 2;
        order: 2; }
  .order-md-3 {
    -ms-flex-order: 3;
        order: 3; }
  .order-md-4 {
    -ms-flex-order: 4;
        order: 4; }
  .order-md-5 {
    -ms-flex-order: 5;
        order: 5; }
  .order-md-6 {
    -ms-flex-order: 6;
        order: 6; }
  .order-md-7 {
    -ms-flex-order: 7;
        order: 7; }
  .order-md-8 {
    -ms-flex-order: 8;
        order: 8; }
  .order-md-9 {
    -ms-flex-order: 9;
        order: 9; }
  .order-md-10 {
    -ms-flex-order: 10;
        order: 10; }
  .order-md-11 {
    -ms-flex-order: 11;
        order: 11; }
  .order-md-12 {
    -ms-flex-order: 12;
        order: 12; } }

@media (min-width: 992px) {
  .col-lg {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-positive: 1;
        flex-grow: 1;
    max-width: 100%; }
  .col-lg-auto {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .col-lg-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-lg-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-lg-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .col-lg-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-lg-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-lg-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .col-lg-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-lg-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-lg-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .col-lg-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-lg-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-lg-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .order-lg-1 {
    -ms-flex-order: 1;
        order: 1; }
  .order-lg-2 {
    -ms-flex-order: 2;
        order: 2; }
  .order-lg-3 {
    -ms-flex-order: 3;
        order: 3; }
  .order-lg-4 {
    -ms-flex-order: 4;
        order: 4; }
  .order-lg-5 {
    -ms-flex-order: 5;
        order: 5; }
  .order-lg-6 {
    -ms-flex-order: 6;
        order: 6; }
  .order-lg-7 {
    -ms-flex-order: 7;
        order: 7; }
  .order-lg-8 {
    -ms-flex-order: 8;
        order: 8; }
  .order-lg-9 {
    -ms-flex-order: 9;
        order: 9; }
  .order-lg-10 {
    -ms-flex-order: 10;
        order: 10; }
  .order-lg-11 {
    -ms-flex-order: 11;
        order: 11; }
  .order-lg-12 {
    -ms-flex-order: 12;
        order: 12; } }

@media (min-width: 1200px) {
  .col-xl {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-positive: 1;
        flex-grow: 1;
    max-width: 100%; }
  .col-xl-auto {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .col-xl-1 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-xl-2 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xl-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .col-xl-4 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-xl-5 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-xl-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .col-xl-7 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-xl-8 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-xl-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .col-xl-10 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-xl-11 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-xl-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .order-xl-1 {
    -ms-flex-order: 1;
        order: 1; }
  .order-xl-2 {
    -ms-flex-order: 2;
        order: 2; }
  .order-xl-3 {
    -ms-flex-order: 3;
        order: 3; }
  .order-xl-4 {
    -ms-flex-order: 4;
        order: 4; }
  .order-xl-5 {
    -ms-flex-order: 5;
        order: 5; }
  .order-xl-6 {
    -ms-flex-order: 6;
        order: 6; }
  .order-xl-7 {
    -ms-flex-order: 7;
        order: 7; }
  .order-xl-8 {
    -ms-flex-order: 8;
        order: 8; }
  .order-xl-9 {
    -ms-flex-order: 9;
        order: 9; }
  .order-xl-10 {
    -ms-flex-order: 10;
        order: 10; }
  .order-xl-11 {
    -ms-flex-order: 11;
        order: 11; }
  .order-xl-12 {
    -ms-flex-order: 12;
        order: 12; } }

.form-control {
  display: block;
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  line-height: 1.25;
  color: #495057;
  background-color: #ffffff;
  background-image: none;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }
  .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .form-control:focus {
    color: #495057;
    background-color: #ffffff;
    border-color: #4b68c6;
    outline: none; }
  .form-control:-ms-input-placeholder {
    color: #868e96;
    opacity: 1; }
  .form-control::placeholder {
    color: #868e96;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1; }

select.form-control:not([size]):not([multiple]) {
  height: calc(2.25rem + 2px); }

select.form-control:focus::-ms-value {
  color: #495057;
  background-color: #ffffff; }

.form-control-file,
.form-control-range {
  display: block; }

.col-form-label {
  padding-top: calc(0.5rem - 1px * 2);
  padding-bottom: calc(0.5rem - 1px * 2);
  margin-bottom: 0; }

.col-form-label-lg {
  padding-top: calc(0.5rem - 1px * 2);
  padding-bottom: calc(0.5rem - 1px * 2);
  font-size: 1.25rem; }

.col-form-label-sm {
  padding-top: calc(0.25rem - 1px * 2);
  padding-bottom: calc(0.25rem - 1px * 2);
  font-size: 0.875rem; }

.col-form-legend {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  margin-bottom: 0;
  font-size: 1rem; }

.form-control-plaintext {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  margin-bottom: 0;
  line-height: 1.25;
  border: solid transparent;
  border-width: 1px 0; }
  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0; }

.form-control-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem; }

select.form-control-sm:not([size]):not([multiple]) {
  height: calc(1.8125rem + 2px); }

.form-control-lg {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem; }

select.form-control-lg:not([size]):not([multiple]) {
  height: calc(2.3125rem + 2px); }

.form-group {
  margin-bottom: 1rem; }

.form-text {
  display: block;
  margin-top: 0.25rem; }

.form-row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px; }
  .form-row > .col,
  .form-row > [class*="col-"] {
    padding-right: 5px;
    padding-left: 5px; }

.form-check {
  position: relative;
  display: block;
  margin-bottom: 0.5rem; }
  .form-check.disabled .form-check-label {
    color: #868e96; }

.form-check-label {
  padding-left: 1.25rem;
  margin-bottom: 0; }

.form-check-input {
  position: absolute;
  margin-top: 0.25rem;
  margin-left: -1.25rem; }
  .form-check-input:only-child {
    position: static; }

.form-check-inline {
  display: inline-block; }
  .form-check-inline .form-check-label {
    vertical-align: middle; }
  .form-check-inline + .form-check-inline {
    margin-left: 0.75rem; }

.invalid-feedback {
  display: none;
  margin-top: .25rem;
  font-size: .875rem;
  color: #dc3545; }

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  width: 250px;
  padding: .5rem;
  margin-top: .1rem;
  font-size: .875rem;
  line-height: 1;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.8);
  border-radius: .2rem; }

.was-validated .form-control:valid, .form-control.is-valid, .was-validated
.custom-select:valid,
.custom-select.is-valid {
  border-color: #5f913f; }
  .was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated
  .custom-select:valid:focus,
  .custom-select.is-valid:focus {
    box-shadow: 0 0 0 0.2rem rgba(95, 145, 63, 0.25); }
  .was-validated .form-control:valid ~ .invalid-feedback,
  .was-validated .form-control:valid ~ .invalid-tooltip, .form-control.is-valid ~ .invalid-feedback,
  .form-control.is-valid ~ .invalid-tooltip, .was-validated
  .custom-select:valid ~ .invalid-feedback,
  .was-validated
  .custom-select:valid ~ .invalid-tooltip,
  .custom-select.is-valid ~ .invalid-feedback,
  .custom-select.is-valid ~ .invalid-tooltip {
    display: block; }

.was-validated .form-check-input:valid + .form-check-label, .form-check-input.is-valid + .form-check-label {
  color: #5f913f; }

.was-validated .custom-control-input:valid ~ .custom-control-indicator, .custom-control-input.is-valid ~ .custom-control-indicator {
  background-color: rgba(95, 145, 63, 0.25); }

.was-validated .custom-control-input:valid ~ .custom-control-description, .custom-control-input.is-valid ~ .custom-control-description {
  color: #5f913f; }

.was-validated .custom-file-input:valid ~ .custom-file-control, .custom-file-input.is-valid ~ .custom-file-control {
  border-color: #5f913f; }
  .was-validated .custom-file-input:valid ~ .custom-file-control::before, .custom-file-input.is-valid ~ .custom-file-control::before {
    border-color: inherit; }

.was-validated .custom-file-input:valid:focus, .custom-file-input.is-valid:focus {
  box-shadow: 0 0 0 0.2rem rgba(95, 145, 63, 0.25); }

.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated
.custom-select:invalid,
.custom-select.is-invalid {
  border-color: #dc3545; }
  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated
  .custom-select:invalid:focus,
  .custom-select.is-invalid:focus {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }
  .was-validated .form-control:invalid ~ .invalid-feedback,
  .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
  .form-control.is-invalid ~ .invalid-tooltip, .was-validated
  .custom-select:invalid ~ .invalid-feedback,
  .was-validated
  .custom-select:invalid ~ .invalid-tooltip,
  .custom-select.is-invalid ~ .invalid-feedback,
  .custom-select.is-invalid ~ .invalid-tooltip {
    display: block; }

.was-validated .form-check-input:invalid + .form-check-label, .form-check-input.is-invalid + .form-check-label {
  color: #dc3545; }

.was-validated .custom-control-input:invalid ~ .custom-control-indicator, .custom-control-input.is-invalid ~ .custom-control-indicator {
  background-color: rgba(220, 53, 69, 0.25); }

.was-validated .custom-control-input:invalid ~ .custom-control-description, .custom-control-input.is-invalid ~ .custom-control-description {
  color: #dc3545; }

.was-validated .custom-file-input:invalid ~ .custom-file-control, .custom-file-input.is-invalid ~ .custom-file-control {
  border-color: #dc3545; }
  .was-validated .custom-file-input:invalid ~ .custom-file-control::before, .custom-file-input.is-invalid ~ .custom-file-control::before {
    border-color: inherit; }

.was-validated .custom-file-input:invalid:focus, .custom-file-input.is-invalid:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

.form-inline {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -ms-flex-align: center;
      align-items: center; }
  .form-inline .form-check {
    width: 100%; }
  @media (min-width: 576px) {
    .form-inline label {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      margin-bottom: 0; }
    .form-inline .form-group {
      display: -ms-flexbox;
      display: flex;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
      -ms-flex-align: center;
          align-items: center;
      margin-bottom: 0; }
    .form-inline .form-control {
      display: inline-block;
      width: auto;
      vertical-align: middle; }
    .form-inline .form-control-plaintext {
      display: inline-block; }
    .form-inline .input-group {
      width: auto; }
    .form-inline .form-control-label {
      margin-bottom: 0;
      vertical-align: middle; }
    .form-inline .form-check {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      width: auto;
      margin-top: 0;
      margin-bottom: 0; }
    .form-inline .form-check-label {
      padding-left: 0; }
    .form-inline .form-check-input {
      position: relative;
      margin-top: 0;
      margin-right: 0.25rem;
      margin-left: 0; }
    .form-inline .custom-control {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      padding-left: 0; }
    .form-inline .custom-control-indicator {
      position: static;
      display: inline-block;
      margin-right: 0.25rem;
      vertical-align: text-bottom; }
    .form-inline .has-feedback .form-control-feedback {
      top: 0; } }

.fade {
  opacity: 0;
  transition: opacity 0.15s linear; }
  .fade.show {
    opacity: 1; }

.collapse {
  display: none; }
  .collapse.show {
    display: block; }

tr.collapse.show {
  display: table-row; }

tbody.collapse.show {
  display: table-row-group; }

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease; }

.nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }

.nav-link {
  display: block;
  padding: 0.5rem 1rem; }
  .nav-link:focus, .nav-link:hover {
    text-decoration: none; }
  .nav-link.disabled {
    color: #868e96; }

.nav-tabs {
  border-bottom: 1px solid #ddd; }
  .nav-tabs .nav-item {
    margin-bottom: -1px; }
  .nav-tabs .nav-link {
    border: 1px solid transparent;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
    .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
      border-color: #e9ecef #e9ecef #ddd; }
    .nav-tabs .nav-link.disabled {
      color: #868e96;
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active,
  .nav-tabs .nav-item.show .nav-link {
    color: #495057;
    background-color: #ffffff;
    border-color: #ddd #ddd #ffffff; }
  .nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

.nav-pills .nav-link {
  border-radius: 0.25rem; }
  .nav-pills .nav-link.active,
  .show > .nav-pills .nav-link {
    color: #ffffff;
    background-color: #23356f; }

.nav-fill .nav-item {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  text-align: center; }

.nav-justified .nav-item {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -ms-flex-positive: 1;
      flex-grow: 1;
  text-align: center; }

.tab-content > .tab-pane {
  display: none; }

.tab-content > .active {
  display: block; }

.navbar {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  padding: 0.5rem 1rem; }
  .navbar > .container,
  .navbar > .container-fluid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between; }

.navbar-brand {
  display: inline-block;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap; }
  .navbar-brand:focus, .navbar-brand:hover {
    text-decoration: none; }

.navbar-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }
  .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0; }
  .navbar-nav .dropdown-menu {
    position: static;
    float: none; }

.navbar-text {
  display: inline-block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }

.navbar-collapse {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  -ms-flex-align: center;
      align-items: center; }

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem; }
  .navbar-toggler:focus, .navbar-toggler:hover {
    text-decoration: none; }

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: no-repeat center center;
  background-size: 100% 100%; }

@media (max-width: 575px) {
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 576px) {
  .navbar-expand-sm {
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-pack: start;
        justify-content: flex-start; }
    .navbar-expand-sm .navbar-nav {
      -ms-flex-direction: row;
          flex-direction: row; }
      .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-sm .navbar-nav .dropdown-menu-right {
        right: 0;
        left: auto; }
      .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem; }
    .navbar-expand-sm > .container,
    .navbar-expand-sm > .container-fluid {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
    .navbar-expand-sm .navbar-collapse {
      display: -ms-flexbox !important;
      display: flex !important; }
    .navbar-expand-sm .navbar-toggler {
      display: none; } }

@media (max-width: 767px) {
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 768px) {
  .navbar-expand-md {
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-pack: start;
        justify-content: flex-start; }
    .navbar-expand-md .navbar-nav {
      -ms-flex-direction: row;
          flex-direction: row; }
      .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-md .navbar-nav .dropdown-menu-right {
        right: 0;
        left: auto; }
      .navbar-expand-md .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem; }
    .navbar-expand-md > .container,
    .navbar-expand-md > .container-fluid {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
    .navbar-expand-md .navbar-collapse {
      display: -ms-flexbox !important;
      display: flex !important; }
    .navbar-expand-md .navbar-toggler {
      display: none; } }

@media (max-width: 991px) {
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 992px) {
  .navbar-expand-lg {
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-pack: start;
        justify-content: flex-start; }
    .navbar-expand-lg .navbar-nav {
      -ms-flex-direction: row;
          flex-direction: row; }
      .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-lg .navbar-nav .dropdown-menu-right {
        right: 0;
        left: auto; }
      .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem; }
    .navbar-expand-lg > .container,
    .navbar-expand-lg > .container-fluid {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
    .navbar-expand-lg .navbar-collapse {
      display: -ms-flexbox !important;
      display: flex !important; }
    .navbar-expand-lg .navbar-toggler {
      display: none; } }

@media (max-width: 1199px) {
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 1200px) {
  .navbar-expand-xl {
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-pack: start;
        justify-content: flex-start; }
    .navbar-expand-xl .navbar-nav {
      -ms-flex-direction: row;
          flex-direction: row; }
      .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-xl .navbar-nav .dropdown-menu-right {
        right: 0;
        left: auto; }
      .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem; }
    .navbar-expand-xl > .container,
    .navbar-expand-xl > .container-fluid {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
    .navbar-expand-xl .navbar-collapse {
      display: -ms-flexbox !important;
      display: flex !important; }
    .navbar-expand-xl .navbar-toggler {
      display: none; } }

.navbar-expand {
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-pack: start;
      justify-content: flex-start; }
  .navbar-expand > .container,
  .navbar-expand > .container-fluid {
    padding-right: 0;
    padding-left: 0; }
  .navbar-expand .navbar-nav {
    -ms-flex-direction: row;
        flex-direction: row; }
    .navbar-expand .navbar-nav .dropdown-menu {
      position: absolute; }
    .navbar-expand .navbar-nav .dropdown-menu-right {
      right: 0;
      left: auto; }
    .navbar-expand .navbar-nav .nav-link {
      padding-right: .5rem;
      padding-left: .5rem; }
  .navbar-expand > .container,
  .navbar-expand > .container-fluid {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
  .navbar-expand .navbar-collapse {
    display: -ms-flexbox !important;
    display: flex !important; }
  .navbar-expand .navbar-toggler {
    display: none; }

.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9); }
  .navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {
    color: rgba(0, 0, 0, 0.9); }

.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.5); }
  .navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
    color: #e28431; }
  .navbar-light .navbar-nav .nav-link.disabled {
    color: rgba(0, 0, 0, 0.3); }

.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9); }

.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0.1); }

.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }

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

.navbar-dark .navbar-brand {
  color: white; }
  .navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover {
    color: white; }

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5); }
  .navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
    color: rgba(255, 255, 255, 0.75); }
  .navbar-dark .navbar-nav .nav-link.disabled {
    color: rgba(255, 255, 255, 0.25); }

.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: white; }

.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1); }

.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }

.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5); }

.modal-open {
  overflow: hidden; }

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  outline: 0; }
  .modal.fade .modal-dialog {
    transition: transform 0.3s ease-out;
    transform: translate(0, -25%); }
  .modal.show .modal-dialog {
    transform: translate(0, 0); }

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto; }

.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px; }

.modal-content {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0; }

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000; }
  .modal-backdrop.fade {
    opacity: 0; }
  .modal-backdrop.show {
    opacity: 0.5; }

.modal-header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  padding: 15px;
  border-bottom: 1px solid #e9ecef; }

.modal-title {
  margin-bottom: 0;
  line-height: 1.5; }

.modal-body {
  position: relative;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  padding: 15px; }

.modal-footer {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: end;
      justify-content: flex-end;
  padding: 15px;
  border-top: 1px solid #e9ecef; }
  .modal-footer > :not(:first-child) {
    margin-left: .25rem; }
  .modal-footer > :not(:last-child) {
    margin-right: .25rem; }

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 30px auto; }
  .modal-sm {
    max-width: 300px; } }

@media (min-width: 992px) {
  .modal-lg {
    max-width: 800px; } }

.carousel {
  position: relative; }

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden; }

.carousel-item {
  position: relative;
  display: none;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
  transition: transform 0.6s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  perspective: 1000px; }

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block; }

.carousel-item-next,
.carousel-item-prev {
  position: absolute;
  top: 0; }

.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
  transform: translateX(0); }
  @supports (transform-style: preserve-3d) {
    .carousel-item-next.carousel-item-left,
    .carousel-item-prev.carousel-item-right {
      transform: translate3d(0, 0, 0); } }

.carousel-item-next,
.active.carousel-item-right {
  transform: translateX(100%); }
  @supports (transform-style: preserve-3d) {
    .carousel-item-next,
    .active.carousel-item-right {
      transform: translate3d(100%, 0, 0); } }

.carousel-item-prev,
.active.carousel-item-left {
  transform: translateX(-100%); }
  @supports (transform-style: preserve-3d) {
    .carousel-item-prev,
    .active.carousel-item-left {
      transform: translate3d(-100%, 0, 0); } }

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  width: 15%;
  color: #ffffff;
  text-align: center;
  opacity: 0.5; }
  .carousel-control-prev:focus, .carousel-control-prev:hover,
  .carousel-control-next:focus,
  .carousel-control-next:hover {
    color: #ffffff;
    text-decoration: none;
    outline: 0;
    opacity: .9; }

.carousel-control-prev {
  left: 0; }

.carousel-control-next {
  right: 0; }

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: transparent no-repeat center center;
  background-size: 100% 100%; }

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); }

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); }

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  z-index: 15;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none; }
  .carousel-indicators li {
    position: relative;
    -ms-flex: 0 1 auto;
        flex: 0 1 auto;
    width: 30px;
    height: 3px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    background-color: rgba(255, 255, 255, 0.5); }
    .carousel-indicators li::before {
      position: absolute;
      top: -10px;
      left: 0;
      display: inline-block;
      width: 100%;
      height: 10px;
      content: ""; }
    .carousel-indicators li::after {
      position: absolute;
      bottom: -10px;
      left: 0;
      display: inline-block;
      width: 100%;
      height: 10px;
      content: ""; }
  .carousel-indicators .active {
    background-color: #ffffff; }

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #ffffff;
  text-align: center; }

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

.align-top {
  vertical-align: top !important; }

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

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

.align-text-bottom {
  vertical-align: text-bottom !important; }

.align-text-top {
  vertical-align: text-top !important; }

.bg-primary {
  background-color: #23356f !important; }

a.bg-primary:focus, a.bg-primary:hover {
  background-color: #172248 !important; }

.bg-secondary {
  background-color: #868e96 !important; }

a.bg-secondary:focus, a.bg-secondary:hover {
  background-color: #6c757d !important; }

.bg-success {
  background-color: #5f913f !important; }

a.bg-success:focus, a.bg-success:hover {
  background-color: #486d30 !important; }

.bg-info {
  background-color: #17a2b8 !important; }

a.bg-info:focus, a.bg-info:hover {
  background-color: #117a8b !important; }

.bg-warning {
  background-color: #ffc107 !important; }

a.bg-warning:focus, a.bg-warning:hover {
  background-color: #d39e00 !important; }

.bg-danger {
  background-color: #dc3545 !important; }

a.bg-danger:focus, a.bg-danger:hover {
  background-color: #bd2130 !important; }

.bg-light {
  background-color: #f8f9fa !important; }

a.bg-light:focus, a.bg-light:hover {
  background-color: #dae0e5 !important; }

.bg-dark {
  background-color: #343a40 !important; }

a.bg-dark:focus, a.bg-dark:hover {
  background-color: #1d2124 !important; }

.bg-white {
  background-color: #ffffff !important; }

.bg-transparent {
  background-color: transparent !important; }

.border {
  border: 1px solid #e9ecef !important; }

.border-0 {
  border: 0 !important; }

.border-top-0 {
  border-top: 0 !important; }

.border-right-0 {
  border-right: 0 !important; }

.border-bottom-0 {
  border-bottom: 0 !important; }

.border-left-0 {
  border-left: 0 !important; }

.border-primary {
  border-color: #23356f !important; }

.border-secondary {
  border-color: #868e96 !important; }

.border-success {
  border-color: #5f913f !important; }

.border-info {
  border-color: #17a2b8 !important; }

.border-warning {
  border-color: #ffc107 !important; }

.border-danger {
  border-color: #dc3545 !important; }

.border-light {
  border-color: #f8f9fa !important; }

.border-dark {
  border-color: #343a40 !important; }

.border-white {
  border-color: #ffffff !important; }

.rounded {
  border-radius: 0.25rem !important; }

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important; }

.rounded-right {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important; }

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important; }

.rounded-left {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important; }

.rounded-circle {
  border-radius: 50%; }

.rounded-0 {
  border-radius: 0; }

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

.d-none {
  display: none !important; }

.d-inline {
  display: inline !important; }

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

.d-block {
  display: block !important; }

.d-table {
  display: table !important; }

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

.d-flex {
  display: -ms-flexbox !important;
  display: flex !important; }

.d-inline-flex {
  display: -ms-inline-flexbox !important;
  display: inline-flex !important; }

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important; }
  .d-sm-inline {
    display: inline !important; }
  .d-sm-inline-block {
    display: inline-block !important; }
  .d-sm-block {
    display: block !important; }
  .d-sm-table {
    display: table !important; }
  .d-sm-table-cell {
    display: table-cell !important; }
  .d-sm-flex {
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-sm-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media (min-width: 768px) {
  .d-md-none {
    display: none !important; }
  .d-md-inline {
    display: inline !important; }
  .d-md-inline-block {
    display: inline-block !important; }
  .d-md-block {
    display: block !important; }
  .d-md-table {
    display: table !important; }
  .d-md-table-cell {
    display: table-cell !important; }
  .d-md-flex {
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-md-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important; }
  .d-lg-inline {
    display: inline !important; }
  .d-lg-inline-block {
    display: inline-block !important; }
  .d-lg-block {
    display: block !important; }
  .d-lg-table {
    display: table !important; }
  .d-lg-table-cell {
    display: table-cell !important; }
  .d-lg-flex {
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-lg-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important; }
  .d-xl-inline {
    display: inline !important; }
  .d-xl-inline-block {
    display: inline-block !important; }
  .d-xl-block {
    display: block !important; }
  .d-xl-table {
    display: table !important; }
  .d-xl-table-cell {
    display: table-cell !important; }
  .d-xl-flex {
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-xl-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

.d-print-block {
  display: none !important; }
  @media print {
    .d-print-block {
      display: block !important; } }

.d-print-inline {
  display: none !important; }
  @media print {
    .d-print-inline {
      display: inline !important; } }

.d-print-inline-block {
  display: none !important; }
  @media print {
    .d-print-inline-block {
      display: inline-block !important; } }

@media print {
  .d-print-none {
    display: none !important; } }

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden; }
  .embed-responsive::before {
    display: block;
    content: ""; }
  .embed-responsive .embed-responsive-item,
  .embed-responsive iframe,
  .embed-responsive embed,
  .embed-responsive object,
  .embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

.embed-responsive-21by9::before {
  padding-top: 42.85714%; }

.embed-responsive-16by9::before {
  padding-top: 56.25%; }

.embed-responsive-4by3::before {
  padding-top: 75%; }

.embed-responsive-1by1::before {
  padding-top: 100%; }

.flex-row {
  -ms-flex-direction: row !important;
      flex-direction: row !important; }

.flex-column {
  -ms-flex-direction: column !important;
      flex-direction: column !important; }

.flex-row-reverse {
  -ms-flex-direction: row-reverse !important;
      flex-direction: row-reverse !important; }

.flex-column-reverse {
  -ms-flex-direction: column-reverse !important;
      flex-direction: column-reverse !important; }

.flex-wrap {
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important; }

.flex-nowrap {
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important; }

.flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse !important;
      flex-wrap: wrap-reverse !important; }

.justify-content-start {
  -ms-flex-pack: start !important;
      justify-content: flex-start !important; }

.justify-content-end {
  -ms-flex-pack: end !important;
      justify-content: flex-end !important; }

.justify-content-center {
  -ms-flex-pack: center !important;
      justify-content: center !important; }

.justify-content-between {
  -ms-flex-pack: justify !important;
      justify-content: space-between !important; }

.justify-content-around {
  -ms-flex-pack: distribute !important;
      justify-content: space-around !important; }

.align-items-start {
  -ms-flex-align: start !important;
      align-items: flex-start !important; }

.align-items-end {
  -ms-flex-align: end !important;
      align-items: flex-end !important; }

.align-items-center {
  -ms-flex-align: center !important;
      align-items: center !important; }

.align-items-baseline {
  -ms-flex-align: baseline !important;
      align-items: baseline !important; }

.align-items-stretch {
  -ms-flex-align: stretch !important;
      align-items: stretch !important; }

.align-content-start {
  -ms-flex-line-pack: start !important;
      align-content: flex-start !important; }

.align-content-end {
  -ms-flex-line-pack: end !important;
      align-content: flex-end !important; }

.align-content-center {
  -ms-flex-line-pack: center !important;
      align-content: center !important; }

.align-content-between {
  -ms-flex-line-pack: justify !important;
      align-content: space-between !important; }

.align-content-around {
  -ms-flex-line-pack: distribute !important;
      align-content: space-around !important; }

.align-content-stretch {
  -ms-flex-line-pack: stretch !important;
      align-content: stretch !important; }

.align-self-auto {
  -ms-flex-item-align: auto !important;
      -ms-grid-row-align: auto !important;
      align-self: auto !important; }

.align-self-start {
  -ms-flex-item-align: start !important;
      align-self: flex-start !important; }

.align-self-end {
  -ms-flex-item-align: end !important;
      align-self: flex-end !important; }

.align-self-center {
  -ms-flex-item-align: center !important;
      -ms-grid-row-align: center !important;
      align-self: center !important; }

.align-self-baseline {
  -ms-flex-item-align: baseline !important;
      align-self: baseline !important; }

.align-self-stretch {
  -ms-flex-item-align: stretch !important;
      -ms-grid-row-align: stretch !important;
      align-self: stretch !important; }

@media (min-width: 576px) {
  .flex-sm-row {
    -ms-flex-direction: row !important;
        flex-direction: row !important; }
  .flex-sm-column {
    -ms-flex-direction: column !important;
        flex-direction: column !important; }
  .flex-sm-row-reverse {
    -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important; }
  .flex-sm-column-reverse {
    -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important; }
  .flex-sm-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important; }
  .flex-sm-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important; }
  .flex-sm-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important; }
  .justify-content-sm-start {
    -ms-flex-pack: start !important;
        justify-content: flex-start !important; }
  .justify-content-sm-end {
    -ms-flex-pack: end !important;
        justify-content: flex-end !important; }
  .justify-content-sm-center {
    -ms-flex-pack: center !important;
        justify-content: center !important; }
  .justify-content-sm-between {
    -ms-flex-pack: justify !important;
        justify-content: space-between !important; }
  .justify-content-sm-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important; }
  .align-items-sm-start {
    -ms-flex-align: start !important;
        align-items: flex-start !important; }
  .align-items-sm-end {
    -ms-flex-align: end !important;
        align-items: flex-end !important; }
  .align-items-sm-center {
    -ms-flex-align: center !important;
        align-items: center !important; }
  .align-items-sm-baseline {
    -ms-flex-align: baseline !important;
        align-items: baseline !important; }
  .align-items-sm-stretch {
    -ms-flex-align: stretch !important;
        align-items: stretch !important; }
  .align-content-sm-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important; }
  .align-content-sm-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important; }
  .align-content-sm-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important; }
  .align-content-sm-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important; }
  .align-content-sm-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important; }
  .align-content-sm-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important; }
  .align-self-sm-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  .align-self-sm-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important; }
  .align-self-sm-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important; }
  .align-self-sm-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important; }
  .align-self-sm-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important; }
  .align-self-sm-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important; } }

@media (min-width: 768px) {
  .flex-md-row {
    -ms-flex-direction: row !important;
        flex-direction: row !important; }
  .flex-md-column {
    -ms-flex-direction: column !important;
        flex-direction: column !important; }
  .flex-md-row-reverse {
    -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important; }
  .flex-md-column-reverse {
    -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important; }
  .flex-md-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important; }
  .flex-md-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important; }
  .flex-md-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important; }
  .justify-content-md-start {
    -ms-flex-pack: start !important;
        justify-content: flex-start !important; }
  .justify-content-md-end {
    -ms-flex-pack: end !important;
        justify-content: flex-end !important; }
  .justify-content-md-center {
    -ms-flex-pack: center !important;
        justify-content: center !important; }
  .justify-content-md-between {
    -ms-flex-pack: justify !important;
        justify-content: space-between !important; }
  .justify-content-md-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important; }
  .align-items-md-start {
    -ms-flex-align: start !important;
        align-items: flex-start !important; }
  .align-items-md-end {
    -ms-flex-align: end !important;
        align-items: flex-end !important; }
  .align-items-md-center {
    -ms-flex-align: center !important;
        align-items: center !important; }
  .align-items-md-baseline {
    -ms-flex-align: baseline !important;
        align-items: baseline !important; }
  .align-items-md-stretch {
    -ms-flex-align: stretch !important;
        align-items: stretch !important; }
  .align-content-md-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important; }
  .align-content-md-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important; }
  .align-content-md-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important; }
  .align-content-md-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important; }
  .align-content-md-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important; }
  .align-content-md-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important; }
  .align-self-md-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  .align-self-md-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important; }
  .align-self-md-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important; }
  .align-self-md-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important; }
  .align-self-md-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important; }
  .align-self-md-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important; } }

@media (min-width: 992px) {
  .flex-lg-row {
    -ms-flex-direction: row !important;
        flex-direction: row !important; }
  .flex-lg-column {
    -ms-flex-direction: column !important;
        flex-direction: column !important; }
  .flex-lg-row-reverse {
    -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important; }
  .flex-lg-column-reverse {
    -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important; }
  .flex-lg-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important; }
  .flex-lg-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important; }
  .flex-lg-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important; }
  .justify-content-lg-start {
    -ms-flex-pack: start !important;
        justify-content: flex-start !important; }
  .justify-content-lg-end {
    -ms-flex-pack: end !important;
        justify-content: flex-end !important; }
  .justify-content-lg-center {
    -ms-flex-pack: center !important;
        justify-content: center !important; }
  .justify-content-lg-between {
    -ms-flex-pack: justify !important;
        justify-content: space-between !important; }
  .justify-content-lg-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important; }
  .align-items-lg-start {
    -ms-flex-align: start !important;
        align-items: flex-start !important; }
  .align-items-lg-end {
    -ms-flex-align: end !important;
        align-items: flex-end !important; }
  .align-items-lg-center {
    -ms-flex-align: center !important;
        align-items: center !important; }
  .align-items-lg-baseline {
    -ms-flex-align: baseline !important;
        align-items: baseline !important; }
  .align-items-lg-stretch {
    -ms-flex-align: stretch !important;
        align-items: stretch !important; }
  .align-content-lg-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important; }
  .align-content-lg-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important; }
  .align-content-lg-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important; }
  .align-content-lg-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important; }
  .align-content-lg-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important; }
  .align-content-lg-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important; }
  .align-self-lg-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  .align-self-lg-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important; }
  .align-self-lg-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important; }
  .align-self-lg-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important; }
  .align-self-lg-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important; }
  .align-self-lg-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important; } }

@media (min-width: 1200px) {
  .flex-xl-row {
    -ms-flex-direction: row !important;
        flex-direction: row !important; }
  .flex-xl-column {
    -ms-flex-direction: column !important;
        flex-direction: column !important; }
  .flex-xl-row-reverse {
    -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important; }
  .flex-xl-column-reverse {
    -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important; }
  .flex-xl-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important; }
  .flex-xl-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important; }
  .flex-xl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important; }
  .justify-content-xl-start {
    -ms-flex-pack: start !important;
        justify-content: flex-start !important; }
  .justify-content-xl-end {
    -ms-flex-pack: end !important;
        justify-content: flex-end !important; }
  .justify-content-xl-center {
    -ms-flex-pack: center !important;
        justify-content: center !important; }
  .justify-content-xl-between {
    -ms-flex-pack: justify !important;
        justify-content: space-between !important; }
  .justify-content-xl-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important; }
  .align-items-xl-start {
    -ms-flex-align: start !important;
        align-items: flex-start !important; }
  .align-items-xl-end {
    -ms-flex-align: end !important;
        align-items: flex-end !important; }
  .align-items-xl-center {
    -ms-flex-align: center !important;
        align-items: center !important; }
  .align-items-xl-baseline {
    -ms-flex-align: baseline !important;
        align-items: baseline !important; }
  .align-items-xl-stretch {
    -ms-flex-align: stretch !important;
        align-items: stretch !important; }
  .align-content-xl-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important; }
  .align-content-xl-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important; }
  .align-content-xl-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important; }
  .align-content-xl-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important; }
  .align-content-xl-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important; }
  .align-content-xl-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important; }
  .align-self-xl-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  .align-self-xl-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important; }
  .align-self-xl-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important; }
  .align-self-xl-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important; }
  .align-self-xl-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important; }
  .align-self-xl-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important; } }

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

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

.float-none {
  float: none !important; }

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important; }
  .float-sm-right {
    float: right !important; }
  .float-sm-none {
    float: none !important; } }

@media (min-width: 768px) {
  .float-md-left {
    float: left !important; }
  .float-md-right {
    float: right !important; }
  .float-md-none {
    float: none !important; } }

@media (min-width: 992px) {
  .float-lg-left {
    float: left !important; }
  .float-lg-right {
    float: right !important; }
  .float-lg-none {
    float: none !important; } }

@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important; }
  .float-xl-right {
    float: right !important; }
  .float-xl-none {
    float: none !important; } }

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

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

@supports ((position: -webkit-sticky) or (position: sticky)) {
  .sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020; } }

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

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

.w-25 {
  width: 25% !important; }

.w-50 {
  width: 50% !important; }

.w-75 {
  width: 75% !important; }

.w-100 {
  width: 100% !important; }

.h-25 {
  height: 25% !important; }

.h-50 {
  height: 50% !important; }

.h-75 {
  height: 75% !important; }

.h-100 {
  height: 100% !important; }

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

.mh-100 {
  max-height: 100% !important; }

.m-0 {
  margin: 0 !important; }

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

.mr-0 {
  margin-right: 0 !important; }

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

.ml-0 {
  margin-left: 0 !important; }

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important; }

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }

.m-1 {
  margin: 0.25rem !important; }

.mt-1 {
  margin-top: 0.25rem !important; }

.mr-1 {
  margin-right: 0.25rem !important; }

.mb-1 {
  margin-bottom: 0.25rem !important; }

.ml-1 {
  margin-left: 0.25rem !important; }

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important; }

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important; }

.m-2 {
  margin: 0.5rem !important; }

.mt-2 {
  margin-top: 0.5rem !important; }

.mr-2 {
  margin-right: 0.5rem !important; }

.mb-2 {
  margin-bottom: 0.5rem !important; }

.ml-2 {
  margin-left: 0.5rem !important; }

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important; }

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important; }

.m-3 {
  margin: 1rem !important; }

.mt-3 {
  margin-top: 1rem !important; }

.mr-3 {
  margin-right: 1rem !important; }

.mb-3 {
  margin-bottom: 1rem !important; }

.ml-3 {
  margin-left: 1rem !important; }

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important; }

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important; }

.m-4 {
  margin: 1.5rem !important; }

.mt-4 {
  margin-top: 1.5rem !important; }

.mr-4 {
  margin-right: 1.5rem !important; }

.mb-4 {
  margin-bottom: 1.5rem !important; }

.ml-4 {
  margin-left: 1.5rem !important; }

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important; }

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important; }

.m-5 {
  margin: 3rem !important; }

.mt-5 {
  margin-top: 3rem !important; }

.mr-5 {
  margin-right: 3rem !important; }

.mb-5 {
  margin-bottom: 3rem !important; }

.ml-5 {
  margin-left: 3rem !important; }

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important; }

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important; }

.p-0 {
  padding: 0 !important; }

.pt-0 {
  padding-top: 0 !important; }

.pr-0 {
  padding-right: 0 !important; }

.pb-0 {
  padding-bottom: 0 !important; }

.pl-0 {
  padding-left: 0 !important; }

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important; }

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

.p-1 {
  padding: 0.25rem !important; }

.pt-1 {
  padding-top: 0.25rem !important; }

.pr-1 {
  padding-right: 0.25rem !important; }

.pb-1 {
  padding-bottom: 0.25rem !important; }

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

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important; }

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important; }

.p-2 {
  padding: 0.5rem !important; }

.pt-2 {
  padding-top: 0.5rem !important; }

.pr-2 {
  padding-right: 0.5rem !important; }

.pb-2 {
  padding-bottom: 0.5rem !important; }

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

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important; }

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important; }

.p-3 {
  padding: 1rem !important; }

.pt-3 {
  padding-top: 1rem !important; }

.pr-3 {
  padding-right: 1rem !important; }

.pb-3 {
  padding-bottom: 1rem !important; }

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

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important; }

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important; }

.p-4 {
  padding: 1.5rem !important; }

.pt-4 {
  padding-top: 1.5rem !important; }

.pr-4 {
  padding-right: 1.5rem !important; }

.pb-4 {
  padding-bottom: 1.5rem !important; }

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

.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important; }

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important; }

.p-5 {
  padding: 3rem !important; }

.pt-5 {
  padding-top: 3rem !important; }

.pr-5 {
  padding-right: 3rem !important; }

.pb-5 {
  padding-bottom: 3rem !important; }

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

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important; }

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important; }

.m-auto {
  margin: auto !important; }

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

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

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

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

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important; }

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important; }

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important; }
  .mt-sm-0 {
    margin-top: 0 !important; }
  .mr-sm-0 {
    margin-right: 0 !important; }
  .mb-sm-0 {
    margin-bottom: 0 !important; }
  .ml-sm-0 {
    margin-left: 0 !important; }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
  .m-sm-1 {
    margin: 0.25rem !important; }
  .mt-sm-1 {
    margin-top: 0.25rem !important; }
  .mr-sm-1 {
    margin-right: 0.25rem !important; }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important; }
  .ml-sm-1 {
    margin-left: 0.25rem !important; }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }
  .m-sm-2 {
    margin: 0.5rem !important; }
  .mt-sm-2 {
    margin-top: 0.5rem !important; }
  .mr-sm-2 {
    margin-right: 0.5rem !important; }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important; }
  .ml-sm-2 {
    margin-left: 0.5rem !important; }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }
  .m-sm-3 {
    margin: 1rem !important; }
  .mt-sm-3 {
    margin-top: 1rem !important; }
  .mr-sm-3 {
    margin-right: 1rem !important; }
  .mb-sm-3 {
    margin-bottom: 1rem !important; }
  .ml-sm-3 {
    margin-left: 1rem !important; }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }
  .m-sm-4 {
    margin: 1.5rem !important; }
  .mt-sm-4 {
    margin-top: 1.5rem !important; }
  .mr-sm-4 {
    margin-right: 1.5rem !important; }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important; }
  .ml-sm-4 {
    margin-left: 1.5rem !important; }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }
  .m-sm-5 {
    margin: 3rem !important; }
  .mt-sm-5 {
    margin-top: 3rem !important; }
  .mr-sm-5 {
    margin-right: 3rem !important; }
  .mb-sm-5 {
    margin-bottom: 3rem !important; }
  .ml-sm-5 {
    margin-left: 3rem !important; }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }
  .p-sm-0 {
    padding: 0 !important; }
  .pt-sm-0 {
    padding-top: 0 !important; }
  .pr-sm-0 {
    padding-right: 0 !important; }
  .pb-sm-0 {
    padding-bottom: 0 !important; }
  .pl-sm-0 {
    padding-left: 0 !important; }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  .p-sm-1 {
    padding: 0.25rem !important; }
  .pt-sm-1 {
    padding-top: 0.25rem !important; }
  .pr-sm-1 {
    padding-right: 0.25rem !important; }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important; }
  .pl-sm-1 {
    padding-left: 0.25rem !important; }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }
  .p-sm-2 {
    padding: 0.5rem !important; }
  .pt-sm-2 {
    padding-top: 0.5rem !important; }
  .pr-sm-2 {
    padding-right: 0.5rem !important; }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important; }
  .pl-sm-2 {
    padding-left: 0.5rem !important; }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }
  .p-sm-3 {
    padding: 1rem !important; }
  .pt-sm-3 {
    padding-top: 1rem !important; }
  .pr-sm-3 {
    padding-right: 1rem !important; }
  .pb-sm-3 {
    padding-bottom: 1rem !important; }
  .pl-sm-3 {
    padding-left: 1rem !important; }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }
  .p-sm-4 {
    padding: 1.5rem !important; }
  .pt-sm-4 {
    padding-top: 1.5rem !important; }
  .pr-sm-4 {
    padding-right: 1.5rem !important; }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important; }
  .pl-sm-4 {
    padding-left: 1.5rem !important; }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }
  .p-sm-5 {
    padding: 3rem !important; }
  .pt-sm-5 {
    padding-top: 3rem !important; }
  .pr-sm-5 {
    padding-right: 3rem !important; }
  .pb-sm-5 {
    padding-bottom: 3rem !important; }
  .pl-sm-5 {
    padding-left: 3rem !important; }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }
  .m-sm-auto {
    margin: auto !important; }
  .mt-sm-auto {
    margin-top: auto !important; }
  .mr-sm-auto {
    margin-right: auto !important; }
  .mb-sm-auto {
    margin-bottom: auto !important; }
  .ml-sm-auto {
    margin-left: auto !important; }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important; }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; } }

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important; }
  .mt-md-0 {
    margin-top: 0 !important; }
  .mr-md-0 {
    margin-right: 0 !important; }
  .mb-md-0 {
    margin-bottom: 0 !important; }
  .ml-md-0 {
    margin-left: 0 !important; }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
  .m-md-1 {
    margin: 0.25rem !important; }
  .mt-md-1 {
    margin-top: 0.25rem !important; }
  .mr-md-1 {
    margin-right: 0.25rem !important; }
  .mb-md-1 {
    margin-bottom: 0.25rem !important; }
  .ml-md-1 {
    margin-left: 0.25rem !important; }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }
  .m-md-2 {
    margin: 0.5rem !important; }
  .mt-md-2 {
    margin-top: 0.5rem !important; }
  .mr-md-2 {
    margin-right: 0.5rem !important; }
  .mb-md-2 {
    margin-bottom: 0.5rem !important; }
  .ml-md-2 {
    margin-left: 0.5rem !important; }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }
  .m-md-3 {
    margin: 1rem !important; }
  .mt-md-3 {
    margin-top: 1rem !important; }
  .mr-md-3 {
    margin-right: 1rem !important; }
  .mb-md-3 {
    margin-bottom: 1rem !important; }
  .ml-md-3 {
    margin-left: 1rem !important; }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }
  .m-md-4 {
    margin: 1.5rem !important; }
  .mt-md-4 {
    margin-top: 1.5rem !important; }
  .mr-md-4 {
    margin-right: 1.5rem !important; }
  .mb-md-4 {
    margin-bottom: 1.5rem !important; }
  .ml-md-4 {
    margin-left: 1.5rem !important; }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }
  .m-md-5 {
    margin: 3rem !important; }
  .mt-md-5 {
    margin-top: 3rem !important; }
  .mr-md-5 {
    margin-right: 3rem !important; }
  .mb-md-5 {
    margin-bottom: 3rem !important; }
  .ml-md-5 {
    margin-left: 3rem !important; }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }
  .p-md-0 {
    padding: 0 !important; }
  .pt-md-0 {
    padding-top: 0 !important; }
  .pr-md-0 {
    padding-right: 0 !important; }
  .pb-md-0 {
    padding-bottom: 0 !important; }
  .pl-md-0 {
    padding-left: 0 !important; }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  .p-md-1 {
    padding: 0.25rem !important; }
  .pt-md-1 {
    padding-top: 0.25rem !important; }
  .pr-md-1 {
    padding-right: 0.25rem !important; }
  .pb-md-1 {
    padding-bottom: 0.25rem !important; }
  .pl-md-1 {
    padding-left: 0.25rem !important; }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }
  .p-md-2 {
    padding: 0.5rem !important; }
  .pt-md-2 {
    padding-top: 0.5rem !important; }
  .pr-md-2 {
    padding-right: 0.5rem !important; }
  .pb-md-2 {
    padding-bottom: 0.5rem !important; }
  .pl-md-2 {
    padding-left: 0.5rem !important; }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }
  .p-md-3 {
    padding: 1rem !important; }
  .pt-md-3 {
    padding-top: 1rem !important; }
  .pr-md-3 {
    padding-right: 1rem !important; }
  .pb-md-3 {
    padding-bottom: 1rem !important; }
  .pl-md-3 {
    padding-left: 1rem !important; }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }
  .p-md-4 {
    padding: 1.5rem !important; }
  .pt-md-4 {
    padding-top: 1.5rem !important; }
  .pr-md-4 {
    padding-right: 1.5rem !important; }
  .pb-md-4 {
    padding-bottom: 1.5rem !important; }
  .pl-md-4 {
    padding-left: 1.5rem !important; }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }
  .p-md-5 {
    padding: 3rem !important; }
  .pt-md-5 {
    padding-top: 3rem !important; }
  .pr-md-5 {
    padding-right: 3rem !important; }
  .pb-md-5 {
    padding-bottom: 3rem !important; }
  .pl-md-5 {
    padding-left: 3rem !important; }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }
  .m-md-auto {
    margin: auto !important; }
  .mt-md-auto {
    margin-top: auto !important; }
  .mr-md-auto {
    margin-right: auto !important; }
  .mb-md-auto {
    margin-bottom: auto !important; }
  .ml-md-auto {
    margin-left: auto !important; }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important; }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; } }

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important; }
  .mt-lg-0 {
    margin-top: 0 !important; }
  .mr-lg-0 {
    margin-right: 0 !important; }
  .mb-lg-0 {
    margin-bottom: 0 !important; }
  .ml-lg-0 {
    margin-left: 0 !important; }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
  .m-lg-1 {
    margin: 0.25rem !important; }
  .mt-lg-1 {
    margin-top: 0.25rem !important; }
  .mr-lg-1 {
    margin-right: 0.25rem !important; }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important; }
  .ml-lg-1 {
    margin-left: 0.25rem !important; }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }
  .m-lg-2 {
    margin: 0.5rem !important; }
  .mt-lg-2 {
    margin-top: 0.5rem !important; }
  .mr-lg-2 {
    margin-right: 0.5rem !important; }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important; }
  .ml-lg-2 {
    margin-left: 0.5rem !important; }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }
  .m-lg-3 {
    margin: 1rem !important; }
  .mt-lg-3 {
    margin-top: 1rem !important; }
  .mr-lg-3 {
    margin-right: 1rem !important; }
  .mb-lg-3 {
    margin-bottom: 1rem !important; }
  .ml-lg-3 {
    margin-left: 1rem !important; }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }
  .m-lg-4 {
    margin: 1.5rem !important; }
  .mt-lg-4 {
    margin-top: 1.5rem !important; }
  .mr-lg-4 {
    margin-right: 1.5rem !important; }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important; }
  .ml-lg-4 {
    margin-left: 1.5rem !important; }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }
  .m-lg-5 {
    margin: 3rem !important; }
  .mt-lg-5 {
    margin-top: 3rem !important; }
  .mr-lg-5 {
    margin-right: 3rem !important; }
  .mb-lg-5 {
    margin-bottom: 3rem !important; }
  .ml-lg-5 {
    margin-left: 3rem !important; }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }
  .p-lg-0 {
    padding: 0 !important; }
  .pt-lg-0 {
    padding-top: 0 !important; }
  .pr-lg-0 {
    padding-right: 0 !important; }
  .pb-lg-0 {
    padding-bottom: 0 !important; }
  .pl-lg-0 {
    padding-left: 0 !important; }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  .p-lg-1 {
    padding: 0.25rem !important; }
  .pt-lg-1 {
    padding-top: 0.25rem !important; }
  .pr-lg-1 {
    padding-right: 0.25rem !important; }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important; }
  .pl-lg-1 {
    padding-left: 0.25rem !important; }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }
  .p-lg-2 {
    padding: 0.5rem !important; }
  .pt-lg-2 {
    padding-top: 0.5rem !important; }
  .pr-lg-2 {
    padding-right: 0.5rem !important; }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important; }
  .pl-lg-2 {
    padding-left: 0.5rem !important; }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }
  .p-lg-3 {
    padding: 1rem !important; }
  .pt-lg-3 {
    padding-top: 1rem !important; }
  .pr-lg-3 {
    padding-right: 1rem !important; }
  .pb-lg-3 {
    padding-bottom: 1rem !important; }
  .pl-lg-3 {
    padding-left: 1rem !important; }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }
  .p-lg-4 {
    padding: 1.5rem !important; }
  .pt-lg-4 {
    padding-top: 1.5rem !important; }
  .pr-lg-4 {
    padding-right: 1.5rem !important; }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important; }
  .pl-lg-4 {
    padding-left: 1.5rem !important; }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }
  .p-lg-5 {
    padding: 3rem !important; }
  .pt-lg-5 {
    padding-top: 3rem !important; }
  .pr-lg-5 {
    padding-right: 3rem !important; }
  .pb-lg-5 {
    padding-bottom: 3rem !important; }
  .pl-lg-5 {
    padding-left: 3rem !important; }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }
  .m-lg-auto {
    margin: auto !important; }
  .mt-lg-auto {
    margin-top: auto !important; }
  .mr-lg-auto {
    margin-right: auto !important; }
  .mb-lg-auto {
    margin-bottom: auto !important; }
  .ml-lg-auto {
    margin-left: auto !important; }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important; }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; } }

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important; }
  .mt-xl-0 {
    margin-top: 0 !important; }
  .mr-xl-0 {
    margin-right: 0 !important; }
  .mb-xl-0 {
    margin-bottom: 0 !important; }
  .ml-xl-0 {
    margin-left: 0 !important; }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
  .m-xl-1 {
    margin: 0.25rem !important; }
  .mt-xl-1 {
    margin-top: 0.25rem !important; }
  .mr-xl-1 {
    margin-right: 0.25rem !important; }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important; }
  .ml-xl-1 {
    margin-left: 0.25rem !important; }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }
  .m-xl-2 {
    margin: 0.5rem !important; }
  .mt-xl-2 {
    margin-top: 0.5rem !important; }
  .mr-xl-2 {
    margin-right: 0.5rem !important; }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important; }
  .ml-xl-2 {
    margin-left: 0.5rem !important; }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }
  .m-xl-3 {
    margin: 1rem !important; }
  .mt-xl-3 {
    margin-top: 1rem !important; }
  .mr-xl-3 {
    margin-right: 1rem !important; }
  .mb-xl-3 {
    margin-bottom: 1rem !important; }
  .ml-xl-3 {
    margin-left: 1rem !important; }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }
  .m-xl-4 {
    margin: 1.5rem !important; }
  .mt-xl-4 {
    margin-top: 1.5rem !important; }
  .mr-xl-4 {
    margin-right: 1.5rem !important; }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important; }
  .ml-xl-4 {
    margin-left: 1.5rem !important; }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }
  .m-xl-5 {
    margin: 3rem !important; }
  .mt-xl-5 {
    margin-top: 3rem !important; }
  .mr-xl-5 {
    margin-right: 3rem !important; }
  .mb-xl-5 {
    margin-bottom: 3rem !important; }
  .ml-xl-5 {
    margin-left: 3rem !important; }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }
  .p-xl-0 {
    padding: 0 !important; }
  .pt-xl-0 {
    padding-top: 0 !important; }
  .pr-xl-0 {
    padding-right: 0 !important; }
  .pb-xl-0 {
    padding-bottom: 0 !important; }
  .pl-xl-0 {
    padding-left: 0 !important; }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  .p-xl-1 {
    padding: 0.25rem !important; }
  .pt-xl-1 {
    padding-top: 0.25rem !important; }
  .pr-xl-1 {
    padding-right: 0.25rem !important; }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important; }
  .pl-xl-1 {
    padding-left: 0.25rem !important; }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }
  .p-xl-2 {
    padding: 0.5rem !important; }
  .pt-xl-2 {
    padding-top: 0.5rem !important; }
  .pr-xl-2 {
    padding-right: 0.5rem !important; }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important; }
  .pl-xl-2 {
    padding-left: 0.5rem !important; }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }
  .p-xl-3 {
    padding: 1rem !important; }
  .pt-xl-3 {
    padding-top: 1rem !important; }
  .pr-xl-3 {
    padding-right: 1rem !important; }
  .pb-xl-3 {
    padding-bottom: 1rem !important; }
  .pl-xl-3 {
    padding-left: 1rem !important; }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }
  .p-xl-4 {
    padding: 1.5rem !important; }
  .pt-xl-4 {
    padding-top: 1.5rem !important; }
  .pr-xl-4 {
    padding-right: 1.5rem !important; }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important; }
  .pl-xl-4 {
    padding-left: 1.5rem !important; }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }
  .p-xl-5 {
    padding: 3rem !important; }
  .pt-xl-5 {
    padding-top: 3rem !important; }
  .pr-xl-5 {
    padding-right: 3rem !important; }
  .pb-xl-5 {
    padding-bottom: 3rem !important; }
  .pl-xl-5 {
    padding-left: 3rem !important; }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }
  .m-xl-auto {
    margin: auto !important; }
  .mt-xl-auto {
    margin-top: auto !important; }
  .mr-xl-auto {
    margin-right: auto !important; }
  .mb-xl-auto {
    margin-bottom: auto !important; }
  .ml-xl-auto {
    margin-left: auto !important; }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important; }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; } }

.text-justify {
  text-align: justify !important; }

.text-nowrap {
  white-space: nowrap !important; }

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

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

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

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

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important; }
  .text-sm-right {
    text-align: right !important; }
  .text-sm-center {
    text-align: center !important; } }

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important; }
  .text-md-right {
    text-align: right !important; }
  .text-md-center {
    text-align: center !important; } }

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important; }
  .text-lg-right {
    text-align: right !important; }
  .text-lg-center {
    text-align: center !important; } }

@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important; }
  .text-xl-right {
    text-align: right !important; }
  .text-xl-center {
    text-align: center !important; } }

.text-lowercase {
  text-transform: lowercase !important; }

.text-uppercase {
  text-transform: uppercase !important; }

.text-capitalize {
  text-transform: capitalize !important; }

.font-weight-normal {
  font-weight: normal; }

.font-weight-bold {
  font-weight: bold; }

.font-italic {
  font-style: italic; }

.text-white {
  color: #fff !important; }

.text-primary {
  color: #23356f !important; }

a.text-primary:focus, a.text-primary:hover {
  color: #172248 !important; }

.text-secondary {
  color: #868e96 !important; }

a.text-secondary:focus, a.text-secondary:hover {
  color: #6c757d !important; }

.text-success {
  color: #5f913f !important; }

a.text-success:focus, a.text-success:hover {
  color: #486d30 !important; }

.text-info {
  color: #17a2b8 !important; }

a.text-info:focus, a.text-info:hover {
  color: #117a8b !important; }

.text-warning {
  color: #ffc107 !important; }

a.text-warning:focus, a.text-warning:hover {
  color: #d39e00 !important; }

.text-danger {
  color: #dc3545 !important; }

a.text-danger:focus, a.text-danger:hover {
  color: #bd2130 !important; }

.text-light {
  color: #f8f9fa !important; }

a.text-light:focus, a.text-light:hover {
  color: #dae0e5 !important; }

.text-dark {
  color: #343a40 !important; }

a.text-dark:focus, a.text-dark:hover {
  color: #1d2124 !important; }

.text-muted {
  color: #868e96 !important; }

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0; }

.visible {
  visibility: visible !important; }

.invisible {
  visibility: hidden !important; }

a,
button {
  outline: none !important;
  text-decoration: none; }

* {
  box-sizing: border-box; }

body,
html {
  width: 100%;
  height: 100%;
  background-color: #fbfbfb;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body {
  font-family: "Libre Franklin", sans-serif;
  -webkit-tap-highlight-color: #222222; }

a {
  color: #092c74;
  transition: all 0.2s; }
  a:focus, a:hover {
    color: #092c74; }

.bg-primary {
  background-color: #092c74 !important; }

.bg-gray {
  background-color: #bbbdbf; }

.bg-dark {
  color: white;
  background-color: #222222 !important; }

.text-faded {
  color: rgba(255, 255, 255, 0.7); }

::-moz-selection,
::-moz-selection {
  color: white;
  background: #222222;
  text-shadow: none; }

::-moz-selection,
::selection {
  color: white;
  background: #222222;
  text-shadow: none; }

img::-moz-selection,
img::-moz-selection {
  color: white;
  background: transparent; }

img::-moz-selection,
img::selection {
  color: white;
  background: transparent; }

.disclaimer-community {
  color: #555555;
  padding: 2em;
  font-size: 0.9em; }

.hidden {
  display: none; }

.btn-angled {
  transform-origin: 100% 0;
  transform: skew(-30deg); }
  .btn-angled div {
    transform: skew(30deg);
    font-weight: 500; }
  .btn-angled.btn-sq-right:hover, .btn-angled.btn-sq-left:hover {
    background-color: #e28330; }
  .btn-angled.btn-sq-right div, .btn-angled.btn-sq-left div {
    transform-origin: 100% 0;
    transform: skew(30deg); }
  .btn-angled.btn-sq-right:after {
    content: '';
    position: absolute;
    height: 100%;
    width: 50%;
    top: 0;
    right: 0;
    margin: 0;
    padding: 0;
    background-color: #e28330;
    transform-origin: 100% 0;
    transform: skew(30deg);
    z-index: -1; }
  .btn-angled.btn-sq-right:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 50%;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    background-color: #e28330;
    transform-origin: 100% 0;
    transform: skew(30deg);
    z-index: -1; }

#footer {
  position: relative; }

.section__footer {
  background: #092c74;
  padding: 3em 0 1.5em;
  color: white;
  text-align: center;
  -webkit-font-smoothing: auto !important;
  -moz-osx-font-smoothing: auto !important; }

.footer__nav {
  padding: 0;
  list-style-type: none;
  text-align: center;
  letter-spacing: 1px;
  margin-bottom: 1.5em; }

.footer__nav-item {
  display: block; }

.footer__nav-link {
  padding: .5em;
  font-size: 13px;
  color: #bbbdbf;
  line-height: 3; }

.footer__nav-link:hover, .footer__nav-link.active {
  color: #e28330 !important; }

.footer__copyright {
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
  font-weight: 100;
  color: #bbbdbf;
  margin-top: 13px; }
  .footer__copyright a {
    color: #bbbdbf; }

.pipe-orange {
  color: #e28330;
  margin: 0 .5em; }

@media (min-width: 552px) {
  .footer__nav-item {
    display: inline-block; } }

@media (min-width: 992px) {
  .footer__nav {
    text-align: left; }
  .footer__nav-item {
    display: inline-block;
    padding: 0 2em 0 0; }
  .footer__copyright {
    text-align: right; } }

.section__callout {
  position: relative;
  padding: 2em 0;
  margin-bottom: 60px;
  color: #ffffff;
  background-color: #bbbdbf;
  text-align: center; }
  @media (min-width: 768px) {
    .section__callout {
      text-align: left; } }

.callout__headline {
  color: #ffffff;
  margin: .25em 0 1em 0; }
  @media (min-width: 768px) {
    .callout__headline {
      margin-bottom: 0; } }

.callout__cta {
  display: inline-block;
  padding: 1em 4.5em 1em 3.5em;
  color: #ffffff;
  background: #e28330;
  white-space: nowrap;
  font-weight: 600;
  transform: skew(-20deg); }
  .callout__cta span {
    transform: skew(20deg);
    display: inline-block; }
  .callout__cta:hover, .callout__cta:hover:before {
    color: #ffffff;
    background: #092c74; }
  .callout__cta:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 40px;
    top: 0;
    left: -20px;
    background-color: #e28330;
    transform-origin: 100% 0;
    transform: skew(20deg);
    z-index: -1;
    transition: background 0.2s; }

.tm {
  font-weight: 200;
  font-size: 14px;
  vertical-align: super; }

.section__intro {
  margin-bottom: 3em; }

.section__featured-communities {
  margin-bottom: 60px; }

.section__search-tools {
  padding-top: 2em;
  padding-bottom: 2em; }
  .section__search-tools select {
    width: 95%; }

@media (min-width: 992px) {
  .community__map {
    -ms-flex-order: 1;
    order: 1; }
  .community__listings {
    -ms-flex-order: 2;
    order: 2; } }

.form__label {
  display: block;
  margin-bottom: 5px;
  color: #555555;
  letter-spacing: 1px; }

header.search {
  position: relative;
  width: 100%;
  min-height: auto;
  height: 100%;
  margin-bottom: 1rem; }

.form-control {
  padding: .5rem;
  font-family: "Libre Franklin";
  margin: 10px 0 15px;
  border-radius: 0;
  -webkit-appearance: none;
  text-transform: none; }

.form-group {
  position: relative; }
  .form-group:before {
    position: absolute;
    top: 1%;
    right: 5px;
    content: "";
    display: block;
    background-color: #5f913f;
    z-index: 2;
    width: 42px;
    height: 36px; }
  .form-group:after {
    position: absolute;
    top: 15%;
    right: 23px;
    content: "\f002";
    font-family: FontAwesome;
    display: block;
    z-index: 3;
    width: 10px;
    height: 10px;
    color: #ffffff; }

select.form-control {
  margin: 0.5rem auto;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  text-transform: none;
  background-image: url(/assets/img/icon_dropdown.svg);
  background-position: right;
  background-repeat: no-repeat; }

select {
  text-transform: uppercase; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  select.form-control {
    background-image: none; } }

#map,
#communities-map,
#contact-map {
  margin-bottom: 1em;
  min-height: 50vh; }

.skewed-edge:before {
  content: '';
  position: absolute;
  left: -4px;
  top: -1px;
  width: 25px;
  height: 46px;
  background-color: #ffffff;
  transform-origin: 100% 0;
  transform: skew(-30deg); }

.circular-plus::after {
  content: '';
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #5f913f;
  position: relative;
  display: block;
  top: 78px;
  right: 42px;
  cursor: pointer; }

.circular-plus::before {
  content: '+';
  position: relative;
  top: 102px;
  left: -37.1px;
  font-size: 18px;
  color: #5f913f;
  cursor: pointer; }

.diff-communities {
  margin-top: 15px;
  overflow: scroll; }

.community-img {
  background-size: cover;
  background-repeat: no-repeat;
  width: 49%;
  height: 100%;
  display: inline-block; }

.community-wrap {
  margin: 0 2rem 1rem 0;
  display: inline-block;
  position: relative;
  width: 100%;
  height: 88%;
  background-color: white;
  border: 1px solid #555555; }

.community-text {
  display: inline-block;
  margin: 0;
  padding: 2rem 1rem;
  height: 100%;
  vertical-align: top;
  width: 50%; }

.top-bottom-space {
  padding-bottom: 2rem; }

@media (min-width: 768px) {
  .diff-communities {
    max-height: 100vh;
    background-color: #ffffff;
    overflow: scroll; }
  .community-wrap {
    margin-bottom: 1rem;
    display: block;
    position: relative;
    width: 100%;
    height: 30%;
    background-color: white;
    border: 1px solid #555555; } }

.gm-style-iw {
  margin: 0 !important;
  margin-right: -30px !important;
  padding: 0 !important;
  top: 0 !important;
  left: 0 !important;
  overflow: visible !important; }
  .gm-style-iw #content {
    padding: 1.2em 0 0 !important;
    margin-left: 220px;
    height: 130px;
    font-size: 1.25em;
    line-height: 1.5; }

.tooltip__thumb {
  position: absolute;
  width: 200px;
  margin: 0;
  height: 150px;
  border-radius: 2px 0px 0px 2px; }

@media (min-width: 992px) {
  .section__about {
    margin: 60px auto; }
  .about__text {
    -ms-flex-order: 1;
        order: 1; }
  .about__image {
    -ms-flex-order: 2;
        order: 2; }
    .about__image .img-height {
      height: 600px;
      object-fit: cover; } }

.about__image {
  margin-bottom: 1em; }
  .about__image .img-fluid {
    border-radius: 3px; }

.section__heading {
  color: #e28330;
  font-size: 2em;
  line-height: 1.25;
  margin-bottom: 1em; }

.section__subheading {
  color: #e28330;
  font-size: 1.5em;
  margin-bottom: 20px; }

.intro__paragraph, .community__description p {
  color: #555555;
  font-size: 1em;
  line-height: 1.75;
  font-weight: 400;
  margin-bottom: 1em; }
  @media (min-width: 768px) {
    .intro__paragraph, .community__description p {
      font-size: 1.25em; } }

.section__paragraph {
  color: #555555; }

.section__disclaimer {
  color: #555555; }

.img-height {
  height: 300px;
  object-fit: cover; }

img.img-fluid {
  width: 100%; }

.section__community-cards {
  margin: 60px auto; }

section.map {
  padding: 0; }
  section.map #map {
    height: 60vh; }

section.accordian {
  padding: 1rem 0; }

div .panel {
  margin-bottom: 0.1rem;
  padding: 1.5rem 0;
  background-color: #e28330; }

.main-prop:after {
  content: ' ';
  position: absolute;
  top: 0;
  left: 0;
  border-width: 120px 65px 0 0;
  border-color: #fbfbfb transparent transparent transparent;
  border-style: solid; }

@media (min-width: 991px) {
  .section__contact {
    margin: 60px auto; }
  .contact__text {
    -ms-flex-order: 1;
        order: 1; }
  .contact__image {
    -ms-flex-order: 2;
        order: 2; } }

.contact__image {
  margin-bottom: 1em; }
  .contact__image .img-fluid {
    border-radius: 3px; }

.contact__form {
  margin-top: 1.5em; }

.contact-us .row {
  margin-right: 0px; }

.form-resize {
  margin: 0;
  padding-bottom: 1rem;
  font-size: 14px;
  text-transform: uppercase; }
  .form-resize label {
    padding-bottom: .5rem;
    font-size: 14px;
    text-transform: uppercase; }

.form-grey {
  background-color: #eeeeee;
  border: 1px solid #eeeeee; }

.caret:after {
  position: relative;
  content: "";
  display: inline-block;
  z-index: 3;
  width: 10px;
  height: 10px;
  transform: translateY(-70%) rotate(45deg);
  border-bottom-right-radius: 2px;
  border-right: 2px solid #5f913f;
  border-bottom: 2px solid #5f913f;
  float: right;
  margin-right: 20px;
  margin-top: -18px; }

.contact-form-btn {
  min-width: 150px;
  margin: 1em 0 5em 0;
  background: #5f913f;
  color: #ffffff;
  font-size: 1rem;
  padding: 1em 1.5em;
  border: none;
  border-radius: 0;
  -webkit-appearance: none; }

.location-info {
  margin-bottom: 2em; }
  .location-info a {
    color: #23356f;
    font-weight: normal; }
  .location-info h3 {
    font-size: 1.5em; }

.spcl-select {
  margin-left: 0.5rem;
  padding-top: 0.5rem;
  background-color: #eeeeee;
  width: 100%;
  height: 35px; }

.carousel-item {
  height: 80vw;
  max-height: 80vh; }

.masthead__headline {
  color: #ffffff;
  position: relative;
  font-size: 2em;
  padding: 0;
  margin: 0 0 .5em 0;
  font-size: 1.5em;
  text-align: center; }

.carousel-control-prev, .carousel-control-next {
  opacity: .85;
  text-align: center; }

.carousel-icon__prev, .carousel-icon__next {
  position: relative;
  top: 25px;
  width: 100px;
  height: 100px; }
  .carousel-icon__prev svg, .carousel-icon__next svg {
    opacity: 1 !important; }

#carousel-arrow-prev, #carousel-arrow-next {
  position: absolute;
  width: 100%; }

#carousel-arrow-next {
  right: 0; }

.masthead__search-tool--banner {
  z-index: 9999999999;
  display: flex;
  align-items: center;
  width: 550px;
  padding: 15px 30px 15px 110px;
}

.masthead__search-tool--banner .masthead__headline {
  left: 0;
  font-size: 1.2em;
}

.masthead__search-tool--banner .logo-CTAA {
  transform: skew(20deg);
  margin-right: 20px;
}

.masthead__search-tool {
  z-index: 2;
  display: block;
  padding: 30px;
  background: rgba(9, 44, 116, 0.9); }
  @media (min-width: 640px) {
    .masthead__search-tool {
      position: absolute;
      top: 123px;
      width: auto;
      overflow: hidden;
      left: -50px;
      padding: 30px 120px;
      transform: skew(-20deg);
      animation: fadeInLeft .75s ease-out;
      -moz-animation: fadeInLeft .75s ease-out;
      /* Firefox */
      -webkit-animation: fadeInLeft .75s ease-out;
      /* Safari and Chrome */
      -o-animation: fadeInLeft .75s ease-out;
      /* Opera */ }
      .masthead__search-tool .masthead__headline, .masthead__search-tool .masthead__cta {
        transform: skew(20deg);
        display: inline-block;
        display: block; }
      .masthead__search-tool .masthead__headline {
        left: -20px;
        font-size: 1.5em;
        text-align: left; } }

.masthead__cta {
  display: block;
  padding: 1em;
  text-align: center;
  background: #5f913f;
  color: #ffffff; }
  .masthead__cta:hover, .masthead__cta:hover:after {
    background: #e28330;
    color: #ffffff; }
  .masthead__cta:after {
    content: '';
    position: absolute;
    height: 100%;
    width: 40px;
    top: 0;
    right: -20px;
    background-color: #5f913f;
    transform-origin: 100% 0;
    transform: skew(-20deg);
    z-index: -1;
    transition: background 0.2s;
    display: none; }
    @media (min-width: 640px) {
      .masthead__cta:after {
        display: block; } }

#pref-employer-program .masthead__cta::after {
  display: none; }

.carousel-item {
  background-size: cover;
  color: white;
  background-position: center left; }

.carousel-caption {
  bottom: 60px;
  right: 4.5%;
  left: inherit;
  font-weight: bold; }

.carousel-indicators {
  bottom: 30px;
  right: -10%;
  left: inherit; }
  .carousel-indicators li {
    margin: 0;
    height: 2em;
    width: 1.5em;
    transform: skew(-20deg); }

.featured-community__card {
  -webkit-font-smoothing: auto !important;
  -moz-osx-font-smoothing: auto !important; }
  .featured-community__card:hover .featured-community__info {
    background-color: #092c74; }
  .featured-community__card:after {
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    border-width: 100px 55px 0 0;
    border-color: #fbfbfb transparent transparent transparent;
    border-style: solid; }

.featured-community__thumbnail {
  height: 250px;
  border-radius: 3px 3px 0 0;
  background-size: cover;
  background-position: center; }

.hasbadge {
  background-position: left !important; }

.featured-community__info {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 150px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  padding: 1em;
  text-align: center;
  background-color: #949ba8;
  transition: background .3s;
  border-radius: 0 0 3px 3px;
  margin-bottom: 2em; }

.featured-community__name {
  color: #ffffff;
  font-size: 1.2em;
  text-transform: uppercase;
  margin-bottom: .5em; }

.featured-community__place,
.featured-community__rent {
  color: #ffffff;
  font-size: 1em; }

.featured-community__place {
  margin-bottom: 1em; }

.featured-community__rent {
  text-transform: uppercase;
  margin-bottom: .25em; }
  .featured-community__rent strong {
    font-weight: bold; }

/* Communities Page Cards */
.community__card {
  min-height: 150px;
  border: 1px solid #a8a8a8;
  margin-bottom: 10px;
  position: relative; }

.community__thumbnail {
  position: absolute;
  left: -2px;
  top: -2px;
  height: calc(101%);
  background-color: #a8a8a8;
  background-size: cover;
  /* need to align left with downtown collection badge */
  background-position: center;
  width: 35%;
  float: left;
  border: 1px solid #fff;
  border-right: none;
  border-bottom: none;
  box-sizing: content-box; }
  .community__thumbnail:after {
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    border-width: 40px 25px 0 0;
    border-color: #fbfbfb transparent transparent transparent;
    border-style: solid; }

.community__info {
  margin-left: 37.5%;
  padding: 30px 15px; }

.community__name {
  font-size: 1em !important;
  text-transform: uppercase;
  font-weight: 500;
  color: #092c74;
  font-family: "Maven Pro"; }

.community__place, .community__rent {
  font-size: .9em;
  color: #555555;
  margin-bottom: 10px; }

.community__phone {
  font-size: .9em; }
  .community__phone a {
    text-decoration: none;
    color: #e28330; }

.community-card__apply-link {
  position: absolute;
  right: 0;
  bottom: 2.5em;
  background: #e28330;
  color: #ffffff;
  padding: 10px;
  font-size: .85em;
  letter-spacing: 0;
  display: none; }
  .community-card__apply-link:hover {
    color: #ffffff;
    background: #23356f; }

.community__card:hover .community-card__apply-link {
  display: block; }

.navbar-toggler {
  border: 0; }

.nav-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

.nav-link {
  margin: 10px 0 10px 15px !important;
  letter-spacing: 1px;
  text-align: center;
  vertical-align: middle; }

.nav-link.active {
  color: #e28330 !important; }

@media (min-width: 575px) {
  .nav-item--login {
    position: absolute;
    width: 150px;
    font-size: .8em;
    background: #23356f;
    top: 0;
    right: 65px; }
    .nav-item--login a {
      display: inline-block;
      color: #ffffff !important;
      padding: 0; } }

#mainNav, #communityNav {
  padding: 15px 30px;
  background-color: #fff;
  -webkit-font-smoothing: auto !important;
  -moz-osx-font-smoothing: auto !important;
  transition: all 0.2s; }
  #mainNav .navbar__logo img, #communityNav .navbar__logo img {
    width: 150px;
    padding: 15px 0; }
    @media (min-width: 768px) {
      #mainNav .navbar__logo img, #communityNav .navbar__logo img {
        width: 200px;
        height: 90px; } }
  @media (max-width: 575px) {
    #mainNav, #communityNav {
      text-align: center; }
      #mainNav .nav-link, #communityNav .nav-link {
        font-size: 1.25em !important; } }
  @media (min-width: 768px) {
    #mainNav, #communityNav {
      padding: 15px 60px; } }

#communityNav {
  padding: 0;
  -ms-flex-direction: column;
      flex-direction: column;
  background: #fff;
  z-index: 9999999999;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  @media (min-width: 992px) {
    #communityNav {
      -ms-flex-direction: row;
          flex-direction: row; } }
  #communityNav .container-fluid {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    -ms-flex-direction: row;
        flex-direction: row;
    margin: 0;
    padding: 0;
    background: #ffffff;
    height: 100%; }
    @media (min-width: 768px) {
      #communityNav .container-fluid {
        height: 120px;
        width: 100%;
        padding: 0;
        -ms-flex-direction: row;
            flex-direction: row; } }
    @media (min-width: 992px) {
      #communityNav .container-fluid {
        width: 40%; } }
  #communityNav .angle-right {
    display: none;
    width: 0;
    height: 0;
    border-style: solid;
    float: left;
    border-width: 100px 30px 0 0;
    border-color: #23356f transparent transparent transparent;
    border-width: 120px 30px 0 0; }
    @media (min-width: 768px) {
      #communityNav .angle-right {
        display: inline-block; } }
  #communityNav .navbar__logo {
    display: block;
    padding: 0 .5em; }
    @media (min-width: 768px) {
      #communityNav .navbar__logo {
        display: inline-block;
        padding: 0 1em; }
        #communityNav .navbar__logo img {
          width: 130px; } }
    @media (min-width: 1200px) {
      #communityNav .navbar__logo img {
        width: 185px; } }

.nav__resident-login {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 10px;
  background: #23356f;
  color: #ffffff;
  font-size: .7em;
  letter-spacing: 1px;
  text-transform: uppercase; }
  .nav__resident-login span {
    display: none; }
  @media (min-width: 768px) {
    .nav__resident-login {
      position: static;
      width: 200px;
      background: #ffffff;
      color: #23356f; }
      .nav__resident-login span {
        display: inline-block; } }
  @media (min-width: 1200px) {
    .nav__resident-login {
      font-size: .8em;
      letter-spacing: 1px; } }

.nav__community-name {
  width: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 120px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding: 0 30px;
  margin: 0;
  background: #23356f;
  color: #ffffff;
  font-size: 1.5em; }
  .nav__community-name span {
    -ms-flex-align: center;
        align-items: center; }
  @media (min-width: 1200px) {
    .nav__community-name {
      padding: 0 60px; } }

.community__subnav {
  margin: 0;
  padding: 0;
  font-size: 0; }

.subnav__menu {
  margin: 0 auto;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row; }

.subnav__menu-item {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-size: .8rem;
  font-weight: 500;
  text-align: center; }
  @media (min-width: 768px) {
    .subnav__menu-item {
      font-size: 1rem;
      font-weight: 400; } }
  .subnav__menu-item .subnav__menu-link {
    display: inline-block;
    padding: 1em;
    color: #555555;
    transition: all .35s ease; }
    .subnav__menu-item .subnav__menu-link.pref-employer-link1 {
      opacity: 0;
      pointer-events: none; }
    @media (min-width: 768px) {
      .subnav__menu-item .subnav__menu-link {
        padding: 1em 2em 1em 0; } }

.community__name-header {
  margin: 0;
  padding: .75em 0;
  line-height: 1;
  background: #092c74;
  color: #ffffff; }
  .community__name-header .container {
    margin: 0 auto;
    padding: 0; }

#isSpecial {
  display: none; }

.community__login-link {
  color: #ffffff; }

.community__hero {
  position: relative;
  height: 75vw;
  max-height: 75vh;
  background-size: cover;
  background-position: center; }

.header__chat-button {
  position: absolute;
  left: -1em;
  top: 3em;
  padding: 1em 4em;
  background: #5f913f;
  color: #ffffff;
  transform: skew(-20deg); }
  .header__chat-button span {
    transform: skew(20deg);
    display: inline-block; }
  .header__chat-button:hover {
    color: #ffffff;
    background: #23356f; }

@keyframes slideInFromLeft {
  0% {
    transform: translateX(-100%); }
  50% {
    transform: translateX(-100%); }
  100% {
    transform: translateX(0); } }

.community__special-offer {
  position: relative;
  text-align: left;
  background: #e28330;
  color: #ffffff;
  padding: 1.25em 2em;
  line-height: 1.25;
  letter-spacing: .05em; }
  .community__special-offer span {
    font-weight: 700; }
  @media (min-width: 769px) {
    .community__special-offer {
      padding-left: 60px; } }

.community__headline {
  display: inline-block;
  position: relative;
  height: 70px;
  margin: 30px 0;
  padding: .5em 0;
  background: #e28330;
  color: #ffffff; }
  .community__headline:before, .community__headline:after {
    content: '';
    position: absolute;
    top: 0;
    height: 100%; }
  .community__headline:before {
    width: 1000%;
    background: #e28330;
    left: -1000%; }
  .community__headline:after {
    width: 100px;
    background-color: #e28330;
    transform: skew(-25deg);
    z-index: -1;
    margin-left: -35px; }

.community__subhead {
  color: #e28330;
  margin-bottom: 1em; }

.community__features-list {
  margin-bottom: 3em; }

.features__list-item {
  list-style-type: disc;
  margin: 0 0 1em 1em;
  color: #555555;
  font-size: .9em;
  letter-spacing: .025em;
  line-height: 1.5; }

.section__floorplans {
  margin-bottom: 60px; }
  .section__floorplans .nav-item {
    background: #23356f;
    padding: 0; }
  .section__floorplans .nav-link {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #ffffff;
    padding: 1.25em 2em;
    margin: 0 !important;
    border: 0;
    border-radius: 0;
    font-weight: bold;
    font-size: .75em; }
    @media (min-width: 769px) {
      .section__floorplans .nav-link {
        font-size: 1em; } }
  .section__floorplans .nav-link.active {
    background: #bbbdbf;
    color: #ffffff !important; }

.community__floorplan-cards {
  padding: 60px 0;
  background: #bbbdbf; }

.floorplan__card {
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  -ms-flex-align: center;
      align-items: center;
  padding: 1em;
  margin: .5em;
  width: 95%;
  max-width: 440px;
  background: #ffffff;
  color: #23356f; }

.floorplan__thumbnail {
  height: 125px;
  width: 125px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer; }

.floorplan__info {
  text-transform: uppercase;
  font-size: .85em;
  margin-left: 2em; }

.floorplan__name {
  text-transform: none;
  font-size: 1.25rem; }

.floorplan__sqfootage,
.floorplan__unitmix {
  color: #555555;
  margin-bottom: 10px;
  letter-spacing: .05em; }

.floorplan__link {
  color: #e28330; }

.floorplan__expand-btn {
  display: none;
  position: relative;
  line-height: 0;
  -ms-flex: 1;
      flex: 1; }
  @media (min-width: 460px) {
    .floorplan__expand-btn {
      display: block; } }

.floorplan__expand-icon {
  position: absolute;
  right: 2em;
  width: 1.5em;
  height: 1.5em;
  cursor: pointer;
  transform: translateY(-0.75em); }

.contact__address,
.contact__phone,
.contact__hours,
.contact__subhead {
  display: block;
  font-size: 1.25em;
  line-height: 1.25;
  color: #555555;
  margin-bottom: 1em; }

.contact__subhead {
  display: block;
  margin-bottom: .5em;
  color: #e28330; }

.contact__hours {
  margin-bottom: 2em;
  max-width: 300px; }
  .contact__hours li {
    margin-bottom: 5px; }
    .contact__hours li span {
      float: right; }

/* covers annoying chat widget */
#footer,
#carouselIndicators,
.community__special-offer,
.section__callout {
  z-index: 999999999; }

.section__callout--community {
  background: #eeeeee;
  margin-top: 0; }
  .section__callout--community .callout__headline {
    color: #e28330; }

@media (max-width: 375px) {
  .is-pref-employer .community__headline {
    font-size: 1.8rem; } }

.is-pref-employer .orange-text {
  color: #e28330; }

.is-pref-employer .employer-program-item {
  text-transform: uppercase;
  color: #e28330;
  line-height: 1.5;
  padding-bottom: 0; }
  .is-pref-employer .employer-program-item a {
    color: #e28330; }
    .is-pref-employer .employer-program-item a:hover {
      font-weight: 600; }

.is-pref-employer [data-update="pref-employer-img"] {
  height: calc(432px - 2rem); }
  @media (max-width: 992px) {
    .is-pref-employer [data-update="pref-employer-img"] {
      display: none; } }

.is-pref-employer .participants-intro {
  margin-bottom: 1rem;
  color: #555555;
  font-size: .9em;
  letter-spacing: .025em;
  line-height: 1.75; }

.modal .modal-body {
  padding: 2em; }

.modal li {
  padding-bottom: .5em; }

.modal .modal__floorplan-image {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 90%;
  height: 75vmin; }

.modal .modal__floorplan-info {
  padding-left: 7.5%; }

.modal .modal-content,
.modal .modal-dialog {
  max-width: 1200px; }

.modal .floorplan__name {
  font-size: 2em;
  color: #23356f;
  display: inline-block;
  margin: .5em 1em .5em 0;
  padding: 0; }

.modal .floorplan__sqfootage,
.modal .floorplan__unitmix {
  font-size: 1.5em;
  display: inline-block;
  margin-right: 1em; }

.modal .floorplan__features-headline {
  margin-bottom: 1em;
  color: #23356f; }

.modal .floorplan__features {
  padding: 3em 0;
  color: #555555;
  font-size: .8em;
  line-height: 1.25;
  letter-spacing: .025em;
  text-transform: uppercase; }

.modal .floorplan__feature {
  margin-bottom: .5em; }

.modal .floorplan__apply-btn {
  display: block;
  border: 0;
  background-color: #5f913f;
  color: #ffffff;
  font-size: 1em;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 1em 3.5em;
  margin: 1em 0;
  max-width: 300px; }

.modal .siblings {
  display: inline-block; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhlbHBlcnMvX3R5cG9ncmFwaHkuc2NzcyIsImhlbHBlcnMvX2Z1bmN0aW9ucy5zY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsImJvb3RzdHJhcC9ib290c3RyYXAuc2NzcyIsImJvb3RzdHJhcC9fdHlwZS5zY3NzIiwiYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2xpc3RzLnNjc3MiLCJib290c3RyYXAvX2dyaWQuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiYm9vdHN0cmFwL19mb3Jtcy5zY3NzIiwiaGVscGVycy9fdmFyaWFibGVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19mb3Jtcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiYm9vdHN0cmFwL190cmFuc2l0aW9ucy5zY3NzIiwiYm9vdHN0cmFwL19uYXYuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2hvdmVyLnNjc3MiLCJib290c3RyYXAvX25hdmJhci5zY3NzIiwiYm9vdHN0cmFwL19tb2RhbC5zY3NzIiwiYm9vdHN0cmFwL19jYXJvdXNlbC5zY3NzIiwiYm9vdHN0cmFwL19mdW5jdGlvbnMuc2NzcyIsImJvb3RzdHJhcC91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsImJvb3RzdHJhcC91dGlsaXRpZXMvX2JhY2tncm91bmQuc2NzcyIsImJvb3RzdHJhcC91dGlsaXRpZXMvX2JvcmRlcnMuc2NzcyIsImJvb3RzdHJhcC91dGlsaXRpZXMvX2NsZWFyZml4LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiYm9vdHN0cmFwL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwiYm9vdHN0cmFwL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsImJvb3RzdHJhcC91dGlsaXRpZXMvX2ZsZXguc2NzcyIsImJvb3RzdHJhcC91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19mbG9hdC5zY3NzIiwiYm9vdHN0cmFwL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsImJvb3RzdHJhcC91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsImJvb3RzdHJhcC91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwiYm9vdHN0cmFwL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwiYm9vdHN0cmFwL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCJib290c3RyYXAvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL192aXNpYmlsaXR5LnNjc3MiLCJwYXJ0aWFscy9fZ2xvYmFsLnNjc3MiLCJwYXJ0aWFscy9fbWl4aW5zLnNjc3MiLCJwYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiLCJwYXJ0aWFscy9fYnV0dG9ucy5zY3NzIiwicGFydGlhbHMvX2Zvb3Rlci5zY3NzIiwicGFydGlhbHMvX2hvbWVwYWdlLnNjc3MiLCJwYXJ0aWFscy9fc2VhcmNoLnNjc3MiLCJwYXJ0aWFscy9fbWFwLnNjc3MiLCJwYXJ0aWFscy9fYWJvdXQuc2NzcyIsInBhcnRpYWxzL19jb250YWN0LnNjc3MiLCJjb21wb25lbnRzL19jYXJvdXNlbC5zY3NzIiwiaGVscGVycy9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL19jYXJkcy5zY3NzIiwiY29tcG9uZW50cy9fbmF2YmFyLnNjc3MiLCJjb21wb25lbnRzL19jb21tdW5pdHkuc2NzcyIsImNvbXBvbmVudHMvX21vZGFscy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLHdGQUFZO0FDNkNaO0VBRUUsdUJBQXVCO0VBRXZCLDBCQUEwQixFQUMzQjs7QUFDRDtFQUVFLG9DQUFvQyxFQUNyQzs7QUFnQkQ7RUFDRTtJQUNFLFdBQVc7SUFFWCxnREFBdUMsRUFBQTtFQUd6QztJQUNFLFdBQVc7SUFFWCw2Q0FBb0MsRUFBQSxFQUFBOztBQUl4QztFQUVFLDJCQUEyQixFQUM1Qjs7QUN6RkQ7Ozs7Ozs7Ozs7Ozs7RUFhQyxVQUFVO0VBQ1YsV0FBVztFQUNYLFVBQVU7RUFDVixnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLHlCQUF5QixFQUN6Qjs7QUFDRCxpREFBaUQ7QUFDakQ7O0VBRUMsZUFBZSxFQUNmOztBQUNEO0VBQ0MsZUFBZSxFQUNmOztBQUNEO0VBQ0MsaUJBQWlCLEVBQ2pCOztBQUNEO0VBQ0MsYUFBYSxFQUNiOztBQUNEOztFQUVDLFlBQVk7RUFDWixjQUFjLEVBQ2Q7O0FBQ0Q7RUFDQywwQkFBMEI7RUFDMUIsa0JBQWtCLEVBQ2xCOztBQzFDRDs7Ozs7R0FLRztBQ0RIOztFQUVFLHNCQ3dQK0I7RUR2UC9CLHFCQ3dQOEI7RUR2UDlCLGlCQ3dQMEI7RUR2UDFCLGlCQ3dQMEI7RUR2UDFCLGVDd1A4QixFRHZQL0I7O0FBRUQ7RUFBVSxrQkMwT1csRUQxT2lCOztBQUN0QztFQUFVLGdCQzBPUyxFRDFPbUI7O0FBQ3RDO0VBQVUsbUJDME9ZLEVEMU9nQjs7QUFDdEM7RUFBVSxrQkMwT1csRUQxT2lCOztBQUN0QztFQUFVLG1CQzBPWSxFRDFPZ0I7O0FBQ3RDO0VBQVUsZ0JDME9TLEVEMU9tQjs7QUFFdEM7RUFDRSxtQkMwUHdCO0VEelB4QixpQkMwUG9CLEVEelByQjs7QUFHRDtFQUNFLGdCQ3lPa0I7RUR4T2xCLGlCQzZPdUI7RUQ1T3ZCLGlCQ29PMEIsRURuTzNCOztBQUNEO0VB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O0VBQ3ZCLDBCQUEwQixFQUMzQjs7QUFuREg7RUFzREksb0JBQW9CLEVBQ3JCOztBQXZESDtFQTBESSxlQUFlO0VBQ2YsVUFBVTtFQUNWLDBCYjVDVztFYTZDWCxlYjFDVztFYTJDWCxlQUFlO0VBQ2YsMEJBQTBCO0VBQzFCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsY0FBYztFQUNkLGlCQUFpQixFQUNsQjs7QUFwRUg7RUEyRUksc0JBQXNCLEVBQ3ZCIiwiZmlsZSI6InN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUeXBvZ3JhcGh5IG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgdXJsKC8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1MaWJyZStGcmFua2xpbjo0MDAsNTAwLDgwMHxNYXZlbitQcm86NTAwKTtcbiIsIi8vIEZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tXG4vLyBHZW5lcmFsIGZ1bmN0aW9ucyBmb3IgcHJvamVjdHNcbi8vID09PT09PT09PT1cblxuLy8gQ29sb3Jcbi8vIC0tLS0tXG4vLyBBbiBlYXN5IHdheSB0byBnZXQgY29sb3JzIGZyb20gdGhlICRjb2xvcnMgbWFwXG4vLyA9PT09PVxuXG5AZnVuY3Rpb24gY29sb3IoJGNvbG9yLCAkbWFwOiAkY29sb3JzKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkY29sb3IpO1xufVxuXG4vLyBNYXAtZmV0Y2hcbi8vIC0tLS0tLS0tLVxuLy8gQW4gZWFzeSB3YXkgdG8gZmV0Y2ggYSBkZWVwIHZhbHVlIGluIGEgbXVsdGktbGV2ZWwgbWFwLlxuLy8gV29ya3MgbXVjaCBsaWtlIG1hcC1nZXQoKSBleGNlcHQgdGhhdCB5b3UgcGFzcyBtdWx0aXBsZVxuLy8ga2V5cyBhcyB0aGUgc2Vjb25kIHBhcmFtZXRlciB0byBnbyBkb3duIG11bHRpcGxlIGxldmVsc1xuLy8gaW4gdGhlIG5lc3RlZCBtYXAuXG4vL1xuLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vamxvbmcvODc2MDI3NVxuLy8gPT09PT09PT09XG5cbkBmdW5jdGlvbiBtYXAtZmV0Y2goJG1hcCwgJGtleXMpIHtcbiAgJGtleTogbnRoKCRrZXlzLCAxKTtcbiAgJGxlbmd0aDogbGVuZ3RoKCRrZXlzKTtcbiAgJHZhbHVlOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICBAaWYgJGxlbmd0aCA+IDEge1xuICAgICRyZXN0OiAoKTtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgJHJlc3Q6IGFwcGVuZCgkcmVzdCwgbnRoKCRrZXlzLCAkaSkpO1xuICAgIH1cbiAgICBAcmV0dXJuIG1hcC1mZXRjaCgkdmFsdWUsICRyZXN0KTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuLy8gU3RyaXBzIHVuaXRcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cblxuLy8gRmFkZSBpbiBBbmltYXRpb25cblxuLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG4uYW5pbWF0ZWQuaW5maW5pdGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAlLCAwLCAwKSBza2V3KC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAlLCAwLCAwKSBza2V3KC0yMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2tldygtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2tldygtMjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMCUsIDAsIDApIHNrZXcoLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMCUsIDAsIDApIHNrZXcoLTIwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBza2V3KC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBza2V3KC0yMGRlZyk7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cbiIsImh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLCBcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGZvbnQ6IGluaGVyaXQ7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5ib2R5IHtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG5vbCwgdWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuYmxvY2txdW90ZSwgcSB7XG5cdHF1b3Rlczogbm9uZTtcbn1cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsIHE6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0Y29udGVudDogbm9uZTtcbn1cbnRhYmxlIHtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG59XG4iLCIvKiFcbiAqIEJvb3RzdHJhcCB2NC4wLjAtYmV0YSAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxNyBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMTcgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuXG4vLyBDb21tZW50IG91dCBhbnkgcGFydGlhbHMgeW91IGFyZW4ndCB1c2luZ1xuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuLy9AaW1wb3J0IFwicHJpbnRcIjtcbi8vQGltcG9ydCBcInJlYm9vdFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbi8vQGltcG9ydCBcImltYWdlc1wiO1xuLy9AaW1wb3J0IFwiY29kZVwiO1xuQGltcG9ydCBcImdyaWRcIjtcbi8vQGltcG9ydCBcInRhYmxlc1wiO1xuQGltcG9ydCBcImZvcm1zXCI7XG4vL0BpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbi8vQGltcG9ydCBcImRyb3Bkb3duXCI7XG4vL0BpbXBvcnQgXCJidXR0b24tZ3JvdXBcIjtcbi8vQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG4vL0BpbXBvcnQgXCJjdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJuYXZcIjtcbkBpbXBvcnQgXCJuYXZiYXJcIjtcbi8vQGltcG9ydCBcImNhcmRcIjtcbi8vQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbi8vQGltcG9ydCBcInBhZ2luYXRpb25cIjtcbi8vQGltcG9ydCBcImJhZGdlXCI7XG4vL0BpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbi8vQGltcG9ydCBcImFsZXJ0XCI7XG4vL0BpbXBvcnQgXCJwcm9ncmVzc1wiO1xuLy9AaW1wb3J0IFwibWVkaWFcIjtcbi8vQGltcG9ydCBcImxpc3QtZ3JvdXBcIjtcbi8vQGltcG9ydCBcImNsb3NlXCI7XG5AaW1wb3J0IFwibW9kYWxcIjtcbi8vQGltcG9ydCBcInRvb2x0aXBcIjtcbi8vQGltcG9ydCBcInBvcG92ZXJcIjtcbkBpbXBvcnQgXCJjYXJvdXNlbFwiO1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuIiwiLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplOyB9XG5oMiwgLmgyIHsgZm9udC1zaXplOiAkaDItZm9udC1zaXplOyB9XG5oMywgLmgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplOyB9XG5oNCwgLmg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplOyB9XG5oNSwgLmg1IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplOyB9XG5oNiwgLmg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBmb250LXNpemU6ICRkaXNwbGF5MS1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXkyLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTMtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBmb250LXNpemU6ICRkaXNwbGF5NC1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1mb250LXNpemU7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDgwJTsgLy8gYmFjayB0byBkZWZhdWx0IGZvbnQtc2l6ZVxuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNCBcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBDb3B5IHNldHRpbmdzIGZyb20gdGhpcyBmaWxlIGludG8gdGhlIHByb3ZpZGVkIGBfY3VzdG9tLnNjc3NgIHRvIG92ZXJyaWRlXG4vLyB0aGUgQm9vdHN0cmFwIGRlZmF1bHRzIHdpdGhvdXQgbW9kaWZ5aW5nIGtleSwgdmVyc2lvbmVkIGZpbGVzLlxuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIFRhYmxlIG9mIENvbnRlbnRzXG4vL1xuLy8gQ29sb3Igc3lzdGVtXG4vLyBPcHRpb25zXG4vLyBTcGFjaW5nXG4vLyBCb2R5XG4vLyBMaW5rc1xuLy8gR3JpZCBicmVha3BvaW50c1xuLy8gR3JpZCBjb250YWluZXJzXG4vLyBHcmlkIGNvbHVtbnNcbi8vIEZvbnRzXG4vLyBDb21wb25lbnRzXG4vLyBUYWJsZXNcbi8vIEJ1dHRvbnNcbi8vIEZvcm1zXG4vLyBEcm9wZG93bnNcbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vIE5hdnNcbi8vIE5hdmJhclxuLy8gUGFnaW5hdGlvblxuLy8gSnVtYm90cm9uXG4vLyBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vLyBDYXJkc1xuLy8gVG9vbHRpcHNcbi8vIFBvcG92ZXJzXG4vLyBCYWRnZXNcbi8vIE1vZGFsc1xuLy8gQWxlcnRzXG4vLyBQcm9ncmVzcyBiYXJzXG4vLyBMaXN0IGdyb3VwXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4vLyBGaWd1cmVzXG4vLyBCcmVhZGNydW1ic1xuLy8gQ2Fyb3VzZWxcbi8vIENsb3NlXG4vLyBDb2RlXG5cblxuLy9cbi8vIENvbG9yIHN5c3RlbVxuLy9cblxuJHdoaXRlOiAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzg2OGU5NiAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKFxuICAxMDA6ICRncmF5LTEwMCxcbiAgMjAwOiAkZ3JheS0yMDAsXG4gIDMwMDogJGdyYXktMzAwLFxuICA0MDA6ICRncmF5LTQwMCxcbiAgNTAwOiAkZ3JheS01MDAsXG4gIDYwMDogJGdyYXktNjAwLFxuICA3MDA6ICRncmF5LTcwMCxcbiAgODAwOiAkZ3JheS04MDAsXG4gIDkwMDogJGdyYXktOTAwXG4pICFkZWZhdWx0O1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKFxuICBibHVlOiAkYmx1ZSxcbiAgaW5kaWdvOiAkaW5kaWdvLFxuICBwdXJwbGU6ICRwdXJwbGUsXG4gIHBpbms6ICRwaW5rLFxuICByZWQ6ICRyZWQsXG4gIG9yYW5nZTogJG9yYW5nZSxcbiAgeWVsbG93OiAkeWVsbG93LFxuICBncmVlbjogJGdyZWVuLFxuICB0ZWFsOiAkdGVhbCxcbiAgY3lhbjogJGN5YW4sXG4gIHdoaXRlOiAkd2hpdGUsXG4gIGdyYXk6ICRncmF5LTYwMCxcbiAgZ3JheS1kYXJrOiAkZ3JheS04MDBcbikgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6IChcbiAgcHJpbWFyeTogJGJsdWUsXG4gIHNlY29uZGFyeTogJGdyYXktNjAwLFxuICBzdWNjZXNzOiAkZ3JlZW4sXG4gIGluZm86ICRjeWFuLFxuICB3YXJuaW5nOiAkeWVsbG93LFxuICBkYW5nZXI6ICRyZWQsXG4gIGxpZ2h0OiAkZ3JheS0xMDAsXG4gIGRhcms6ICRncmF5LTgwMFxuKSAhZGVmYXVsdDtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiA4JSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoXG4gIDA6IDAsXG4gIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgMjogKCRzcGFjZXIgKiAuNSksXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgNTogKCRzcGFjZXIgKiAzKVxuKSAhZGVmYXVsdDtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDMwcHggIWRlZmF1bHQ7XG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIEZvbnRzXG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgLjg3NXJlbSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuNzVyZW0gIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6IDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6IC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAjZmNmOGUzICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgICByZ2JhKCRibGFjaywuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWludmVyc2UtYmc6ICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kdGFibGUtaW52ZXJzZS1hY2NlbnQtYmc6ICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWludmVyc2UtaG92ZXItYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtaW52ZXJzZS1ib3JkZXItY29sb3I6ICAgIGxpZ2h0ZW4oJGdyYXktOTAwLCA3LjUlKSAhZGVmYXVsdDtcbiR0YWJsZS1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgMS4yNSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAxLjUgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogIDEuNSAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgMCAwIDAgM3B4IHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuMjUpICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgIGFsbCAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjE1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zXG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgbGlnaHRlbih0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAkaW5wdXQtYm94LXNoYWRvdywgJGJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItc206ICAgICAgICAgKCRmb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6ICAgICAgICAgKCRmb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogIC41cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6IC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgMS41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci15OiAuMjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6IDFyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWRlc2NyaXB0aW9uLWRpc2FibGVkLWNvbG9yOiAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwIDFweCAkYm9keS1iZywgMCAwIDAgM3B4IHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgbGlnaHRlbih0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6IHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM0UlM0NwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6IDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNFJTNDY2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6IGxpZ2h0ZW4odGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAyNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpLCAwIDAgNXB4IHJnYmEoJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yLCAuNSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogIDc1JSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgIDIuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS13aWR0aDogICAgICAgICAgICAxNHJlbSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAuMDc1cmVtICR3aGl0ZSwgMCAwIDAgLjJyZW0gdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAxLjUgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgaW5zZXQgMCAuMnJlbSAuNHJlbSByZ2JhKCRibGFjaywuMDUpICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBwbGFjZWhvbGRlcjogKFxuICAgIGVuOiBcIkNob29zZSBmaWxlLi4uXCJcbiAgKSxcbiAgYnV0dG9uLWxhYmVsOiAoXG4gICAgZW46IFwiQnJvd3NlXCJcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6IHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdmJhci1icmFuZC1oZWlnaHQgLSAkbmF2LWxpbmstaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgcmdiYSgkd2hpdGUsMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgJG9yYW5nZSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLC4xKSAhZGVmYXVsdDtcblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6IGNhbGMoI3skY2FyZC1ib3JkZXItcmFkaXVzfSAtICN7JGNhcmQtYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIDVweCAxMHB4IHJnYmEoJGJsYWNrLC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICA5cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxcHgpICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogMzBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgIHJnYmEoJGJsYWNrLC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAwIDNweCA5cHggcmdiYSgkYmxhY2ssLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogMCA1cHggMTVweCByZ2JhKCRibGFjaywuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6IDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICNkZGQgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywuMDc1KSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6IHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNNCAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6IHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNMS41IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICB0cmFuc2Zvcm0gLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kY29kZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRjb2RlLXBhZGRpbmcteDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgI2JkNDE0NyAhZGVmYXVsdDtcbiRjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweCAhZGVmYXVsdDtcbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxufVxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRoIDEwMCUgd2lkdGggZm9yXG4vLyBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG59XG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctbGVmdDogICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2Utcm93KCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIC0yKTtcbiAgbWFyZ2luLWxlZnQ6ICAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAgKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMS5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2N3B4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAxcHgsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lKVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lKVxuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBvcmRlcjogJGk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50LCBWZW5kb3JQcmVmaXhcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgLy8gLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxuICAvLyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1idG4tcGFkZGluZy15ICRpbnB1dC1idG4tcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1idG4tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNC5cbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgLy8gTWFudWFsbHkgdXNlIHRoZSBpZi9lbHNlIGluc3RlYWQgb2YgdGhlIG1peGluIHRvIGFjY291bnQgZm9yIGlPUyBvdmVycmlkZVxuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UgdW5kbyB0aGUgaU9TIGRlZmF1bHRcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIHRleHQgdG9cbi8vIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogY2FsYygjeyRpbnB1dC1idG4tcGFkZGluZy15fSAtICN7JGlucHV0LWJ0bi1ib3JkZXItd2lkdGh9ICogMik7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGlucHV0LWJ0bi1wYWRkaW5nLXl9IC0gI3skaW5wdXQtYnRuLWJvcmRlci13aWR0aH0gKiAyKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+YCBkZWZhdWx0XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LWJ0bi1wYWRkaW5nLXktbGd9IC0gI3skaW5wdXQtYnRuLWJvcmRlci13aWR0aH0gKiAyKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtYnRuLXBhZGRpbmcteS1sZ30gLSAjeyRpbnB1dC1idG4tYm9yZGVyLXdpZHRofSAqIDIpO1xuICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LWJ0bi1wYWRkaW5nLXktc219IC0gI3skaW5wdXQtYnRuLWJvcmRlci13aWR0aH0gKiAyKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtYnRuLXBhZGRpbmcteS1zbX0gLSAjeyRpbnB1dC1idG4tYm9yZGVyLXdpZHRofSAqIDIpO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG59XG5cblxuLy9cbi8vIExlZ2VuZHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxlZ2VuZCB0ZXh0IHRvXG4vLyBiZSB0aGUgc2FtZSBzaXplIGFzIHJlZ3VsYXIgbGFiZWxzLCBhbmQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sZWdlbmQge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LWJ0bi1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtYnRuLXBhZGRpbmcteTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LWJ0bi1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtYnRuLXBhZGRpbmcteTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIDA7XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBUaGUgYC5mb3JtLWdyb3VwLSogZm9ybS1jb250cm9sYCB2YXJpYXRpb25zIGFyZSBzYWRseSBkdXBsaWNhdGVkIHRvIGF2b2lkIHRoZVxuLy8gaXNzdWUgZG9jdW1lbnRlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE1MDc0LlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgcGFkZGluZzogJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gJGlucHV0LWJ0bi1wYWRkaW5nLXgtc207XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sLXNtIHtcbiAgJjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSkge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgfVxufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgcGFkZGluZzogJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sLWxnIHtcbiAgJjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSkge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgfVxufVxuXG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbn1cblxuXG4vLyBGb3JtIGdyaWRcbi8vXG4vLyBTcGVjaWFsIHJlcGxhY2VtZW50IGZvciBvdXIgZ3JpZCBzeXN0ZW0ncyBgLnJvd2AgZm9yIHRpZ2h0ZXIgZm9ybSBsYXlvdXRzLlxuXG4uZm9ybS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTVweDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG5cbiAgPiAuY29sLFxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b207XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgJjpvbmx5LWNoaWxkIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG59XG5cbi8vIFJhZGlvcyBhbmQgY2hlY2tib3hlcyBvbiBzYW1lIGxpbmVcbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gICsgLmZvcm0tY2hlY2staW5saW5lIHtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuICB9XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4vL1xuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xuLy8gcHJpbWFyaWx5IGZvciBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIHZpYSBzY29wZWQgYDppbnZhbGlkYCBhbmQgYDp2YWxpZGBcbi8vIHBzZXVkby1jbGFzc2VzIGJ1dCBhbHNvIGluY2x1ZGVzIGAuaXMtaW52YWxpZGAgYW5kIGAuaXMtdmFsaWRgIGNsYXNzZXMgZm9yXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxuXG4uaW52YWxpZC1mZWVkYmFjayB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgZm9udC1zaXplOiAuODc1cmVtO1xuICBjb2xvcjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjtcbn1cblxuLmludmFsaWQtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB6LWluZGV4OiA1O1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMjUwcHg7XG4gIHBhZGRpbmc6IC41cmVtO1xuICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgZm9udC1zaXplOiAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciwuOCk7XG4gIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xufVxuXG5AaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXCJ2YWxpZFwiLCAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcik7XG5AaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXCJpbnZhbGlkXCIsICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IpO1xuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAuZm9ybS1jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gQ3VzdG9tIGZvcm0gY29udHJvbHNcbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDsgLy8gRmxleGJveCBhbGlnbm1lbnQgbWVhbnMgd2UgbG9zZSBvdXIgSFRNTCBzcGFjZSBoZXJlLCBzbyB3ZSBjb21wZW5zYXRlLlxuICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIH1cblxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxuICAgIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmF5IGFuZCBCcmFuZCBDb2xvcnMgZm9yIHVzZSBhY3Jvc3MgdGhlbWVcblxuXG4kdGhlbWUtcHJpbWFyeS1vcGFjaXR5OiByZ2JhKDksNDQsMTE2LDAuOSk7XG5cbiRncmF5LWJhc2U6ICMwMDAgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrZXI6IGxpZ2h0ZW4oJGdyYXktYmFzZSwgMTMuNSUpICFkZWZhdWx0O1xuJGdyYXktZGFyazogbGlnaHRlbigkZ3JheS1iYXNlLCAyMCUpICFkZWZhdWx0O1xuJGdyYXk6IGxpZ2h0ZW4oJGdyYXktYmFzZSwgMzMuNSUpICFkZWZhdWx0O1xuJGdyYXktbGlnaHQ6IGxpZ2h0ZW4oJGdyYXktYmFzZSwgNjYlKSAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0ZXI6IGxpZ2h0ZW4oJGdyYXktYmFzZSwgOTMuNSUpICFkZWZhdWx0O1xuXG4kYmx1ZTogIzIzMzU2ZjtcbiRncmVlbjogIzVmOTEzZjtcbiRtZWRpdW0tZ3JheTogI2JiYmRiZjtcbiRvcmFuZ2U6ICNlMjg0MzE7XG4kd2hpdGU6ICNmZmZmZmY7XG4kdGhlbWUtcHJpbWFyeTogJGJsdWU7XG4iLCJAbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGBAaW5wdXQtYm9yZGVyLWNvbG9yLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG5cbiAgLmZvcm0tY29udHJvbCxcbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgkY29sb3IsLjI1KTtcbiAgICAgIH1cblxuICAgICAgfiAuaW52YWxpZC1mZWVkYmFjayxcbiAgICAgIH4gLmludmFsaWQtdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gVE9ETzogcmVkbyBjaGVjayBtYXJrdXAgbG9sIGNyYXBcbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgICsgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSByYWRpb3MgYW5kIGNoZWNrc1xuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoJGNvbG9yLC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuIiwiLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICYuc2hvdyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbnRyIHtcbiAgJi5jb2xsYXBzZS5zaG93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIH1cbn1cblxudGJvZHkge1xuICAmLmNvbGxhcHNlLnNob3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcyBvciBgPHVsPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3IgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgJi5hY3RpdmUsXG4gICAgLnNob3cgPiAmIHtcbiAgICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCJAbWl4aW4gaG92ZXIge1xuICAvLyBUT0RPOiByZS1lbmFibGUgYWxvbmcgd2l0aCBtcTQtaG92ZXItc2hpbVxuLy8gIEBpZiAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbi8vICAgIC8vIFNlZSBNZWRpYSBRdWVyaWVzIExldmVsIDQ6IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9tZWRpYXF1ZXJpZXMvI2hvdmVyXG4vLyAgICAvLyBDdXJyZW50bHkgc2hpbW1lZCBieSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9tcTQtaG92ZXItc2hpbVxuLy8gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbi8vICAgICAgJjpob3ZlciB7IEBjb250ZW50IH1cbi8vICAgIH1cbi8vICB9XG4vLyAgQGVsc2Uge1xuLy8gc2Nzcy1saW50OmRpc2FibGUgSW5kZW50YXRpb25cbiAgICAmOmhvdmVyIHsgQGNvbnRlbnQgfVxuLy8gc2Nzcy1saW50OmVuYWJsZSBJbmRlbnRhdGlvblxuLy8gIH1cbn1cblxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyB7IEBjb250ZW50IH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfSBAZWxzZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gIEBpZiAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIgeyBAY29udGVudCB9XG4gIH0gQGVsc2Uge1xuICAgICYsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfSBAZWxzZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250ZW50c1xuLy9cbi8vIE5hdmJhclxuLy8gTmF2YmFyIGJyYW5kXG4vLyBOYXZiYXIgbmF2XG4vLyBOYXZiYXIgdGV4dFxuLy8gTmF2YmFyIGRpdmlkZXJcbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vLyBOYXZiYXIgcG9zaXRpb25cbi8vIE5hdmJhciB0aGVtZXNcblxuXG4vLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3Blcml0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgPiAuY29udGFpbmVyLFxuICA+IC5jb250YWluZXItZmx1aWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBmb250LXNpemU6ICRuYXZiYXItYnJhbmQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVuYXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudS1yaWdodCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gYC5kcm9wZG93bi1tZW51YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yIG5lc3RpbmcgY29udGFpbmVycywgaGF2ZSB0byByZWRlY2xhcmUgZm9yIGFsaWdubWVudCBwdXJwb3Nlc1xuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAvLyBzY3NzLWxpbnQ6ZW5hYmxlIEltcG9ydGFudFJ1bGVcblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgfVxufVxuXG4vLyBXaGl0ZSBsaW5rcyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kXG4ubmF2YmFyLWRhcmsge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gIH1cbn1cbiIsIi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAmLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gIH1cbiAgJi5zaG93IC5tb2RhbC1kaWFsb2cgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXIgaXRcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiBzaG91bGQgdGhlcmUgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcblxuICAvLyBFYXNpbHkgcGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsgbWFyZ2luLWxlZnQ6IC4yNXJlbTsgfVxuICA+IDpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLXJpZ2h0OiAuMjVyZW07IH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwKTtcbiAgfVxuXG4gIC5tb2RhbC1zbSB7IG1heC13aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnIHsgbWF4LXdpZHRoOiAkbW9kYWwtbGc7IH1cbn1cbiIsIi8vIFdyYXBwZXIgZm9yIHRoZSBzbGlkZSBjb250YWluZXIgYW5kIGluZGljYXRvcnNcbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwZXJzcGVjdGl2ZTogMTAwMHB4O1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xufVxuXG4vLyBDU1MzIHRyYW5zZm9ybXMgd2hlbiBzdXBwb3J0ZWQgYnkgdGhlIGJyb3dzZXJcbi5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXG4gIEBzdXBwb3J0cyAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblxuICBAc3VwcG9ydHMgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXYsXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cbiAgQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgLy8gV2UgY2FuJ3QgaGF2ZSBhIHRyYW5zaXRpb24gaGVyZSBiZWNhdXNlIFdlYktpdCBjYW5jZWxzIHRoZSBjYXJvdXNlbFxuICAvLyBhbmltYXRpb24gaWYgeW91IHRyaXAgdGhpcyB3aGlsZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgYW5pbWF0aW9uLlxuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogLjk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZztcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZztcbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiBvcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZywgLjUpO1xuXG4gICAgLy8gVXNlIHBzZXVkbyBjbGFzc2VzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKCgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMik7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKCgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMik7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1dGF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gQW5vdGhlciBncmlkIG1peGluIHRoYXQgZW5zdXJlcyB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXApIHtcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluIGAkZ3JpZC1icmVha3BvaW50c2AgbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBtaXhpbiBjb2xvci15aXEoJGNvbG9yKSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xuXG4gIEBpZiAoJHlpcSA+PSAxNTApIHtcbiAgICBjb2xvcjogIzExMTtcbiAgfSBAZWxzZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLy8gUmV0cmVpdmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheXNjYWxlKCRrZXk6IFwiMTAwXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XG59XG5cbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgIzAwMCwgI2ZmZik7XG5cbiAgQGlmICRsZXZlbCA8IDAge1xuICAgIC8vIExpZ2h0ZXIgdmFsdWVzIG5lZWQgYSBxdWljayBkb3VibGUgbmVnYXRpdmUgZm9yIHRoZSBTYXNzIG1hdGggdG8gd29ya1xuICAgIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqIC0xICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbiAgfVxufVxuIiwiLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLSN7JGNvbG9yfScsICR2YWx1ZSk7XG59XG5cbi5iZy13aGl0ZSB7IGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG4uYmctdHJhbnNwYXJlbnQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4iLCIvL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgIHsgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMjAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbiIsIi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvL1xuLy8gVXRpbGl0aWVzIGZvciBjb21tb24gYGRpc3BsYXlgIHZhbHVlc1xuLy9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmQjeyRpbmZpeH0tbm9uZSAgICAgICAgIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lICAgICAgIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS1pbmxpbmUtYmxvY2sgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWJsb2NrICAgICAgICB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS10YWJsZSAgICAgICAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tdGFibGUtY2VsbCAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tZmxleCAgICAgICAgIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWZsZXggIHsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG4uZC1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmQtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmQtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmQtcHJpbnQtbm9uZSB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTkge1xuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDkgLyAyMSk7XG4gIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMTZieTkge1xuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDkgLyAxNik7XG4gIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtNGJ5MyB7XG4gICY6OmJlZm9yZSB7XG4gICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoMyAvIDQpO1xuICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTFieTEge1xuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDEgLyAxKTtcbiAgfVxufVxuIiwiLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7IEBpbmNsdWRlIGZsb2F0LWxlZnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tcmlnaHQgeyBAaW5jbHVkZSBmbG9hdC1yaWdodDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1ub25lICB7IEBpbmNsdWRlIGZsb2F0LW5vbmU7IH1cbiAgfVxufVxuIiwiQG1peGluIGZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuQG1peGluIGZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5AbWl4aW4gZmxvYXQtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBQb3NpdGlvbmluZ1xuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50XG4vLyBTZWU6IGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgY2xpcC1wYXRoOiBub25lO1xuICB9XG59XG4iLCIvLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG4iLCIvLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuXG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9ICB7ICN7JHByb3B9OiAgICAgICAgJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9LXRvcDogICAgJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9LXJpZ2h0OiAgJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9LWxlZnQ6ICAgJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAgJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAgICAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byAgeyBtYXJnaW46ICAgICAgICBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAubXQjeyRpbmZpeH0tYXV0byB7IG1hcmdpbi10b3A6ICAgIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tciN7JGluZml4fS1hdXRvIHsgbWFyZ2luLXJpZ2h0OiAgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8geyBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byB7IG1hcmdpbi1sZWZ0OiAgIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6ICBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6ICAgIGF1dG8gIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBUZXh0XG4vL1xuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnRleHQjeyRpbmZpeH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtdXBwZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1ub3JtYWwgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDsgfVxuLmZvbnQtaXRhbGljICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuXG4udGV4dC13aGl0ZSB7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtI3skY29sb3J9JywgJHZhbHVlKTtcbn1cblxuLnRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQgIWltcG9ydGFudDsgfVxuXG4vLyBNaXNjXG5cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGUoKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuIiwiLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIEBpbmNsdWRlIGludmlzaWJsZSh2aXNpYmxlKTtcbn1cblxuLmludmlzaWJsZSB7XG4gIEBpbmNsdWRlIGludmlzaWJsZShoaWRkZW4pO1xufVxuIiwiLy8gVmlzaWJpbGl0eVxuXG5AbWl4aW4gaW52aXNpYmxlKCR2aXNpYmlsaXR5KSB7XG4gIHZpc2liaWxpdHk6ICR2aXNpYmlsaXR5ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBHbG9iYWwgc3R5bGluZyBmb3IgdGhpcyB0ZW1wbGF0ZVxuXG5hLFxuYnV0dG9uIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5ib2R5LFxuaHRtbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmZiZmI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5ib2R5IHtcbiAgQGluY2x1ZGUgYm9keS1mb250KCk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGdyYXktZGFya2VyO1xufVxuXG5hIHtcbiAgY29sb3I6ICR0aGVtZS1wcmltYXJ5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWFsbDtcblxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogZGFya2VuKCR0aGVtZS1wcmltYXJ5LCAuMSk7XG4gIH1cbn1cblxuLmJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtcHJpbWFyeSAhaW1wb3J0YW50O1xufVxuXG4uYmctZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbn1cblxuLmJnLWRhcmsge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWRhcmtlciAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1mYWRlZCB7XG4gIGNvbG9yOiBmYWRlLW91dCh3aGl0ZSwgLjMpO1xufVxuXG46Oi1tb3otc2VsZWN0aW9uLFxuOjpzZWxlY3Rpb24ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6ICRncmF5LWRhcmtlcjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbmltZzo6LW1vei1zZWxlY3Rpb24sXG5pbWc6OnNlbGVjdGlvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5kaXNjbGFpbWVyLWNvbW11bml0eSB7XG4gIGNvbG9yOiAkZ3JheTtcbiAgcGFkZGluZzogMmVtO1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIvLyBNaXhpbnNcbi8vIEJvb3RzdHJhcCBCdXR0b24gVmFyaWFudFxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAmLmZvY3VzLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICY6YWN0aXZlLFxuICAgIC5vcGVuPiYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICAmLmZvY3VzLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICY6YWN0aXZlLFxuICAgIC5vcGVuPiYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICAgICYuZm9jdXMsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1hbGwoKSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG5AbWl4aW4gYmFja2dyb3VuZC1jb3ZlcigpIHtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuJGhlYWRlci1mb250OiAnTWF2ZW4gUHJvJztcbiRib2R5LWZvbnQ6ICdMaWJyZSBGcmFua2xpbic7XG4kc2VyaWYtZm9udDogc2VyaWY7XG5cbkBtaXhpbiBzZXJpZi1mb250KCkge1xuICAgIGZvbnQtZmFtaWx5OiAkc2VyaWYtZm9udCwgc2VyaWY7XG59XG5cbkBtaXhpbiBib2R5LWZvbnQoKSB7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQsIHNhbnMtc2VyaWY7XG59XG5cbkBtaXhpbiBoZWFkZXItZm9udCgpIHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LCBzYW5zLXNlcmlmO1xufVxuXG4vL0JIIGFkZGl0aW9uc1xuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xuICAgICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XG4gICAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XG59XG5cbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcbiAgICBmb250LXNpemU6ICRzaXplO1xuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcbn1cblxuJGltYWdlLXBhdGg6ICcuLi9pbWcnICFkZWZhdWx0O1xuJGZhbGxiYWNrLWV4dGVuc2lvbjogJ3BuZycgIWRlZmF1bHQ7XG4kcmV0aW5hLXN1ZmZpeDogJ0AyeCc7XG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkbmFtZSwgJHNpemU6ZmFsc2UpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skaW1hZ2UtcGF0aH0vI3skbmFtZX0uc3ZnKTtcbiAgICBAaWYoJHNpemUpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkc2l6ZTtcbiAgICB9XG4gICAgLm5vLXN2ZyAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGltYWdlLXBhdGh9LyN7JG5hbWV9LiN7JGZhbGxiYWNrLWV4dGVuc2lvbn0pO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC1tb3otbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSwgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzLzIpLCBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSwgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRpbWFnZS1wYXRofS8jeyRuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGZhbGxiYWNrLWV4dGVuc2lvbn0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgICRvcGFjaXR5LWllOiAkb3BhY2l0eSAqIDEwMDtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JG9wYWNpdHktaWUpOyAvL0lFOFxufSIsIi8vIFZhcmlhYmxlc1xuXG4vLyBHcmF5IGFuZCBCcmFuZCBDb2xvcnMgZm9yIHVzZSBhY3Jvc3MgdGhlbWVcblxuJHRoZW1lLXByaW1hcnk6ICMwOTJjNzQ7XG4kdGhlbWUtcHJpbWFyeS1vcGFjaXR5OiByZ2JhKDksNDQsMTE2LDAuOSk7XG5cbiRncmF5LWJhc2U6ICMwMDAgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrZXI6IGxpZ2h0ZW4oJGdyYXktYmFzZSwgMTMuNSUpICFkZWZhdWx0O1xuJGdyYXktZGFyazogbGlnaHRlbigkZ3JheS1iYXNlLCAyMCUpICFkZWZhdWx0O1xuJGdyYXk6IGxpZ2h0ZW4oJGdyYXktYmFzZSwgMzMuNSUpICFkZWZhdWx0O1xuJGdyYXktbGlnaHQ6IGxpZ2h0ZW4oJGdyYXktYmFzZSwgNjYlKSAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0ZXI6IGxpZ2h0ZW4oJGdyYXktYmFzZSwgOTMuNSUpICFkZWZhdWx0O1xuXG4kYmx1ZWdyYXk6ICM5NDliYTg7XG5cbiRncmVlbjogIzVmOTEzZjtcbiRtZWRpdW0tZ3JheTogI2JiYmRiZjtcbiRvcmFuZ2U6ICNlMjgzMzA7XG4kd2hpdGU6ICNmZmZmZmY7XG5cbi8vQ29vbCBDU1NcblxuLy9iYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTkwZGVnLHJnYmEoNjcsMTQ5LDExMSwwLjcpLCM0Mzk1NmYgOTUlKTtcbiIsIi5idG4tYW5nbGVkIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMzBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNrZXcoLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTMwZGVnKTtcblxuICAgIGRpdiB7XG5cbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMzBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBza2V3KDMwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3KDMwZGVnKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gICAgJi5idG4tc3EtcmlnaHQsXG4gICAgJi5idG4tc3EtbGVmdCB7XG4gICAgXHQmOmhvdmVyIHtcbiAgICBcdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRvcmFuZ2UsIDEwJSk7XG4gICAgXHRcdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG5cbiAgICBcdH1cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDMwZGVnKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXcoMzBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDMwZGVnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnRuLXNxLXJpZ2h0OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDMwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2tldygzMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2tldygzMGRlZyk7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgICAmLmJ0bi1zcS1yaWdodDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygzMGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXcoMzBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMzBkZWcpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG59IiwiI2Zvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zZWN0aW9uX19mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAkdGhlbWUtcHJpbWFyeTtcbiAgcGFkZGluZzogM2VtIDAgMS41ZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvICFpbXBvcnRhbnQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvICFpbXBvcnRhbnQ7XG59XG4uZm9vdGVyX19uYXYge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuLmZvb3Rlcl9fbmF2LWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5mb290ZXJfX25hdi1saW5rIHtcbiAgICBwYWRkaW5nOiAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuXHRcdGxpbmUtaGVpZ2h0OiAzO1xufVxuLmZvb3Rlcl9fbmF2LWxpbms6aG92ZXIsIC5mb290ZXJfX25hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG9yYW5nZSAhaW1wb3J0YW50O1xufVxuLmZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBhIHtjb2xvcjogJG1lZGl1bS1ncmF5O31cbiAgICBtYXJnaW4tdG9wOiAxM3B4O1xufVxuLnBpcGUtb3JhbmdlIHtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgICBtYXJnaW46IDAgLjVlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOjU1MnB4KSB7XG4gIC5mb290ZXJfX25hdi1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbkBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXJfX25hdiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAuZm9vdGVyX19uYXYtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMmVtIDAgMDtcbn1cbiAgLmZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuIiwiLy8gU2tldyByaG9tYnVzIHNoYXBlIHBhcmVudCBhbmQgdW5za2V3IGNoaWxkXG5AbWl4aW4gc2tldyB7dHJhbnNmb3JtOiBza2V3KC0yMGRlZyk7fVxuQG1peGluIHVuc2tldyB7dHJhbnNmb3JtOiBza2V3KDIwZGVnKTsgZGlzcGxheTogaW5saW5lLWJsb2NrO31cblxuLnNlY3Rpb25fX2NhbGxvdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAyZW0gMDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuLmNhbGxvdXRfX2hlYWRsaW5lIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG1hcmdpbjogLjI1ZW0gMCAxZW0gMDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuLmNhbGxvdXRfX2N0YSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDFlbSA0LjVlbSAxZW0gMy41ZW07XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBAaW5jbHVkZSBza2V3XG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSB1bnNrZXc7XG4gICAgfVxuICAgICY6aG92ZXIsICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogJHRoZW1lLXByaW1hcnk7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMjBkZWcpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xuICAgIH1cbn1cbi50bSB7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xufVxuLnNlY3Rpb25fX2ludHJvIHtcbiAgbWFyZ2luLWJvdHRvbTogM2VtO1xufVxuLnNlY3Rpb25fX2ZlYXR1cmVkLWNvbW11bml0aWVzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xufVxuIiwiLnNlY3Rpb25fX3NlYXJjaC10b29scyB7XG4gICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuICAgIHNlbGVjdCB7XG4gICAgICB3aWR0aDogOTUlO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb21tdW5pdHlfX21hcCB7XG4gICAgLW1zLWZsZXgtb3JkZXI6IDE7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLmNvbW11bml0eV9fbGlzdGluZ3Mge1xuICAgIC1tcy1mbGV4LW9yZGVyOiAyO1xuICAgIG9yZGVyOiAyO1xuICB9XG59XG4uZm9ybV9fbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBjb2xvcjogJGdyYXk7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5oZWFkZXIuc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgIG1hcmdpbjogMTBweCAwIDE1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4uZm9ybS1ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDElO1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVmOTEzZjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgd2lkdGg6IDQycHg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxNSU7XG4gICAgICAgIHJpZ2h0OiAyM3B4O1xuICAgICAgICBjb250ZW50OiBcIlxcZjAwMlwiO1xuICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIG1hcmdpbjogMC41cmVtIGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltZy9pY29uX2Ryb3Bkb3duLnN2Zyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbnNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi8vIHRyb3VibGUgcG9zaXRpb25pbmcgYmFja2dyb3VuZCBpbWFnZSBpbiBJRTEwKzExLCBzbyBoaWRpbmcgd2l0aCB0aGlzIG1lZGlhIHF1ZXJ5XG4vL2h0dHBzOi8vcGhpbGlwbmV3Y29tZXIubmV0LzIwMTQvMDQvdGFyZ2V0LWludGVybmV0LWV4cGxvcmVyLTEwLTExLWNzcy9cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuIH1cbn1cbiIsIiNtYXAsXG4jY29tbXVuaXRpZXMtbWFwLFxuI2NvbnRhY3QtbWFwICB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG59XG4uc2tld2VkLWVkZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTRweDtcbiAgICB0b3A6IC0xcHg7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiA0NnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygzMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2tldygzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3KC0zMGRlZyk7XG59XG4uY2lyY3VsYXItcGx1czo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGdyZWVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDc4cHg7XG4gICAgcmlnaHQ6IDQycHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNpcmN1bGFyLXBsdXM6OmJlZm9yZSB7XG4gICAgY29udGVudDogJysnO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMnB4O1xuICAgIGxlZnQ6IC0zNy4xcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmRpZmYtY29tbXVuaXRpZXMge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAvL3doaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uY29tbXVuaXR5LWltZyB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHdpZHRoOiA0OSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNvbW11bml0eS13cmFwIHtcbiAgICBtYXJnaW46IDAgMnJlbSAxcmVtIDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDg4JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbn1cblxuLmNvbW11bml0eS10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogNTAlO1xufVxuXG4udG9wLWJvdHRvbS1zcGFjZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG5cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmRpZmYtY29tbXVuaXRpZXMge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuXG4gICAgfVxuICAgIC5jb21tdW5pdHktd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDMwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xuICAgIH1cbn1cbi5nbS1zdHlsZS1pdyB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IC0zMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcblxuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuXG5cbiAgI2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEuMmVtIDAgMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAyMjBweDtcbiAgICBoZWlnaHQ6IDEzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbn1cbi50b29sdGlwX190aHVtYiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogMTUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweCAwcHggMHB4IDJweDtcbn1cbiIsIkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2VjdGlvbl9fYWJvdXQge1xuICAgICAgbWFyZ2luOiA2MHB4IGF1dG87XG4gIH1cbiAgLmFib3V0X190ZXh0IHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAuYWJvdXRfX2ltYWdlIHtcbiAgICBvcmRlcjogMjtcbiAgICAuaW1nLWhlaWdodCB7XG4gICAgICAgIGhlaWdodDogNjAwcHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxufVxuLmFib3V0X19pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgLmltZy1mbHVpZCB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB9XG59XG4uc2VjdGlvbl9faGVhZGluZyB7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuLnNlY3Rpb25fX3N1YmhlYWRpbmcge1xuICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5pbnRyb19fcGFyYWdyYXBoIHtcbiAgICBjb2xvcjogJGdyYXk7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgfVxufVxuLnNlY3Rpb25fX3BhcmFncmFwaCB7XG4gICAgY29sb3I6ICRncmF5O1xufVxuLnNlY3Rpb25fX2Rpc2NsYWltZXIge1xuICAgIGNvbG9yOiAkZ3JheTtcbn1cbi5pbWctaGVpZ2h0IHtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuaW1nLmltZy1mbHVpZCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4uc2VjdGlvbl9fY29tbXVuaXR5LWNhcmRzIHtcbiAgICBtYXJnaW46IDYwcHggYXV0bztcbn1cbnNlY3Rpb24ubWFwIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgICNtYXAge1xuICAgICAgICBoZWlnaHQ6IDYwdmg7XG4gICAgfVxufVxuXG5zZWN0aW9uLmFjY29yZGlhbiB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xufVxuXG5kaXYgLnBhbmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjFyZW07XG4gICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbn1cblxuLm1haW4tcHJvcDphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItd2lkdGg6IDEyMHB4IDY1cHggMCAwO1xuICAgIGJvcmRlci1jb2xvcjogI2ZiZmJmYiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuIiwiQG1lZGlhIChtaW4td2lkdGg6IDk5MXB4KSB7XG4gIC5zZWN0aW9uX19jb250YWN0IHtcbiAgICAgIG1hcmdpbjogNjBweCBhdXRvO1xuICB9XG4gIC5jb250YWN0X190ZXh0IHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAuY29udGFjdF9faW1hZ2Uge1xuICAgIG9yZGVyOiAyO1xuICB9XG59XG4uY29udGFjdF9faW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIC5pbWctZmx1aWQge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgfVxufVxuLmNvbnRhY3RfX2Zvcm0ge1xuICBtYXJnaW4tdG9wOiAxLjVlbTtcbn1cblxuLmNvbnRhY3QtdXMgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5cbi5mb3JtLXJlc2l6ZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC41cmVtO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufVxuXG4uZm9ybS1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LWxpZ2h0ZXI7XG59XG5cbi5jYXJldDphZnRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHotaW5kZXg6IDM7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAlKSByb3RhdGUoNDVkZWcpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzVmOTEzZjtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzVmOTEzZjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IC0xOHB4O1xufVxuXG4uY29udGFjdC1mb3JtLWJ0biB7XG4gICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICBtYXJnaW46IDFlbSAwIDVlbSAwO1xuICAgIGJhY2tncm91bmQ6ICRncmVlbjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nOiAxZW0gMS41ZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuLmxvY2F0aW9uLWluZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgIGEge1xuICAgICAgY29sb3I6ICMyMzM1NmY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgICBoMyB7Zm9udC1zaXplOiAxLjVlbX1cbn1cbi5zcGNsLXNlbGVjdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzNXB4O1xuXG59XG4iLCIuY2Fyb3VzZWwtaXRlbSB7XG4gIGhlaWdodDogODB2dztcbiAgbWF4LWhlaWdodDogODB2aDtcbn1cbi5tYXN0aGVhZF9faGVhZGxpbmUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIDAgLjVlbSAwO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiwgLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIG9wYWNpdHk6IC44NTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmNhcm91c2VsLWljb25fX3ByZXYsIC5jYXJvdXNlbC1pY29uX19uZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDI1cHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgc3ZnIHsgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG59XG4jY2Fyb3VzZWwtYXJyb3ctcHJldiwgI2Nhcm91c2VsLWFycm93LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuI2Nhcm91c2VsLWFycm93LW5leHQge1xuICByaWdodDogMDtcbn1cbi5tYXN0aGVhZF9fc2VhcmNoLXRvb2wge1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZDogcmdiYSg5LCA0NCwgMTE2LCAwLjkpO1xuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjEyM3B4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGVmdDogLTUwcHg7XG4gICAgcGFkZGluZzogMzBweCAxMjBweDtcbiAgICBAaW5jbHVkZSBza2V3O1xuICAgIGFuaW1hdGlvbjogZmFkZUluTGVmdCAuNzVzIGVhc2Utb3V0O1xuICAgIC1tb3otYW5pbWF0aW9uOiBmYWRlSW5MZWZ0IC43NXMgZWFzZS1vdXQ7IC8qIEZpcmVmb3ggKi9cbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZUluTGVmdCAuNzVzIGVhc2Utb3V0OyAvKiBTYWZhcmkgYW5kIENocm9tZSAqL1xuICAgIC1vLWFuaW1hdGlvbjogZmFkZUluTGVmdCAuNzVzIGVhc2Utb3V0OyAvKiBPcGVyYSAqL1xuICAgIC5tYXN0aGVhZF9faGVhZGxpbmUsIC5tYXN0aGVhZF9fY3RhIHtcbiAgICAgIEBpbmNsdWRlIHVuc2tldztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAubWFzdGhlYWRfX2hlYWRsaW5lIHtcbiAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG59XG4ubWFzdGhlYWRfX2N0YSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICAmOmhvdmVyLCAmOmhvdmVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYW5nbGVkKCRncmVlbik7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jcHJlZi1lbXBsb3llci1wcm9ncmFtIHtcbiAgLm1hc3RoZWFkX19jdGEge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZC1jb3ZlcjtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDtcbn1cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgYm90dG9tOiA2MHB4O1xuICByaWdodDogNC41JTtcbiAgbGVmdDogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIGJvdHRvbTogMzBweDtcbiAgcmlnaHQ6IC0xMCU7XG4gIGxlZnQ6IGluaGVyaXQ7XG4gIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgaGVpZ2h0OiAyZW07XG4gICAgd2lkdGg6IDEuNWVtO1xuICAgIHRyYW5zZm9ybTogc2tldygtMjBkZWcpO1xuICB9XG59XG4iLCIvLyBNSVhJTlNcbi8vIC0tLS0tLVxuLy8gR2VuZXJhbCBtaXhpbnMgZm9yIHByb2plY3RzXG4vLyA9PT09PT1cblxuQG1peGluIGFuZ2xlZCgkY29sb3IpIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNDBweDtcbiAgdG9wOiAwO1xuICByaWdodDogLTIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB0cmFuc2Zvcm06IHNrZXcoLTIwZGVnKTtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcbn1cbkBtaXhpbiBhbmdsZS1yaWdodCgkY29sb3IpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlci13aWR0aDogMTAwcHggMzBweCAwIDA7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuQG1peGluIGFuZ2xlLWxlZnQoJGNvbG9yKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3JkZXItd2lkdGg6IDEwMHB4IDAgMCAzMHB4O1xuICBib3JkZXItY29sb3I6ICRjb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cblxuLy8gU0tFVyBMRUZUIFNJREVcbkBtaXhpbiBza2V3LWxlZnQge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDI1JTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtMTBweDtcbiAgdHJhbnNmb3JtOiBza2V3WCgtMzBkZWcpO1xufVxuXG4vLyBGb250IFNtb290aGluZ1xuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIE1peGluIHRvIHR1cm4gb24gZm9udCBzbW9vdGhpbmcsIGVzcGVjaWFsbHkgZm9yIGxpZ2h0IHRleHQgb24gZGFyayBiYWNrZ3JvdW5kIGZvciBPU1hcbkBtaXhpbiBmb250LXNtb290aGluZygkdmFsdWU6IG9uKSB7XG4gIEBpZiAkdmFsdWUgPT0gb24ge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIH0gQGVsc2Uge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICB9XG59XG5cbi8vIE1hcHB5IEJyZWFrcG9pbnQgc2hvcnRjdXRzXG4vL1xuLy8gQlAgW01peGluXVxuLy8gLS0tLS0tLS0tLVxuLy8gQ29udmVuaWVuY2UgbWl4aW4gZm9yIE1hcHB5IEJyZWFrcG9pbnRzXG5AbWl4aW4gYnAoJHF1ZXJpZXMsICR0eXBlOiBhbGwsICRxdWVyeS1mYWxsYmFjazogbnVsbCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWFwcHktYnAoJHF1ZXJpZXMsICR0eXBlLCAkcXVlcnktZmFsbGJhY2ssICRicmVha3BvaW50cykge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBxdWVyeSgkcXVlcnksICRtYXBweS1xdWVyaWVzOiAkcXVlcmllcykge1xuICBAaW5jbHVkZSBtYXBweS1xdWVyeSgkcXVlcnksICRtYXBweS1xdWVyaWVzKTtcbn1cblxuLy8gSXMtaW52aXNpYmxlXG4vLyAtLS0tLS0tLS0tLS1cbi8vIE1ha2VzIGVsZW1lbnQgaW52aXNpYmxlLCBidXQgc3RpbGwgYWNjZXNzaWJsZVxuLy8gLSBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG5AbWl4aW4gaXMtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIElzLXZpc2libGVcbi8vIC0tLS0tLS0tLS1cbi8vIFR1cm5zIG9mZiB0aGUgZWxlbWVudC1pbnZpc2libGUgZWZmZWN0LlxuQG1peGluIGlzLXZpc2libGUge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogYXV0bztcbiAgY2xpcDogYXV0bztcbn1cblxuLy8gUGxhY2Vob2xkZXJcbi8vIC0tLS0tLS0tLS0tXG4vLyBDaGFuZ2VzIFBsYWNlaG9sZGVyIHN0eWxlc1xuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6cGxhY2hvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gU0VMRUNUSU9OXG4vLyAtLS0tLS0tLS1cbi8vIENoYW5nZXMgc2VsZWN0ZWQgY29sb3IgYW5kIGJhY2tncm91bmQgY29sb3JcbkBtaXhpbiBzZWxlY3Rpb24oJGJnLWNvbG9yLCAkdGV4dC1jb2xvcikge1xuICAmOjpzZWxlY3Rpb24ge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gIH1cbn1cblxuLy8gVGV4dCBvdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuQG1peGluIHRleHQtb3ZlcmZsb3cge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG4vLyBaLWluZGV4XG4vLyAtLS0tLS0tXG5AbWl4aW4gemkoJGxvY2F0aW9uKSB7XG4gIHotaW5kZXg6IG1hcC1nZXQoJHppbmRleCwgJGxvY2F0aW9uKTtcbn1cblxuLy8gU2hhcGUgbWl4aW5zXG4vLyAtLS0tLVxuLy8gU2hhcGVzIGF2YWlsYmxlIHdpdGhpbiB0aGlzIG1peGluIGZpbGVzIGFyZTpcbi8vID09PT09PT09PT1cblxuLy8gU3F1YXJlXG4vLyAtLS0tLS1cbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcbiAgQGluY2x1ZGUgc2l6ZSgkc2l6ZSwgJHNpemUpO1xufVxuXG4vLyBDaXJjbGVcbi8vIC0tLS0tLVxuQG1peGluIGNpcmNsZSgkd2lkdGgpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkd2lkdGg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cbi8vIFRyaWFuZ2xlXG4vLyAtLS0tLS0tLVxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGlzb3NjZWxlcyB0cmlhbmdsZXNcbi8vIC0gJHRyaWFuZ2xlLXNpemUgICAgICAgLSBVc2VkIHRvIHNldCBib3JkZXItc2l6ZS4gTm8gZGVmYXVsdCwgc2V0IGEgcHggb3IgZW0gc2l6ZS5cbi8vIC0gJHRyaWFuZ2xlLWNvbG9yICAgICAgLSBVc2VkIHRvIHNldCBib3JkZXItY29sb3Igd2hpY2ggbWFrZXMgdXAgdHJpYW5nbGUuIE5vIGRlZmF1bHRcbi8vIC0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAgLSBVc2VkIHRvIGRldGVybWluZSB3aGljaCBkaXJlY3Rpb24gdHJpYW5nbGUgcG9pbnRzLlxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgIE9wdGlvbnM6IHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodFxuQG1peGluIHRyaWFuZ2xlKCR0cmlhbmdsZS1zaXplLCAkdHJpYW5nbGUtY29sb3IsICR0cmlhbmdsZS1kaXJlY3Rpb24pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAkdHJpYW5nbGUtZGlyZWN0aW9uID09IHRvcCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIH1cblxuICBAaWYgJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBib3R0b20ge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICB9XG5cbiAgQGlmICR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICB9XG5cbiAgQGlmICR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIH1cbn1cbiIsIi5mZWF0dXJlZC1jb21tdW5pdHlfX2NhcmQge1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvICFpbXBvcnRhbnQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvICFpbXBvcnRhbnQ7XG5cdCY6aG92ZXIgLmZlYXR1cmVkLWNvbW11bml0eV9faW5mbyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLXByaW1hcnk7XG5cdH1cblx0JjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItd2lkdGg6IDEwMHB4IDU1cHggMCAwO1xuICAgIGJvcmRlci1jb2xvcjogI2ZiZmJmYiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuXHR9XG59XG4uZmVhdHVyZWQtY29tbXVuaXR5X190aHVtYm5haWwge1xuXHRoZWlnaHQ6IDI1MHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuLmhhc2JhZGdlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAhaW1wb3J0YW50O1xufVxuLmZlYXR1cmVkLWNvbW11bml0eV9faW5mbyB7XG4gIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nO1xuXHRoZWlnaHQ6IDE1MHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZzogMWVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6ICRibHVlZ3JheTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3M7XG5cdGJvcmRlci1yYWRpdXM6IDAgMCAzcHggM3B4O1xuXHRtYXJnaW4tYm90dG9tOiAyZW07XG59XG4uZmVhdHVyZWQtY29tbXVuaXR5X19uYW1lIHtcblx0Y29sb3I6ICR3aGl0ZTtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bWFyZ2luLWJvdHRvbTogLjVlbTtcbn1cbi5mZWF0dXJlZC1jb21tdW5pdHlfX3BsYWNlLFxuLmZlYXR1cmVkLWNvbW11bml0eV9fcmVudCB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuLmZlYXR1cmVkLWNvbW11bml0eV9fcGxhY2Uge1xuXHRtYXJnaW4tYm90dG9tOiAxZW07XG59XG4uZmVhdHVyZWQtY29tbXVuaXR5X19yZW50IHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bWFyZ2luLWJvdHRvbTogLjI1ZW07XG5cdHN0cm9uZyB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cbn1cblxuLyogQ29tbXVuaXRpZXMgUGFnZSBDYXJkcyAqL1xuXG4uY29tbXVuaXR5X19jYXJkIHtcblx0bWluLWhlaWdodDogMTUwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmF5LWxpZ2h0O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCY6YWZ0ZXIge1xuXG5cdH1cbn1cbi5jb21tdW5pdHlfX3RodW1ibmFpbCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogLTJweDtcblx0dG9wOiAtMnB4O1xuXHRoZWlnaHQ6IGNhbGMoMTAxJTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdC8qIG5lZWQgdG8gYWxpZ24gbGVmdCB3aXRoIGRvd250b3duIGNvbGxlY3Rpb24gYmFkZ2UgKi9cblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBcblxuXHR3aWR0aDogMzUlO1xuXHRmbG9hdDpsZWZ0O1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnICc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGJvcmRlci13aWR0aDogNDBweCAyNXB4IDAgMDtcblx0XHRib3JkZXItY29sb3I6ICNmYmZiZmIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0fVxufVxuLmNvbW11bml0eV9faW5mbyB7XG5cdG1hcmdpbi1sZWZ0OiAzNy41JTtcblx0cGFkZGluZzogMzBweCAxNXB4O1xufVxuLmNvbW11bml0eV9fbmFtZSB7XG5cdGZvbnQtc2l6ZTogMWVtICFpbXBvcnRhbnQ7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogJHRoZW1lLXByaW1hcnk7XG5cdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQ7XG59XG4uY29tbXVuaXR5X19wbGFjZSwgLmNvbW11bml0eV9fcmVudCB7XG5cdGZvbnQtc2l6ZTogLjllbTtcblx0Y29sb3I6ICRncmF5O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmNvbW11bml0eV9fcmVudCB7fVxuLmNvbW11bml0eV9fcGhvbmUge1xuXHRmb250LXNpemU6IC45ZW07XG5cdGEge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRjb2xvcjogJG9yYW5nZTtcblx0fVxufVxuLmNvbW11bml0eS1jYXJkX19hcHBseS1saW5rIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAyLjVlbTtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IC44NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0YmFja2dyb3VuZDogJGJsdWU7XG5cdFx0fVxufVxuLmNvbW11bml0eV9fY2FyZDpob3ZlciAuY29tbXVuaXR5LWNhcmRfX2FwcGx5LWxpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbiIsIi5uYXZiYXItdG9nZ2xlciB7XG5cdGJvcmRlcjogMDtcbn1cbi5uYXYtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5uYXYtbGluayB7XG5cdG1hcmdpbjogMTBweCAwIDEwcHggMTVweCAhaW1wb3J0YW50O1xuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4ubmF2LWxpbmsuYWN0aXZlIHtcblx0Y29sb3I6ICRvcmFuZ2UgIWltcG9ydGFudDtcbn1cbi5uYXYtaXRlbS0tbG9naW4ge1xuXHRAbWVkaWEgKG1pbi13aWR0aDogNTc1cHgpIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDE1MHB4O1xuXHRcdGZvbnQtc2l6ZTogLjhlbTtcblx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDY1cHg7XG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0fVxufVxuI21haW5OYXYsICNjb21tdW5pdHlOYXYge1xuXHRcdHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG8gIWltcG9ydGFudDtcblx0XHQtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0byAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYWxsO1xuICAgIC5uYXZiYXJfX2xvZ28gaW1nIHtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuXHRcdFx0XHRwYWRkaW5nOiAxNXB4IDA7XG5cdFx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuXHRcdFx0XHRcdHdpZHRoOiAyMDBweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDkwcHg7XG5cdFx0XHRcdH1cbiAgICB9XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Lm5hdi1saW5rIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDEuMjVlbSAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0fVxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuXHRcdFx0cGFkZGluZzogMTVweCA2MHB4O1xuXHRcdH1cbn1cbiNjb21tdW5pdHlOYXYge1xuXHRwYWRkaW5nOiAwO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiA5OTk5OTk5OTk5O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdH1cblxuXHQuY29udGFpbmVyLWZsdWlkIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0XHRcdGhlaWdodDogMTIwcHg7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdH1cblxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuXHRcdFx0d2lkdGg6IDQwJTtcblx0XHR9XG5cdH1cblx0LmFuZ2xlLXJpZ2h0IHtcblx0ICBAaW5jbHVkZSBhbmdsZS1yaWdodCgkYmx1ZSk7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxMjBweCAzMHB4IDAgMDtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblx0fVxuXHQubmF2YmFyX19sb2dvIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiAwIC41ZW07XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiAwIDFlbTtcblx0XHRcdGltZyB7XG5cdFx0XHRcdHdpZHRoOiAxMzBweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0d2lkdGg6IDE4NXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLy90aGlzIGVsZW1lbnQgYXBwZWFycyBvbiB0aGUgY29tbXVuaXR5IGxhbmRpbmcgcGFnZXNcbi5uYXZfX3Jlc2lkZW50LWxvZ2luIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwcHg7XG5cdHJpZ2h0OiAxMHB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0Y29sb3I6ICR3aGl0ZTtcblx0Zm9udC1zaXplOiAuN2VtO1xuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRzcGFuIHtkaXNwbGF5OiBub25lfVxuXHRAbWVkaWEgKG1pbi13aWR0aDogNzY4cHggKSB7XG5cdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHR3aWR0aDogMjAwcHg7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdGNvbG9yOiAkYmx1ZTtcblx0XHRzcGFuIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fVxuXHR9XG5cdEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHggKSB7XG5cdFx0Zm9udC1zaXplOiAuOGVtO1xuXHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdH1cbn1cbi5uYXZfX2NvbW11bml0eS1uYW1lIHtcblx0d2lkdGg6IDEwMCU7XG5cdEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nO1xuXHRoZWlnaHQ6IDEyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcblx0cGFkZGluZzogMCAzMHB4O1xuXHRtYXJnaW46IDA7XG5cdGJhY2tncm91bmQ6ICRibHVlO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRzcGFuIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cdC8vIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuXHQvLyBcdC8vIHdpZHRoOiBhdXRvO1xuXHQvLyB9XG5cdEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHggKSB7XG5cdFx0cGFkZGluZzogMCA2MHB4O1xuXHR9XG59XG4uY29tbXVuaXR5X19zdWJuYXYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMDtcbn1cbi5zdWJuYXZfX21lbnUge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5zdWJuYXZfX21lbnUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDtcbiAgZm9udC1zaXplOiAuOHJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHR9XG5cblx0LnN1Ym5hdl9fbWVudS1saW5rIHtcblx0ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogMWVtO1xuXHRcdGNvbG9yOiAkZ3JheTtcblx0XHR0cmFuc2l0aW9uOiBhbGwgLjM1cyBlYXNlO1xuXHRcdFxuXHRcdCYucHJlZi1lbXBsb3llci1saW5rIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR9XG5cblx0XHRAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0ICBcdHBhZGRpbmc6IDFlbSAyZW0gMWVtIDA7XG5cdFx0fVxuXHR9XG59XG4iLCIuY29tbXVuaXR5X19uYW1lLWhlYWRlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogLjc1ZW0gMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQ6ICR0aGVtZS1wcmltYXJ5O1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIC5jb250YWluZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuI2lzU3BlY2lhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8vIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC8vIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2U7XG4gIC8vIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG59XG5cbi5jb21tdW5pdHlfX2xvZ2luLWxpbmsge1xuICBjb2xvcjogJHdoaXRlO1xufVxuXG4uY29tbXVuaXR5X19oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDc1dnc7XG4gIG1heC1oZWlnaHQ6IDc1dmg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLmhlYWRlcl9fY2hhdC1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xZW07XG4gIHRvcDogM2VtO1xuICBwYWRkaW5nOiAxZW0gNGVtO1xuICBiYWNrZ3JvdW5kOiAkZ3JlZW47XG4gIGNvbG9yOiAkd2hpdGU7XG4gIEBpbmNsdWRlIHNrZXc7XG5cbiAgc3BhbiB7XG4gICAgQGluY2x1ZGUgdW5za2V3XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkZyb21MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmNvbW11bml0eV9fc3BlY2lhbC1vZmZlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZDogJG9yYW5nZTtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgcGFkZGluZzogMS4yNWVtIDJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcblxuICBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG5cbiAgLy8gcCB7XG4gIC8vICAgYW5pbWF0aW9uOiAxLjVzIGVhc2UtaW4tb3V0IDBzIDEgc2xpZGVJbkZyb21MZWZ0O1xuICAvLyAgIC13ZWJraXQtYW5pbWF0aW9uOiAxLjVzIGVhc2UtaW4tb3V0IDBzIDEgc2xpZGVJbkZyb21MZWZ0O1xuICAvLyB9XG59XG5cbi5jb21tdW5pdHlfX2Rlc2NyaXB0aW9uIHAge1xuICBAZXh0ZW5kIC5pbnRyb19fcGFyYWdyYXBoO1xufVxuXG4uY29tbXVuaXR5X19oZWFkbGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDcwcHg7XG4gIG1hcmdpbjogMzBweCAwO1xuICBwYWRkaW5nOiAuNWVtIDA7XG4gIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZTI4MzMwO1xuICAgIGxlZnQ6IC0xMDAwJTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIC8vIHdpZHRoOiAwO1xuICAgIC8vIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAvLyBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIC8vIGJvcmRlci13aWR0aDogNzBweCAzMHB4IDAgMHB4O1xuICAgIC8vIGJvcmRlci1jb2xvcjogJG9yYW5nZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudFxuICAgIHdpZHRoOiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTI4MzMwO1xuICAgIHRyYW5zZm9ybTogc2tldygtMjVkZWcpO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIG1hcmdpbi1sZWZ0OiAtMzVweDtcbiAgfVxufVxuXG4uY29tbXVuaXR5X19zdWJoZWFkIHtcbiAgY29sb3I6ICRvcmFuZ2U7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLmNvbW11bml0eV9fZmVhdHVyZXMtbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IDNlbTtcbn1cblxuLmZlYXR1cmVzX19saXN0LWl0ZW0ge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIG1hcmdpbjogMCAwIDFlbSAxZW07XG4gIGNvbG9yOiAkZ3JheTtcbiAgZm9udC1zaXplOiAuOWVtO1xuICBsZXR0ZXItc3BhY2luZzogLjAyNWVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uc2VjdGlvbl9fZmxvb3JwbGFucyB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBmb250LXNtb290aGluZztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDEuMjVlbSAyZW07XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAuNzVlbTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY29tbXVuaXR5X19mbG9vcnBsYW4tY2FyZHMge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcblxuICAudGFiLWNvbnRlbnQge31cblxuICAudGFiLXBhbmUge31cbn1cblxuLmZsb29ycGxhbl9fY2FyZCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDFlbTtcbiAgbWFyZ2luOiAuNWVtO1xuICB3aWR0aDogOTUlO1xuICBtYXgtd2lkdGg6IDQ0MHB4O1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGNvbG9yOiAkYmx1ZTtcbn1cblxuLmZsb29ycGxhbl9fdGh1bWJuYWlsIHtcbiAgaGVpZ2h0OiAxMjVweDtcbiAgd2lkdGg6IDEyNXB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmxvb3JwbGFuX19pbmZvIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAuODVlbTtcbiAgbWFyZ2luLWxlZnQ6IDJlbTtcbn1cblxuLmZsb29ycGxhbl9fbmFtZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi5mbG9vcnBsYW5fX3NxZm9vdGFnZSxcbi5mbG9vcnBsYW5fX3VuaXRtaXgge1xuICBjb2xvcjogJGdyYXk7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbn1cblxuLmZsb29ycGxhbl9fbGluayB7XG4gIGNvbG9yOiAkb3JhbmdlO1xufVxuXG4uZmxvb3JwbGFuX19leHBhbmQtYnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgZmxleDogMTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNDYwcHgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uZmxvb3JwbGFuX19leHBhbmQtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDJlbTtcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtLjc1ZW0pOyAvLyB0aGlzIGNlbnRlcnMgdGhlIGljb24gdmVydGljYWxseSBpbiBmaXJlZm94IHdoZXJlIGZsZXggMSB3YXMgYnVnZ3lcbn1cblxuLmNvbnRhY3RfX2FkZHJlc3MsXG4uY29udGFjdF9fcGhvbmUsXG4uY29udGFjdF9faG91cnMsXG4uY29udGFjdF9fc3ViaGVhZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGNvbG9yOiAkZ3JheTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uY29udGFjdF9fc3ViaGVhZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICBjb2xvcjogJG9yYW5nZTtcbn1cblxuLmNvbnRhY3RfX2hvdXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuXG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIC8vbWFyZ2luLWxlZnQ6IDUlO1xuICAgIH1cbiAgfVxufVxuXG4vKiBjb3ZlcnMgYW5ub3lpbmcgY2hhdCB3aWRnZXQgKi9cbiNmb290ZXIsXG4jY2Fyb3VzZWxJbmRpY2F0b3JzLFxuLmNvbW11bml0eV9fc3BlY2lhbC1vZmZlcixcbi5zZWN0aW9uX19jYWxsb3V0IHtcbiAgei1pbmRleDogOTk5OTk5OTk5OTtcbn1cblxuLnNlY3Rpb25fX2NhbGxvdXQtLWNvbW11bml0eSB7XG4gIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ZXI7XG4gIG1hcmdpbi10b3A6IDA7XG5cbiAgLmNhbGxvdXRfX2hlYWRsaW5lIHtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgfVxufVxuXG4uaXMtcHJlZi1lbXBsb3llciB7XG4gIC5jb21tdW5pdHlfX2hlYWRsaW5lIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzc1cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5vcmFuZ2UtdGV4dCB7XG4gICAgY29sb3I6ICNlMjgzMzA7XG4gIH1cblxuICAuZW1wbG95ZXItcHJvZ3JhbS1pdGVtIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjZTI4MzMwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjZTI4MzMwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbZGF0YS11cGRhdGU9XCJwcmVmLWVtcGxveWVyLWltZ1wiXSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQzMnB4IC0gMnJlbSk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnBhcnRpY2lwYW50cy1pbnRybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBjb2xvcjogIzU1NTU1NTtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMjVlbTtcbiAgICBsaW5lLWhlaWdodDogMS43NTtcbiAgfVxufSIsIi5tb2RhbCB7XG4gIC5tb2RhbC1ib2R5IHtcbiAgICBwYWRkaW5nOiAyZW07XG4gIH1cblxuICBsaSB7XG4gICAgcGFkZGluZy1ib3R0b206IC41ZW07XG4gIH1cblxuICAubW9kYWxfX2Zsb29ycGxhbi1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgaGVpZ2h0OiA3NXZtaW47XG4gIH1cblxuICAubW9kYWxfX2Zsb29ycGxhbi1pbmZvIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDcuNSU7XG4gIH1cblxuICAubW9kYWwtY29udGVudCxcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIH1cblxuICAuZmxvb3JwbGFuX19uYW1lIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogLjVlbSAxZW0gLjVlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZmxvb3JwbGFuX19zcWZvb3RhZ2UsXG4gIC5mbG9vcnBsYW5fX3VuaXRtaXgge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4uZmxvb3JwbGFuX19mZWF0dXJlcy1oZWFkbGluZSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgY29sb3I6ICRibHVlO1xufVxuICAuZmxvb3JwbGFuX19mZWF0dXJlcyB7XG4gICAgcGFkZGluZzogM2VtIDA7XG4gICAgY29sb3I6ICRncmF5O1xuICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjAyNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuZmxvb3JwbGFuX19mZWF0dXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICB9XG5cbiAgLmZsb29ycGxhbl9fYXBwbHktYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIHBhZGRpbmc6IDFlbSAzLjVlbTtcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gIH1cblxuICAuZmxvb3JwbGFuX19hcHBseS1idG46YmVmb3JlIHtcblxuICB9XG5cbiAgLnNpYmxpbmdzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiJdfQ== */
