@import url(https://fonts.googleapis.com/css?family=Raleway:300,400,600);

/*!
 * 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)
 */

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }

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

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

  pre {
    white-space: pre-wrap !important;
  }

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

  thead {
    display: table-header-group;
  }

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

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

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

  .navbar {
    display: none;
  }

  .badge {
    border: 1px solid #000;
  }

  .table {
    border-collapse: collapse !important;
  }

  .table td,
  .table th {
    background-color: #fff !important;
  }

  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: transparent;
}

@-ms-viewport {
  width: device-width;
}

article,
aside,
dialog,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

body {
  margin: 0;
  font-family: "Raleway", sans-serif;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.6;
  color: #212529;
  text-align: left;
  background-color: #f5f8fa;
}

[tabindex="-1"]:focus {
  outline: none !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: .5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
}

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

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

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

dt {
  font-weight: bold;
}

dd {
  margin-bottom: .5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

dfn {
  font-style: italic;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

a:hover {
  color: #0056b3;
  text-decoration: underline;
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
  outline: 0;
}

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

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg:not(:root) {
  overflow: hidden;
}

a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #868e96;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin-bottom: .5rem;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

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";
}

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

.img-thumbnail {
  padding: 0.25rem;
  background-color: #f5f8fa;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
  transition: all 0.2s ease-in-out;
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}

.figure-caption {
  font-size: 90%;
  color: #868e96;
}

code,
kbd,
pre,
samp {
  font-family: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

code {
  padding: 0.2rem 0.4rem;
  font-size: 90%;
  color: #bd4147;
  background-color: #f8f9fa;
  border-radius: 0.25rem;
}

a > code {
  padding: 0;
  color: inherit;
  background-color: inherit;
}

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 90%;
  color: #fff;
  background-color: #212529;
  border-radius: 0.2rem;
}

kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 90%;
  color: #212529;
}

pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  background-color: transparent;
  border-radius: 0;
}

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}

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

@media (min-width: 640px) {
  .container {
    max-width: 540px;
  }
}

@media (min-width: 1024px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 1366px) {
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1600px) {
  .container {
    max-width: 1140px;
  }
}

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

.row {
  display: -webkit-box;
  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;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  max-width: 100%;
}

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

.col-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 8.33333333%;
          flex: 0 0 8.33333333%;
  max-width: 8.33333333%;
}

.col-2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16.66666667%;
          flex: 0 0 16.66666667%;
  max-width: 16.66666667%;
}

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

.col-4 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.33333333%;
          flex: 0 0 33.33333333%;
  max-width: 33.33333333%;
}

.col-5 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 41.66666667%;
          flex: 0 0 41.66666667%;
  max-width: 41.66666667%;
}

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

.col-7 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 58.33333333%;
          flex: 0 0 58.33333333%;
  max-width: 58.33333333%;
}

.col-8 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 66.66666667%;
          flex: 0 0 66.66666667%;
  max-width: 66.66666667%;
}

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

.col-10 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 83.33333333%;
          flex: 0 0 83.33333333%;
  max-width: 83.33333333%;
}

.col-11 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 91.66666667%;
          flex: 0 0 91.66666667%;
  max-width: 91.66666667%;
}

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

.order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}

.order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}

.order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}

.order-7 {
  -webkit-box-ordinal-group: 8;
      -ms-flex-order: 7;
          order: 7;
}

.order-8 {
  -webkit-box-ordinal-group: 9;
      -ms-flex-order: 8;
          order: 8;
}

.order-9 {
  -webkit-box-ordinal-group: 10;
      -ms-flex-order: 9;
          order: 9;
}

.order-10 {
  -webkit-box-ordinal-group: 11;
      -ms-flex-order: 10;
          order: 10;
}

.order-11 {
  -webkit-box-ordinal-group: 12;
      -ms-flex-order: 11;
          order: 11;
}

.order-12 {
  -webkit-box-ordinal-group: 13;
      -ms-flex-order: 12;
          order: 12;
}

@media (min-width: 640px) {
  .col-sm {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 100%;
  }

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

  .col-sm-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333333%;
            flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }

  .col-sm-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66666667%;
            flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }

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

  .col-sm-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333333%;
            flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-sm-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66666667%;
            flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }

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

  .col-sm-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333333%;
            flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-sm-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66666667%;
            flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }

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

  .col-sm-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333333%;
            flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }

  .col-sm-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66666667%;
            flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }

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

  .order-sm-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }

  .order-sm-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }

  .order-sm-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }

  .order-sm-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }

  .order-sm-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }

  .order-sm-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }

  .order-sm-7 {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }

  .order-sm-8 {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }

  .order-sm-9 {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }

  .order-sm-10 {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }

  .order-sm-11 {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11;
  }

  .order-sm-12 {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12;
  }
}

@media (min-width: 1024px) {
  .col-md {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 100%;
  }

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

  .col-md-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333333%;
            flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }

  .col-md-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66666667%;
            flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }

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

  .col-md-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333333%;
            flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-md-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66666667%;
            flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }

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

  .col-md-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333333%;
            flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-md-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66666667%;
            flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }

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

  .col-md-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333333%;
            flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }

  .col-md-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66666667%;
            flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }

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

  .order-md-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }

  .order-md-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }

  .order-md-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }

  .order-md-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }

  .order-md-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }

  .order-md-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }

  .order-md-7 {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }

  .order-md-8 {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }

  .order-md-9 {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }

  .order-md-10 {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }

  .order-md-11 {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11;
  }

  .order-md-12 {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12;
  }
}

@media (min-width: 1366px) {
  .col-lg {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 100%;
  }

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

  .col-lg-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333333%;
            flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }

  .col-lg-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66666667%;
            flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }

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

  .col-lg-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333333%;
            flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-lg-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66666667%;
            flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }

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

  .col-lg-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333333%;
            flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-lg-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66666667%;
            flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }

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

  .col-lg-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333333%;
            flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }

  .col-lg-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66666667%;
            flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }

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

  .order-lg-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }

  .order-lg-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }

  .order-lg-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }

  .order-lg-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }

  .order-lg-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }

  .order-lg-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }

  .order-lg-7 {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }

  .order-lg-8 {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }

  .order-lg-9 {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }

  .order-lg-10 {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }

  .order-lg-11 {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11;
  }

  .order-lg-12 {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12;
  }
}

@media (min-width: 1600px) {
  .col-xl {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 100%;
  }

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

  .col-xl-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333333%;
            flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }

  .col-xl-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66666667%;
            flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }

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

  .col-xl-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333333%;
            flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-xl-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66666667%;
            flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }

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

  .col-xl-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333333%;
            flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-xl-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66666667%;
            flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }

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

  .col-xl-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333333%;
            flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }

  .col-xl-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66666667%;
            flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }

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

  .order-xl-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }

  .order-xl-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }

  .order-xl-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }

  .order-xl-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }

  .order-xl-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }

  .order-xl-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }

  .order-xl-7 {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }

  .order-xl-8 {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }

  .order-xl-9 {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }

  .order-xl-10 {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }

  .order-xl-11 {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11;
  }

  .order-xl-12 {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12;
  }
}

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  background-color: transparent;
}

.table th,
.table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #e9ecef;
}

.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #e9ecef;
}

.table tbody + tbody {
  border-top: 2px solid #e9ecef;
}

.table .table {
  background-color: #f5f8fa;
}

.table-sm th,
.table-sm td {
  padding: 0.3rem;
}

.table-bordered {
  border: 1px solid #e9ecef;
}

.table-bordered th,
.table-bordered td {
  border: 1px solid #e9ecef;
}

.table-bordered thead th,
.table-bordered thead td {
  border-bottom-width: 2px;
}

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

.table-hover tbody tr:hover {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #b8daff;
}

.table-hover .table-primary:hover {
  background-color: #9fcdff;
}

.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
  background-color: #9fcdff;
}

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #dddfe2;
}

.table-hover .table-secondary:hover {
  background-color: #cfd2d6;
}

.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
  background-color: #cfd2d6;
}

.table-success,
.table-success > th,
.table-success > td {
  background-color: #c3e6cb;
}

.table-hover .table-success:hover {
  background-color: #b1dfbb;
}

.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
  background-color: #b1dfbb;
}

.table-info,
.table-info > th,
.table-info > td {
  background-color: #bee5eb;
}

.table-hover .table-info:hover {
  background-color: #abdde5;
}

.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
  background-color: #abdde5;
}

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #ffeeba;
}

.table-hover .table-warning:hover {
  background-color: #ffe8a1;
}

.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
  background-color: #ffe8a1;
}

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #f5c6cb;
}

.table-hover .table-danger:hover {
  background-color: #f1b0b7;
}

.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
  background-color: #f1b0b7;
}

.table-light,
.table-light > th,
.table-light > td {
  background-color: #fdfdfe;
}

.table-hover .table-light:hover {
  background-color: #ececf6;
}

.table-hover .table-light:hover > td,
.table-hover .table-light:hover > th {
  background-color: #ececf6;
}

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #c6c8ca;
}

.table-hover .table-dark:hover {
  background-color: #b9bbbe;
}

.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
  background-color: #b9bbbe;
}

.table-active,
.table-active > th,
.table-active > td {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
  background-color: rgba(0, 0, 0, 0.075);
}

.thead-inverse th {
  color: #f5f8fa;
  background-color: #212529;
}

.thead-default th {
  color: #495057;
  background-color: #e9ecef;
}

.table-inverse {
  color: #f5f8fa;
  background-color: #212529;
}

.table-inverse th,
.table-inverse td,
.table-inverse thead th {
  border-color: #32383e;
}

.table-inverse.table-bordered {
  border: 0;
}

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

.table-inverse.table-hover tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.075);
}

@media (max-width: 1365px) {
  .table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }

  .table-responsive.table-bordered {
    border: 0;
  }
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  line-height: 1.25;
  color: #495057;
  background-color: #fff;
  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: #fff;
  border-color: #80bdff;
  outline: none;
}

.form-control::-webkit-input-placeholder {
  color: #868e96;
  opacity: 1;
}

.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: #fff;
}

.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,
.input-group-sm > .form-control-plaintext.form-control,
.input-group-sm > .form-control-plaintext.input-group-addon,
.input-group-sm > .input-group-btn > .form-control-plaintext.btn,
.form-control-plaintext.form-control-lg,
.input-group-lg > .form-control-plaintext.form-control,
.input-group-lg > .form-control-plaintext.input-group-addon,
.input-group-lg > .input-group-btn > .form-control-plaintext.btn {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm,
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  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]),
.input-group-sm > select.form-control:not([size]):not([multiple]),
.input-group-sm > select.input-group-addon:not([size]):not([multiple]),
.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {
  height: calc(1.8125rem + 2px);
}

.form-control-lg,
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

select.form-control-lg:not([size]):not([multiple]),
.input-group-lg > select.form-control:not([size]):not([multiple]),
.input-group-lg > select.input-group-addon:not([size]):not([multiple]),
.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {
  height: calc(2.875rem + 2px);
}

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

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

.form-row {
  display: -webkit-box;
  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-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: #28a745;
}

.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(40, 167, 69, 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: #28a745;
}

.was-validated .custom-control-input:valid ~ .custom-control-indicator,
.custom-control-input.is-valid ~ .custom-control-indicator {
  background-color: rgba(40, 167, 69, 0.25);
}

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

.was-validated .custom-file-input:valid ~ .custom-file-control,
.custom-file-input.is-valid ~ .custom-file-control {
  border-color: #28a745;
}

.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(40, 167, 69, 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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.form-inline .form-check {
  width: 100%;
}

@media (min-width: 640px) {
  .form-inline label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 0;
  }

  .form-inline .form-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-align: center;
        -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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: 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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: 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;
  }
}

.btn {
  display: inline-block;
  font-weight: normal;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border: 1px solid transparent;
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  line-height: 1.25;
  border-radius: 0.25rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn:focus,
.btn:hover {
  text-decoration: none;
}

.btn:focus,
.btn.focus {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
}

.btn.disabled,
.btn:disabled {
  opacity: .65;
}

.btn:active,
.btn.active {
  background-image: none;
}

a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}

.btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-primary:hover {
  color: #fff;
  background-color: #0069d9;
  border-color: #0062cc;
}

.btn-primary:focus,
.btn-primary.focus {
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5);
}

.btn-primary.disabled,
.btn-primary:disabled {
  background-color: #007bff;
  border-color: #007bff;
}

.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  background-color: #0069d9;
  background-image: none;
  border-color: #0062cc;
}

.btn-secondary {
  color: #fff;
  background-color: #868e96;
  border-color: #868e96;
}

.btn-secondary:hover {
  color: #fff;
  background-color: #727b84;
  border-color: #6c757d;
}

.btn-secondary:focus,
.btn-secondary.focus {
  box-shadow: 0 0 0 3px rgba(134, 142, 150, 0.5);
}

.btn-secondary.disabled,
.btn-secondary:disabled {
  background-color: #868e96;
  border-color: #868e96;
}

.btn-secondary:active,
.btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
  background-color: #727b84;
  background-image: none;
  border-color: #6c757d;
}

.btn-success {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-success:hover {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
}

.btn-success:focus,
.btn-success.focus {
  box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.5);
}

.btn-success.disabled,
.btn-success:disabled {
  background-color: #28a745;
  border-color: #28a745;
}

.btn-success:active,
.btn-success.active,
.show > .btn-success.dropdown-toggle {
  background-color: #218838;
  background-image: none;
  border-color: #1e7e34;
}

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:hover {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
}

.btn-info:focus,
.btn-info.focus {
  box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.5);
}

.btn-info.disabled,
.btn-info:disabled {
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:active,
.btn-info.active,
.show > .btn-info.dropdown-toggle {
  background-color: #138496;
  background-image: none;
  border-color: #117a8b;
}

.btn-warning {
  color: #111;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-warning:hover {
  color: #111;
  background-color: #e0a800;
  border-color: #d39e00;
}

.btn-warning:focus,
.btn-warning.focus {
  box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.5);
}

.btn-warning.disabled,
.btn-warning:disabled {
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-warning:active,
.btn-warning.active,
.show > .btn-warning.dropdown-toggle {
  background-color: #e0a800;
  background-image: none;
  border-color: #d39e00;
}

.btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-danger:hover {
  color: #fff;
  background-color: #c82333;
  border-color: #bd2130;
}

.btn-danger:focus,
.btn-danger.focus {
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.5);
}

.btn-danger.disabled,
.btn-danger:disabled {
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-danger:active,
.btn-danger.active,
.show > .btn-danger.dropdown-toggle {
  background-color: #c82333;
  background-image: none;
  border-color: #bd2130;
}

.btn-light {
  color: #111;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:hover {
  color: #111;
  background-color: #e2e6ea;
  border-color: #dae0e5;
}

.btn-light:focus,
.btn-light.focus {
  box-shadow: 0 0 0 3px rgba(248, 249, 250, 0.5);
}

.btn-light.disabled,
.btn-light:disabled {
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:active,
.btn-light.active,
.show > .btn-light.dropdown-toggle {
  background-color: #e2e6ea;
  background-image: none;
  border-color: #dae0e5;
}

.btn-dark {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-dark:hover {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
}

.btn-dark:focus,
.btn-dark.focus {
  box-shadow: 0 0 0 3px rgba(52, 58, 64, 0.5);
}

.btn-dark.disabled,
.btn-dark:disabled {
  background-color: #343a40;
  border-color: #343a40;
}

.btn-dark:active,
.btn-dark.active,
.show > .btn-dark.dropdown-toggle {
  background-color: #23272b;
  background-image: none;
  border-color: #1d2124;
}

.btn-outline-primary {
  color: #007bff;
  background-color: transparent;
  background-image: none;
  border-color: #007bff;
}

.btn-outline-primary:hover {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-outline-primary:focus,
.btn-outline-primary.focus {
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5);
}

.btn-outline-primary.disabled,
.btn-outline-primary:disabled {
  color: #007bff;
  background-color: transparent;
}

.btn-outline-primary:active,
.btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-outline-secondary {
  color: #868e96;
  background-color: transparent;
  background-image: none;
  border-color: #868e96;
}

.btn-outline-secondary:hover {
  color: #fff;
  background-color: #868e96;
  border-color: #868e96;
}

.btn-outline-secondary:focus,
.btn-outline-secondary.focus {
  box-shadow: 0 0 0 3px rgba(134, 142, 150, 0.5);
}

.btn-outline-secondary.disabled,
.btn-outline-secondary:disabled {
  color: #868e96;
  background-color: transparent;
}

.btn-outline-secondary:active,
.btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background-color: #868e96;
  border-color: #868e96;
}

.btn-outline-success {
  color: #28a745;
  background-color: transparent;
  background-image: none;
  border-color: #28a745;
}

.btn-outline-success:hover {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:focus,
.btn-outline-success.focus {
  box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.5);
}

.btn-outline-success.disabled,
.btn-outline-success:disabled {
  color: #28a745;
  background-color: transparent;
}

.btn-outline-success:active,
.btn-outline-success.active,
.show > .btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-info {
  color: #17a2b8;
  background-color: transparent;
  background-image: none;
  border-color: #17a2b8;
}

.btn-outline-info:hover {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:focus,
.btn-outline-info.focus {
  box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.5);
}

.btn-outline-info.disabled,
.btn-outline-info:disabled {
  color: #17a2b8;
  background-color: transparent;
}

.btn-outline-info:active,
.btn-outline-info.active,
.show > .btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-warning {
  color: #ffc107;
  background-color: transparent;
  background-image: none;
  border-color: #ffc107;
}

.btn-outline-warning:hover {
  color: #fff;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:focus,
.btn-outline-warning.focus {
  box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.5);
}

.btn-outline-warning.disabled,
.btn-outline-warning:disabled {
  color: #ffc107;
  background-color: transparent;
}

.btn-outline-warning:active,
.btn-outline-warning.active,
.show > .btn-outline-warning.dropdown-toggle {
  color: #fff;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-danger {
  color: #dc3545;
  background-color: transparent;
  background-image: none;
  border-color: #dc3545;
}

.btn-outline-danger:hover {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:focus,
.btn-outline-danger.focus {
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.5);
}

.btn-outline-danger.disabled,
.btn-outline-danger:disabled {
  color: #dc3545;
  background-color: transparent;
}

.btn-outline-danger:active,
.btn-outline-danger.active,
.show > .btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-light {
  color: #f8f9fa;
  background-color: transparent;
  background-image: none;
  border-color: #f8f9fa;
}

.btn-outline-light:hover {
  color: #fff;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:focus,
.btn-outline-light.focus {
  box-shadow: 0 0 0 3px rgba(248, 249, 250, 0.5);
}

.btn-outline-light.disabled,
.btn-outline-light:disabled {
  color: #f8f9fa;
  background-color: transparent;
}

.btn-outline-light:active,
.btn-outline-light.active,
.show > .btn-outline-light.dropdown-toggle {
  color: #fff;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-dark {
  color: #343a40;
  background-color: transparent;
  background-image: none;
  border-color: #343a40;
}

.btn-outline-dark:hover {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:focus,
.btn-outline-dark.focus {
  box-shadow: 0 0 0 3px rgba(52, 58, 64, 0.5);
}

.btn-outline-dark.disabled,
.btn-outline-dark:disabled {
  color: #343a40;
  background-color: transparent;
}

.btn-outline-dark:active,
.btn-outline-dark.active,
.show > .btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-link {
  font-weight: normal;
  color: #007bff;
  border-radius: 0;
}

.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link:disabled {
  background-color: transparent;
}

.btn-link,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
  box-shadow: none;
}

.btn-link:hover {
  border-color: transparent;
}

.btn-link:focus,
.btn-link:hover {
  color: #0056b3;
  text-decoration: underline;
  background-color: transparent;
}

.btn-link:disabled {
  color: #868e96;
}

.btn-link:disabled:focus,
.btn-link:disabled:hover {
  text-decoration: none;
}

.btn-lg,
.btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.btn-sm,
.btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.btn-block {
  display: block;
  width: 100%;
}

.btn-block + .btn-block {
  margin-top: 0.5rem;
}

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}

.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;
}

.dropup,
.dropdown {
  position: relative;
}

.dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-left: 0.3em solid transparent;
}

.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropup .dropdown-menu {
  margin-top: 0;
  margin-bottom: 0.125rem;
}

.dropup .dropdown-toggle::after {
  border-top: 0;
  border-bottom: 0.3em solid;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: normal;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background: none;
  border: 0;
}

.dropdown-item:focus,
.dropdown-item:hover {
  color: #16181b;
  text-decoration: none;
  background-color: #f8f9fa;
}

.dropdown-item.active,
.dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #007bff;
}

.dropdown-item.disabled,
.dropdown-item:disabled {
  color: #868e96;
  background-color: transparent;
}

.show > a {
  outline: 0;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: 0.5rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #868e96;
  white-space: nowrap;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle;
}

.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  margin-bottom: 0;
}

.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover {
  z-index: 2;
}

.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}

.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group,
.btn-group-vertical .btn + .btn,
.btn-group-vertical .btn + .btn-group,
.btn-group-vertical .btn-group + .btn,
.btn-group-vertical .btn-group + .btn-group {
  margin-left: -1px;
}

.btn-toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.btn-toolbar .input-group {
  width: auto;
}

.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}

.btn-group > .btn:first-child {
  margin-left: 0;
}

.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.btn-group > .btn-group {
  float: left;
}

.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}

.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.btn + .dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}

.btn + .dropdown-toggle-split::after {
  margin-left: 0;
}

.btn-sm + .dropdown-toggle-split,
.btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split,
.btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.btn-group-vertical .btn,
.btn-group-vertical .btn-group {
  width: 100%;
}

.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}

.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}

.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}

.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.input-group {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.input-group .form-control {
  position: relative;
  z-index: 2;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  width: 1%;
  margin-bottom: 0;
}

.input-group .form-control:focus,
.input-group .form-control:active,
.input-group .form-control:hover {
  z-index: 3;
}

.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}

.input-group-addon,
.input-group-btn {
  white-space: nowrap;
  vertical-align: middle;
}

.input-group-addon {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.25;
  color: #495057;
  text-align: center;
  background-color: #e9ecef;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}

.input-group-addon.form-control-sm,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .input-group-addon.btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.2rem;
}

.input-group-addon.form-control-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: 0.3rem;
}

.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}

.input-group .form-control:not(:last-child),
.input-group-addon:not(:last-child),
.input-group-btn:not(:last-child) > .btn,
.input-group-btn:not(:last-child) > .btn-group > .btn,
.input-group-btn:not(:last-child) > .dropdown-toggle,
.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group-addon:not(:last-child) {
  border-right: 0;
}

.input-group .form-control:not(:first-child),
.input-group-addon:not(:first-child),
.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group > .btn,
.input-group-btn:not(:first-child) > .dropdown-toggle,
.input-group-btn:not(:last-child) > .btn:not(:first-child),
.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.form-control + .input-group-addon:not(:first-child) {
  border-left: 0;
}

.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}

.input-group-btn > .btn {
  position: relative;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
}

.input-group-btn > .btn + .btn {
  margin-left: -1px;
}

.input-group-btn > .btn:focus,
.input-group-btn > .btn:active,
.input-group-btn > .btn:hover {
  z-index: 3;
}

.input-group-btn:not(:last-child) > .btn,
.input-group-btn:not(:last-child) > .btn-group {
  margin-right: -1px;
}

.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group {
  z-index: 2;
  margin-left: -1px;
}

.input-group-btn:not(:first-child) > .btn:focus,
.input-group-btn:not(:first-child) > .btn:active,
.input-group-btn:not(:first-child) > .btn:hover,
.input-group-btn:not(:first-child) > .btn-group:focus,
.input-group-btn:not(:first-child) > .btn-group:active,
.input-group-btn:not(:first-child) > .btn-group:hover {
  z-index: 3;
}

.custom-control {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-height: 1.6rem;
  padding-left: 1.5rem;
  margin-right: 1rem;
}

.custom-control-input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.custom-control-input:checked ~ .custom-control-indicator {
  color: #fff;
  background-color: #007bff;
}

.custom-control-input:focus ~ .custom-control-indicator {
  box-shadow: 0 0 0 1px #f5f8fa, 0 0 0 3px #007bff;
}

.custom-control-input:active ~ .custom-control-indicator {
  color: #fff;
  background-color: #b3d7ff;
}

.custom-control-input:disabled ~ .custom-control-indicator {
  background-color: #e9ecef;
}

.custom-control-input:disabled ~ .custom-control-description {
  color: #868e96;
}

.custom-control-indicator {
  position: absolute;
  top: 0.3rem;
  left: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-color: #ddd;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%;
}

.custom-checkbox .custom-control-indicator {
  border-radius: 0.25rem;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {
  background-color: #007bff;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");
}

.custom-radio .custom-control-indicator {
  border-radius: 50%;
}

.custom-radio .custom-control-input:checked ~ .custom-control-indicator {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
}

.custom-controls-stacked {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.custom-controls-stacked .custom-control {
  margin-bottom: 0.25rem;
}

.custom-controls-stacked .custom-control + .custom-control {
  margin-left: 0;
}

.custom-select {
  display: inline-block;
  max-width: 100%;
  height: calc(2.25rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  line-height: 1.25;
  color: #495057;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
  background-clip: padding-box;
  background-size: 8px 10px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.custom-select:focus {
  border-color: #80bdff;
  outline: none;
}

.custom-select:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

.custom-select:disabled {
  color: #868e96;
  background-color: #e9ecef;
}

.custom-select::-ms-expand {
  opacity: 0;
}

.custom-select-sm {
  height: calc(1.8125rem + 2px);
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 75%;
}

.custom-file {
  position: relative;
  display: inline-block;
  max-width: 100%;
  height: calc(2.25rem + 2px);
  margin-bottom: 0;
}

.custom-file-input {
  min-width: 14rem;
  max-width: 100%;
  height: calc(2.25rem + 2px);
  margin: 0;
  opacity: 0;
}

.custom-file-input:focus ~ .custom-file-control {
  box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #007bff;
}

.custom-file-control {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 5;
  height: calc(2.25rem + 2px);
  padding: 0.5rem 0.75rem;
  overflow: hidden;
  line-height: 1.25;
  color: #495057;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}

.custom-file-control:lang(en):empty::after {
  content: "Choose file...";
}

.custom-file-control::before {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 6;
  display: block;
  height: calc(2.25rem + 2px);
  padding: 0.5rem 0.75rem;
  line-height: 1.25;
  color: #495057;
  background-color: #e9ecef;
  border-left: 1px solid rgba(0, 0, 0, 0.15);
}

.custom-file-control:lang(en)::before {
  content: "Browse";
}

.nav {
  display: -webkit-box;
  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: #f5f8fa;
  border-color: #ddd #ddd #f5f8fa;
}

.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: #fff;
  background-color: #007bff;
}

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

.nav-justified .nav-item {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-flex: 1;
      -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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.5rem 1rem;
}

.navbar > .container,
.navbar > .container-fluid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.navbar-brand {
  display: inline-block;
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
  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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -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%;
  -webkit-box-align: center;
      -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: 639px) {
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 640px) {
  .navbar-expand-sm {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }

  .navbar-expand-sm .navbar-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -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: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
}

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

@media (min-width: 1024px) {
  .navbar-expand-md {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }

  .navbar-expand-md .navbar-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -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: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .navbar-expand-md .navbar-toggler {
    display: none;
  }
}

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

@media (min-width: 1366px) {
  .navbar-expand-lg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }

  .navbar-expand-lg .navbar-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -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: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}

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

@media (min-width: 1600px) {
  .navbar-expand-xl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }

  .navbar-expand-xl .navbar-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -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: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
}

.navbar-expand {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -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 {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -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: -webkit-box !important;
  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: rgba(0, 0, 0, 0.7);
}

.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);
}

.card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
}

.card-body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: 1.25rem;
}

.card-title {
  margin-bottom: 0.75rem;
}

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0;
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link:hover {
  text-decoration: none;
}

.card-link + .card-link {
  margin-left: 1.25rem;
}

.card > .list-group:first-child .list-group-item:first-child {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.card > .list-group:last-child .list-group-item:last-child {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

.card-header:first-child {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125);
}

.card-footer:last-child {
  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0;
}

.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
}

.card-img {
  width: 100%;
  border-radius: calc(0.25rem - 1px);
}

.card-img-top {
  width: 100%;
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.card-img-bottom {
  width: 100%;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

@media (min-width: 640px) {
  .card-deck {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px;
  }

  .card-deck .card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-right: 15px;
    margin-left: 15px;
  }
}

@media (min-width: 640px) {
  .card-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }

  .card-group .card {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }

  .card-group .card + .card {
    margin-left: 0;
    border-left: 0;
  }

  .card-group .card:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .card-group .card:first-child .card-img-top {
    border-top-right-radius: 0;
  }

  .card-group .card:first-child .card-img-bottom {
    border-bottom-right-radius: 0;
  }

  .card-group .card:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  .card-group .card:last-child .card-img-top {
    border-top-left-radius: 0;
  }

  .card-group .card:last-child .card-img-bottom {
    border-bottom-left-radius: 0;
  }

  .card-group .card:not(:first-child):not(:last-child) {
    border-radius: 0;
  }

  .card-group .card:not(:first-child):not(:last-child) .card-img-top,
  .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {
    border-radius: 0;
  }
}

.card-columns .card {
  margin-bottom: 0.75rem;
}

@media (min-width: 640px) {
  .card-columns {
    -webkit-column-count: 3;
            column-count: 3;
    -webkit-column-gap: 1.25rem;
            column-gap: 1.25rem;
  }

  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}

.breadcrumb {
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

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

.breadcrumb-item {
  float: left;
}

.breadcrumb-item + .breadcrumb-item::before {
  display: inline-block;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  color: #868e96;
  content: "/";
}

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline;
}

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none;
}

.breadcrumb-item.active {
  color: #868e96;
}

.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.25rem;
}

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.page-item.active .page-link {
  z-index: 2;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.page-item.disabled .page-link {
  color: #868e96;
  pointer-events: none;
  background-color: #fff;
  border-color: #ddd;
}

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #007bff;
  background-color: #fff;
  border: 1px solid #ddd;
}

.page-link:focus,
.page-link:hover {
  color: #0056b3;
  text-decoration: none;
  background-color: #e9ecef;
  border-color: #ddd;
}

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
}

.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}

.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem;
}

.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.2rem;
  border-bottom-right-radius: 0.2rem;
}

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
}

.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
}

.badge-primary {
  color: #fff;
  background-color: #007bff;
}

.badge-primary[href]:focus,
.badge-primary[href]:hover {
  color: #fff;
  text-decoration: none;
  background-color: #0062cc;
}

.badge-secondary {
  color: #fff;
  background-color: #868e96;
}

.badge-secondary[href]:focus,
.badge-secondary[href]:hover {
  color: #fff;
  text-decoration: none;
  background-color: #6c757d;
}

.badge-success {
  color: #fff;
  background-color: #28a745;
}

.badge-success[href]:focus,
.badge-success[href]:hover {
  color: #fff;
  text-decoration: none;
  background-color: #1e7e34;
}

.badge-info {
  color: #fff;
  background-color: #17a2b8;
}

.badge-info[href]:focus,
.badge-info[href]:hover {
  color: #fff;
  text-decoration: none;
  background-color: #117a8b;
}

.badge-warning {
  color: #111;
  background-color: #ffc107;
}

.badge-warning[href]:focus,
.badge-warning[href]:hover {
  color: #111;
  text-decoration: none;
  background-color: #d39e00;
}

.badge-danger {
  color: #fff;
  background-color: #dc3545;
}

.badge-danger[href]:focus,
.badge-danger[href]:hover {
  color: #fff;
  text-decoration: none;
  background-color: #bd2130;
}

.badge-light {
  color: #111;
  background-color: #f8f9fa;
}

.badge-light[href]:focus,
.badge-light[href]:hover {
  color: #111;
  text-decoration: none;
  background-color: #dae0e5;
}

.badge-dark {
  color: #fff;
  background-color: #343a40;
}

.badge-dark[href]:focus,
.badge-dark[href]:hover {
  color: #fff;
  text-decoration: none;
  background-color: #1d2124;
}

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  border-radius: 0.3rem;
}

@media (min-width: 640px) {
  .jumbotron {
    padding: 4rem 2rem;
  }
}

.jumbotron-fluid {
  padding-right: 0;
  padding-left: 0;
  border-radius: 0;
}

.alert {
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.alert-heading {
  color: inherit;
}

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

.alert-dismissible .close {
  position: relative;
  top: -0.75rem;
  right: -1.25rem;
  padding: 0.75rem 1.25rem;
  color: inherit;
}

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

.alert-primary hr {
  border-top-color: #9fcdff;
}

.alert-primary .alert-link {
  color: #002752;
}

.alert-secondary {
  color: #464a4e;
  background-color: #e7e8ea;
  border-color: #dddfe2;
}

.alert-secondary hr {
  border-top-color: #cfd2d6;
}

.alert-secondary .alert-link {
  color: #2e3133;
}

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

.alert-success hr {
  border-top-color: #b1dfbb;
}

.alert-success .alert-link {
  color: #0b2e13;
}

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

.alert-info hr {
  border-top-color: #abdde5;
}

.alert-info .alert-link {
  color: #062c33;
}

.alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba;
}

.alert-warning hr {
  border-top-color: #ffe8a1;
}

.alert-warning .alert-link {
  color: #533f03;
}

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

.alert-danger hr {
  border-top-color: #f1b0b7;
}

.alert-danger .alert-link {
  color: #491217;
}

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

.alert-light hr {
  border-top-color: #ececf6;
}

.alert-light .alert-link {
  color: #686868;
}

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

.alert-dark hr {
  border-top-color: #b9bbbe;
}

.alert-dark .alert-link {
  color: #040505;
}

@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }

  to {
    background-position: 0 0;
  }
}

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }

  to {
    background-position: 0 0;
  }
}

.progress {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

.progress-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  background-color: #007bff;
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
}

.progress-bar-animated {
  -webkit-animation: progress-bar-stripes 1s linear infinite;
          animation: progress-bar-stripes 1s linear infinite;
}

.media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.media-body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.list-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
}

.list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit;
}

.list-group-item-action:focus,
.list-group-item-action:hover {
  color: #495057;
  text-decoration: none;
  background-color: #f8f9fa;
}

.list-group-item-action:active {
  color: #212529;
  background-color: #e9ecef;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}

.list-group-item:first-child {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.list-group-item:focus,
.list-group-item:hover {
  text-decoration: none;
}

.list-group-item.disabled,
.list-group-item:disabled {
  color: #868e96;
  background-color: #fff;
}

.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.list-group-flush .list-group-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.list-group-flush:first-child .list-group-item:first-child {
  border-top: 0;
}

.list-group-flush:last-child .list-group-item:last-child {
  border-bottom: 0;
}

.list-group-item-primary {
  color: #004085;
  background-color: #b8daff;
}

a.list-group-item-primary,
button.list-group-item-primary {
  color: #004085;
}

a.list-group-item-primary:focus,
a.list-group-item-primary:hover,
button.list-group-item-primary:focus,
button.list-group-item-primary:hover {
  color: #004085;
  background-color: #9fcdff;
}

a.list-group-item-primary.active,
button.list-group-item-primary.active {
  color: #fff;
  background-color: #004085;
  border-color: #004085;
}

.list-group-item-secondary {
  color: #464a4e;
  background-color: #dddfe2;
}

a.list-group-item-secondary,
button.list-group-item-secondary {
  color: #464a4e;
}

a.list-group-item-secondary:focus,
a.list-group-item-secondary:hover,
button.list-group-item-secondary:focus,
button.list-group-item-secondary:hover {
  color: #464a4e;
  background-color: #cfd2d6;
}

a.list-group-item-secondary.active,
button.list-group-item-secondary.active {
  color: #fff;
  background-color: #464a4e;
  border-color: #464a4e;
}

.list-group-item-success {
  color: #155724;
  background-color: #c3e6cb;
}

a.list-group-item-success,
button.list-group-item-success {
  color: #155724;
}

a.list-group-item-success:focus,
a.list-group-item-success:hover,
button.list-group-item-success:focus,
button.list-group-item-success:hover {
  color: #155724;
  background-color: #b1dfbb;
}

a.list-group-item-success.active,
button.list-group-item-success.active {
  color: #fff;
  background-color: #155724;
  border-color: #155724;
}

.list-group-item-info {
  color: #0c5460;
  background-color: #bee5eb;
}

a.list-group-item-info,
button.list-group-item-info {
  color: #0c5460;
}

a.list-group-item-info:focus,
a.list-group-item-info:hover,
button.list-group-item-info:focus,
button.list-group-item-info:hover {
  color: #0c5460;
  background-color: #abdde5;
}

a.list-group-item-info.active,
button.list-group-item-info.active {
  color: #fff;
  background-color: #0c5460;
  border-color: #0c5460;
}

.list-group-item-warning {
  color: #856404;
  background-color: #ffeeba;
}

a.list-group-item-warning,
button.list-group-item-warning {
  color: #856404;
}

a.list-group-item-warning:focus,
a.list-group-item-warning:hover,
button.list-group-item-warning:focus,
button.list-group-item-warning:hover {
  color: #856404;
  background-color: #ffe8a1;
}

a.list-group-item-warning.active,
button.list-group-item-warning.active {
  color: #fff;
  background-color: #856404;
  border-color: #856404;
}

.list-group-item-danger {
  color: #721c24;
  background-color: #f5c6cb;
}

a.list-group-item-danger,
button.list-group-item-danger {
  color: #721c24;
}

a.list-group-item-danger:focus,
a.list-group-item-danger:hover,
button.list-group-item-danger:focus,
button.list-group-item-danger:hover {
  color: #721c24;
  background-color: #f1b0b7;
}

a.list-group-item-danger.active,
button.list-group-item-danger.active {
  color: #fff;
  background-color: #721c24;
  border-color: #721c24;
}

.list-group-item-light {
  color: #818182;
  background-color: #fdfdfe;
}

a.list-group-item-light,
button.list-group-item-light {
  color: #818182;
}

a.list-group-item-light:focus,
a.list-group-item-light:hover,
button.list-group-item-light:focus,
button.list-group-item-light:hover {
  color: #818182;
  background-color: #ececf6;
}

a.list-group-item-light.active,
button.list-group-item-light.active {
  color: #fff;
  background-color: #818182;
  border-color: #818182;
}

.list-group-item-dark {
  color: #1b1e21;
  background-color: #c6c8ca;
}

a.list-group-item-dark,
button.list-group-item-dark {
  color: #1b1e21;
}

a.list-group-item-dark:focus,
a.list-group-item-dark:hover,
button.list-group-item-dark:focus,
button.list-group-item-dark:hover {
  color: #1b1e21;
  background-color: #b9bbbe;
}

a.list-group-item-dark.active,
button.list-group-item-dark.active {
  color: #fff;
  background-color: #1b1e21;
  border-color: #1b1e21;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5;
}

.close:focus,
.close:hover {
  color: #000;
  text-decoration: none;
  opacity: .75;
}

button.close {
  padding: 0;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}

.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: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  -webkit-transform: translate(0, -25%);
          transform: translate(0, -25%);
}

.modal.show .modal-dialog {
  -webkit-transform: translate(0, 0);
          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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #fff;
  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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 15px;
  border-bottom: 1px solid #e9ecef;
}

.modal-header .close {
  margin-left: auto;
}

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

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

.modal-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -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: 640px) {
  .modal-dialog {
    max-width: 500px;
    margin: 30px auto;
  }

  .modal-sm {
    max-width: 300px;
  }
}

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

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: "Raleway", sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.6;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0;
}

.tooltip.show {
  opacity: 0.9;
}

.tooltip .arrow {
  position: absolute;
  display: block;
  width: 5px;
  height: 5px;
}

.tooltip.bs-tooltip-top,
.tooltip.bs-tooltip-auto[x-placement^="top"] {
  padding: 5px 0;
}

.tooltip.bs-tooltip-top .arrow,
.tooltip.bs-tooltip-auto[x-placement^="top"] .arrow {
  bottom: 0;
}

.tooltip.bs-tooltip-top .arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  margin-left: -3px;
  content: "";
  border-width: 5px 5px 0;
  border-top-color: #000;
}

.tooltip.bs-tooltip-right,
.tooltip.bs-tooltip-auto[x-placement^="right"] {
  padding: 0 5px;
}

.tooltip.bs-tooltip-right .arrow,
.tooltip.bs-tooltip-auto[x-placement^="right"] .arrow {
  left: 0;
}

.tooltip.bs-tooltip-right .arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  margin-top: -3px;
  content: "";
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}

.tooltip.bs-tooltip-bottom,
.tooltip.bs-tooltip-auto[x-placement^="bottom"] {
  padding: 5px 0;
}

.tooltip.bs-tooltip-bottom .arrow,
.tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow {
  top: 0;
}

.tooltip.bs-tooltip-bottom .arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  margin-left: -3px;
  content: "";
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}

.tooltip.bs-tooltip-left,
.tooltip.bs-tooltip-auto[x-placement^="left"] {
  padding: 0 5px;
}

.tooltip.bs-tooltip-left .arrow,
.tooltip.bs-tooltip-auto[x-placement^="left"] .arrow {
  right: 0;
}

.tooltip.bs-tooltip-left .arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  right: 0;
  margin-top: -3px;
  content: "";
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}

.tooltip .arrow::before {
  position: absolute;
  border-color: transparent;
  border-style: solid;
}

.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.25rem;
}

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  padding: 1px;
  font-family: "Raleway", sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.6;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
}

.popover .arrow {
  position: absolute;
  display: block;
  width: 10px;
  height: 5px;
}

.popover .arrow::before,
.popover .arrow::after {
  position: absolute;
  display: block;
  border-color: transparent;
  border-style: solid;
}

.popover .arrow::before {
  content: "";
  border-width: 11px;
}

.popover .arrow::after {
  content: "";
  border-width: 11px;
}

.popover.bs-popover-top,
.popover.bs-popover-auto[x-placement^="top"] {
  margin-bottom: 10px;
}

.popover.bs-popover-top .arrow,
.popover.bs-popover-auto[x-placement^="top"] .arrow {
  bottom: 0;
}

.popover.bs-popover-top .arrow::before,
.popover.bs-popover-auto[x-placement^="top"] .arrow::before,
.popover.bs-popover-top .arrow::after,
.popover.bs-popover-auto[x-placement^="top"] .arrow::after {
  border-bottom-width: 0;
}

.popover.bs-popover-top .arrow::before,
.popover.bs-popover-auto[x-placement^="top"] .arrow::before {
  bottom: -11px;
  margin-left: -6px;
  border-top-color: rgba(0, 0, 0, 0.25);
}

.popover.bs-popover-top .arrow::after,
.popover.bs-popover-auto[x-placement^="top"] .arrow::after {
  bottom: -10px;
  margin-left: -6px;
  border-top-color: #fff;
}

.popover.bs-popover-right,
.popover.bs-popover-auto[x-placement^="right"] {
  margin-left: 10px;
}

.popover.bs-popover-right .arrow,
.popover.bs-popover-auto[x-placement^="right"] .arrow {
  left: 0;
}

.popover.bs-popover-right .arrow::before,
.popover.bs-popover-auto[x-placement^="right"] .arrow::before,
.popover.bs-popover-right .arrow::after,
.popover.bs-popover-auto[x-placement^="right"] .arrow::after {
  margin-top: -8px;
  border-left-width: 0;
}

.popover.bs-popover-right .arrow::before,
.popover.bs-popover-auto[x-placement^="right"] .arrow::before {
  left: -11px;
  border-right-color: rgba(0, 0, 0, 0.25);
}

.popover.bs-popover-right .arrow::after,
.popover.bs-popover-auto[x-placement^="right"] .arrow::after {
  left: -10px;
  border-right-color: #fff;
}

.popover.bs-popover-bottom,
.popover.bs-popover-auto[x-placement^="bottom"] {
  margin-top: 10px;
}

.popover.bs-popover-bottom .arrow,
.popover.bs-popover-auto[x-placement^="bottom"] .arrow {
  top: 0;
}

.popover.bs-popover-bottom .arrow::before,
.popover.bs-popover-auto[x-placement^="bottom"] .arrow::before,
.popover.bs-popover-bottom .arrow::after,
.popover.bs-popover-auto[x-placement^="bottom"] .arrow::after {
  margin-left: -7px;
  border-top-width: 0;
}

.popover.bs-popover-bottom .arrow::before,
.popover.bs-popover-auto[x-placement^="bottom"] .arrow::before {
  top: -11px;
  border-bottom-color: rgba(0, 0, 0, 0.25);
}

.popover.bs-popover-bottom .arrow::after,
.popover.bs-popover-auto[x-placement^="bottom"] .arrow::after {
  top: -10px;
  border-bottom-color: #fff;
}

.popover.bs-popover-bottom .popover-header::before,
.popover.bs-popover-auto[x-placement^="bottom"] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 20px;
  margin-left: -10px;
  content: "";
  border-bottom: 1px solid #f7f7f7;
}

.popover.bs-popover-left,
.popover.bs-popover-auto[x-placement^="left"] {
  margin-right: 10px;
}

.popover.bs-popover-left .arrow,
.popover.bs-popover-auto[x-placement^="left"] .arrow {
  right: 0;
}

.popover.bs-popover-left .arrow::before,
.popover.bs-popover-auto[x-placement^="left"] .arrow::before,
.popover.bs-popover-left .arrow::after,
.popover.bs-popover-auto[x-placement^="left"] .arrow::after {
  margin-top: -8px;
  border-right-width: 0;
}

.popover.bs-popover-left .arrow::before,
.popover.bs-popover-auto[x-placement^="left"] .arrow::before {
  right: -11px;
  border-left-color: rgba(0, 0, 0, 0.25);
}

.popover.bs-popover-left .arrow::after,
.popover.bs-popover-auto[x-placement^="left"] .arrow::after {
  right: -10px;
  border-left-color: #fff;
}

.popover-header {
  padding: 8px 14px;
  margin-bottom: 0;
  font-size: 1rem;
  color: inherit;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}

.popover-header:empty {
  display: none;
}

.popover-body {
  padding: 9px 14px;
  color: #212529;
}

.carousel {
  position: relative;
}

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

.carousel-item {
  position: relative;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-perspective: 1000px;
          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 {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

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

.carousel-item-next,
.active.carousel-item-right {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

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

.carousel-item-prev,
.active.carousel-item-left {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

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

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
}

.carousel-control-prev:focus,
.carousel-control-prev:hover,
.carousel-control-next:focus,
.carousel-control-next:hover {
  color: #fff;
  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='%23fff' 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='%23fff' 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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}

.carousel-indicators li {
  position: relative;
  -webkit-box-flex: 0;
      -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: #fff;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  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: #007bff !important;
}

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

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

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

.bg-success {
  background-color: #28a745 !important;
}

a.bg-success:focus,
a.bg-success:hover {
  background-color: #1e7e34 !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: #fff !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: #007bff !important;
}

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

.border-success {
  border-color: #28a745 !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: #fff !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: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

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

@media (min-width: 640px) {
  .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: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

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

@media (min-width: 1024px) {
  .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: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

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

@media (min-width: 1366px) {
  .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: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

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

@media (min-width: 1600px) {
  .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: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .d-xl-inline-flex {
    display: -webkit-inline-box !important;
    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.85714286%;
}

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

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

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

.flex-row {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
}

.flex-column {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

.flex-row-reverse {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important;
}

.flex-column-reverse {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: reverse !important;
      -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 {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
}

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

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

.justify-content-between {
  -webkit-box-pack: justify !important;
      -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 {
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
}

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

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

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

.align-items-stretch {
  -webkit-box-align: stretch !important;
      -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: 640px) {
  .flex-sm-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }

  .flex-sm-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }

  .flex-sm-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }

  .flex-sm-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -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 {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }

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

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

  .justify-content-sm-between {
    -webkit-box-pack: justify !important;
        -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 {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }

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

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

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

  .align-items-sm-stretch {
    -webkit-box-align: stretch !important;
        -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: 1024px) {
  .flex-md-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }

  .flex-md-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }

  .flex-md-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }

  .flex-md-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -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 {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }

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

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

  .justify-content-md-between {
    -webkit-box-pack: justify !important;
        -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 {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }

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

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

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

  .align-items-md-stretch {
    -webkit-box-align: stretch !important;
        -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: 1366px) {
  .flex-lg-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }

  .flex-lg-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }

  .flex-lg-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }

  .flex-lg-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -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 {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }

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

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

  .justify-content-lg-between {
    -webkit-box-pack: justify !important;
        -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 {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }

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

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

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

  .align-items-lg-stretch {
    -webkit-box-align: stretch !important;
        -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: 1600px) {
  .flex-xl-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }

  .flex-xl-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }

  .flex-xl-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }

  .flex-xl-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -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 {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }

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

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

  .justify-content-xl-between {
    -webkit-box-pack: justify !important;
        -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 {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }

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

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

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

  .align-items-xl-stretch {
    -webkit-box-align: stretch !important;
        -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: 640px) {
  .float-sm-left {
    float: left !important;
  }

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

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

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

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

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

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

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

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

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

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

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

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: -webkit-sticky !important;
  position: sticky !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,
.my-0 {
  margin-top: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 640px) {
  .m-sm-0 {
    margin: 0 !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 1024px) {
  .m-md-0 {
    margin: 0 !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 1366px) {
  .m-lg-0 {
    margin: 0 !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 1600px) {
  .m-xl-0 {
    margin: 0 !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: 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: 640px) {
  .text-sm-left {
    text-align: left !important;
  }

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

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

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

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

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

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

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

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

@media (min-width: 1600px) {
  .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-light {
  font-weight: 300 !important;
}

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

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

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

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

.text-primary {
  color: #007bff !important;
}

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

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

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

.text-success {
  color: #28a745 !important;
}

a.text-success:focus,
a.text-success:hover {
  color: #1e7e34 !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;
}

body {
  font-family: 'Roboto', sans-serif;
  background-color: white;
  padding-top: 10px;
  padding-bottom: 150px;
}

h2 {
  margin-top: 0;
}

.navbar-brand {
  font-size: 30px;
  font-weight: 100;
}

.label-sticker {
  border: grey thin solid;
  padding: 20px;
}

.sticker-name {
  font-size: 35px;
}

.sticker-url {
  font-size: 20px;
  margin-bottom: 30px;
}

.login-takara-sign {
  margin-top: 20px;
  font-size: 100px;
  font-weight: 100;
}

.login-heading {
  margin-top: 0;
  font-weight: 100;
  font-size: 70px;
}

.right-btn-margin {
  margin-left: 3px;
}

.guitar-name,
.guitar-name:hover,
.guitar-name:active {
  color: #636b6f !important;
}

.admin-link {
  position: absolute;
  top: 0;
  right: 2px;
}

.admin-link > a,
.admin-link > a:hover,
.admin-link > a:active,
.admin-link > a:focus {
  font-size: 8px;
  color: #666666;
}

.login-logo {
  display: block;
  width: 70px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 30px;
  margin-top: 30px;
}

.top-logo {
  display: block;
  width: 35px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 10px;
}

body {
  background-color: #fafafa;
  font-family: 'Open-Sans', sans-serif;
  letter-spacing: 1px;
}

.container-fluid {
  padding: 20px;
}

a:hover {
  text-decoration: none;
}

.top-bar {
  padding-top: 25px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
  border-bottom: 2px solid #eaeaea;
  position: fixed;
  z-index: 99999;
  width: 100%;
  top: 0;
  left: 0;
  background-color: #fafafa;
  opacity: 0.98;
}

.top-bar .logo {
  float: left;
  margin-right: 15px;
}

.top-bar .logo img {
  width: 25px;
}

.top-bar .search-bar {
  display: block;
  width: 70%;
  font-size: 14px;
  letter-spacing: 1px;
  color: #9f9f9f;
  background-position: 9px 8px;
  background-image: url("/images/ui/icon-search.png");
  background-size: 16px 16px;
  background-repeat: no-repeat;
  padding-left: 40px;
  border: none;
}

.top-bar .filter-icon {
  float: right;
  margin-top: 3px;
  width: 25px;
  height: 25px;
  background-image: url("/images/filter-icon.png");
  background-position: center;
  background-size: contain;
  display: none;
}

@media (max-width: 768px) {
  .top-bar .search-bar {
    display: block;
    width: 70%;
    margin-left: auto;
    margin-right: auto;
    float: none;
  }

  .top-bar .filter-icon {
    display: block;
    float: right;
  }
}

.top-bar ::-webkit-input-placeholder {
  color: #cccccc;
}

.top-bar ::-ms-input-placeholder {
  color: #cccccc;
}

.top-bar ::-moz-placeholder {
  color: #cccccc;
  opacity: 1;
}

.top-bar .button-filter {
  float: right;
}

.top-bar .button-filter img {
  width: 30px;
  height: 30px;
}

.filters {
  margin-bottom: 50px;
  padding: 25px 10px 25px 25px;
}

.filters .filter {
  margin-bottom: 25px;
}

.filters .filter-header {
  overflow: auto;
}

.filters .filter-header h3 {
  margin-top: 2px;
}

.filters .filter-header .badge {
  margin-left: 3px;
}

.filters h3 {
  float: left;
  font-size: 14px;
  font-weight: bold;
  color: #9f9f9f;
  margin-bottom: 25px;
  padding-top: 5px;
}

.filters h3.-active {
  color: #666666;
}

.filters h3.-active .badge {
  display: none;
  position: relative;
  top: -2px;
}

.filters .reset-filters {
  margin-top: 2px;
  float: right;
  font-size: 10px;
  font-weight: bold;
  color: #9f9f9f;
  display: none;
  cursor: pointer;
}

.filters .reset-filters img {
  width: 10px;
  height: 10px;
  fill: #9f9f9f;
}

.filters .checklist {
  padding-left: 0;
  list-style-type: none;
}

.filters .checklist .checklist-item {
  padding-left: 0;
  text-indent: 0;
  font-size: 12px;
  font-weight: bold;
  color: #666666;
  margin-bottom: 15px;
  cursor: pointer;
}

.filters .checklist .checklist-item .rectangle {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: white;
  border: #ececec solid 2px;
  margin-bottom: -3px;
  margin-right: 5px;
}

.filters .checklist .checklist-item.-active {
  font-weight: bold;
}

.filters .checklist .checklist-item.-active .rectangle {
  background-color: #666666;
  border: none;
}

.filters .iconlist {
  padding-left: 0;
  list-style-type: none;
  cursor: pointer;
}

.filters .iconlist .iconlist-item {
  padding-left: 0;
  text-indent: 0;
  font-size: 12px;
  font-weight: bold;
  color: #666666;
  margin-bottom: 15px;
}

.filters .iconlist .iconlist-item .-icon {
  opacity: 0.25;
  height: 45px;
  width: 45px;
}

.filters .iconlist .iconlist-item .-icon.-guitar {
  margin-left: -10px;
  margin-right: 8px;
}

.filters .iconlist .iconlist-item .-icon.-head {
  height: 35px;
  width: 35px;
  margin-left: -5px;
  margin-right: 15px;
}

.filters .iconlist .iconlist-item .-icon.-pickup {
  height: 16px;
  width: 35px;
  margin-right: 5px;
}

.filters .iconlist .iconlist-item.-active .-icon {
  opacity: 0.5;
}

.filters .filter-count {
  font-weight: 400;
  font-size: 10px;
}

.card {
  margin-bottom: 30px;
}

.card .card-body {
  min-height: 95px;
}

.card .card-body .guitar-make {
  color: #666666;
  font-size: 14px;
  font-weight: bold;
  margin: 0 0 5px 0;
}

.card .card-body .guitar-name {
  color: #666666;
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 0 0;
}

.footer {
  background-color: #ffffff;
}

#guitar-template > div {
  display: none !important;
}

.loading-overlay {
  display: none;
  z-index: 9999;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0.2;
  background-color: #666666;
  background-image: url(/images/loader.gif?d41d8cd98f00b204e9800998ecf8427e);
  background-size: 60px 60px;
  background-position: center 150px;
  background-repeat: no-repeat;
}

#wrapper {
  padding-right: 0;
  margin-top: 60px;
  transition: all 0.5s ease;
}

#wrapper.toggled {
  padding-right: 300px;
}

#sidebar-wrapper {
  z-index: 99998;
  position: fixed;
  overflow-y: scroll;
  right: 300px;
  width: 0;
  height: 100%;
  margin-right: -300px;
  transition: all 0.5s ease;
}

#wrapper.toggled #sidebar-wrapper {
  width: 300px;
}

#page-content-wrapper {
  width: 100%;
  position: absolute;
  padding: 15px;
}

#wrapper.toggled #page-content-wrapper {
  position: absolute;
  margin-left: -300px;
}

/* Sidebar Styles */

.sidebar-nav {
  position: absolute;
  top: 0;
  width: 300px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 768px) {
  #wrapper {
    padding-left: 0;
  }

  #wrapper.toggled {
    padding-right: 300px;
  }

  #sidebar-wrapper {
    width: 0;
  }

  #wrapper.toggled #sidebar-wrapper {
    width: 300px;
  }

  #page-content-wrapper {
    padding: 20px;
    position: relative;
  }

  #wrapper.toggled #page-content-wrapper {
    position: relative;
    margin-left: 0;
  }
}

.empty-list {
  font-size: 24px;
  text-align: center;
  color: #666666;
  display: none;
  height: 100%;
}

.offset-loader,
.offset-loader:before,
.offset-loader:after {
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out;
}

.offset-loader {
  color: #666666;
  font-size: 10px;
  margin: 30px auto;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

.offset-loader:before,
.offset-loader:after {
  content: '';
  position: absolute;
  top: 0;
}

.offset-loader:before {
  left: -3.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.offset-loader:after {
  left: 3.5em;
}

@-webkit-keyframes load7 {
  0%, 80%, 100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }

  40% {
    box-shadow: 0 2.5em 0 0;
  }
}

@keyframes load7 {
  0%, 80%, 100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }

  40% {
    box-shadow: 0 2.5em 0 0;
  }
}

#scroll-top {
  position: fixed;
  bottom: 15px;
  right: 5px;
  font-size: 32px;
  cursor: pointer;
  display: none;
  color: #666666;
}

.guitar-detail .container-fluid {
  padding-top: 50px;
}

.guitar-detail .gallery #slider {
  position: relative;
  overflow: hidden;
  margin: 0 auto 0 auto;
  border-radius: 4px;
  max-width: 600px;
}

.guitar-detail .gallery #slider .images {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 800px;
  list-style: none;
}

.guitar-detail .gallery #slider .images .image {
  background-size: cover;
  background-position: bottom center;
  position: relative;
  display: block;
  float: left;
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 800px;
  text-align: center;
  line-height: 300px;
  cursor: zoom-in;
}

.guitar-detail .gallery a.control_prev,
.guitar-detail .gallery a.control_next {
  position: absolute;
  top: 40%;
  z-index: 999;
  display: block;
  padding: 4% 3%;
  width: auto;
  height: auto;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 18px;
  opacity: 0.8;
  cursor: pointer;
}

.guitar-detail .gallery a.control_prev:hover,
.guitar-detail .gallery a.control_next:hover {
  opacity: 1;
  -webkit-transition: all 0.2s ease;
}

.guitar-detail .gallery a.control_prev {
  color: #666666;
  opacity: 0.5;
  border-radius: 0 2px 2px 0;
}

.guitar-detail .gallery a.control_next {
  right: 0;
  color: #666666;
  opacity: 0.5;
  border-radius: 2px 0 0 2px;
}

.guitar-detail .gallery .slider_option {
  position: relative;
  margin: 10px auto;
  width: 160px;
  font-size: 18px;
}

.guitar-detail .header {
  overflow: auto;
  padding-bottom: 30px;
  border-bottom: 2px solid #eaeaea;
  margin-bottom: 20px;
}

.guitar-detail .header.-mobile {
  border-bottom: none;
  margin-bottom: 0px;
}

.guitar-detail .header .id {
  float: right;
  text-align: center;
  width: 100px;
  padding: 10px;
  background-color: #666666;
  font-size: 28px;
  font-weight: bold;
  color: #ffffff;
}

.guitar-detail .title {
  float: left;
}

.guitar-detail .title h1 {
  font-size: 28px;
  font-weight: bold;
}

.guitar-detail .title h2 {
  display: inline-block;
  font-size: 28px;
  font-weight: bold;
  color: #9f9f9f;
}

.guitar-detail .title .serial {
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
  color: #9f9f9f;
}

.guitar-detail .attributes {
  font-size: 12px;
  font-weight: bold;
  color: #666666;
  margin-top: 15px;
  margin-bottom: 30px;
  overflow: auto;
  text-align: center;
}

@media (max-width: 1023px) {
  .guitar-detail .attributes {
    text-align: center;
  }
}

.guitar-detail .attributes .-three-columns {
  float: left;
  width: 33%;
}

.guitar-detail .attributes .icon {
  opacity: 0.6;
  width: 45px;
  height: 45px;
  margin-bottom: 10px;
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.guitar-detail .attributes a {
  color: #666666;
  text-decoration: none;
  border-bottom: 1px #666666 dotted;
}

.guitar-detail .attributes .head {
  padding-top: 5px;
}

.guitar-detail .attributes .head .icon {
  width: 40px;
  height: 40px;
}

.guitar-detail .description {
  font-size: 16px;
  font-weight: normal;
  font-style: italic;
  color: #666666;
  margin-bottom: 50px;
}

.guitar-detail .properties {
  margin-bottom: 50px;
}

.guitar-detail .properties table {
  font-size: 12px;
  font-weight: bold;
  color: #666666;
}

.guitar-detail .properties table .guitar-finish-icon {
  width: 20px;
  margin-right: 10px;
}

.guitar-detail .accessories {
  margin-bottom: 50px;
}

.guitar-detail .memos {
  margin-bottom: 50px;
}

.guitar-detail h3 {
  font-size: 14px;
  font-weight: bold;
  color: #9f9f9f;
}

.guitar-detail ul {
  list-style: none;
  padding-left: 0px;
}

.guitar-detail ul li {
  line-height: 30px;
  font-size: 12px;
  font-weight: bold;
  color: #666666;
}

@media (min-width: 1024px) {
  .guitar-detail .hidden-md-up {
    display: none;
  }
}

@media (max-width: 1023px) {
  .guitar-detail .hidden-sm-down {
    display: none;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9hc3NldHMvc2Fzcy9hcHAuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9fdmFyaWFibGVzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWl4aW5zLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzaXplLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zaXplLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Zvcm1zLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL191dGlsaXRpZXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19ib3JkZXJzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19jbGVhcmZpeC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvX2d1aXRhcnMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9fZ3VpdGFyLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRm9udHNcbkBpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1SYWxld2F5OjMwMCw0MDAsNjAwKTtcblxuLy8gVmFyaWFibGVzXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbi8vIEJvb3RzdHJhcFxuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXBcIjtcblxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNTBweDtcbn1cblxuaDIge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5uYXZiYXItYnJhbmQge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXdlaWdodDogMTAwO1xufVxuXG4ubGFiZWwtc3RpY2tlciB7XG4gICAgYm9yZGVyOiBncmV5IHRoaW4gc29saWQ7XG4gICAgcGFkZGluZzogMjBweDtcbn1cblxuLnN0aWNrZXItbmFtZSB7XG4gICAgZm9udC1zaXplOiAzNXB4O1xufVxuXG4uc3RpY2tlci11cmwge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ubG9naW4tdGFrYXJhLXNpZ24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxMDBweDtcbiAgICBmb250LXdlaWdodDogMTAwO1xufVxuXG4ubG9naW4taGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGZvbnQtc2l6ZTogNzBweDtcbn1cblxuLnJpZ2h0LWJ0bi1tYXJnaW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG5cbi5ndWl0YXItbmFtZSwgLmd1aXRhci1uYW1lOmhvdmVyLCAuZ3VpdGFyLW5hbWU6YWN0aXZlIHtcbiAgICBjb2xvcjogIzYzNmI2ZiFpbXBvcnRhbnQ7XG59XG5cbi5hZG1pbi1saW5rIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAycHg7XG59XG5cbi5hZG1pbi1saW5rID4gYSwgLmFkbWluLWxpbmsgPiBhOmhvdmVyLCAuYWRtaW4tbGluayA+IGE6YWN0aXZlLCAuYWRtaW4tbGluayA+IGE6Zm9jdXMge1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIGNvbG9yOiAjNjY2NjY2O1xufVxuXG4ubG9naW4tbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLnRvcC1sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuQGltcG9ydCBcIl9ndWl0YXJzXCI7XG5AaW1wb3J0IFwiX2d1aXRhclwiO1xuXG4iLCIvLyBCb2R5XG4kYm9keS1iZzogI2Y1ZjhmYTtcblxuLy8gQm9yZGVyc1xuJGxhcmF2ZWwtYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvZHktYmcsIDEwJSk7XG4kbGlzdC1ncm91cC1ib3JkZXI6ICRsYXJhdmVsLWJvcmRlci1jb2xvcjtcbiRuYXZiYXItZGVmYXVsdC1ib3JkZXI6ICRsYXJhdmVsLWJvcmRlci1jb2xvcjtcbiRwYW5lbC1kZWZhdWx0LWJvcmRlcjogJGxhcmF2ZWwtYm9yZGVyLWNvbG9yO1xuJHBhbmVsLWlubmVyLWJvcmRlcjogJGxhcmF2ZWwtYm9yZGVyLWNvbG9yO1xuXG4vLyBCcmFuZHNcbiRicmFuZC1wcmltYXJ5OiAjMzA5N0QxO1xuJGJyYW5kLWluZm86ICM4ZWI0Y2I7XG4kYnJhbmQtc3VjY2VzczogIzJhYjI3YjtcbiRicmFuZC13YXJuaW5nOiAjY2JiOTU2O1xuJGJyYW5kLWRhbmdlcjogI2JmNTMyOTtcblxuLy8gVHlwb2dyYXBoeVxuJGljb24tZm9udC1wYXRoOiBcIn5ib290c3RyYXAtc2Fzcy9hc3NldHMvZm9udHMvYm9vdHN0cmFwL1wiO1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiUmFsZXdheVwiLCBzYW5zLXNlcmlmO1xuLy8kZm9udC1zaXplLWJhc2U6IDE0cHg7XG4kbGluZS1oZWlnaHQtYmFzZTogMS42O1xuJHRleHQtY29sb3I6ICM2MzZiNmY7XG5cbi8vIE5hdmJhclxuJG5hdmJhci1kZWZhdWx0LWJnOiAjZmZmO1xuXG4vLyBCdXR0b25zXG4kYnRuLWRlZmF1bHQtY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4vLyBJbnB1dHNcbiRpbnB1dC1ib3JkZXI6IGxpZ2h0ZW4oJHRleHQtY29sb3IsIDQwJSk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiBsaWdodGVuKCRicmFuZC1wcmltYXJ5LCAyNSUpO1xuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiBsaWdodGVuKCR0ZXh0LWNvbG9yLCAzMCUpO1xuXG4vLyBQYW5lbHNcbiRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICNmZmY7IiwiLyohXG4gKiBCb290c3RyYXAgdjQuMC4wLWJldGEgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbSlcbiAqIENvcHlyaWdodCAyMDExLTIwMTcgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE3IFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKi9cblxuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInByaW50XCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcbiIsIi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdXRhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIEFub3RoZXIgZ3JpZCBtaXhpbiB0aGF0IGVuc3VyZXMgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwKSB7XG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiBgJGdyaWQtYnJlYWtwb2ludHNgIG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AbWl4aW4gY29sb3IteWlxKCRjb2xvcikge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gMTUwKSB7XG4gICAgY29sb3I6ICMxMTE7XG4gIH0gQGVsc2Uge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi8vIFJldHJlaXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXlzY2FsZSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICMwMDAsICNmZmYpO1xuXG4gIEBpZiAkbGV2ZWwgPCAwIHtcbiAgICAvLyBMaWdodGVyIHZhbHVlcyBuZWVkIGEgcXVpY2sgZG91YmxlIG5lZ2F0aXZlIGZvciB0aGUgU2FzcyBtYXRoIHRvIHdvcmtcbiAgICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAtMSAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG4gIH1cbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIENvcHkgc2V0dGluZ3MgZnJvbSB0aGlzIGZpbGUgaW50byB0aGUgcHJvdmlkZWQgYF9jdXN0b20uc2Nzc2AgdG8gb3ZlcnJpZGVcbi8vIHRoZSBCb290c3RyYXAgZGVmYXVsdHMgd2l0aG91dCBtb2RpZnlpbmcga2V5LCB2ZXJzaW9uZWQgZmlsZXMuXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gVGFibGUgb2YgQ29udGVudHNcbi8vXG4vLyBDb2xvciBzeXN0ZW1cbi8vIE9wdGlvbnNcbi8vIFNwYWNpbmdcbi8vIEJvZHlcbi8vIExpbmtzXG4vLyBQYXJhZ3JhcGhzXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vIEdyaWQgY29sdW1uc1xuLy8gRm9udHNcbi8vIENvbXBvbmVudHNcbi8vIFRhYmxlc1xuLy8gQnV0dG9uc1xuLy8gRm9ybXNcbi8vIERyb3Bkb3duc1xuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy8gTmF2c1xuLy8gTmF2YmFyXG4vLyBQYWdpbmF0aW9uXG4vLyBKdW1ib3Ryb25cbi8vIEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vIENhcmRzXG4vLyBUb29sdGlwc1xuLy8gUG9wb3ZlcnNcbi8vIEJhZGdlc1xuLy8gTW9kYWxzXG4vLyBBbGVydHNcbi8vIFByb2dyZXNzIGJhcnNcbi8vIExpc3QgZ3JvdXBcbi8vIEltYWdlIHRodW1ibmFpbHNcbi8vIEZpZ3VyZXNcbi8vIEJyZWFkY3J1bWJzXG4vLyBDYXJvdXNlbFxuLy8gQ2xvc2Vcbi8vIENvZGVcblxuXG4vL1xuLy8gQ29sb3Igc3lzdGVtXG4vL1xuXG4kd2hpdGU6ICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjODY4ZTk2ICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoXG4gIDEwMDogJGdyYXktMTAwLFxuICAyMDA6ICRncmF5LTIwMCxcbiAgMzAwOiAkZ3JheS0zMDAsXG4gIDQwMDogJGdyYXktNDAwLFxuICA1MDA6ICRncmF5LTUwMCxcbiAgNjAwOiAkZ3JheS02MDAsXG4gIDcwMDogJGdyYXktNzAwLFxuICA4MDA6ICRncmF5LTgwMCxcbiAgOTAwOiAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoXG4gIGJsdWU6ICRibHVlLFxuICBpbmRpZ286ICRpbmRpZ28sXG4gIHB1cnBsZTogJHB1cnBsZSxcbiAgcGluazogJHBpbmssXG4gIHJlZDogJHJlZCxcbiAgb3JhbmdlOiAkb3JhbmdlLFxuICB5ZWxsb3c6ICR5ZWxsb3csXG4gIGdyZWVuOiAkZ3JlZW4sXG4gIHRlYWw6ICR0ZWFsLFxuICBjeWFuOiAkY3lhbixcbiAgd2hpdGU6ICR3aGl0ZSxcbiAgZ3JheTogJGdyYXktNjAwLFxuICBncmF5LWRhcms6ICRncmF5LTgwMFxuKSAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKFxuICBwcmltYXJ5OiAkYmx1ZSxcbiAgc2Vjb25kYXJ5OiAkZ3JheS02MDAsXG4gIHN1Y2Nlc3M6ICRncmVlbixcbiAgaW5mbzogJGN5YW4sXG4gIHdhcm5pbmc6ICR5ZWxsb3csXG4gIGRhbmdlcjogJHJlZCxcbiAgbGlnaHQ6ICRncmF5LTEwMCxcbiAgZGFyazogJGdyYXktODAwXG4pICFkZWZhdWx0O1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6IDglICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAyOiAoJHNwYWNlciAqIC41KSxcbiAgMzogJHNwYWNlcixcbiAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICA1OiAoJHNwYWNlciAqIDMpXG4pICFkZWZhdWx0O1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgICAgIHhzOiAwLFxuICAgICAgICBzbTogNjQwcHgsXG4gICAgICAgIG1kOiAxMDI0cHgsXG4gICAgICAgIGxnOiAxMzY2cHgsXG4gICAgICAgIHhsOiAxNjAwcHhcbikgIWRlZmF1bHQ7XG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDMwcHggIWRlZmF1bHQ7XG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIEZvbnRzXG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICBcIlNGTW9uby1SZWd1bGFyXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgLjg3NXJlbSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS43NXJlbSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6IDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6IDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuXG4kdGFibGUtaW52ZXJzZS1iZzogICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR0YWJsZS1pbnZlcnNlLWFjY2VudC1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaW52ZXJzZS1ob3Zlci1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1pbnZlcnNlLWJvcmRlci1jb2xvcjogICAgbGlnaHRlbigkZ3JheS05MDAsIDcuNSUpICFkZWZhdWx0O1xuJHRhYmxlLWludmVyc2UtY29sb3I6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogIDEuNSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgMS41ICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAwIDAgMCAzcHggcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC4yNSkgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjE1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zXG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgbGlnaHRlbih0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAkaW5wdXQtYm94LXNoYWRvdywgJGJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItc206ICAgICAgICAgKCRmb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6ICAgICAgICAgKCRmb250LXNpemUtbGcgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogIC41cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6IC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYnRuLWJvcmRlci1jb2xvcjogICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgIDEuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteTogLjI1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAxcmVtICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6IGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1kZXNjcmlwdGlvbi1kaXNhYmxlZC1jb2xvcjogICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAxcHggJGJvZHktYmcsIDAgMCAwIDNweCB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgIGxpZ2h0ZW4odGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6IHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6IHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiBsaWdodGVuKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgMjUlKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSwgMCAwIDVweCByZ2JhKCRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvciwgLjUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICA3NSUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXdpZHRoOiAgICAgICAgICAgIDE0cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwIC4wNzVyZW0gJHdoaXRlLCAwIDAgMCAuMnJlbSB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgcGxhY2Vob2xkZXI6IChcbiAgICBlbjogXCJDaG9vc2UgZmlsZS4uLlwiXG4gICksXG4gIGJ1dHRvbi1sYWJlbDogKFxuICAgIGVuOiBcIkJyb3dzZVwiXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXZiYXItYnJhbmQtaGVpZ2h0IC0gJG5hdi1saW5rLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgIHJnYmEoJHdoaXRlLDEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6IHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLC4xKSAhZGVmYXVsdDtcblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6IGNhbGMoI3skY2FyZC1ib3JkZXItcmFkaXVzfSAtICN7JGNhcmQtYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIDVweCAxMHB4IHJnYmEoJGJsYWNrLC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICA5cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxcHgpICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogMzBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgIHJnYmEoJGJsYWNrLC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAwIDNweCA5cHggcmdiYSgkYmxhY2ssLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogMCA1cHggMTVweCByZ2JhKCRibGFjaywuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6IDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICNkZGQgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywuMDc1KSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J000IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00xLjUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgIHRyYW5zZm9ybSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRjb2RlLXBhZGRpbmcteTogICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGNvZGUtcGFkZGluZy14OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjYmQ0MTQ3ICFkZWZhdWx0O1xuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4ICFkZWZhdWx0O1xuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuXG4vLyAvLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyAvLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuQGltcG9ydCBcIm1peGlucy90cmFuc2l0aW9uXCI7XG5cbi8vIC8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuLy8gQGltcG9ydCBcIm1peGlucy9uYXZiYXItYWxpZ25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuQGltcG9ydCBcIm1peGlucy9mbG9hdFwiO1xuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjEuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjdweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMXB4LCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbmZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSlcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSlcbiAgfVxufVxuIiwiQG1peGluIGhvdmVyIHtcbiAgLy8gVE9ETzogcmUtZW5hYmxlIGFsb25nIHdpdGggbXE0LWhvdmVyLXNoaW1cbi8vICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4vLyAgICAvLyBTZWUgTWVkaWEgUXVlcmllcyBMZXZlbCA0OiBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvbWVkaWFxdWVyaWVzLyNob3ZlclxuLy8gICAgLy8gQ3VycmVudGx5IHNoaW1tZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvbXE0LWhvdmVyLXNoaW1cbi8vICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4vLyAgICAgICY6aG92ZXIgeyBAY29udGVudCB9XG4vLyAgICB9XG4vLyAgfVxuLy8gIEBlbHNlIHtcbi8vIHNjc3MtbGludDpkaXNhYmxlIEluZGVudGF0aW9uXG4gICAgJjpob3ZlciB7IEBjb250ZW50IH1cbi8vIHNjc3MtbGludDplbmFibGUgSW5kZW50YXRpb25cbi8vICB9XG59XG5cblxuQG1peGluIGhvdmVyLWZvY3VzIHtcbiAgQGlmICRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnkge1xuICAgICY6Zm9jdXMgeyBAY29udGVudCB9XG4gICAgQGluY2x1ZGUgaG92ZXIgeyBAY29udGVudCB9XG4gIH0gQGVsc2Uge1xuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJixcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHsgQGNvbnRlbnQgfVxuICB9IEBlbHNlIHtcbiAgICAmLFxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgQGlmICRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnkge1xuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIgeyBAY29udGVudCB9XG4gIH0gQGVsc2Uge1xuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgfVxufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHA6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBAaW5jbHVkZSBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gICZbaHJlZl0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGNvbG9yLXlpcSgkYmcpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50XG4vLyBTZWU6IGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgY2xpcC1wYXRoOiBub25lO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIER1cGxpY2F0ZVByb3BlcnR5XG5AbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBWaXNpYmlsaXR5XG5cbkBtaXhpbiBpbnZpc2libGUoJHZpc2liaWxpdHkpIHtcbiAgdmlzaWJpbGl0eTogJHZpc2liaWxpdHkgIWltcG9ydGFudDtcbn1cbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSkpIHtcbiAgQGluY2x1ZGUgY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3csIDAgMCAwIDNweCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiAjZmZmKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy9zY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG4gIC8vIHNjc3MtbGludDplbmFibGUgUXVhbGlmeWluZ0VsZW1lbnRcbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogKCRzcGFjZXIgLyAyKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgQGlucHV0LWJvcmRlci1jb2xvci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICB9XG59XG5cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xuXG4gIC5mb3JtLWNvbnRyb2wsXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoJGNvbG9yLC4yNSk7XG4gICAgICB9XG5cbiAgICAgIH4gLmludmFsaWQtZmVlZGJhY2ssXG4gICAgICB+IC5pbnZhbGlkLXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIFRPRE86IHJlZG8gY2hlY2sgbWFya3VwIGxvbCBjcmFwXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICArIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gcmFkaW9zIGFuZCBjaGVja3NcbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUgeyBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIH1cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKCRjb2xvciwuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cbiIsIkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4OyAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICAgIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIG9yZGVyOiAkaTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAgKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xuICBtYXJnaW4tbGVmdDogICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4OyAvLyBQcmV2ZW50IGNvbGxhcHNpbmdcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBwYWRkaW5nLWxlZnQ6ICAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cbiIsIkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuQG1peGluIGZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHA6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmICRlbmFibGUtcHJpbnQtc3R5bGVzIHtcbiAgQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgb3V0IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kYFxuICAgICAgLy9jb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgIGh0dHA6Ly93d3cuc2FuYmVpamkuY29tL2FyY2hpdmVzLzk1M1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICM5OTk7ICAgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAvL1xuXG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAjMDAwO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgIHRkLFxuICAgICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudCwgRHVwbGljYXRlUHJvcGVydHksIFZlbmRvclByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gU2V0dGluZyBAdmlld3BvcnQgY2F1c2VzIHNjcm9sbGJhcnMgdG8gb3ZlcmxhcCBjb250ZW50IGluIElFMTEgYW5kIEVkZ2UsIHNvXG4vLyAgICB3ZSBmb3JjZSBhIG5vbi1vdmVybGFwcGluZywgbm9uLWF1dG8taGlkaW5nIHNjcm9sbGJhciB0byBjb3VudGVyYWN0LlxuLy8gNi4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjsgLy8gNVxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7IC8vIDZcbn1cblxuLy8gSUUxMCsgZG9lc24ndCBob25vciBgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCI+YCBpbiBzb21lIGNhc2VzLlxuQGF0LXJvb3Qge1xuICBALW1zLXZpZXdwb3J0IHsgd2lkdGg6IGRldmljZS13aWR0aDsgfVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuYXJ0aWNsZSwgYXNpZGUsIGRpYWxvZywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlIHRoZVxuLy8gICAgdGhlIGBpbmhlcml0YCB2YWx1ZSBvbiB0aGluZ3MgbGlrZSBgPHRoPmAgZWxlbWVudHMuXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZzsgLy8gMlxufVxuXG4vLyBTdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZSBvbiBlbGVtZW50cyB0aGF0IGNhbm5vdCBiZSBhY2Nlc3NlZCB2aWEga2V5Ym9hcmQuXG4vLyBUaGlzIHByZXZlbnRzIGFuIHVud2FudGVkIGZvY3VzIG91dGxpbmUgZnJvbSBhcHBlYXJpbmcgYXJvdW5kIGVsZW1lbnRzIHRoYXRcbi8vIG1pZ2h0IHN0aWxsIHJlc3BvbmQgdG8gcG9pbnRlciBldmVudHMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gIGhlaWdodDogMDsgLy8gMVxuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxufVxuXG5cbi8vXG4vLyBUeXBvZ3JhcGh5XG4vL1xuXG4vLyBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy9cbi8vIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG59XG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gNFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDFcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtXG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8vIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZilcbi8vIHdoaWNoIGhhdmUgbm90IGJlZW4gbWFkZSBleHBsaWNpdGx5IGtleWJvYXJkLWZvY3VzYWJsZSAod2l0aG91dCB0YWJpbmRleCkuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIGZvbnQtc2l6ZTogMWVtOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIEhpZGUgdGhlIG92ZXJmbG93IGluIElFXG59XG5cblxuLy8gQXZvaWQgMzAwbXMgY2xpY2sgZGVsYXkgb24gdG91Y2ggZGV2aWNlcyB0aGF0IHN1cHBvcnQgdGhlIGB0b3VjaC1hY3Rpb25gIENTUyBwcm9wZXJ0eS5cbi8vXG4vLyBJbiBwYXJ0aWN1bGFyLCB1bmxpa2UgbW9zdCBvdGhlciBicm93c2VycywgSUUxMStFZGdlIG9uIFdpbmRvd3MgMTAgb24gdG91Y2ggZGV2aWNlcyBhbmQgSUUgTW9iaWxlIDEwLTExXG4vLyBET04nVCByZW1vdmUgdGhlIGNsaWNrIGRlbGF5IHdoZW4gYDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGhcIj5gIGlzIHByZXNlbnQuXG4vLyBIb3dldmVyLCB0aGV5IERPIHN1cHBvcnQgcmVtb3ZpbmcgdGhlIGNsaWNrIGRlbGF5IHZpYSBgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb25gLlxuLy8gU2VlOlxuLy8gKiBodHRwczovL3Y0LWFscGhhLmdldGJvb3RzdHJhcC5jb20vY29udGVudC9yZWJvb3QvI2NsaWNrLWRlbGF5LW9wdGltaXphdGlvbi1mb3ItdG91Y2hcbi8vICogaHR0cDovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy10b3VjaC1hY3Rpb25cbi8vICogaHR0cHM6Ly9wYXRyaWNraGxhdWtlLmdpdGh1Yi5pby90b3VjaC90ZXN0cy9yZXN1bHRzLyNzdXBwcmVzc2luZy0zMDBtcy1kZWxheVxuXG5hLFxuYXJlYSxcbmJ1dHRvbixcbltyb2xlPVwiYnV0dG9uXCJdLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnN1bW1hcnksXG50ZXh0YXJlYSB7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG50aCB7XG4gIC8vIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgZnJvbSB0aGUgYDxib2R5PmAsIG9yIHRoZVxuICAvLyBjbG9zZXN0IHBhcmVudCB3aXRoIGEgc2V0IGB0ZXh0LWFsaWduYC5cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbn1cblxuLy8gV29yayBhcm91bmQgYSBGaXJlZm94L0lFIGJ1ZyB3aGVyZSB0aGUgdHJhbnNwYXJlbnQgYGJ1dHRvbmAgYmFja2dyb3VuZFxuLy8gcmVzdWx0cyBpbiBhIGxvc3Mgb2YgdGhlIGRlZmF1bHQgYGJ1dHRvbmAgZm9jdXMgc3R5bGVzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZS9cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGFwcGVhcmFuY2Ugb2YgdGVtcG9yYWwgaW5wdXRzIHRvIGF2b2lkIGEgTW9iaWxlIFNhZmFyaVxuICAvLyBidWcgd2hlcmUgc2V0dGluZyBhIGN1c3RvbSBsaW5lLWhlaWdodCBwcmV2ZW50cyB0ZXh0IGZyb20gYmVpbmcgdmVydGljYWxseVxuICAvLyBjZW50ZXJlZCB3aXRoaW4gdGhlIGlucHV0LlxuICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTg0OFxuICAvLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTI2NlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZTsgfVxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTsgfVxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTsgfVxuaDQsIC5oNCB7IGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTsgfVxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxuaDYsIC5oNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTEtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBmb250LXNpemU6ICRkaXNwbGF5Mi1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXkzLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA4MCU7IC8vIGJhY2sgdG8gZGVmYXVsdCBmb250LXNpemVcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTQgXFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRodW1ibmFpbC10cmFuc2l0aW9uKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQ7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogKCRzcGFjZXIgLyAyKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIElubGluZSBhbmQgYmxvY2sgY29kZSBzdHlsZXNcbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG59XG5cbi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZy15ICRjb2RlLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkY29kZS1mb250LXNpemU7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFN0cmVhbWxpbmUgdGhlIHN0eWxlIHdoZW4gaW5zaWRlIGFuY2hvcnMgdG8gYXZvaWQgYnJva2VuIHVuZGVybGluZSBhbmQgbW9yZVxuICBhID4gJiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nLXkgJGNvZGUtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRjb2RlLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cbn1cblxuLy8gRmx1aWQgY29udGFpbmVyXG4vL1xuLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aCAxMDAlIHdpZHRoIGZvclxuLy8gZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxufVxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyZWQgdmVyc2lvblxuLy9cbi8vIEFkZCBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpKTtcbn1cblxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYWN0aXZlLWJnKTtcblxuXG4vLyBJbnZlcnNlIHN0eWxlc1xuLy9cbi8vIFNhbWUgdGFibGUgbWFya3VwLCBidXQgaW52ZXJ0ZWQgY29sb3Igc2NoZW1lOiBkYXJrIGJhY2tncm91bmQgYW5kIGxpZ2h0IHRleHQuXG5cbi50aGVhZC1pbnZlcnNlIHtcbiAgdGgge1xuICAgIGNvbG9yOiAkdGFibGUtaW52ZXJzZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaW52ZXJzZS1iZztcbiAgfVxufVxuXG4udGhlYWQtZGVmYXVsdCB7XG4gIHRoIHtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gIH1cbn1cblxuLnRhYmxlLWludmVyc2Uge1xuICBjb2xvcjogJHRhYmxlLWludmVyc2UtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1pbnZlcnNlLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWludmVyc2UtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1pbnZlcnNlLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1pbnZlcnNlLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gQWRkIGAudGFibGUtcmVzcG9uc2l2ZWAgdG8gYC50YWJsZWBzIGFuZCB3ZSdsbCBtYWtlIHRoZW0gbW9iaWxlIGZyaWVuZGx5IGJ5XG4vLyBlbmFibGluZyBob3Jpem9udGFsIHNjcm9sbGluZy4gT25seSBhcHBsaWVzIDw3NjhweC4gRXZlcnl0aGluZyBhYm92ZSB0aGF0XG4vLyB3aWxsIGRpc3BsYXkgbm9ybWFsbHkuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwMDU3XG5cbiAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICYudGFibGUtYm9yZGVyZWQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnQsIFZlbmRvclByZWZpeFxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICAvLyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG4gIC8vIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LWJ0bi1wYWRkaW5nLXkgJGlucHV0LWJ0bi1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWJ0bi1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0LlxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAvLyBNYW51YWxseSB1c2UgdGhlIGlmL2Vsc2UgaW5zdGVhZCBvZiB0aGUgbWl4aW4gdG8gYWNjb3VudCBmb3IgaU9TIG92ZXJyaWRlXG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIC8vIE90aGVyd2lzZSB1bmRvIHRoZSBpT1MgZGVmYXVsdFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzKCk7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCxcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICY6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZSwgYXMgaXQgbG9va3MgYmFkIGFuZCBjYW5ub3QgYmUgbWFkZSB0b1xuICAgIC8vIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICB9XG59XG5cbi8vIE1ha2UgZmlsZSBpbnB1dHMgYmV0dGVyIG1hdGNoIHRleHQgaW5wdXRzIGJ5IGZvcmNpbmcgdGhlbSB0byBuZXcgbGluZXMuXG4uZm9ybS1jb250cm9sLWZpbGUsXG4uZm9ybS1jb250cm9sLXJhbmdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgdGV4dCB0b1xuLy8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LWJ0bi1wYWRkaW5nLXl9IC0gI3skaW5wdXQtYnRuLWJvcmRlci13aWR0aH0gKiAyKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtYnRuLXBhZGRpbmcteX0gLSAjeyRpbnB1dC1idG4tYm9yZGVyLXdpZHRofSAqIDIpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsYWJlbD5gIGRlZmF1bHRcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtYnRuLXBhZGRpbmcteS1sZ30gLSAjeyRpbnB1dC1idG4tYm9yZGVyLXdpZHRofSAqIDIpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1idG4tcGFkZGluZy15LWxnfSAtICN7JGlucHV0LWJ0bi1ib3JkZXItd2lkdGh9ICogMik7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtYnRuLXBhZGRpbmcteS1zbX0gLSAjeyRpbnB1dC1idG4tYm9yZGVyLXdpZHRofSAqIDIpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1idG4tcGFkZGluZy15LXNtfSAtICN7JGlucHV0LWJ0bi1ib3JkZXItd2lkdGh9ICogMik7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbn1cblxuXG4vL1xuLy8gTGVnZW5kc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGVnZW5kIHRleHQgdG9cbi8vIGJlIHRoZSBzYW1lIHNpemUgYXMgcmVndWxhciBsYWJlbHMsIGFuZCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxlZ2VuZCB7XG4gIHBhZGRpbmctdG9wOiAkaW5wdXQtYnRuLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1idG4tcGFkZGluZy15O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIHBhZGRpbmctdG9wOiAkaW5wdXQtYnRuLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1idG4tcGFkZGluZy15O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1idG4tbGluZS1oZWlnaHQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBwYWRkaW5nOiAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtc20ge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBwYWRkaW5nOiAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZztcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtbGcge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICBtYXJnaW4tbGVmdDogLTVweDtcblxuICA+IC5jb2wsXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTtcblxuICAmLmRpc2FibGVkIHtcbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbn1cblxuLy8gUmFkaW9zIGFuZCBjaGVja2JveGVzIG9uIHNhbWUgbGluZVxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgKyAuZm9ybS1jaGVjay1pbmxpbmUge1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG4gIH1cbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlciBzaWRlIHZhbGlkYXRpb24uXG5cbi5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLjI1cmVtO1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIGNvbG9yOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yO1xufVxuXG4uaW52YWxpZC10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAyNTBweDtcbiAgcGFkZGluZzogLjVyZW07XG4gIG1hcmdpbi10b3A6IC4xcmVtO1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLC44KTtcbiAgYm9yZGVyLXJhZGl1czogLjJyZW07XG59XG5cbkBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcInZhbGlkXCIsICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yKTtcbkBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcImludmFsaWRcIiwgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcik7XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAvLyBDdXN0b20gZm9ybSBjb250cm9sc1xuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OyAvLyBGbGV4Ym94IGFsaWdubWVudCBtZWFucyB3ZSBsb3NlIG91ciBIVE1MIHNwYWNlIGhlcmUsIHNvIHdlIGNvbXBlbnNhdGUuXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgfVxuXG4gICAgLy8gUmUtb3ZlcnJpZGUgdGhlIGZlZWRiYWNrIGljb24uXG4gICAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRpbnB1dC1idG4tcGFkZGluZy15LCAkaW5wdXQtYnRuLXBhZGRpbmcteCwgJGZvbnQtc2l6ZS1iYXNlLCAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgLy8gU2hhcmUgaG92ZXIgYW5kIGZvY3VzIHN0eWxlc1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IC42NTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1mb2N1cy1ib3gtc2hhZG93LCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldFtkaXNhYmxlZF0gYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICB9XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLW91dGxpbmUtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSwgI2ZmZik7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAmLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbiAgJixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZywgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRpbnB1dC1idG4tcGFkZGluZy15LXNtLCAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogJGJ0bi1ibG9jay1zcGFjaW5nLXk7XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmLnNob3cge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG50ciB7XG4gICYuY29sbGFwc2Uuc2hvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xuICB9XG59XG5cbnRib2R5IHtcbiAgJi5jb2xsYXBzZS5zaG93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6ZW1wdHk6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTsgLy8gUmVkZWNsYXJlIGJlY2F1c2UgbmVzdGluZyBjYW4gY2F1c2UgaW5oZXJpdGFuY2UgaXNzdWVzXG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQ6IG5vbmU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWJnO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtYmc7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wZW4gc3RhdGUgZm9yIHRoZSBkcm9wZG93blxuLnNob3cge1xuICAvLyBSZW1vdmUgdGhlIG91dGxpbmUgd2hlbiA6Zm9jdXMgaXMgdHJpZ2dlcmVkXG4gID4gYSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFNldCBjb3JuZXJzIGluZGl2aWR1YWwgYmVjYXVzZSBzb21ldGltZXMgYSBzaW5nbGUgYnV0dG9uIGNhbiBiZSBpbiBhIC5idG4tZ3JvdXAgYW5kIHdlIG5lZWQgOmZpcnN0LWNoaWxkIGFuZCA6bGFzdC1jaGlsZCB0byBib3RoIG1hdGNoXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi8vIE5lZWQgLmRyb3Bkb3duLXRvZ2dsZSBzaW5jZSA6bGFzdC1jaGlsZCBkb2Vzbid0IGFwcGx5IGdpdmVuIGEgLmRyb3Bkb3duLW1lbnUgaW1tZWRpYXRlbHkgYWZ0ZXIgaXRcbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gQ3VzdG9tIGVkaXRzIGZvciBpbmNsdWRpbmcgYnRuLWdyb3VwcyB3aXRoaW4gYnRuLWdyb3VwcyAodXNlZnVsIGZvciBpbmNsdWRpbmcgZHJvcGRvd24gYnV0dG9ucyB3aXRoaW4gYSBidG4tZ3JvdXApXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkaW5wdXQtYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLmJ0bixcbiAgLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG4gKyAuYnRuLFxuICA+IC5idG4gKyAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4ge1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLy8gRW5zdXJlIHRoYXQgdGhlIGlucHV0IGlzIGFsd2F5cyBhYm92ZSB0aGUgKmFwcGVuZGVkKiBhZGRvbiBidXR0b24gZm9yXG4gICAgLy8gcHJvcGVyIGJvcmRlciBjb2xvcnMuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgLy8gQWRkIHdpZHRoIDElIGFuZCBmbGV4LWJhc2lzIGF1dG8gdG8gZW5zdXJlIHRoYXQgYnV0dG9uIHdpbGwgbm90IHdyYXAgb3V0XG4gICAgLy8gdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRSBFZGdlKyBhbmQgRmlyZWZveC4gQ2hyb21lIGRvZXMgbm90IHJlcXVpcmUgdGhpcy5cbiAgICB3aWR0aDogMSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgZnJvbnRcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0bixcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHtcbiAgLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBjb250ZW50IG9mIHRoZSBhZGRvbnMgd2l0aGluIHRoZSBpbnB1dCBncm91cFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxufVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuXG5cbi8vIFNpemluZyBvcHRpb25zXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtbGc7XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtc207XG59XG5cblxuLy9cbi8vIFRleHQgaW5wdXQgZ3JvdXBzXG4vL1xuXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiAkaW5wdXQtYnRuLXBhZGRpbmcteSAkaW5wdXQtYnRuLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOyAvLyBNYXRjaCBpbnB1dHNcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBTaXppbmdcbiAgJi5mb3JtLWNvbnRyb2wtc20ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1idG4tcGFkZGluZy15LXNtICRpbnB1dC1idG4tcGFkZGluZy14LXNtO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG4gIH1cblxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC8vIHNjc3MtbGludDplbmFibGUgUXVhbGlmeWluZ0VsZW1lbnRcbn1cblxuXG4vL1xuLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4vL1xuXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6bGFzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG4uaW5wdXQtZ3JvdXAtYWRkb246bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbi5mb3JtLWNvbnRyb2wgKyAuaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLy9cbi8vIEJ1dHRvbiBpbnB1dCBncm91cHNcbi8vXG5cbi5pbnB1dC1ncm91cC1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEphbmtpbHkgcHJldmVudCBpbnB1dCBidXR0b24gZ3JvdXBzIGZyb20gd3JhcHBpbmcgd2l0aCBgd2hpdGUtc3BhY2VgIGFuZFxuICAvLyBgZm9udC1zaXplYCBpbiBjb21iaW5hdGlvbiB3aXRoIGBpbmxpbmUtYmxvY2tgIG9uIGJ1dHRvbnMuXG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIHNwYWNpbmcsIHBvc2l0aW9uIGZvciBicmluZ2luZyBob3ZlcmVkL2ZvY3VzZWQvYWN0aXZlZFxuICAvLyBlbGVtZW50IGFib3ZlIHRoZSBzaWJsaW5ncy5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1idG4tYm9yZGVyLWNvbG9yO1xuXG4gICAgKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoLSRpbnB1dC1idG4tYm9yZGVyLXdpZHRoKTtcbiAgICB9XG5cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIHRvIG9ubHkgaGF2ZSBhIHNpbmdsZSwgc2hhcmVkIGJvcmRlciBiZXR3ZWVuIHRoZSB0d29cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICA+IC5idG4sXG4gICAgPiAuYnRuLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogKC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG4gICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoLSRpbnB1dC1idG4tYm9yZGVyLXdpZHRoKTtcbiAgICAgIC8vIEJlY2F1c2Ugc3BlY2lmaWNpdHlcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBQcm9wZXJ0eUNvdW50LCBWZW5kb3JQcmVmaXhcblxuLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWluLWhlaWdodDogKDFyZW0gKiAkbGluZS1oZWlnaHQtYmFzZSk7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICB+IC5jdXN0b20tY29udHJvbC1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWRlc2NyaXB0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gaW5kaWNhdG9yXG4vL1xuLy8gR2VuZXJhdGVzIGEgc2hhZG93IGVsZW1lbnQgdG8gY3JlYXRlIG91ciBtYWtlc2hpZnQgY2hlY2tib3gvcmFkaW8gYmFja2dyb3VuZC5cblxuLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAoKCRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDIpO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbn1cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uY3VzdG9tLWNoZWNrYm94IHtcbiAgLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDtcbiAgfVxufVxuXG5cbi8vIExheW91dCBvcHRpb25zXG4vL1xuLy8gQnkgZGVmYXVsdCByYWRpb3MgYW5kIGNoZWNrYm94ZXMgYXJlIGBpbmxpbmUtYmxvY2tgIHdpdGggbm8gYWRkaXRpb25hbCBzcGFjaW5nXG4vLyBzZXQuIFVzZSB0aGVzZSBvcHRpb25hbCBjbGFzc2VzIHRvIHR3ZWFrIHRoZSBsYXlvdXQuXG5cbi5jdXN0b20tY29udHJvbHMtc3RhY2tlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLmN1c3RvbS1jb250cm9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXk7XG5cbiAgICArIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwOi8vcHJpbWVyY3NzLmlvLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmcgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yIG5vLXJlcGVhdCByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tc2VsZWN0LWJnLXNpemU7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcblxuICAgICY6Oi1tcy12YWx1ZSB7XG4gICAgICAvLyBGb3IgdmlzdWFsIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgcGxhdGZvcm1zL2Jyb3dzZXJzLFxuICAgICAgLy8gc3VwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk7XG4gIGZvbnQtc2l6ZTogJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xuICBtaW4td2lkdGg6ICRjdXN0b20tZmlsZS13aWR0aDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcblxuICAmOmZvY3VzIH4gLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA1O1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtYm94LXNoYWRvdyk7XG5cbiAgQGVhY2ggJGxhbmcsICR0ZXh0IGluIG1hcC1nZXQoJGN1c3RvbS1maWxlLXRleHQsIHBsYWNlaG9sZGVyKSB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KTplbXB0eTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHRleHQ7XG4gICAgfVxuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tYmc7XG4gICAgYm9yZGVyLWxlZnQ6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdGV4dCBpbiBtYXAtZ2V0KCRjdXN0b20tZmlsZS10ZXh0LCBidXR0b24tbGFiZWwpIHtcbiAgICAmOmxhbmcoI3skbGFuZ30pOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJHRleHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMgb3IgYDx1bD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcblxuICAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLm5hdi1saW5rIHtcbiAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdi10YWJzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3IgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdi1waWxscy1ib3JkZXItcmFkaXVzKTtcblxuICAgICYuYWN0aXZlLFxuICAgIC5zaG93ID4gJiB7XG4gICAgICBjb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICAubmF2LWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy8gQ29udGVudHNcbi8vXG4vLyBOYXZiYXJcbi8vIE5hdmJhciBicmFuZFxuLy8gTmF2YmFyIG5hdlxuLy8gTmF2YmFyIHRleHRcbi8vIE5hdmJhciBkaXZpZGVyXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy8gTmF2YmFyIHBvc2l0aW9uXG4vLyBOYXZiYXIgdGhlbWVzXG5cblxuLy8gTmF2YmFyXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy15ICRuYXZiYXItcGFkZGluZy14O1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJpdGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gID4gLmNvbnRhaW5lcixcbiAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbmF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBmb250LXNpemU6ICRuYXZiYXItdG9nZ2xlci1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIGAuZHJvcGRvd24tbWVudWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IC41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvciBuZXN0aW5nIGNvbnRhaW5lcnMsIGhhdmUgdG8gcmVkZWNsYXJlIGZvciBhbGlnbm1lbnQgcHVycG9zZXNcbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZVxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gc2Nzcy1saW50OmVuYWJsZSBJbXBvcnRhbnRSdWxlXG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRoZW1lc1xuLy9cbi8vIFN0eWxlcyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbmF2YmFycyB3aXRoIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC5cblxuLy8gRGFyayBsaW5rcyBhZ2FpbnN0IGEgbGlnaHQgYmFja2dyb3VuZFxuLm5hdmJhci1saWdodCB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZztcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gIH1cbn1cblxuLy8gV2hpdGUgbGlua3MgYWdhaW5zdCBhIGRhcmsgYmFja2dyb3VuZFxuLm5hdmJhci1kYXJrIHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteDtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtKCRjYXJkLXNwYWNlci15IC8gMik7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4gIH1cbn1cblxuLmNhcmQge1xuICA+IC5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSgkY2FyZC1zcGFjZXIteCAvIDIpO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgbWFyZ2luLWxlZnQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbn1cblxuLmNhcmQtaW1nIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ2FyZCBpbWFnZSBjYXBzXG4uY2FyZC1pbWctdG9wIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuY2FyZC1kZWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLmNhcmQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgIC5jYXJkIHtcbiAgICAgIGZsZXg6IDEgMCAwJTtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb2x1bW5zXG4vL1xuXG4uY2FyZC1jb2x1bW5zIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWNvbHVtbnMtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcbiAgICBjb2x1bW4tZ2FwOiAkY2FyZC1jb2x1bW5zLWdhcDtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlaXIgd2lkdGggY2hhbmdlXG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRicmVhZGNydW1iLW1hcmdpbi1ib3R0b207XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICBmbG9hdDogbGVmdDtcblxuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIFN1cHByZXNzIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3IgaW4gbW9kZXJuIGJyb3dzZXJzXG4gICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgIGNvbnRlbnQ6IFwiI3skYnJlYWRjcnVtYi1kaXZpZGVyfVwiO1xuICB9XG5cbiAgLy8gSUU5LTExIGhhY2sgdG8gcHJvcGVybHkgaGFuZGxlIGh5cGVybGluayB1bmRlcmxpbmVzIGZvciBicmVhZGNydW1icyBidWlsdFxuICAvLyB3aXRob3V0IGA8dWw+YHMuIFRoZSBgOjpiZWZvcmVgIHBzZXVkby1lbGVtZW50IGdlbmVyYXRlcyBhbiBlbGVtZW50XG4gIC8vICp3aXRoaW4qIHRoZSAuYnJlYWRjcnVtYi1pdGVtIGFuZCB0aGVyZWJ5IGluaGVyaXRzIHRoZSBgdGV4dC1kZWNvcmF0aW9uYC5cbiAgLy9cbiAgLy8gVG8gdHJpY2sgSUUgaW50byBzdXBwcmVzc2luZyB0aGUgdW5kZXJsaW5lLCB3ZSBnaXZlIHRoZSBwc2V1ZG8tZWxlbWVudCBhblxuICAvLyB1bmRlcmxpbmUgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVtb3ZlIGl0LlxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8vIDEtMjogRGlzYWJsZSBicm93c2VyIGRlZmF1bHQgbGlzdCBzdHlsZXNcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyAxXG4gIGxpc3Qtc3R5bGU6IG5vbmU7IC8vIDJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICBib3JkZXI6ICRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCAkYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gUGlsbCBiYWRnZXNcbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLmJhZGdlLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctbGVmdDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBiYWRnZXMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJhZGdlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLSRhbGVydC1wYWRkaW5nLXk7XG4gICAgcmlnaHQ6IC0kYWxlcnQtcGFkZGluZy14O1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmFsZXJ0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCh0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC0xMCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIDYpKTtcbiAgfVxufVxuIiwiQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgZm9udC1zaXplOiAkcHJvZ3Jlc3MtZm9udC1zaXplO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHByb2dyZXNzLWhlaWdodCAkcHJvZ3Jlc3MtaGVpZ2h0O1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc7XG59XG4iLCIubWVkaWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLm1lZGlhLWJvZHkge1xuICBmbGV4OiAxO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWhvdmVyLWJnO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgLy8gUGxhY2UgdGhlIGJvcmRlciBvbiB0aGUgbGlzdCBpdGVtcyBhbmQgbmVnYXRpdmUgbWFyZ2luIHVwIGZvciBiZXR0ZXIgc3R5bGluZ1xuICBtYXJnaW4tYm90dG9tOiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6ICRjbG9zZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3BhY2l0eTogLjc1O1xuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbi8vIHNjc3MtbGludDplbmFibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiIsIi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAmLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gIH1cbiAgJi5zaG93IC5tb2RhbC1kaWFsb2cgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXIgaXRcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuXG4gIC5jbG9zZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IC8vIEZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSdzIG5vIC5tb2RhbC10aXRsZVxuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHNob3VsZCB0aGVyZSBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuXG4gIC8vIEVhc2lseSBwbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tbGVmdDogLjI1cmVtOyB9XG4gID4gOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tcmlnaHQ6IC4yNXJlbTsgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcgeyBtYXgtd2lkdGg6ICRtb2RhbC1sZzsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgfVxuXG4gICYuYnMtdG9vbHRpcC10b3Age1xuICAgIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgLmFycm93IHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSgkdG9vbHRpcC1hcnJvdy13aWR0aCAtIDIpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLmJzLXRvb2x0aXAtcmlnaHQge1xuICAgIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgLmFycm93IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmFycm93OjpiZWZvcmUge1xuICAgICAgbWFyZ2luLXRvcDogLSgkdG9vbHRpcC1hcnJvdy13aWR0aCAtIDIpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYuYnMtdG9vbHRpcC1ib3R0b20ge1xuICAgIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgLmFycm93IHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSgkdG9vbHRpcC1hcnJvdy13aWR0aCAtIDIpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLmJzLXRvb2x0aXAtbGVmdCB7XG4gICAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAuYXJyb3cge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmFycm93OjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtKCR0b29sdGlwLWFycm93LXdpZHRoIC0gMik7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLmJzLXRvb2x0aXAtYXV0byB7XG4gICAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gICAgfVxuICAgICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgICB9XG4gICAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gICAgfVxuICAgICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLmFycm93OjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cbiIsIi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkcG9wb3Zlci1pbm5lci1wYWRkaW5nO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC8vIEFycm93c1xuICAvL1xuICAvLyAuYXJyb3cgaXMgb3V0ZXIsIC5hcnJvdzo6YWZ0ZXIgaXMgaW5uZXJcblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSxcbiAgLmFycm93OjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gIH1cbiAgLmFycm93OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUG9wb3ZlciBkaXJlY3Rpb25zXG5cbiAgJi5icy1wb3BvdmVyLXRvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cbiAgICAuYXJyb3cge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5hcnJvdzo6YmVmb3JlLFxuICAgIC5hcnJvdzo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICBib3R0b206IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtKCRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoIC0gNSk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAuYXJyb3c6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogLSgkcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aCAtIDEpO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0oJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGggLSA1KTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYuYnMtcG9wb3Zlci1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuXG4gICAgLmFycm93IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmFycm93OjpiZWZvcmUsXG4gICAgLmFycm93OjphZnRlciB7XG4gICAgICBtYXJnaW4tdG9wOiAtKCRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoIC0gMyk7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC5hcnJvdzo6YWZ0ZXIge1xuICAgICAgbGVmdDogLSgkcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aCAtIDEpO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcblxuICAgIC5hcnJvdyB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgLmFycm93OjpiZWZvcmUsXG4gICAgLmFycm93OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogLSgkcG9wb3Zlci1hcnJvdy13aWR0aCAtIDMpO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICB0b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC5hcnJvdzo6YWZ0ZXIge1xuICAgICAgdG9wOiAtKCRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoIC0gMSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAgIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgICB9XG4gIH1cblxuICAmLmJzLXBvcG92ZXItbGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcblxuICAgIC5hcnJvdyB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAuYXJyb3c6OmJlZm9yZSxcbiAgICAuYXJyb3c6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IC0oJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGggLSAzKTtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICByaWdodDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC5hcnJvdzo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IC0oJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGggLSAxKTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJi5icy1wb3BvdmVyLWF1dG8ge1xuICAgICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICAgIH1cbiAgICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICAgIEBleHRlbmQgLmJzLXBvcG92ZXItcmlnaHQ7XG4gICAgfVxuICAgICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICAgIH1cbiAgICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgY29sb3I6ICRwb3BvdmVyLWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItaGVhZGVyLWJnO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgZGFya2VuKCRwb3BvdmVyLWhlYWRlci1iZywgNSUpO1xuICAkb2Zmc2V0LWJvcmRlci13aWR0aDogY2FsYygjeyRib3JkZXItcmFkaXVzLWxnfSAtICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSk7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRvZmZzZXQtYm9yZGVyLXdpZHRoKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteSAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteDtcbiAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7XG59XG4iLCIvLyBXcmFwcGVyIGZvciB0aGUgc2xpZGUgY29udGFpbmVyIGFuZCBpbmRpY2F0b3JzXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cblxuLy8gQ1NTMyB0cmFuc2Zvcm1zIHdoZW4gc3VwcG9ydGVkIGJ5IHRoZSBicm93c2VyXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbi5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblxuICBAc3VwcG9ydHMgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cbiAgQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2LFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXG4gIEBzdXBwb3J0cyAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIC8vIFdlIGNhbid0IGhhdmUgYSB0cmFuc2l0aW9uIGhlcmUgYmVjYXVzZSBXZWJLaXQgY2FuY2VscyB0aGUgY2Fyb3VzZWxcbiAgLy8gYW5pbWF0aW9uIGlmIHlvdSB0cmlwIHRoaXMgd2hpbGUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIGFuaW1hdGlvbi5cblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6IC45O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmcsIC41KTtcblxuICAgIC8vIFVzZSBwc2V1ZG8gY2xhc3NlcyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDIpO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDIpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIkBpbXBvcnQgXCJ1dGlsaXRpZXMvYWxpZ25cIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9ib3JkZXJzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2Rpc3BsYXlcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZW1iZWRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZmxleFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9mbG9hdFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9wb3NpdGlvblwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zY3JlZW5yZWFkZXJzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NpemluZ1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zcGFjaW5nXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3RleHRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdmlzaWJpbGl0eVwiO1xuIiwiLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KCcuYmctI3skY29sb3J9JywgJHZhbHVlKTtcbn1cblxuLmJnLXdoaXRlIHsgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cbi5iZy10cmFuc3BhcmVudCB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiIsIi8vXG4vLyBCb3JkZXJcbi8vXG5cbi5ib3JkZXIgICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuLnJvdW5kZWQtbGVmdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4iLCIuY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuIiwiLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kI3skaW5maXh9LW5vbmUgICAgICAgICB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWlubGluZSAgICAgICB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS1ibG9jayAgICAgICAgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tdGFibGUgICAgICAgIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LXRhYmxlLWNlbGwgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWZsZXggICAgICAgICB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWlubGluZS1mbGV4ICB7IGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIHRvZ2dsaW5nIGBkaXNwbGF5YCBpbiBwcmludFxuLy9cblxuLmQtcHJpbnQtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5kLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5kLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5kLXByaW50LW5vbmUge1xuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgaWZyYW1lLFxuICBlbWJlZCxcbiAgb2JqZWN0LFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTIxYnk5IHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg5IC8gMjEpO1xuICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg5IC8gMTYpO1xuICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDMgLyA0KTtcbiAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xYnkxIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgxIC8gMSk7XG4gIH1cbn1cbiIsIi8vIEZsZXggdmFyaWF0aW9uXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBmbGV4IGFsaWdubWVudCBvcHRpb25zLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxleCN7JGluZml4fS1yb3cgICAgICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbiAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tcm93LXJldmVyc2UgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAgICAgICAgICB7IGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tbm93cmFwICAgICAgIHsgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCJAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBAaW5jbHVkZSBmbG9hdC1sZWZ0OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgQGluY2x1ZGUgZmxvYXQtcmlnaHQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBAaW5jbHVkZSBmbG9hdC1ub25lOyB9XG4gIH1cbn1cbiIsIi8vIENvbW1vbiB2YWx1ZXNcblxuLy8gU2FzcyBsaXN0IG5vdCBpbiB2YXJpYWJsZXMgc2luY2UgaXQncyBub3QgaW50ZW5kZWQgZm9yIGN1c3RvbWl6YXRpb24uXG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreTtcblxuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xuICAucG9zaXRpb24tI3skcG9zaXRpb259IHsgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG4iLCIvLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuXG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9ICB7ICN7JHByb3B9OiAgICAgICAgJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbWUgc3BlY2lhbCBtYXJnaW4gdXRpbHNcbiAgICAubSN7JGluZml4fS1hdXRvICB7IG1hcmdpbjogICAgICAgIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBUZXh0XG4vL1xuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnRleHQjeyRpbmZpeH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtdXBwZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1saWdodCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuXG4udGV4dC13aGl0ZSB7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtI3skY29sb3J9JywgJHZhbHVlKTtcbn1cblxuLnRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQgIWltcG9ydGFudDsgfVxuXG4vLyBNaXNjXG5cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGUoKTtcbn1cbiIsIi8vXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy9cblxuLnZpc2libGUge1xuICBAaW5jbHVkZSBpbnZpc2libGUodmlzaWJsZSk7XG59XG5cbi5pbnZpc2libGUge1xuICBAaW5jbHVkZSBpbnZpc2libGUoaGlkZGVuKTtcbn1cbiIsIiRiYWNrZ3JvdW5kLWdyZXk6ICNmYWZhZmE7XG4kZGFyay1ncmV5OiAjNjY2NjY2O1xuJGxpZ2h0LWdyZXk6ICM5ZjlmOWY7XG4kdmVyeS1saWdodC1ncmV5OiAjY2NjY2NjO1xuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ncmV5O1xuICAgIGZvbnQtZmFtaWx5OiAnT3Blbi1TYW5zJywgc2Fucy1zZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuXG5hOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50b3AtYmFyIHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2VhZWFlYTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogOTk5OTk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICBvcGFjaXR5OiAwLjk4O1xuXG4gICAgLmxvZ28ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtYmFyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmV5O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5cHggOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvdWkvaWNvbi1zZWFyY2gucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTZweCAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuZmlsdGVyLWljb24ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2ZpbHRlci1pY29uLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuc2VhcmNoLWJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlci1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICR2ZXJ5LWxpZ2h0LWdyZXk7XG4gICAgfVxuXG4gICAgOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJHZlcnktbGlnaHQtZ3JleTtcbiAgICB9XG5cbiAgICA6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJHZlcnktbGlnaHQtZ3JleTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuYnV0dG9uLWZpbHRlciB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maWx0ZXJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIHBhZGRpbmc6IDI1cHggMTBweCAyNXB4IDI1cHg7XG5cbiAgICAuZmlsdGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG5cbiAgICAuZmlsdGVyLWhlYWRlciB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcblxuICAgICAgICAmLi1hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyZXk7XG5cbiAgICAgICAgICAgIC5iYWRnZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc2V0LWZpbHRlcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmV5O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgZmlsbDogJGxpZ2h0LWdyZXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2tsaXN0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAgICAgLmNoZWNrbGlzdC1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JleTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIC5yZWN0YW5nbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAjZWNlY2VjIHNvbGlkIDJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLi1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgICAgICAgLnJlY3RhbmdsZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY2NjY7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbmxpc3Qge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC5pY29ubGlzdC1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JleTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgIC4taWNvbiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG5cbiAgICAgICAgICAgICAgICAmLi1ndWl0YXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuLWhlYWQge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuLXBpY2t1cCB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi4tYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAuLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpbHRlci1jb3VudCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB9XG59XG5cbi8vLmd1aXRhci1saXN0IHtcbi8vICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vXG4vLyAgICAvL0BpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbi8vICAgIC8vICAgIGNvbHVtbi1jb3VudDogNDtcbi8vICAgIC8vfVxuLy8gICAgLy9cbi8vICAgIC8vQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4vLyAgICAvLyAgICBjb2x1bW4tY291bnQ6IDM7XG4vLyAgICAvL31cbi8vICAgIC8vXG4vLyAgICAvL0BpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuLy8gICAgLy8gICAgY29sdW1uLWNvdW50OiAyO1xuLy8gICAgLy99XG4vLyAgICAvL1xuLy8gICAgLy9AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbi8vICAgIC8vICAgIGNvbHVtbi1jb3VudDogMTtcbi8vICAgIC8vfVxuXG4gICAgLmNhcmQge1xuICAgICAgICAvL2Rpc3BsYXk6IGlubGluZS1ibG9jayFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgLmNhcmQtYm9keSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA5NXB4O1xuXG4gICAgICAgICAgICAuZ3VpdGFyLW1ha2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmV5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmd1aXRhci1uYW1lIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JleTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG4vL31cblxuLmZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuI2d1aXRhci10ZW1wbGF0ZSA+IGRpdntcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbn1cblxuLmxvYWRpbmctb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3BhY2l0eTogMC4yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY2NjY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbG9hZGVyLmdpZicpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjBweCA2MHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAxNTBweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4jd3JhcHBlciB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4jd3JhcHBlci50b2dnbGVkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDBweDtcbn1cblxuI3NpZGViYXItd3JhcHBlciB7XG4gICAgei1pbmRleDogOTk5OTg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICByaWdodDogMzAwcHg7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogLTMwMHB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4jd3JhcHBlci50b2dnbGVkICNzaWRlYmFyLXdyYXBwZXIge1xuICAgIHdpZHRoOiAzMDBweDtcbn1cblxuI3BhZ2UtY29udGVudC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZzogMTVweDtcbn1cblxuI3dyYXBwZXIudG9nZ2xlZCAjcGFnZS1jb250ZW50LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW4tbGVmdDogLTMwMHB4O1xufVxuXG4vKiBTaWRlYmFyIFN0eWxlcyAqL1xuLnNpZGViYXItbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5AbWVkaWEobWluLXdpZHRoOjc2OHB4KSB7XG4gICAgI3dyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgICN3cmFwcGVyLnRvZ2dsZWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMDBweDtcbiAgICB9XG4gICAgI3NpZGViYXItd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgICAjd3JhcHBlci50b2dnbGVkICNzaWRlYmFyLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgfVxuICAgICNwYWdlLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgI3dyYXBwZXIudG9nZ2xlZCAjcGFnZS1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLmVtcHR5LWxpc3Qge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICRkYXJrLWdyZXk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5ndWl0YXItbGlzdCB7XG4gICAgLy9kaXNwbGF5OiBub25lO1xufVxuXG4vLy5vZmZzZXQtbG9hZGVyIHtcbi8vICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgLy9kaXNwbGF5OiBub25lO1xuLy8gICAgd2lkdGg6IDMwcHg7XG4vLyAgICBtYXJnaW4tbGVmdDogYXV0bztcbi8vICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vfVxuXG4ub2Zmc2V0LWxvYWRlcixcbi5vZmZzZXQtbG9hZGVyOmJlZm9yZSxcbi5vZmZzZXQtbG9hZGVyOmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDIuNWVtO1xuICAgIGhlaWdodDogMi41ZW07XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGxvYWQ3IDEuOHMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uOiBsb2FkNyAxLjhzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuLm9mZnNldC1sb2FkZXIge1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjE2cztcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjE2cztcbn1cbi5vZmZzZXQtbG9hZGVyOmJlZm9yZSxcbi5vZmZzZXQtbG9hZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xufVxuLm9mZnNldC1sb2FkZXI6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMy41ZW07XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjMycztcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMycztcbn1cbi5vZmZzZXQtbG9hZGVyOmFmdGVyIHtcbiAgICBsZWZ0OiAzLjVlbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBsb2FkNyB7XG4gICAgMCUsXG4gICAgODAlLFxuICAgIDEwMCUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDIuNWVtIDAgLTEuM2VtO1xuICAgIH1cbiAgICA0MCUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDIuNWVtIDAgMDtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGxvYWQ3IHtcbiAgICAwJSxcbiAgICA4MCUsXG4gICAgMTAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMi41ZW0gMCAtMS4zZW07XG4gICAgfVxuICAgIDQwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMi41ZW0gMCAwO1xuICAgIH1cbn1cblxuI3Njcm9sbC10b3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDE1cHg7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6ICM2NjY2NjY7XG59IiwiLy8uaGVhZGVyLWxpbmsge1xuLy8gICAgZm9udC1zaXplOiAxOHB4O1xuLy8gICAgY29sb3I6ICM2NjY2NjY7XG4vL1xuLy8gICAgJjpob3ZlciB7XG4vLyAgICAgICAgY29sb3I6ICM2NjY2NjY7XG4vLyAgICB9XG4vL31cbi8vXG4vLy5nYWxsZXJ5IHtcbi8vXG4vLyAgICAjc2xpZGVyIHtcbi8vICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vICAgICAgICBtYXJnaW46IDIwcHggYXV0byAwIGF1dG87XG4vLyAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuLy9cbi8vICAgICAgICAuaW1hZ2VzIHtcbi8vICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgICAgICAgICBtYXJnaW46IDA7XG4vLyAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4vLyAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuLy8gICAgICAgICAgICBoZWlnaHQ6IDYwMHB4O1xuLy8gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuLy9cbi8vICAgICAgICAgICAgLmltYWdlIHtcbi8vICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4vLyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuLy8gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4vLyAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbi8vICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbi8vICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4vLyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbi8vICAgICAgICAgICAgICAgIGhlaWdodDogNjAwcHg7XG4vLyAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzAwcHg7XG4vLyAgICAgICAgICAgICAgICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbi8vICAgICAgICAgICAgICAgIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuLy8gICAgICAgICAgICAgICAgY3Vyc29yOiB6b29tLWluO1xuLy8gICAgICAgICAgICB9XG4vLyAgICAgICAgfVxuLy8gICAgfVxuLy9cbi8vICAgIGEuY29udHJvbF9wcmV2LCBhLmNvbnRyb2xfbmV4dCB7XG4vLyAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgICAgIHRvcDogNDAlO1xuLy8gICAgICAgIHotaW5kZXg6IDk5OTtcbi8vICAgICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICAgICBwYWRkaW5nOiA0JSAzJTtcbi8vICAgICAgICB3aWR0aDogYXV0bztcbi8vICAgICAgICBoZWlnaHQ6IGF1dG87XG4vLyAgICAgICAgY29sb3I6ICNmZmY7XG4vLyAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy8gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4vLyAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuLy8gICAgICAgIG9wYWNpdHk6IDAuODtcbi8vICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4vLyAgICB9XG4vL1xuLy8gICAgYS5jb250cm9sX3ByZXY6aG92ZXIsIGEuY29udHJvbF9uZXh0OmhvdmVyIHtcbi8vICAgICAgICBvcGFjaXR5OiAxO1xuLy8gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbi8vICAgIH1cbi8vXG4vLyAgICBhLmNvbnRyb2xfcHJldiB7XG4vLyAgICAgICAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7XG4vLyAgICB9XG4vL1xuLy8gICAgYS5jb250cm9sX25leHQge1xuLy8gICAgICAgIHJpZ2h0OiAwO1xuLy8gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweCAwIDAgMnB4O1xuLy8gICAgfVxuLy9cbi8vICAgIC5zbGlkZXJfb3B0aW9uIHtcbi8vICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XG4vLyAgICAgICAgd2lkdGg6IDE2MHB4O1xuLy8gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbi8vICAgIH1cbi8vfVxuLy9cbi8vLmluZm8ge1xuLy8gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4vLyAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ViZWJlYjtcbi8vXG4vLyAgICAuZ3VpdGFyLWlkIHtcbi8vICAgICAgICBmbG9hdDogcmlnaHQ7XG4vLyAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuLy8gICAgICAgIGNvbG9yOiB3aGl0ZTtcbi8vICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2O1xuLy8gICAgICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuLy8gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4vLyAgICB9XG4vL1xuLy8gICAgLm5hbWUge1xuLy8gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbi8vICAgICAgICBjb2xvcjogYmxhY2s7XG4vLyAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4vLyAgICAgICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuLy8gICAgfVxuLy9cbi8vICAgIC55ZWFyIHtcbi8vICAgICAgICBmb250LXNpemU6IDI0cHg7XG4vLyAgICAgICAgY29sb3I6ICM5OTk5OTk7XG4vLyAgICAgICAgZmxvYXQ6IGxlZnQ7XG4vLyAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuLy8gICAgfVxuLy9cbi8vICAgIC5zZXJpYWwge1xuLy8gICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuLy8gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuLy8gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbi8vICAgIH1cbi8vXG4vLyAgICAmLnRvcC1pbmZvIHtcbi8vICAgICAgICBkaXNwbGF5OiBub25lO1xuLy8gICAgfVxuLy9cbi8vICAgIEBtZWRpYSAoIG1heC13aWR0aDogNzY4cHgpIHtcbi8vICAgICAgICAmLnRvcC1pbmZvIHtcbi8vICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4vLyAgICAgICAgfVxuLy9cbi8vICAgICAgICAmLmJvdHRvbS1pbmZvIHtcbi8vICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbi8vICAgICAgICB9XG4vLyAgICB9XG4vL1xuLy99XG4vL1xuLy8uc2hhcGVzIHtcbi8vICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vXG4vLyAgICAuc2hhcGUge1xuLy8gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuLy8gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbi8vXG4vLyAgICAgICAgLnNoYXBlLXRleHQge1xuLy8gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4vLyAgICAgICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuLy8gICAgICAgIH1cbi8vXG4vLyAgICAgICAgLnNoYXBlLWltYWdlIHtcbi8vICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG4vLyAgICAgICAgfVxuLy8gICAgfVxuLy99XG4vL1xuLy8uZGVzY3JpcHRpb24ge1xuLy8gICAgbWFyZ2luLXRvcDogMzVweDtcbi8vICAgIGZvbnQtc2l6ZTogMTRweDtcbi8vICAgIGNvbG9yOiAjNjY2NjY2O1xuLy99XG4vL1xuLy8uYXR0cmlidXRlcyB7XG4vLyAgICBtYXJnaW4tdG9wOiA1MHB4O1xuLy9cbi8vICAgIC5hdHRyaWJ1dGUge1xuLy8gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbi8vICAgICAgICBmb250LXNpemU6IDEycHg7XG4vL1xuLy8gICAgICAgIC5rZXkge1xuLy8gICAgICAgICAgICBmbG9hdDogbGVmdDtcbi8vICAgICAgICAgICAgbWluLXdpZHRoOiAxMzBweDtcbi8vICAgICAgICB9XG4vL1xuLy8gICAgICAgIC52YWx1ZSB7XG4vLyAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuLy8gICAgICAgIH1cbi8vICAgIH1cbi8vfVxuLy9cbi8vLmxpc3Qtc2VjdGlvbiB7XG4vLyAgICBtYXJnaW4tdG9wOiAzMHB4O1xuLy9cbi8vICAgIC5zZWN0aW9uLWhlYWRpbmcge1xuLy8gICAgICAgIGNvbG9yOiAjOTk5OTk5O1xuLy8gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbi8vICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuLy8gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbi8vICAgIH1cbi8vXG4vLyAgICAuc2VjdGlvbi1pdGVtIHtcbi8vICAgICAgICBjb2xvcjogIzY2NjY2Njtcbi8vICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbi8vICAgICAgICBtYXJnaW4tdG9wOiAwO1xuLy8gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4vLyAgICB9XG4vL31cblxuLmd1aXRhci1kZXRhaWwge1xuXG4gICAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIH1cblxuICAgIC5nYWxsZXJ5IHtcblxuICAgICAgICAjc2xpZGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAwIGF1dG87XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuXG4gICAgICAgICAgICAuaW1hZ2VzIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4MDBweDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgLy9ib3JkZXI6IHJlZCB0aGluIHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogODAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogem9vbS1pbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvL0BtZWRpYShtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgICAgICAgIC8vICAgICYge1xuICAgICAgICAgICAgICAgIC8vICAgICAgICBib3JkZXI6IGdyZWVuIHRoaWNrIHNvbGlkO1xuICAgICAgICAgICAgICAgIC8vICAgICAgICBtaW4taGVpZ2h0OiA4MDBweDtcbiAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgbWluLWhlaWdodDogODAwcHg7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyAgICB9XG4gICAgICAgICAgICAgICAgLy99XG5cblxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhLmNvbnRyb2xfcHJldiwgYS5jb250cm9sX25leHQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDQlIDMlO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBhLmNvbnRyb2xfcHJldjpob3ZlciwgYS5jb250cm9sX25leHQ6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEuY29udHJvbF9wcmV2IHtcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhLmNvbnRyb2xfbmV4dCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4IDAgMCAycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpZGVyX29wdGlvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXIge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWFlYWVhO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICYuLW1vYmlsZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmlkIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmV5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICAgIH1cbiAgICAgICAgLnNlcmlhbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmV5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmF0dHJpYnV0ZXMge1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmV5O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLi10aHJlZS1jb2x1bW5zIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmV5O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4ICRkYXJrLWdyZXkgZG90dGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1ha2Uge1xuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIC8vd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAvL2hlaWdodDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuXG4gICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmV5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIC5wcm9wZXJ0aWVzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmV5O1xuXG4gICAgICAgICAgICAuZ3VpdGFyLWZpbmlzaC1pY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjZXNzb3JpZXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIC5tZW1vcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyZXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIC5oaWRkZW4tbWQtdXAge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAuaGlkZGVuLXNtLWRvd24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLENBQUMsZ0VBQUk7QUVEWjs7Ozs7R0FLRztBaUNNRCxNQUFNLENBQUMsS0FBSztFQUNWLEFBQUEsQ0FBQztFQUNELEFBQUEsQ0FBQyxBQUFBLFFBQVE7RUFDVCxBQUFBLENBQUMsQUFBQSxPQUFPLENBQUM7SUFJUCxXQUFXLEVBQUUsZUFBZTtJQUU1QixVQUFVLEVBQUUsZUFBZTtHQUM1QjtFQUVELEFBQUEsQ0FBQztFQUNELEFBQUEsQ0FBQyxBQUFBLFFBQVEsQ0FBQztJ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 */