/* stylelint-disable */

/*!
 * Bootstrap v4.0.0 (https://getbootstrap.com)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #007bff;
  --secondary: #6c757d;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

*,
*::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: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.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: 700;
}

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]):hover,
a:not([href]):not([tabindex]):focus {
  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;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

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

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

table {
  border-collapse: collapse;
}

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

th {
  text-align: inherit;
}

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

button {
  border-radius: 0;
}

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;
  cursor: pointer;
}

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

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

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

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

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: 400;
}

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: 0.5rem;
}

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

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

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: #6c757d;
}

.blockquote-footer::before {
  content: "\2014 \00A0";
}

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

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

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

.figure-caption {
  font-size: 90%;
  color: #6c757d;
}

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

code {
  font-size: 87.5%;
  color: #e83e8c;
  word-break: break-word;
}

a > code {
  color: inherit;
}

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

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

pre {
  display: block;
  font-size: 87.5%;
  color: #212529;
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

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

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

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

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

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

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

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

.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-first {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .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-first {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }

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

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

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

  .offset-sm-0 {
    margin-left: 0;
  }

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 768px) {
  .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-first {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }

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

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

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

  .offset-md-0 {
    margin-left: 0;
  }

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 992px) {
  .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-first {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }

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

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

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

  .offset-lg-0 {
    margin-left: 0;
  }

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 1200px) {
  .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-first {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }

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

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

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

  .offset-xl-0 {
    margin-left: 0;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.table .thead-dark th {
  color: #fff;
  background-color: #212529;
  border-color: #32383e;
}

.table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.table-dark {
  color: #fff;
  background-color: #212529;
}

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

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

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

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

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

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

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

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

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

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

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

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

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

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

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}

.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.form-control::-webkit-input-placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control:-ms-input-placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control::placeholder {
  color: #6c757d;
  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;
  width: 100%;
}

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

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
  line-height: 1.5;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
  line-height: 1.5;
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0;
  line-height: 1.5;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}

.form-control-plaintext.form-control-sm,
.input-group-sm > .form-control-plaintext.form-control,
.input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text,
.input-group-sm > .input-group-append > .form-control-plaintext.input-group-text,
.input-group-sm > .input-group-prepend > .form-control-plaintext.btn,
.input-group-sm > .input-group-append > .form-control-plaintext.btn,
.form-control-plaintext.form-control-lg,
.input-group-lg > .form-control-plaintext.form-control,
.input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text,
.input-group-lg > .input-group-append > .form-control-plaintext.input-group-text,
.input-group-lg > .input-group-prepend > .form-control-plaintext.btn,
.input-group-lg > .input-group-append > .form-control-plaintext.btn {
  padding-right: 0;
  padding-left: 0;
}

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

.form-control-lg,
.input-group-lg > .form-control,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .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 > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),
.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]),
.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]),
.input-group-lg > .input-group-append > 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;
  padding-left: 1.25rem;
}

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}

.form-check-input:disabled ~ .form-check-label {
  color: #6c757d;
}

.form-check-label {
  margin-bottom: 0;
}

.form-check-inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 0;
  margin-right: 0.75rem;
}

.form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.3125rem;
  margin-left: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #28a745;
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: .5rem;
  margin-top: .1rem;
  font-size: .875rem;
  line-height: 1;
  color: #fff;
  background-color: rgba(40, 167, 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 {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

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

.was-validated .form-check-input:valid ~ .form-check-label,
.form-check-input.is-valid ~ .form-check-label {
  color: #28a745;
}

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

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

.was-validated .custom-control-input:valid ~ .custom-control-label::before,
.custom-control-input.is-valid ~ .custom-control-label::before {
  background-color: #71dd8a;
}

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

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before,
.custom-control-input.is-valid:checked ~ .custom-control-label::before {
  background-color: #34ce57;
}

.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before,
.custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

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

.was-validated .custom-file-input:valid ~ .custom-file-label::before,
.custom-file-input.is-valid ~ .custom-file-label::before {
  border-color: inherit;
}

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

.was-validated .custom-file-input:valid:focus ~ .custom-file-label,
.custom-file-input.is-valid:focus ~ .custom-file-label {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #dc3545;
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  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: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 {
  border-color: #dc3545;
  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 .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip,
.form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block;
}

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

.was-validated .custom-control-input:invalid ~ .custom-control-label::before,
.custom-control-input.is-invalid ~ .custom-control-label::before {
  background-color: #efa2a9;
}

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

.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before,
.custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  background-color: #e4606d;
}

.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before,
.custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

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

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

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

.was-validated .custom-file-input:invalid:focus ~ .custom-file-label,
.custom-file-input.is-invalid:focus ~ .custom-file-label {
  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: 576px) {
  .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-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;
    padding-left: 0;
  }

  .form-inline .form-check-input {
    position: relative;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }

  .form-inline .custom-control {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}

.btn {
  display: inline-block;
  font-weight: 400;
  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.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

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

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

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

.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}

.btn:not(:disabled):not(.disabled):active,
.btn:not(:disabled):not(.disabled).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 0.2rem rgba(0, 123, 255, 0.5);
}

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

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #0062cc;
  border-color: #005cbf;
}

.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

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

.btn-secondary:hover {
  color: #fff;
  background-color: #5a6268;
  border-color: #545b62;
}

.btn-secondary:focus,
.btn-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-secondary.disabled,
.btn-secondary:disabled {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #545b62;
  border-color: #4e555b;
}

.btn-secondary:not(:disabled):not(.disabled):active:focus,
.btn-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.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 0.2rem rgba(40, 167, 69, 0.5);
}

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

.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #1e7e34;
  border-color: #1c7430;
}

.btn-success:not(:disabled):not(.disabled):active:focus,
.btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.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 0.2rem rgba(23, 162, 184, 0.5);
}

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

.btn-info:not(:disabled):not(.disabled):active,
.btn-info:not(:disabled):not(.disabled).active,
.show > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #117a8b;
  border-color: #10707f;
}

.btn-info:not(:disabled):not(.disabled):active:focus,
.btn-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

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

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

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

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

.btn-warning:not(:disabled):not(.disabled):active,
.btn-warning:not(:disabled):not(.disabled).active,
.show > .btn-warning.dropdown-toggle {
  color: #212529;
  background-color: #d39e00;
  border-color: #c69500;
}

.btn-warning:not(:disabled):not(.disabled):active:focus,
.btn-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.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 0.2rem rgba(220, 53, 69, 0.5);
}

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

.btn-danger:not(:disabled):not(.disabled):active,
.btn-danger:not(:disabled):not(.disabled).active,
.show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #bd2130;
  border-color: #b21f2d;
}

.btn-danger:not(:disabled):not(.disabled):active:focus,
.btn-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

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

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

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

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

.btn-light:not(:disabled):not(.disabled):active,
.btn-light:not(:disabled):not(.disabled).active,
.show > .btn-light.dropdown-toggle {
  color: #212529;
  background-color: #dae0e5;
  border-color: #d3d9df;
}

.btn-light:not(:disabled):not(.disabled):active:focus,
.btn-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.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 0.2rem rgba(52, 58, 64, 0.5);
}

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

.btn-dark:not(:disabled):not(.disabled):active,
.btn-dark:not(:disabled):not(.disabled).active,
.show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #1d2124;
  border-color: #171a1d;
}

.btn-dark:not(:disabled):not(.disabled):active:focus,
.btn-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.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 0.2rem rgba(0, 123, 255, 0.5);
}

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

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

.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

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

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

.btn-outline-secondary:focus,
.btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-outline-secondary.disabled,
.btn-outline-secondary:disabled {
  color: #6c757d;
  background-color: transparent;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.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 0.2rem rgba(40, 167, 69, 0.5);
}

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

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

.btn-outline-success:not(:disabled):not(.disabled):active:focus,
.btn-outline-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.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 0.2rem rgba(23, 162, 184, 0.5);
}

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

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

.btn-outline-info:not(:disabled):not(.disabled):active:focus,
.btn-outline-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

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

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

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

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

.btn-outline-warning:not(:disabled):not(.disabled):active,
.btn-outline-warning:not(:disabled):not(.disabled).active,
.show > .btn-outline-warning.dropdown-toggle {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:not(:disabled):not(.disabled):active:focus,
.btn-outline-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.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 0.2rem rgba(220, 53, 69, 0.5);
}

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

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

.btn-outline-danger:not(:disabled):not(.disabled):active:focus,
.btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

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

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

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

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

.btn-outline-light:not(:disabled):not(.disabled):active,
.btn-outline-light:not(:disabled):not(.disabled).active,
.show > .btn-outline-light.dropdown-toggle {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:not(:disabled):not(.disabled):active:focus,
.btn-outline-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.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 0.2rem rgba(52, 58, 64, 0.5);
}

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

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

.btn-outline-dark:not(:disabled):not(.disabled):active:focus,
.btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-link {
  font-weight: 400;
  color: #007bff;
  background-color: transparent;
}

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

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

.btn-link:disabled,
.btn-link.disabled {
  color: #6c757d;
}

.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-bottom: 0;
  border-left: 0.3em solid transparent;
}

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

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

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

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

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

.dropright .dropdown-menu {
  margin-top: 0;
  margin-left: 0.125rem;
}

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

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

.dropright .dropdown-toggle::after {
  vertical-align: 0;
}

.dropleft .dropdown-menu {
  margin-top: 0;
  margin-right: 0.125rem;
}

.dropleft .dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}

.dropleft .dropdown-toggle::after {
  display: none;
}

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

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

.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}

.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: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}

.dropdown-item:hover,
.dropdown-item:focus {
  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: #6c757d;
  background-color: transparent;
}

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

.dropdown-header {
  display: block;
  padding: 0.5rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #6c757d;
  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;
}

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

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

.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:first-child {
  margin-left: 0;
}

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

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

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

.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 {
  -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(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

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

.btn-group-toggle > .btn,
.btn-group-toggle > .btn-group > .btn {
  margin-bottom: 0;
}

.btn-group-toggle > .btn input[type="radio"],
.btn-group-toggle > .btn input[type="checkbox"],
.btn-group-toggle > .btn-group > .btn input[type="radio"],
.btn-group-toggle > .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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100%;
}

.input-group > .form-control,
.input-group > .custom-select,
.input-group > .custom-file {
  position: relative;
  -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 > .custom-select:focus,
.input-group > .custom-file:focus {
  z-index: 3;
}

.input-group > .form-control + .form-control,
.input-group > .form-control + .custom-select,
.input-group > .form-control + .custom-file,
.input-group > .custom-select + .form-control,
.input-group > .custom-select + .custom-select,
.input-group > .custom-select + .custom-file,
.input-group > .custom-file + .form-control,
.input-group > .custom-file + .custom-select,
.input-group > .custom-file + .custom-file {
  margin-left: -1px;
}

.input-group > .form-control:not(:last-child),
.input-group > .custom-select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .form-control:not(:first-child),
.input-group > .custom-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group > .custom-file {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.input-group > .custom-file:not(:last-child) .custom-file-label,
.input-group > .custom-file:not(:last-child) .custom-file-label::before {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .custom-file:not(:first-child) .custom-file-label,
.input-group > .custom-file:not(:first-child) .custom-file-label::before {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group-prepend,
.input-group-append {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.input-group-prepend .btn,
.input-group-append .btn {
  position: relative;
  z-index: 2;
}

.input-group-prepend .btn + .btn,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-append .btn + .btn,
.input-group-append .btn + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn {
  margin-left: -1px;
}

.input-group-prepend {
  margin-right: -1px;
}

.input-group-append {
  margin-left: -1px;
}

.input-group-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}

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

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

.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.custom-control {
  position: relative;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem;
}

.custom-control-inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-right: 1rem;
}

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

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

.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

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

.custom-control-input:disabled ~ .custom-control-label {
  color: #6c757d;
}

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

.custom-control-label {
  margin-bottom: 0;
}

.custom-control-label::before {
  position: absolute;
  top: 0.25rem;
  left: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-color: #dee2e6;
}

.custom-control-label::after {
  position: absolute;
  top: 0.25rem;
  left: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%;
}

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

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #007bff;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  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-label::before {
  background-color: #007bff;
}

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  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-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

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

.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #007bff;
}

.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  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-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(2.25rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  line-height: 1.5;
  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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
  background-size: 8px 10px;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.custom-select:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5);
}

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

.custom-select[multiple],
.custom-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 0.75rem;
  background-image: none;
}

.custom-select:disabled {
  color: #6c757d;
  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-select-lg {
  height: calc(2.875rem + 2px);
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 125%;
}

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

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(2.25rem + 2px);
  margin: 0;
  opacity: 0;
}

.custom-file-input:focus ~ .custom-file-control {
  border-color: #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-file-input:focus ~ .custom-file-control::before {
  border-color: #80bdff;
}

.custom-file-input:lang(en) ~ .custom-file-label::after {
  content: "Browse";
}

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(2.25rem + 2px);
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}

.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: calc(calc(2.25rem + 2px) - 1px * 2);
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  content: "Browse";
  background-color: #e9ecef;
  border-left: 1px solid #ced4da;
  border-radius: 0 0.25rem 0.25rem 0;
}

.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:hover,
.nav-link:focus {
  text-decoration: none;
}

.nav-link.disabled {
  color: #6c757d;
}

.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}

.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:hover,
.nav-tabs .nav-link:focus {
  border-color: #e9ecef #e9ecef #dee2e6;
}

.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}

.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,
.nav-pills .show > .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.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap;
}

.navbar-brand:hover,
.navbar-brand:focus {
  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-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -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-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

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

.navbar-toggler:not(:disabled):not(.disabled) {
  cursor: pointer;
}

.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: 575.98px) {
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row 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: 0.5rem;
    padding-left: 0.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;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }

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

  .navbar-expand-sm .dropup .dropdown-menu {
    top: auto;
    bottom: 100%;
  }
}

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

@media (min-width: 768px) {
  .navbar-expand-md {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row 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: 0.5rem;
    padding-left: 0.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;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }

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

  .navbar-expand-md .dropup .dropdown-menu {
    top: auto;
    bottom: 100%;
  }
}

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

@media (min-width: 992px) {
  .navbar-expand-lg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row 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: 0.5rem;
    padding-left: 0.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;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }

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

  .navbar-expand-lg .dropup .dropdown-menu {
    top: auto;
    bottom: 100%;
  }
}

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

@media (min-width: 1200px) {
  .navbar-expand-xl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row 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: 0.5rem;
    padding-left: 0.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;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }

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

  .navbar-expand-xl .dropup .dropdown-menu {
    top: auto;
    bottom: 100%;
  }
}

.navbar-expand {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row 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: 0.5rem;
  padding-left: 0.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;
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}

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

.navbar-expand .dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
}

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

.navbar-light .navbar-brand:hover,
.navbar-light .navbar-brand:focus {
  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:hover,
.navbar-light .navbar-nav .nav-link:focus {
  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-light .navbar-text a {
  color: rgba(0, 0, 0, 0.9);
}

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

.navbar-dark .navbar-brand {
  color: #fff;
}

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

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

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
  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: #fff;
}

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

.navbar-dark .navbar-text a {
  color: #fff;
}

.navbar-dark .navbar-text a:hover,
.navbar-dark .navbar-text a:focus {
  color: #fff;
}

.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 > hr {
  margin-right: 0;
  margin-left: 0;
}

.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-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-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-header + .list-group .list-group-item:first-child {
  border-top: 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);
}

.card-deck {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.card-deck .card {
  margin-bottom: 15px;
}

@media (min-width: 576px) {
  .card-deck {
    -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-bottom: 0;
    margin-left: 15px;
  }
}

.card-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.card-group > .card {
  margin-bottom: 15px;
}

@media (min-width: 576px) {
  .card-group {
    -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%;
    margin-bottom: 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,
  .card-group > .card:first-child .card-header {
    border-top-right-radius: 0;
  }

  .card-group > .card:first-child .card-img-bottom,
  .card-group > .card:first-child .card-footer {
    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,
  .card-group > .card:last-child .card-header {
    border-top-left-radius: 0;
  }

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

  .card-group > .card:only-child {
    border-radius: 0.25rem;
  }

  .card-group > .card:only-child .card-img-top,
  .card-group > .card:only-child .card-header {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }

  .card-group > .card:only-child .card-img-bottom,
  .card-group > .card:only-child .card-footer {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }

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

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

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

@media (min-width: 576px) {
  .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 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

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

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

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

.breadcrumb-item.active {
  color: #6c757d;
}

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

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

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

.page-link:focus {
  z-index: 2;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.page-link:not(:disabled):not(.disabled) {
  cursor: pointer;
}

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

.page-item.disabled .page-link {
  color: #6c757d;
  pointer-events: none;
  cursor: auto;
  background-color: #fff;
  border-color: #dee2e6;
}

.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: 700;
  line-height: 1;
  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]:hover,
.badge-primary[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #0062cc;
}

.badge-secondary {
  color: #fff;
  background-color: #6c757d;
}

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

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

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

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

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

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

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

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

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

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

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

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

.badge-dark[href]:hover,
.badge-dark[href]:focus {
  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: 576px) {
  .jumbotron {
    padding: 4rem 2rem;
  }
}

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

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

.alert-heading {
  color: inherit;
}

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

.alert-dismissible {
  padding-right: 4rem;
}

.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  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: #383d41;
  background-color: #e2e3e5;
  border-color: #d6d8db;
}

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

.alert-secondary .alert-link {
  color: #202326;
}

.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-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  text-align: center;
  background-color: #007bff;
  transition: width 0.6s ease;
}

.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:hover,
.list-group-item-action:focus {
  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:hover,
.list-group-item:focus {
  z-index: 1;
  text-decoration: none;
}

.list-group-item.disabled,
.list-group-item:disabled {
  color: #6c757d;
  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;
}

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

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

.list-group-item-secondary {
  color: #383d41;
  background-color: #d6d8db;
}

.list-group-item-secondary.list-group-item-action:hover,
.list-group-item-secondary.list-group-item-action:focus {
  color: #383d41;
  background-color: #c8cbcf;
}

.list-group-item-secondary.list-group-item-action.active {
  color: #fff;
  background-color: #383d41;
  border-color: #383d41;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.close:not(:disabled):not(.disabled) {
  cursor: pointer;
}

button.close {
  padding: 0;
  background-color: 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-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}

.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-dialog-centered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: calc(100% - (0.5rem * 2));
}

.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;
  width: 100%;
  pointer-events: auto;
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid #e9ecef;
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
}

.modal-header .close {
  padding: 1rem;
  margin: -1rem -1rem -1rem auto;
}

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

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

.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: 1rem;
  border-top: 1px solid #e9ecef;
}

.modal-footer > :not(:first-child) {
  margin-left: .25rem;
}

.modal-footer > :not(:last-child) {
  margin-right: .25rem;
}

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

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

  .modal-dialog-centered {
    min-height: calc(100% - (1.75rem * 2));
  }

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

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

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  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: 0.8rem;
  height: 0.4rem;
}

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

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

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

.bs-tooltip-top .arrow::before,
.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  top: 0;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #000;
}

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

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

.bs-tooltip-right .arrow::before,
.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  right: 0;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #000;
}

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

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

.bs-tooltip-bottom .arrow::before,
.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  bottom: 0;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #000;
}

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

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

.bs-tooltip-left .arrow::before,
.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  left: 0;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #000;
}

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  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;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  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: 1rem;
  height: 0.5rem;
  margin: 0 0.3rem;
}

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

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

.bs-popover-top .arrow,
.bs-popover-auto[x-placement^="top"] .arrow {
  bottom: calc((0.5rem + 1px) * -1);
}

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

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

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

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

.bs-popover-right .arrow,
.bs-popover-auto[x-placement^="right"] .arrow {
  left: calc((0.5rem + 1px) * -1);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}

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

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

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

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

.bs-popover-bottom .arrow,
.bs-popover-auto[x-placement^="bottom"] .arrow {
  top: calc((0.5rem + 1px) * -1);
}

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

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

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

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

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

.bs-popover-left .arrow,
.bs-popover-auto[x-placement^="left"] .arrow {
  right: calc((0.5rem + 1px) * -1);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}

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

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

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

.popover-header {
  padding: 0.5rem 0.75rem;
  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: 0.5rem 0.75rem;
  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:hover,
.carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  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='M5.25 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='M2.75 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:hover,
a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #0062cc !important;
}

.bg-secondary {
  background-color: #6c757d !important;
}

a.bg-secondary:hover,
a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #545b62 !important;
}

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

a.bg-success:hover,
a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #1e7e34 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-right {
  border-right: 1px solid #dee2e6 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.border-left {
  border-left: 1px solid #dee2e6 !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: #6c757d !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% !important;
}

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

.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-row {
  display: table-row !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: 576px) {
  .d-sm-none {
    display: none !important;
  }

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

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

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

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

  .d-sm-table-row {
    display: table-row !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: 768px) {
  .d-md-none {
    display: none !important;
  }

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

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

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

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

  .d-md-table-row {
    display: table-row !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: 992px) {
  .d-lg-none {
    display: none !important;
  }

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

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

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

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

  .d-lg-table-row {
    display: table-row !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: 1200px) {
  .d-xl-none {
    display: none !important;
  }

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

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

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

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

  .d-xl-table-row {
    display: table-row !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;
  }
}

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

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

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

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

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

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

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

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

  .d-print-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !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: 576px) {
  .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: 768px) {
  .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: 992px) {
  .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: 1200px) {
  .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: 576px) {
  .float-sm-left {
    float: left !important;
  }

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

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

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

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

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

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

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

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

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

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

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

.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: 576px) {
  .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: 768px) {
  .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: 992px) {
  .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: 1200px) {
  .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: 576px) {
  .text-sm-left {
    text-align: left !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.font-weight-light {
  font-weight: 300 !important;
}

.font-weight-normal {
  font-weight: 400 !important;
}

.font-weight-bold {
  font-weight: 700 !important;
}

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

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

.text-primary {
  color: #007bff !important;
}

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

.text-secondary {
  color: #6c757d !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.text-muted {
  color: #6c757d !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;
}

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

  a:not(.btn) {
    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;
  }

@page {
    size: a3;
}

  body {
    min-width: 992px !important;
  }

  .container {
    min-width: 992px !important;
  }

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

/* stylelint-enable */

/**
 * This file is to hold utlity classes that are needed but not included in some way with bootstrap.
 * A utility class is something that sets an additonal property on a non-specific elemnent.
 * They should be common classes that are resused often.
 * 
 * EX)
 *  fix-right-with-translucent to fix an arbitrary element to the right of the screen in a spefic manner
 */

/* stylelint-disable plugin/selector-bem-pattern */

/**
 * This File should select on basic elements that are not specific to components. Below are common use cases
 */

/* Set default styling for links on site */

/* change color and transition example
a {
  color: #000;
  transition: all 0.4s ease;
  &:hover {
    color: #f5502a;
    text-decoration: none;
  }
  
}
*/

/* Override bootstrap button styles here: (first set related colors/variables in _variables.scss file) */

/* make buttons have rounded edges example
.btn {
  border-radius: 12px;
}


/**
 * Wordpress Specific Section
 * This section holds all the specific CSS needed to make wordpress content editor/ACF work nicely.
 */

/* Set white-space to pre-line to make using &#10; possible to control line breaks without <br/> tags or changing other behavior*/

/* stylelint-disable */

body {
  background: #fffee6;
  font-size: 18px;
  line-height: 25px;
  font-family: "proxima-soft",sans-serif;
  min-width: 320px;
  font-weight: normal;
  border-top: 3px solid #fffb9a;
}

body.home {
  background: #fff;
}

::-webkit-input-placeholder {
  color: #363636;
}

:-moz-placeholder {
  color: #363636;
}

::-moz-placeholder {
  color: #363636;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #363636;
}

a {
  color: #000;
  transition: all 0.4s ease;
  text-decoration: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: 700;
  margin-top: 0;
}

p,
li,
a {
  margin-top: 0;
}

.gform_footer input[type="submit"] {
  background: #41653d;
  border-radius: 30px;
  color: #fff;
  font-size: 18px;
  height: 44px;
  line-height: 44px;
  margin-top: 8px;
  padding: 0 31px !important;
  border: none;
  cursor: pointer;
}

.gform_footer input[type="submit"]:hover {
  background: #000;
  color: #fff;
}

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

.gform_ajax_spinner {
  display: none !important;
}

/** @define wrapper */

.wrapper {
  overflow: hidden;
  position: relative;
}

/** @define header */

.header {
  background: #f6f6f6;
  border-top: 3px solid #fffb9a;
  display: table;
  padding: 15px 0 12px;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 11;
}

@media (max-width: 991.98px) {
  .header {
    position: relative;
  }
}

/** @define logo */

.logo {
  background: #f6f6f6;
  border-radius: 50%;
  float: left;
  margin-top: -14px;
  padding: 20px;
  position: absolute;
  width: 200px;
}

@media (max-width: 991.98px) {
  .logo {
    margin-top: 0;
    padding-top: 0;
  }
}

.logo__img {
  display: block;
  height: auto;
  max-width: 180px;
  width: 100%;
}

/* stylelint-disable */

.headerlist li:nth-child(2) {
  border-left: 1px solid #656565;
}

.header .container {
  max-width: 1545px;
  margin: 0 auto;
}

@media screen and (max-width: 1590px) {
  .header .container {
    max-width: 96%;
  }
}

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

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

@media (max-width: 991.98px) {
  .des {
    display: none !important;
  }

  .mob {
    display: table !important;
  }

  .logo {
    width: 150px;
  }
}

/* stylelint-disable plugin/selector-bem-pattern */

/** @define nav-wrapper */

.nav-wrapper {
  float: right;
  margin-right: -33px;
  margin-top: 14px;
  position: relative;
}

/** @define navbar */

.navbar {
  font-size: 18px;
  line-height: 19px;
  font-weight: 500;
  min-height: 1px;
  padding: 0;
}

.navbar li {
  display: inline-block;
  margin: 0 71px 0 0;
  padding: 0;
  vertical-align: top;
}

@media screen and (max-width: 1449px) {
  .navbar li {
    margin-right: 30px;
  }
}

.navbar li:first-child {
  border-left: 0;
}

.navbar li a {
  color: #656565;
  display: block;
  padding: 0;
  position: relative;
  text-decoration: none;
}

.navbar li a:hover {
  color: #649dc8;
}

.navbar .btn {
  margin-right: 10px;
}

.navbar .btn a {
  background: #41653d;
  border-radius: 30px;
  color: #fff;
  font-size: 18px;
  height: 44px;
  line-height: 44px;
  margin-top: 8px;
  padding: 0 31px;
}

@media screen and (max-width: 1449px) {
  .navbar .btn a {
    font-size: 16px;
    padding: 0 21px;
  }
}

.navbar .btn a:hover {
  background: #000;
}

@media (max-width: 1199.98px) {
  .navbar-collapse {
    background: #f6f6f6;
    padding: 0;
    position: absolute;
    right: 0;
    top: 25px;
  }

  .navbar-collapse ul {
    min-width: 220px;
  }

  .navbar-collapse ul li {
    border-bottom: 1px solid;
    display: block;
    font-size: 14px;
    height: auto;
    margin: 0;
    padding: 7px 20px;
    vertical-align: top;
    white-space: inherit;
  }

  /* stylelint-disable */

  .navbar-collapse ul li.btn a {
    height: 35px;
    line-height: 35px;
    padding: 0 20px;
  }
}

.navbar-collapse .btn {
  margin-top: -23px;
}

.navbar-collapse.show .navbar-collapse {
  display: block;
}

.navbar-collapse.show .btn {
  margin-top: -7px !important;
}

.navbar-toggler {
  margin-right: 20px;
}

.collapse.show {
  z-index: 9;
}

/** @define visual */

.visual {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-height: 772px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

@media (max-width: 991.98px) {
  .visual {
    display: block;
  }
}

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

/** @define visual-caption */

.visual-caption {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 100%;
}

@media (max-width: 991.98px) {
  .visual-caption {
    padding-bottom: 10px;
    position: static;
  }
}

.visual-caption__title {
  font-size: 102px;
  line-height: 105px;
  color: #fff;
  display: block;
  font-family: "Otari-Bold-Limited";
  font-weight: bold;
  left: 2px;
  letter-spacing: -3px;
  position: relative;
  top: 14px;
}

@media (max-width: 1199.98px) {
  .visual-caption__title {
    font-size: 80px;
    line-height: 85px;
  }
}

@media (max-width: 991.98px) {
  .visual-caption__title {
    font-size: 60px;
    line-height: 65px;
    color: #636464;
  }
}

@media (max-width: 767.98px) {
  .visual-caption__title {
    font-size: 40px;
    line-height: 45px;
    color: #636464;
  }
}

.visual-caption__desc {
  font-size: 18px;
  line-height: 20px;
  color: #fff;
  display: block;
  left: -6px;
  letter-spacing: 0.1px;
  position: relative;
  top: 10px;
}

@media (max-width: 1199.98px) {
  .visual-caption__desc {
    font-size: 16px;
    line-height: 18px;
  }
}

@media (max-width: 991.98px) {
  .visual-caption__desc {
    font-size: 15px;
    line-height: 17px;
    color: #636464;
    left: 0;
  }
}

/** @define promo */

.promo {
  background: #a2c15c;
  border-bottom: 6px solid #fffb9a;
  color: #fff;
  margin-bottom: 71px;
  padding: 43px 0 33px;
  position: relative;
}

@media (max-width: 1199.98px) {
  .promo {
    margin-bottom: 51px;
  }
}

@media (max-width: 991.98px) {
  .promo {
    margin-bottom: 31px;
  }
}

.promo__head {
  font-size: 50px;
  line-height: 52px;
  font-family: "Otari-Bold-Limited";
  letter-spacing: -0.9px;
  margin-bottom: 0;
  text-indent: 17px;
}

@media (max-width: 1199.98px) {
  .promo__head {
    font-size: 40px;
    line-height: 42px;
    letter-spacing: 0;
    margin-bottom: 15px;
    text-align: center;
    text-indent: 0;
  }
}

@media (max-width: 991.98px) {
  .promo__head {
    font-size: 35px;
    line-height: 39px;
  }
}

@media (max-width: 767.98px) {
  .promo__head {
    font-size: 30px;
    line-height: 34px;
  }
}

.promo__head--btn {
  font-size: 18px;
  line-height: 20px;
  background: #41653d;
  border-radius: 30px;
  color: #fff;
  display: inline-block;
  font-family: "proxima-soft", sans-serif;
  height: 44px;
  letter-spacing: 0.5px;
  line-height: 44px;
  margin-left: 25px;
  padding: 0;
  position: relative;
  text-indent: 0;
  top: -9px;
  width: 154px;
}

@media (max-width: 1199.98px) {
  .promo__head--btn {
    font-size: 16px;
    line-height: 18px;
    border-radius: 20px;
    height: 38px;
    line-height: 38px;
    margin-left: 20px;
    padding: 0 24px;
  }
}

@media (max-width: 991.98px) {
  .promo__head--btn {
    margin: 0 auto;
  }
}

.promo__head--btn:hover {
  background: #000;
  color: #fff;
}

.promo__text {
  font-size: 16px;
  line-height: 18px;
  font-weight: normal;
  margin-top: -5px;
  text-indent: 21px;
}

@media (max-width: 991.98px) {
  .promo__text {
    text-align: center;
  }
}

/* stylelint-disable */

.promo .container {
  max-width: 955px;
  margin: 0 auto;
}

/** @define dearparents */

.dearparents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 70px;
}

@media (max-width: 1199.98px) {
  .dearparents {
    margin-bottom: 50px;
  }
}

.dearparents__image {
  float: left;
  margin-left: -81px;
}

@media (max-width: 1199.98px) {
  .dearparents__image {
    margin-left: 0;
    max-width: 45%;
  }
}

@media (max-width: 991.98px) {
  .dearparents__image {
    float: none;
    max-width: 100%;
    width: 100%;
  }
}

.dearparents__text {
  color: #fff;
  overflow: hidden;
  padding: 0 55px 0 40px;
}

@media (max-width: 1199.98px) {
  .dearparents__text {
    padding: 0 40px 0 30px;
  }
}

.dearparents__text--head {
  font-size: 78px;
  line-height: 79px;
  font-family: "HaloHandletter";
  font-weight: normal;
  margin: 48px 0 9px;
}

@media (max-width: 1199.98px) {
  .dearparents__text--head {
    font-size: 68px;
    line-height: 69px;
    margin: 38px 0 7px;
  }
}

@media (max-width: 991.98px) {
  .dearparents__text--head {
    float: none;
    max-width: 100%;
    width: 100%;
  }
}

/** @define signaturearea */

.signaturearea {
  font-size: 50px;
  line-height: 52px;
  display: block;
  font-family: "HaloHandletter";
  font-weight: normal;
  margin-top: 33px;
}

@media (max-width: 1199.98px) {
  .signaturearea {
    font-size: 40px;
    line-height: 42px;
  }
}

/* stylelint-disable */

.dearparents .container {
  max-width: 1225px;
  background: #649dc8;
}

.dearparents__text p {
  font-size: 18px;
  line-height: 25px;
  margin-bottom: 30px;
  margin-top: 0;
  padding-top: 0;
}

.signaturearea span {
  font-size: 18px;
  line-height: 25px;
  font-family: "proxima-soft", sans-serif;
  display: block;
}

@media (max-width: 1199.98px) {
  .dearparents__image img {
    max-width: 100%;
    height: auto;
  }
}

@media (max-width: 1380px) {
  .dearparents__image {
    margin-left: 0 !important;
    max-width: 50%;
  }

  .dearparents__image img {
    max-width: 100%;
  }
}

@media (max-width: 992px) {
  .dearparents__image {
    max-width: 100% !important;
  }
}

/** @define galleryarea */

.galleryarea {
  display: block;
  margin-bottom: 70px;
}

@media (max-width: 991.98px) {
  .galleryarea {
    margin-bottom: 50px;
  }
}

@media (max-width: 767.98px) {
  .galleryarea {
    margin-bottom: 30px;
  }
}

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

.galleryarea__left::after {
  background: #649dc8;
  content: '';
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 14px;
}

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

.galleryarea__right::before {
  background: #a2c15c;
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 14px;
}

.galleryarea__btn {
  font-size: 18px;
  line-height: 44px;
  background: #41653d;
  border-radius: 30px;
  color: #fff;
  display: block;
  font-weight: bold;
  height: 44px;
  position: absolute;
  text-align: center;
  width: 155px;
}

.galleryarea__btn:hover {
  background: #000;
  color: #fff;
}

/* stylelint-disable */

.galleryarea .container {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  max-width: 1225px;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

.galleryarea__btn:before {
  border-bottom: 10px solid #649dc8;
  border-bottom-left-radius: 48%;
  border-left: 10px solid #649dc8;
  border-top: 10px solid #649dc8;
  border-top-left-radius: 47%;
  bottom: -9px;
  content: "";
  height: calc(100% + 18px);
  left: 0;
  overflow: hidden;
  position: absolute;
  top: -9px;
  width: 50%;
  z-index: 1;
}

.galleryarea__btn:after {
  border-bottom: 10px solid #a2c15c;
  border-bottom-right-radius: 48%;
  border-right: 10px solid #a2c15c;
  border-top: 10px solid #a2c15c;
  border-top-right-radius: 47%;
  bottom: -9px;
  content: "";
  height: calc(100% + 18px);
  right: 0;
  overflow: hidden;
  position: absolute;
  top: -9px;
  width: 50%;
  z-index: 1;
}

.galleryarea__left img,
.galleryarea__right img {
  max-width: 100%;
  height: auto;
}

.gallery .gallery-item {
  width: 23%;
  display: inline-block;
  margin: 0 1% 25px;
}

.gallery .gallery-item img {
  width: 100%;
  height: auto;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .galleryarea .container {
    position: relative;
  }

  .galleryarea__btn {
    left: 535px;
  }
}

/** @define testimonialarea */

.testimonialarea {
  background: #a2c15c;
  border-top: 6px solid #fffb9a;
  display: block;
  padding: 60px 0 40px;
}

.testimonialarea__left {
  font-size: 57px;
  line-height: 74px;
  color: #fff;
  float: left;
  font-family: "Otari-Bold-Limited";
  font-weight: normal;
  letter-spacing: 0.5px;
  margin-right: 68px;
  margin-top: 40px;
  max-width: 694px;
  text-align: center;
}

@media screen and (max-width: 1449px) {
  .testimonialarea__left {
    font-size: 47px;
    line-height: 60px;
    letter-spacing: none;
    margin-right: 20px;
    max-width: 45%;
  }
}

@media (max-width: 991.98px) {
  .testimonialarea__left {
    font-size: 40px;
    line-height: 52px;
    float: none;
    margin: 0 0 20px;
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 991.98px) {
  .testimonialarea__left {
    font-size: 35px;
    line-height: 45px;
  }
}

/** @define testibox */

.testibox {
  background: #649dc8;
  border-radius: 20px;
  padding: 34px 52px;
  position: relative;
}

@media (max-width: 991.98px) {
  .testibox {
    float: none;
    max-width: 100%;
    width: 100%;
  }
}

.testibox__head {
  font-size: 50px;
  line-height: 50px;
  color: #fff;
  display: block;
  font-family: "Otari-Bold-Limited";
  margin-bottom: 12px;
}

@media (max-width: 991.98px) {
  .testibox__head {
    font-size: 40px;
    line-height: 50px;
  }
}

@media (max-width: 767.98px) {
  .testibox__head {
    font-size: 30px;
    line-height: 40px;
  }
}

.testibox__detail {
  font-size: 18px;
  line-height: 26px;
  color: #fff;
  position: relative;
  text-indent: 37px;
}

.testibox__author {
  font-size: 25px;
  line-height: 27px;
  color: #fff;
  float: right;
  font-family: "Otari-Bold-Limited";
  margin-right: 5px;
  margin-top: 14px;
}

@media (max-width: 767.98px) {
  .testibox__author {
    float: none;
  }
}

.testibox__readmore {
  font-size: 18px;
  line-height: 44px;
  background: #41653d;
  border-radius: 30px;
  color: #fff;
  display: block;
  font-family: "proxima-soft", sans-serif;
  font-weight: bold;
  height: 44px;
  margin-top: 20px;
  text-align: center;
  width: 154px;
}

.testibox__readmore:hover {
  background: #000;
  color: #fff;
}

/* stylelint-disable */

.testiboxwrap {
  overflow: hidden;
  padding-bottom: 40px;
}

.testimonialarea .container {
  margin: 0 auto;
  max-width: 1550px;
  overflow: hidden;
}

@media screen and (max-width: 1449px) {
  .testimonialarea .container {
    max-width: 96%;
  }
}

.testibox__readmore:hover {
  background: #000;
}

.testibox__detail::before {
  background: url(./images/quote-ico-left.jpg?d9cf96946c863155d3f2739e6e505042) no-repeat;
  content: '';
  height: 19px;
  left: 0;
  position: absolute;
  top: 0;
  width: 22px;
}

.quote-right {
  display: inline-block;
  margin-left: 5px;
  text-indent: 0;
}

.testibox::after {
  border-color: #649dc8 transparent transparent transparent;
  border-style: solid;
  border-width: 39px 91px 0 0px;
  bottom: -39px;
  content: '';
  height: 0;
  left: 334px;
  position: absolute;
  width: 0;
}

@media (max-width: 767.98px) {
  .testibox::after {
    left: 10%;
  }
}

/** @define visual-internal */

.visual-internal {
  display: block;
}

.visual-internal__img {
  display: block;
  height: auto;
  width: 100%;
}

/** @define promo-internal */

.promo-internal {
  font-size: 50px;
  line-height: 51px;
  background: #a2c15c;
  color: #fff;
  display: block;
  font-family: "Otari-Bold-Limited";
  padding: 29px 0;
  text-align: center;
}

@media (max-width: 991.98px) {
  .promo-internal {
    font-size: 30px;
    line-height: 33px;
  }
}

/** @define page-content */

.page-content {
  background: #fffee6;
  margin: 0 auto;
  max-width: 1080px;
  padding: 65px 0;
}

@media (max-width: 1199.98px) {
  .page-content {
    max-width: 96%;
    padding: 35px 0;
  }
}

.page-content__quote {
  font-size: 30px;
  line-height: 35px;
  border-bottom: 1px solid #b8b8a9;
  color: #000;
  font-weight: 700;
  padding-bottom: 50px;
  white-space: normal;
}

@media (max-width: 991.98px) {
  .page-content__quote {
    font-size: 20px;
    line-height: 23px;
  }
}

.page-content__quote--author {
  font-size: 25px;
  line-height: 30px;
  display: inline;
}

@media (max-width: 991.98px) {
  .page-content__quote--author {
    font-size: 16px;
    line-height: 18px;
  }
}

/** @define contblock */

.contblock {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 50px;
  padding-bottom: 50px;
  width: 100%;
}

@media (max-width: 991.98px) {
  .contblock {
    display: block;
    width: 100%;
  }
}

.contblock__image {
  border-radius: 50%;
  margin-right: 40px;
  max-width: 362px;
  position: relative;
}

@media (max-width: 991.98px) {
  .contblock__image {
    float: none;
    margin: 0 auto 15px;
    max-width: 280px;
  }
}

.contblock__image::before {
  border-radius: 100%;
  box-shadow: 15px 15px 0 #649dc8;
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

.contblock__content {
  font-size: 18px;
  line-height: 25px;
  color: #000;
  overflow: hidden;
  width: 100%;
}

@media (max-width: 991.98px) {
  .contblock__content {
    float: none;
    margin: 0 0 15px;
    max-width: 100%;
    width: 100%;
  }
}

/** @define contblocktop */

.contblocktop {
  margin-bottom: 28px;
  overflow: hidden;
  width: 100%;
}

.contblocktop__secleft {
  float: left;
  margin-right: 40px;
  max-width: 317px;
}

@media (max-width: 991.98px) {
  .contblocktop__secleft {
    float: none;
    margin: 0 0 15px;
    max-width: 100%;
    width: 100%;
  }
}

.contblocktop__secright {
  overflow: hidden;
}

@media (max-width: 991.98px) {
  .contblocktop__secright {
    float: none;
    margin: 0 0 15px;
    max-width: 100%;
    width: 100%;
  }
}

/* stylelint-disable */

.promo-internal h1 {
  position: relative;
  display: table;
  margin: 0 auto;
}

.promo-internal h1::before {
  position: absolute;
  content: '';
  width: 29px;
  height: 28px;
  background: url(./images/star.jpg?d2f56f85f3936e4b431318634832e354) no-repeat;
  left: -145px;
  top: 5px;
}

@media (max-width: 991.98px) {
  .promo-internal h1::before {
    left: -45px;
  }
}

.promo-internal h1::after {
  position: absolute;
  content: '';
  width: 29px;
  height: 28px;
  background: url(./images/star.jpg?d2f56f85f3936e4b431318634832e354) no-repeat;
  right: -145px;
  top: 5px;
}

@media (max-width: 991.98px) {
  .promo-internal h1::after {
    right: -45px;
  }
}

.contblock__image img {
  position: relative;
  z-index: 0;
}

.contblock h2 {
  font-size: 25px;
  line-height: 28px;
  color: #000;
  font-family: "proxima-soft", sans-serif;
  font-weight: 700;
  margin-bottom: 30px;
}

.contblocktop h2 {
  margin-bottom: 15px;
}

.contblock__content ul {
  margin: 0 0 0 4px;
}

.contblock__content ul li {
  padding-left: 15px;
}

.imgshadowgreen::before {
  border-radius: 100%;
  box-shadow: 15px 15px 0 #a2c15c;
}

.contblock:last-child {
  border-bottom: none;
}

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

.speprograms {
  margin-bottom: -42px;
  margin-left: 305px;
  margin-top: 50px;
  font-size: 35px;
  color: #000;
}

@media (max-width: 991.98px) {
  .speprograms {
    margin: 40px auto;
    display: table;
  }
}

body:not(.home) .header {
  position: static;
}

/** @define footer */

.footer {
  background: #649dc8;
  color: #fff;
  display: block;
  overflow: hidden;
  text-align: center;
}

.footer__left {
  display: inline-block;
  float: left;
  max-width: 250px;
  text-align: left;
}

@media (max-width: 991.98px) {
  .footer__left {
    display: block;
    float: none;
    margin: 0 0 20px;
    max-width: 100%;
    text-align: center;
  }
}

.footer__left--head {
  font-size: 25px;
  line-height: 28px;
  color: #fff;
  display: block;
  font-family: "Otari-Bold-Limited";
  margin-bottom: 20px;
}

.footer__center {
  font-size: 23px;
  line-height: 42px;
  display: inline-block;
  font-style: italic;
  left: 6px;
  letter-spacing: 0.2px;
  max-width: 418px;
  position: relative;
  text-align: center;
  top: -7px;
}

@media (max-width: 991.98px) {
  .footer__center {
    display: block;
    float: none;
    margin: 0 0 20px;
    max-width: 100%;
    text-align: center;
  }
}

.footer__right {
  display: inline-block;
  float: right;
  max-width: 250px;
  text-align: right;
}

@media (max-width: 991.98px) {
  .footer__right {
    display: block;
    float: none;
    margin: 0 0 20px;
    max-width: 100%;
    text-align: center;
  }
}

/** @define social-icon */

.social-icon {
  display: block;
  float: right;
  height: 49px;
  width: 49px;
}

@media (max-width: 991.98px) {
  .social-icon {
    float: none;
    margin: 0 auto;
  }
}

.social-icon:hover {
  opacity: 0.7;
}

/* stylelint-disable */

.footer .container {
  max-width: 1118px;
  margin: 0 auto;
  padding: 38px 0 18px;
}

@media (max-width: 1199.98px) {
  .footer .container {
    max-width: 96%;
  }
}

.footer__right p {
  margin-bottom: 23px;
  overflow: hidden;
}

.footer__center span {
  display: block;
  margin-top: 9px;
  font-size: 16px;
  font-family: "proxima-soft", sans-serif;
  font-style: normal;
}

.footer_img_big {
  width: 100%;
  height: auto;
}

.footer__left p a {
  color: #fff;
}

.footer__left p a:hover {
  color: #0056b3;
}

.footer-internal {
  display: none;
}

body:not(.home) .footer__center {
  display: none;
}

body:not(.home) .footer-internal .container {
  max-width: 1200px;
}

body:not(.home) .footer-internal {
  padding: 38px 0;
  background: #a2c15c;
  text-align: center;
  font-family: "Otari-Bold-Limited";
  display: block;
}

body:not(.home) .footer-internal em {
  font-size: 39px;
  line-height: 45px;
  font-weight: bold;
  color: #fff;
  font-style: normal;
  display: block;
  text-align: center;
  margin-bottom: 15px;
}

body:not(.home) .footer-internal span {
  font-size: 30px;
  color: #fff;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy9tYWluLnNjc3MiLCJzdHlsZXMvX2ZvbnRzLnNjc3MiLCJzdHlsZXMvX3ZhcmlhYmxlcy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFkZ2Uuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2l6ZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2l6ZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXNpYmlsaXR5LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3gtc2hhZG93LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZmxvYXQuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29kZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbnB1dC1ncm91cC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19qdW1ib3Ryb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdXRpbGl0aWVzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fY2xlYXJmaXguc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2VtYmVkLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIiwic3R5bGVzL19taXhpbnMuc2NzcyIsInN0eWxlcy9fdXRpbHMuY3NzIiwic3R5bGVzL19jdXN0b20uc2NzcyIsInN0eWxlcy9fZ2xvYmFscy5zY3NzIiwic3R5bGVzL19oZWFkZXIuc2NzcyIsInN0eWxlcy9fbmF2aWdhdGlvbi5zY3NzIiwic3R5bGVzL192aXN1YWwuc2NzcyIsInN0eWxlcy9fZGVhcnBhcmVudHMuc2NzcyIsInN0eWxlcy9fZ2FsbGVyeS5zY3NzIiwic3R5bGVzL190ZXN0aW1vbmlhbGFyZWEuc2NzcyIsInN0eWxlcy9faW50ZXJuYWwuc2NzcyIsInN0eWxlcy9fZm9vdGVyLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRm9udHNcbkBpbXBvcnQgJ2ZvbnRzJztcblxuLy8gVmFyaWFibGVzXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLy8gQm9vdHN0cmFwXG5AaW1wb3J0ICcuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwJztcbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuLy8gQ3VzdG9tIE1peGluc1xuQGltcG9ydCAnbWl4aW5zJztcblxuLy8gQ3VzdG9tIFV0aWxzXG5AaW1wb3J0ICd1dGlscyc7XG5cbi8vIEN1c3RvbSBDU1NcbkBpbXBvcnQgJ2N1c3RvbSc7XG5cbiIsIi8vIGN1c3RvbSBmb250IG1peGluXG5AbWl4aW4gZm9udGZhY2UgKCRmb250ZmFtaWx5LCAkZmlsZW5hbWUsICR3ZWlnaHQsICRzdHlsZSkge1xuICBmb250LWZhbWlseTogJGZvbnRmYW1pbHk7XG4gIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gIHNyYzogdXJsKCcuLi9mb250cy8jeyRmaWxlbmFtZX0uZW90Jyk7XG4gIHNyYzogdXJsKCcuLi9mb250cy8jeyRmaWxlbmFtZX0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJy4uL2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi9mb250cy8jeyRmaWxlbmFtZX0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnLi4vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyN7JGZpbGVuYW1lfScpIGZvcm1hdCgnc3ZnJyk7XG59XG4iLCIvLyBjdXN0b20gdmFyaWFibGVzIGFuZCBvdmVycmlkZSBib290c3RyYXAgdmFyaWFibGVzXG4kZ3JheTogIzY1NjU2NTtcbiRncmF5MjogI2Y2ZjZmNjtcbiRncmF5MzogIzM2MzYzNjtcbiRvdGFyaTogJ090YXJpLUJvbGQtTGltaXRlZCc7XG4kaGFsb2hhbmQ6ICdIYWxvSGFuZGxldHRlcic7XG4kcHJveGltYXNvZnQ6ICdwcm94aW1hLXNvZnQnLHNhbnMtc2VyaWY7XG4iLCIvKiFcbiAqIEJvb3RzdHJhcCB2NC4wLjAgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbSlcbiAqIENvcHlyaWdodCAyMDExLTIwMTggVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE4IFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKi9cblxuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInJvb3RcIjtcbkBpbXBvcnQgXCJyZWJvb3RcIjtcbkBpbXBvcnQgXCJ0eXBlXCI7XG5AaW1wb3J0IFwiaW1hZ2VzXCI7XG5AaW1wb3J0IFwiY29kZVwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcbkBpbXBvcnQgXCJmb3Jtc1wiO1xuQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCJ0cmFuc2l0aW9uc1wiO1xuQGltcG9ydCBcImRyb3Bkb3duXCI7XG5AaW1wb3J0IFwiYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJjdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJuYXZcIjtcbkBpbXBvcnQgXCJuYXZiYXJcIjtcbkBpbXBvcnQgXCJjYXJkXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcInBhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJiYWRnZVwiO1xuQGltcG9ydCBcImp1bWJvdHJvblwiO1xuQGltcG9ydCBcImFsZXJ0XCI7XG5AaW1wb3J0IFwicHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCJtZWRpYVwiO1xuQGltcG9ydCBcImxpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJjbG9zZVwiO1xuQGltcG9ydCBcIm1vZGFsXCI7XG5AaW1wb3J0IFwidG9vbHRpcFwiO1xuQGltcG9ydCBcInBvcG92ZXJcIjtcbkBpbXBvcnQgXCJjYXJvdXNlbFwiO1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuQGltcG9ydCBcInByaW50XCI7XG4iLCIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHV0YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBBbm90aGVyIGdyaWQgbWl4aW4gdGhhdCBlbnN1cmVzIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCkge1xuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gYCRncmlkLWJyZWFrcG9pbnRzYCBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICB9XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IpIHtcbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICAkeWlxOiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XG5cbiAgQGlmICgkeWlxID49ICR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICR5aXEtdGV4dC1kYXJrO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICR5aXEtdGV4dC1saWdodDtcbiAgfVxufVxuXG4vLyBSZXRyaWV2ZSBjb2xvciBTYXNzIG1hcHNcbkBmdW5jdGlvbiBjb2xvcigka2V5OiBcImJsdWVcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiB0aGVtZS1jb2xvcigka2V5OiBcInByaW1hcnlcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiBncmF5KCRrZXk6IFwiMTAwXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XG59XG5cbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgIzAwMCwgI2ZmZik7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cblxuLy9cbi8vIENvbG9yIHN5c3RlbVxuLy9cblxuLy8gc3R5bGVsaW50LWRpc2FibGVcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbiRncmF5czogbWFwLW1lcmdlKChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSwgJGdyYXlzKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuJGNvbG9yczogbWFwLW1lcmdlKChcbiAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiksICRjb2xvcnMpO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoKFxuICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4pLCAkdGhlbWUtY29sb3JzKTtcbi8vIHN0eWxlbGludC1lbmFibGVcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6IDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuLy8gc3R5bGVsaW50LWRpc2FibGVcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4kc3BhY2VyczogbWFwLW1lcmdlKChcbiAgMDogMCxcbiAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAyOiAoJHNwYWNlciAqIC41KSxcbiAgMzogJHNwYWNlcixcbiAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICA1OiAoJHNwYWNlciAqIDMpXG4pLCAkc3BhY2Vycyk7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4kc2l6ZXM6IG1hcC1tZXJnZSgoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSwgJHNpemVzKTtcbi8vIHN0eWxlbGludC1lbmFibGVcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgIHVuZGVybGluZSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gRm9udHNcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC44NzUpICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCRncmF5LTkwMCwgNy41JSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQpICsgKCRpbnB1dC1idG4tcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyLXNtOiAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lci1sZzogICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWxnICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZykgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM0UlM0NwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSwgMCAwIDVweCByZ2JhKCRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvciwgLjUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAxMjUlICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBjYWxjKCN7JGNhcmQtYm9yZGVyLXJhZGl1c30gLSAjeyRjYXJkLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC43NSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIFRvZ2dsZXNcbi8vXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2hvdmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JhZGdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9zY3JlZW4tcmVhZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtaGlkZVwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LXRydW5jYXRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Zpc2liaWxpdHlcIjtcblxuLy8gLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydFwiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NhcmV0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm94LXNoYWRvd1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHJhbnNpdGlvblwiO1xuXG4vLyAvLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbi8vIEBpbXBvcnQgXCJtaXhpbnMvbmF2YmFyLWFsaWduXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZmxvYXRcIjtcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDJweCwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW5mcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGluZGVudGF0aW9uXG5cbi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2FsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPU+KAlGFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHN1ZWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cyB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGluZGVudGF0aW9uLCBtZWRpYS1xdWVyeS1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gICZbaHJlZl0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNpemUgYW55dGhpbmdcblxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgY2xpcC1wYXRoOiBub25lO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1ibG9jay1uby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xuICB2aXNpYmlsaXR5OiAkdmlzaWJpbGl0eSAhaW1wb3J0YW50O1xufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuIiwiQG1peGluIGNhcmV0LWRvd24ge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXA7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC13aWR0aCAqIC44NTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC13aWR0aCAqIC44NTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAoJHNwYWNlciAvIDIpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay1mb250LXNpemU7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogLjVyZW07XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAuOCk7XG4gICAgYm9yZGVyLXJhZGl1czogLjJyZW07XG4gIH1cblxuICAuZm9ybS1jb250cm9sLFxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAyNSUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRib2R5LWJnLCAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHsgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMik7XG4gIG1hcmdpbi1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQG1peGluIGZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuQG1peGluIGZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5AbWl4aW4gZmxvYXQtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBhdC1ydWxlLW5vLXZlbmRvci1wcmVmaXgsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIDEuIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG4vLyAyLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMy4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gNC4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4vLyA1LiBTZXR0aW5nIEB2aWV3cG9ydCBjYXVzZXMgc2Nyb2xsYmFycyB0byBvdmVybGFwIGNvbnRlbnQgaW4gSUUxMSBhbmQgRWRnZSwgc29cbi8vICAgIHdlIGZvcmNlIGEgbm9uLW92ZXJsYXBwaW5nLCBub24tYXV0by1oaWRpbmcgc2Nyb2xsYmFyIHRvIGNvdW50ZXJhY3QuXG4vLyA2LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyOyAvLyA1XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgLy8gNlxufVxuXG4vLyBJRTEwKyBkb2Vzbid0IGhvbm9yIGA8bWV0YSBuYW1lPVwidmlld3BvcnRcIj5gIGluIHNvbWUgY2FzZXMuXG5AYXQtcm9vdCB7XG4gIEAtbXMtdmlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG4gIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuYXJ0aWNsZSwgYXNpZGUsIGRpYWxvZywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZSB0aGVcbi8vICAgIHRoZSBgaW5oZXJpdGAgdmFsdWUgb24gdGhpbmdzIGxpa2UgYDx0aD5gIGVsZW1lbnRzLlxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIDNcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8vIDJcbn1cblxuLy8gU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxuLy8gVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XG4vLyBtaWdodCBzdGlsbCByZXNwb25kIHRvIHBvaW50ZXIgZXZlbnRzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDMuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDQuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyAxXG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBmb250LXdlaWdodC1ub3RhdGlvblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgZm9udC13ZWlnaHQtbm90YXRpb25cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLy8gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKVxuLy8gd2hpY2ggaGF2ZSBub3QgYmVlbiBtYWRlIGV4cGxpY2l0bHkga2V5Ym9hcmQtZm9jdXNhYmxlICh3aXRob3V0IHRhYmluZGV4KS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb2RlXG4vL1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBmb250LWZhbWlseS1uby1kdXBsaWNhdGUtbmFtZXNcbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICBmb250LXNpemU6IDFlbTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBmb250LWZhbWlseS1uby1kdXBsaWNhdGUtbmFtZXNcblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gV2UgaGF2ZSBAdmlld3BvcnQgc2V0IHdoaWNoIGNhdXNlcyBzY3JvbGxiYXJzIHRvIG92ZXJsYXAgY29udGVudCBpbiBJRTExIGFuZCBFZGdlLCBzb1xuICAvLyB3ZSBmb3JjZSBhIG5vbi1vdmVybGFwcGluZywgbm9uLWF1dG8taGlkaW5nIHNjcm9sbGJhciB0byBjb3VudGVyYWN0LlxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcbi8vXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG59XG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUVcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICAvLyBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGZyb20gdGhlIGA8Ym9keT5gLCBvciB0aGVcbiAgLy8gY2xvc2VzdCBwYXJlbnQgd2l0aCBhIHNldCBgdGV4dC1hbGlnbmAuXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFdvcmsgYXJvdW5kIGEgRmlyZWZveC9JRSBidWcgd2hlcmUgdGhlIHRyYW5zcGFyZW50IGBidXR0b25gIGJhY2tncm91bmRcbi8vIHJlc3VsdHMgaW4gYSBsb3NzIG9mIHRoZSBkZWZhdWx0IGBidXR0b25gIGZvY3VzIHN0eWxlcy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2UvXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlXG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3hcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLVxuICBwYWRkaW5nOiAwOyAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtXG59XG5cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCBhcHBlYXJhbmNlIG9mIHRlbXBvcmFsIGlucHV0cyB0byBhdm9pZCBhIE1vYmlsZSBTYWZhcmlcbiAgLy8gYnVnIHdoZXJlIHNldHRpbmcgYSBjdXN0b20gbGluZS1oZWlnaHQgcHJldmVudHMgdGV4dCBmcm9tIGJlaW5nIHZlcnRpY2FsbHlcbiAgLy8gY2VudGVyZWQgd2l0aGluIHRoZSBpbnB1dC5cbiAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NDhcbiAgLy8gYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTEyNjZcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0Ym94O1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZTsgfVxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTsgfVxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTsgfVxuaDQsIC5oNCB7IGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTsgfVxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxuaDYsIC5oNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTEtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBmb250LXNpemU6ICRkaXNwbGF5Mi1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXkzLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4teTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBmb250LXNpemU6ICRibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZDtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZDtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAoJHNwYWNlciAvIDIpO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAkZmlndXJlLWNhcHRpb24tZm9udC1zaXplO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW5saW5lIGFuZCBibG9jayBjb2RlIHN0eWxlc1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbn1cblxuLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBmb250LXNpemU6ICRjb2RlLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gIC8vIFN0cmVhbWxpbmUgdGhlIHN0eWxlIHdoZW4gaW5zaWRlIGFuY2hvcnMgdG8gYXZvaWQgYnJva2VuIHVuZGVybGluZSBhbmQgbW9yZVxuICBhID4gJiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRrYmQtZm9udC1zaXplO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGtiZC1ib3gtc2hhZG93KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkY29kZS1mb250LXNpemU7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6ICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxufVxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRoIDEwMCUgd2lkdGggZm9yXG4vLyBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG59XG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZzsgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXJlZCB2ZXJzaW9uXG4vL1xuLy8gQWRkIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY2NlbnQtYmc7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHRyIHtcbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1hY2NlbnQtYmc7XG4gICAgfVxuICB9XG5cbiAgJi50YWJsZS1ob3ZlciB7XG4gICAgdGJvZHkgdHIge1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDA1N1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgLy8gTWFudWFsbHkgdXNlIHRoZSBpZi9lbHNlIGluc3RlYWQgb2YgdGhlIG1peGluIHRvIGFjY291bnQgZm9yIGlPUyBvdmVycmlkZVxuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UgdW5kbyB0aGUgaU9TIGRlZmF1bHRcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15fSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXl9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LWxnfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktbGd9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LXNtfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktc219ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtcGFkZGluZy15O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gVGhlIGAuZm9ybS1ncm91cC0qIGZvcm0tY29udHJvbGAgdmFyaWF0aW9ucyBhcmUgc2FkbHkgZHVwbGljYXRlZCB0byBhdm9pZCB0aGVcbi8vIGlzc3VlIGRvY3VtZW50ZWQgaW4gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNTA3NC5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbC1zbSB7XG4gICY6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbC1sZyB7XG4gICY6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcblxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKFwidmFsaWRcIiwgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IpO1xuQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKFwiaW52YWxpZFwiLCAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yKTtcblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cblxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUHJldmVudCBzaG9ydGVyIGVsZW1lbnRzIGZyb20gZ3Jvd2luZyB0byBzYW1lIGhlaWdodCBhcyBvdGhlcnMgKGUuZy4sIHNtYWxsIGJ1dHRvbnMgZ3Jvd2luZyB0byBub3JtYWwgc2l6ZWQgYnV0dG9uIGhlaWdodClcblxuICAvLyBCZWNhdXNlIHdlIHVzZSBmbGV4LCB0aGUgaW5pdGlhbCBzaXppbmcgb2YgY2hlY2tib3hlcyBpcyBjb2xsYXBzZWQgYW5kXG4gIC8vIGRvZXNuJ3Qgb2NjdXB5IHRoZSBmdWxsLXdpZHRoICh3aGljaCBpcyB3aGF0IHdlIHdhbnQgZm9yIHhzIGdyaWQgdGllciksXG4gIC8vIHNvIHdlIGZvcmNlIHRoYXQgaGVyZS5cbiAgLmZvcm0tY2hlY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogJGJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LCAkYnRuLXBhZGRpbmcteCwgJGZvbnQtc2l6ZS1iYXNlLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgLy8gU2hhcmUgaG92ZXIgYW5kIGZvY3VzIHN0eWxlc1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogJGJ0bi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cblxuICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLmJ0biBlbGVtZW50c1xuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWZvY3VzLWJveC1zaGFkb3csICRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRidG4tbGluZS1oZWlnaHQtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cblxuLy9cbi8vIEJsb2NrIGJ1dHRvblxuLy9cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBWZXJ0aWNhbGx5IHNwYWNlIG91dCBtdWx0aXBsZSBibG9jayBidXR0b25zXG4gICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogJGJ0bi1ibG9jay1zcGFjaW5nLXk7XG4gIH1cbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmLnNob3cge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG50ciB7XG4gICYuY29sbGFwc2Uuc2hvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xuICB9XG59XG5cbnRib2R5IHtcbiAgJi5jb2xsYXBzZS5zaG93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTsgLy8gUmVkZWNsYXJlIGJlY2F1c2UgbmVzdGluZyBjYW4gY2F1c2UgaW5oZXJpdGFuY2UgaXNzdWVzXG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3ByaWdodCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQocmlnaHQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGxlZnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChsZWZ0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMCAxIGF1dG87XG5cbiAgICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmJ0bi1ncm91cCxcbiAgLmJ0bi1ncm91cCArIC5idG4sXG4gIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAuYnRuLFxuICAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0biArIC5idG4sXG4gID4gLmJ0biArIC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCArIC5idG4sXG4gID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuLmJ0bi1ncm91cC10b2dnbGUge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIHZhbHVlXG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmN1c3RvbS1zZWxlY3QsXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAvLyBBZGQgd2lkdGggMSUgYW5kIGZsZXgtYmFzaXMgYXV0byB0byBlbnN1cmUgdGhhdCBidXR0b24gd2lsbCBub3Qgd3JhcCBvdXRcbiAgICAvLyB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFIEVkZ2UrIGFuZCBGaXJlZm94LiBDaHJvbWUgZG9lcyBub3QgcmVxdWlyZSB0aGlzLlxuICAgIHdpZHRoOiAxJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuXG4gICAgKyAuZm9ybS1jb250cm9sLFxuICAgICsgLmN1c3RvbS1zZWxlY3QsXG4gICAgKyAuY3VzdG9tLWZpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxuICAvLyBib3JkZXItcmFkaXVzIG92ZXJyaWRlcy5cbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOyAvLyBNYXRjaCBpbnB1dHNcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIEBleHRlbmQgLmZvcm0tY29udHJvbC1sZztcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIEBleHRlbmQgLmZvcm0tY29udHJvbC1zbTtcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4iLCIvLyBFbWJlZGRlZCBpY29ucyBmcm9tIE9wZW4gSWNvbmljLlxuLy8gUmVsZWFzZWQgdW5kZXIgTUlUIGFuZCBjb3B5cmlnaHQgMjAxNCBXYXlidXJ5LlxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAoMXJlbSAqICRsaW5lLWhlaWdodC1iYXNlKTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xOyAvLyBQdXQgdGhlIGlucHV0IGJlaGluZCB0aGUgbGFiZWwgc28gaXQgZG9lc24ndCBvdmVybGF5IHRleHRcbiAgb3BhY2l0eTogMDtcblxuICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEN1c3RvbSBjb250cm9sIGluZGljYXRvcnNcbi8vXG4vLyBCdWlsZCB0aGUgY3VzdG9tIGNvbnRyb2xzIG91dCBvZiBwc3VlZG8tZWxlbWVudHMuXG5cbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoKCRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDIpO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgoJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMik7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uY3VzdG9tLWNoZWNrYm94IHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cDovL3ByaW1lcmNzcy5pby5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iZyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTtcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xuICBmb250LXNpemU6ICRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTtcbiAgZm9udC1zaXplOiAkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc7XG59XG5cblxuLy8gRmlsZVxuLy9cbi8vIEN1c3RvbSBmaWxlIGlucHV0LlxuXG4uY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgYm94LXNoYWRvdzogJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdmFsdWUgaW4gJGN1c3RvbS1maWxlLXRleHQge1xuICAgICY6bGFuZygjeyRsYW5nfSkgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogY2FsYygjeyRjdXN0b20tZmlsZS1oZWlnaHR9IC0gI3skY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRofSAqIDIpO1xuICAgIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgYm9yZGVyLWxlZnQ6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcyBvciBgPHVsPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBDb250ZW50c1xuLy9cbi8vIE5hdmJhclxuLy8gTmF2YmFyIGJyYW5kXG4vLyBOYXZiYXIgbmF2XG4vLyBOYXZiYXIgdGV4dFxuLy8gTmF2YmFyIGRpdmlkZXJcbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vLyBOYXZiYXIgcG9zaXRpb25cbi8vIE5hdmJhciB0aGVtZXNcblxuXG4vLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3Blcml0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgPiAuY29udGFpbmVyLFxuICA+IC5jb250YWluZXItZmx1aWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBmb250LXNpemU6ICRuYXZiYXItYnJhbmQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVuYXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIC5uYXZiYXItdG9nZ2xlciBlbGVtZW50c1xuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogYXV0bzsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBgLmRyb3Bkb3duLW1lbnVgXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgIC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wdXAge1xuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZztcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteDtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtKCRjYXJkLXNwYWNlci15IC8gMik7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAwIDApO1xuICB9XG5cbiAgKyAubGlzdC1ncm91cCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSgkY2FyZC1zcGFjZXIteCAvIDIpO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgbWFyZ2luLWxlZnQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbn1cblxuLmNhcmQtaW1nIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ2FyZCBpbWFnZSBjYXBzXG4uY2FyZC1pbWctdG9wIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuLmNhcmQtZGVjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWRlY2stbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyM0LWZsZXgtc2hvcnRoYW5kLWRlY2xhcmF0aW9ucy13aXRoLXVuaXRsZXNzLWZsZXgtYmFzaXMtdmFsdWVzLWFyZS1pZ25vcmVkXG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1ncm91cC1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzIzQtZmxleC1zaG9ydGhhbmQtZGVjbGFyYXRpb25zLXdpdGgtdW5pdGxlc3MtZmxleC1iYXNpcy12YWx1ZXMtYXJlLWlnbm9yZWRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm9ubHktY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtaGVhZGVyLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb2x1bW5zXG4vL1xuXG4uY2FyZC1jb2x1bW5zIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWNvbHVtbnMtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcbiAgICBjb2x1bW4tZ2FwOiAkY2FyZC1jb2x1bW5zLWdhcDtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlaXIgd2lkdGggY2hhbmdlXG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBTdXBwcmVzcyB1bmRlcmxpbmluZyBvZiB0aGUgc2VwYXJhdG9yIGluIG1vZGVybiBicm93c2Vyc1xuICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICBjb250ZW50OiBcIiN7JGJyZWFkY3J1bWItZGl2aWRlcn1cIjtcbiAgfVxuXG4gIC8vIElFOS0xMSBoYWNrIHRvIHByb3Blcmx5IGhhbmRsZSBoeXBlcmxpbmsgdW5kZXJsaW5lcyBmb3IgYnJlYWRjcnVtYnMgYnVpbHRcbiAgLy8gd2l0aG91dCBgPHVsPmBzLiBUaGUgYDo6YmVmb3JlYCBwc2V1ZG8tZWxlbWVudCBnZW5lcmF0ZXMgYW4gZWxlbWVudFxuICAvLyAqd2l0aGluKiB0aGUgLmJyZWFkY3J1bWItaXRlbSBhbmQgdGhlcmVieSBpbmhlcml0cyB0aGUgYHRleHQtZGVjb3JhdGlvbmAuXG4gIC8vXG4gIC8vIFRvIHRyaWNrIElFIGludG8gc3VwcHJlc3NpbmcgdGhlIHVuZGVybGluZSwgd2UgZ2l2ZSB0aGUgcHNldWRvLWVsZW1lbnQgYW5cbiAgLy8gdW5kZXJsaW5lIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlbW92ZSBpdC5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLnBhZ2UtbGluayBlbGVtZW50c1xuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgei1pbmRleDogMTtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvLyBPcGluaW9uYXRlZDogcmVtb3ZlIHRoZSBcImhhbmRcIiBjdXJzb3Igc2V0IHByZXZpb3VzbHkgZm9yIC5wYWdlLWxpbmtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCAkYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4vLyBQaWxsIGJhZGdlc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENvbG9yc1xuLy9cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGJhZGdlcyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmFkZ2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAoJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyKTtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYm9yZGVyLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuIiwiQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgZm9udC1zaXplOiAkcHJvZ3Jlc3MtZm9udC1zaXplO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XG59XG5cbi5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xuICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZztcbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAvLyBQbGFjZSB0aGUgYm9yZGVyIG9uIHRoZSBsaXN0IGl0ZW1zIGFuZCBuZWdhdGl2ZSBtYXJnaW4gdXAgZm9yIGJldHRlciBzdHlsaW5nXG4gIG1hcmdpbi1ib3R0b206IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgei1pbmRleDogMTsgLy8gUGxhY2UgaG92ZXIvYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIDYpKTtcbn1cbiIsIi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAkY2xvc2UtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6ICRjbG9zZS10ZXh0LXNoYWRvdztcbiAgb3BhY2l0eTogLjU7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG9wYWNpdHk6IC43NTtcbiAgfVxuXG4gIC8vIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCAuY2xvc2UgZWxlbWVudHNcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlXG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4vLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG5cbiAgLm1vZGFsLW9wZW4gJiB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbjtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAoI3skbW9kYWwtZGlhbG9nLW1hcmdpbn0gKiAyKSk7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIC5jbG9zZSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICAgIC8vIGF1dG8gb24gdGhlIGxlZnQgZm9yY2UgaWNvbiB0byB0aGUgcmlnaHQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIC5tb2RhbC10aXRsZVxuICAgIG1hcmdpbjogKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nKSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZykgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiBzaG91bGQgdGhlcmUgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcblxuICAvLyBFYXNpbHkgcGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsgbWFyZ2luLWxlZnQ6IC4yNXJlbTsgfVxuICA+IDpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLXJpZ2h0OiAuMjVyZW07IH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAoI3skbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwfSAqIDIpKTtcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cblxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyB7IG1heC13aWR0aDogJG1vZGFsLWxnOyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3Age1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXJpZ2h0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWxlZnQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtbGVmdDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG4iLCIucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIGZvbnQtc2l6ZTogJHBvcG92ZXItZm9udC1zaXplO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHBvcG92ZXItYm94LXNoYWRvdyk7XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIG1hcmdpbjogMCAkYm9yZGVyLXJhZGl1cy1sZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgYm90dG9tOiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUsXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICB9XG5cbiAgLmFycm93OjphZnRlciB7XG4gICAgYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItcmlnaHQge1xuICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkYm9yZGVyLXJhZGl1cy1sZyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSxcbiAgLmFycm93OjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gIH1cblxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IGNhbGMoKCN7JHBvcG92ZXItYXJyb3ctaGVpZ2h0fSArICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgKiAtMSk7XG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSxcbiAgLmFycm93OjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKTtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gIH1cblxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIC0yKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IGNhbGMoKCN7JHBvcG92ZXItYXJyb3ctaGVpZ2h0fSArICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgKiAtMSk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJGJvcmRlci1yYWRpdXMtbGcgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUsXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICB9XG5cbiAgLmFycm93OjphZnRlciB7XG4gICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItbGVmdDtcbiAgfVxufVxuXG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgY29sb3I6ICRwb3BvdmVyLWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItaGVhZGVyLWJnO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgZGFya2VuKCRwb3BvdmVyLWhlYWRlci1iZywgNSUpO1xuICAkb2Zmc2V0LWJvcmRlci13aWR0aDogY2FsYygjeyRib3JkZXItcmFkaXVzLWxnfSAtICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSk7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRvZmZzZXQtYm9yZGVyLXdpZHRoKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteSAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteDtcbiAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7XG59XG4iLCIvLyBXcmFwcGVyIGZvciB0aGUgc2xpZGUgY29udGFpbmVyIGFuZCBpbmRpY2F0b3JzXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cblxuLy8gQ1NTMyB0cmFuc2Zvcm1zIHdoZW4gc3VwcG9ydGVkIGJ5IHRoZSBicm93c2VyXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbi5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblxuICBAc3VwcG9ydHMgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cbiAgQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2LFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXG4gIEBzdXBwb3J0cyAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIC8vIFdlIGNhbid0IGhhdmUgYSB0cmFuc2l0aW9uIGhlcmUgYmVjYXVzZSBXZWJLaXQgY2FuY2VscyB0aGUgY2Fyb3VzZWxcbiAgLy8gYW5pbWF0aW9uIGlmIHlvdSB0cmlwIHRoaXMgd2hpbGUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIGFuaW1hdGlvbi5cblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6IC45O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwgMCwgMCwgLjI1KSwgcmdiYSgwLCAwLCAwLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKDAsIDAsIDAsIC4yNSksIHJnYmEoMCwgMCwgMCwgLjAwMSkpO1xuICB9XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnO1xufVxuXG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIG9yZGVyZWQgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhIGxpc3QgaXRlbSBmb3IgZWFjaFxuLy8gc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBvdmVycmlkZSA8b2w+IGRlZmF1bHRcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnLCAuNSk7XG5cbiAgICAvLyBVc2UgcHNldWRvIGNsYXNzZXMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyKTtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAoKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCJAaW1wb3J0IFwidXRpbGl0aWVzL2FsaWduXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYm9yZGVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9kaXNwbGF5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2VtYmVkXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2ZsZXhcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZmxvYXRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc2NyZWVucmVhZGVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zaXppbmdcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc3BhY2luZ1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy90ZXh0XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Zpc2liaWxpdHlcIjtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBCb3JkZXJcbi8vXG5cbi5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wICAgICB7IGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0ICAgeyBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0ICAgIHsgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG4iLCIuY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZCN7JGluZml4fS1ub25lICAgICAgICAgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS1pbmxpbmUgICAgICAgeyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWlubGluZS1ibG9jayB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tYmxvY2sgICAgICAgIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LXRhYmxlICAgICAgICB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS10YWJsZS1yb3cgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LXRhYmxlLWNlbGwgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWZsZXggICAgICAgICB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWlubGluZS1mbGV4ICB7IGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIHRvZ2dsaW5nIGBkaXNwbGF5YCBpbiBwcmludFxuLy9cblxuQG1lZGlhIHByaW50IHtcbiAgLmQtcHJpbnQtbm9uZSAgICAgICAgIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LWlubGluZSAgICAgICB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LWlubGluZS1ibG9jayB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LWJsb2NrICAgICAgICB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtdGFibGUgICAgICAgIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC10YWJsZS1yb3cgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC10YWJsZS1jZWxsICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtZmxleCAgICAgICAgIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LWlubGluZS1mbGV4ICB7IGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OSB7XG4gICY6OmJlZm9yZSB7XG4gICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoOSAvIDIxKTtcbiAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OSB7XG4gICY6OmJlZm9yZSB7XG4gICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoOSAvIDE2KTtcbiAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgzIC8gNCk7XG4gIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMWJ5MSB7XG4gICY6OmJlZm9yZSB7XG4gICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoMSAvIDEpO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7IEBpbmNsdWRlIGZsb2F0LWxlZnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tcmlnaHQgeyBAaW5jbHVkZSBmbG9hdC1yaWdodDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1ub25lICB7IEBpbmNsdWRlIGZsb2F0LW5vbmU7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbW1vbiB2YWx1ZXNcblxuLy8gU2FzcyBsaXN0IG5vdCBpbiB2YXJpYWJsZXMgc2luY2UgaXQncyBub3QgaW50ZW5kZWQgZm9yIGN1c3RvbWl6YXRpb24uXG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreTtcblxuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xuICAucG9zaXRpb24tI3skcG9zaXRpb259IHsgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gV2lkdGggYW5kIGhlaWdodFxuXG5AZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAod2lkdGg6IHcsIGhlaWdodDogaCkge1xuICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc2l6ZXMge1xuICAgIC4jeyRhYmJyZXZ9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi5tdy0xMDAgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuLm1oLTEwMCB7IG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG5cbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbWUgc3BlY2lhbCBtYXJnaW4gdXRpbHNcbiAgICAubSN7JGluZml4fS1hdXRvIHsgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAubXQjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tciN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWIjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tbCN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtaXRhbGljICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KFwiLnRleHQtI3skY29sb3J9XCIsICR2YWx1ZSk7XG59XG5cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCk7XG59XG4iLCIvL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgQGluY2x1ZGUgaW52aXNpYmxlKHZpc2libGUpO1xufVxuXG4uaW52aXNpYmxlIHtcbiAgQGluY2x1ZGUgaW52aXNpYmxlKGhpZGRlbik7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3NcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OlxuLy8gaHR0cDovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYgJGVuYWJsZS1wcmludC1zdHlsZXMge1xuICBAbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCBvdXQgYGNvbG9yYCBhbmQgYGJhY2tncm91bmRgXG4gICAgICAvL2NvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGh0dHA6Ly93d3cuc2FuYmVpamkuY29tL2FyY2hpdmVzLzk1M1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAjOTk5OyAgIC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmludGluZyBUYWJsZXM6XG4gICAgLy8gaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAgLy9cblxuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICMwMDA7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiIsIi8vIEN1c3RvbSBtaXhpbnMgaGVyZVxuXG5AbWl4aW4gZm9udC1zaXplKCR2YWx1ZTEsICR2YWx1ZTI6IDEuMjUpIHtcbiAgZm9udC1zaXplOiAkdmFsdWUxO1xuICBsaW5lLWhlaWdodDogJHZhbHVlMjtcbn1cbiIsIi8qKlxuICogVGhpcyBmaWxlIGlzIHRvIGhvbGQgdXRsaXR5IGNsYXNzZXMgdGhhdCBhcmUgbmVlZGVkIGJ1dCBub3QgaW5jbHVkZWQgaW4gc29tZSB3YXkgd2l0aCBib290c3RyYXAuXG4gKiBBIHV0aWxpdHkgY2xhc3MgaXMgc29tZXRoaW5nIHRoYXQgc2V0cyBhbiBhZGRpdG9uYWwgcHJvcGVydHkgb24gYSBub24tc3BlY2lmaWMgZWxlbW5lbnQuXG4gKiBUaGV5IHNob3VsZCBiZSBjb21tb24gY2xhc3NlcyB0aGF0IGFyZSByZXN1c2VkIG9mdGVuLlxuICogXG4gKiBFWClcbiAqICBmaXgtcmlnaHQtd2l0aC10cmFuc2x1Y2VudCB0byBmaXggYW4gYXJiaXRyYXJ5IGVsZW1lbnQgdG8gdGhlIHJpZ2h0IG9mIHRoZSBzY3JlZW4gaW4gYSBzcGVmaWMgbWFubmVyXG4gKi8iLCIvLyBDdXN0b20gc3R5bGVzIGhlcmVcbi8vIE5vdGUsIGlmIHRoaXMgZmlsZSBleGNlZWRzIDIwMCBsaW5lcyBvZiBjb2RlLCBpdCBtdXN0IGJlIGJyb2tlbiB1cCBpbnRvIG11bHRpcGxlIGZpbGVzIGFuZCBpbXBvcnRlZCB1c2luZyBAaW1wb3J0XG5cblxuJGJyZWFrcG9pbnRzOiAoXG4gICd4cy1waG9uZSc6IDMyMHB4LFxuICAncGhvbmUnOiA0ODBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDk5MnB4LFxuICAnd2lkZXNjcmVlbic6IDEyMDBweCxcbiAgJ2V4dHJhd2lkZXNjcmVlbic6IDE1MDBweFxuKTtcblxuLy8ga2V5d29yZHNcbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIChtaW4tcmVzb2x1dGlvbjogMTQ0ZHBpKScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLjUpLCAobWluLXJlc29sdXRpb246IDI0MGRwaSknXG4pO1xuXG5AaW1wb3J0ICdnbG9iYWxzJztcbkBpbXBvcnQgJ2hlYWRlcic7XG5AaW1wb3J0ICduYXZpZ2F0aW9uJztcbkBpbXBvcnQgJ3Zpc3VhbCc7XG5AaW1wb3J0ICdkZWFycGFyZW50cyc7XG5AaW1wb3J0ICdnYWxsZXJ5JztcbkBpbXBvcnQgJ3Rlc3RpbW9uaWFsYXJlYSc7XG5AaW1wb3J0ICdpbnRlcm5hbCc7XG5AaW1wb3J0ICdmb290ZXInO1xuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuICovXG5cbi8qKlxuICogVGhpcyBGaWxlIHNob3VsZCBzZWxlY3Qgb24gYmFzaWMgZWxlbWVudHMgdGhhdCBhcmUgbm90IHNwZWNpZmljIHRvIGNvbXBvbmVudHMuIEJlbG93IGFyZSBjb21tb24gdXNlIGNhc2VzXG4gKi9cblxuLyogU2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgbGlua3Mgb24gc2l0ZSAqL1xuLyogY2hhbmdlIGNvbG9yIGFuZCB0cmFuc2l0aW9uIGV4YW1wbGVcbmEge1xuICBjb2xvcjogIzAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICNmNTUwMmE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIFxufVxuKi9cblxuLyogT3ZlcnJpZGUgYm9vdHN0cmFwIGJ1dHRvbiBzdHlsZXMgaGVyZTogKGZpcnN0IHNldCByZWxhdGVkIGNvbG9ycy92YXJpYWJsZXMgaW4gX3ZhcmlhYmxlcy5zY3NzIGZpbGUpICovXG4vKiBtYWtlIGJ1dHRvbnMgaGF2ZSByb3VuZGVkIGVkZ2VzIGV4YW1wbGVcbi5idG4ge1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xufVxuXG5cbi8qKlxuICogV29yZHByZXNzIFNwZWNpZmljIFNlY3Rpb25cbiAqIFRoaXMgc2VjdGlvbiBob2xkcyBhbGwgdGhlIHNwZWNpZmljIENTUyBuZWVkZWQgdG8gbWFrZSB3b3JkcHJlc3MgY29udGVudCBlZGl0b3IvQUNGIHdvcmsgbmljZWx5LlxuICovXG5cbi8qIFNldCB3aGl0ZS1zcGFjZSB0byBwcmUtbGluZSB0byBtYWtlIHVzaW5nICYjMTA7IHBvc3NpYmxlIHRvIGNvbnRyb2wgbGluZSBicmVha3Mgd2l0aG91dCA8YnIvPiB0YWdzIG9yIGNoYW5naW5nIG90aGVyIGJlaGF2aW9yKi9cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZmZmZWU2O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLXNvZnRcIixzYW5zLXNlcmlmO1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItdG9wOiAzcHggc29saWQgI2ZmZmI5YTtcbn1cbmJvZHkuaG9tZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4gOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgXG4gIGNvbG9yOiAkZ3JheTM7XG59XG46LW1vei1wbGFjZWhvbGRlciB7IFxuICBjb2xvcjogJGdyYXkzO1xufVxuOjotbW96LXBsYWNlaG9sZGVyIHsgXG4gIGNvbG9yOiAkZ3JheTM7XG4gIG9wYWNpdHk6IDE7XG59XG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgXG4gIGNvbG9yOiAkZ3JheTM7XG59XG5hIHsgXG4gIGNvbG9yOiAjMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUsXG4uaDYgeyBcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbnAsXG5saSxcbmEgeyBcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZDogIzQxNjUzZDtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHBhZGRpbmc6IDAgMzFweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG59XG4ucGFnZS1jb250ZW50IGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iLCIvKiogQGRlZmluZSB3cmFwcGVyICovXG4ud3JhcHBlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyoqIEBkZWZpbmUgaGVhZGVyICovXG4uaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogJGdyYXkyO1xuICBib3JkZXItdG9wOiAzcHggc29saWQgI2ZmZmI5YTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHBhZGRpbmc6IDE1cHggMCAxMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDExO1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLyoqIEBkZWZpbmUgbG9nbyAqL1xuLmxvZ28ge1xuICBiYWNrZ3JvdW5kOiAkZ3JheTI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi10b3A6IC0xNHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyMDBweDtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gICZfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTgwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi5oZWFkZXJsaXN0IGxpOm50aC1jaGlsZCgyKSB7XG4gIGJvcmRlci1sZWZ0OjFweCBzb2xpZCAkZ3JheTtcbn1cbi5oZWFkZXIgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxNTQ1cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCBtYXgtd2lkdGg6MTU5MHB4ICkge1xuICAgICAgbWF4LXdpZHRoOiA5NiU7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAubW9iIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmRlcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAuZGVzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLm1vYiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAubG9nbyB7XG4gICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIH1cbiAgICB9XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm4gKi9cblxuLyoqIEBkZWZpbmUgbmF2LXdyYXBwZXIgKi9cbi5uYXYtd3JhcHBlciB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAtMzNweDtcbiAgbWFyZ2luLXRvcDogMTRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLyoqIEBkZWZpbmUgbmF2YmFyICovXG4ubmF2YmFyIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDE4cHgsIDE5cHgpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgNzFweCAwIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDoxNDQ5cHgpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM2NDlkYzg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJ0biB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG5cbiAgLmJ0biBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDE2NTNkO1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgcGFkZGluZzogMCAzMXB4O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDoxNDQ5cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHBhZGRpbmc6IDAgMjFweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMjVweDtcbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UgdWwge1xuICAgIG1pbi13aWR0aDogMjIwcHg7XG4gIH1cblxuICAubmF2YmFyLWNvbGxhcHNlIHVsIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogN3B4IDIwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIC5uYXZiYXItY29sbGFwc2UgdWwgbGkuYnRuIGEge1xuICAgIGhlaWdodDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cbn1cblxuLm5hdmJhci1jb2xsYXBzZSAuYnRuIHtcbiAgbWFyZ2luLXRvcDogLTIzcHg7XG59XG4ubmF2YmFyLWNvbGxhcHNlLnNob3cgLm5hdmJhci1jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5hdmJhci1jb2xsYXBzZS5zaG93IC5idG4ge1xuICAgIG1hcmdpbi10b3A6IC03cHggIWltcG9ydGFudDtcbn1cbi5uYXZiYXItdG9nZ2xlciB7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cbi5jb2xsYXBzZS5zaG93IHtcbiAgei1pbmRleDogOTtcbn1cbiIsIi8qKiBAZGVmaW5lIHZpc3VhbCAqL1xuXG4udmlzdWFsIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWF4LWhlaWdodDogNzcycHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9faW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLyoqIEBkZWZpbmUgdmlzdWFsLWNhcHRpb24gKi9cbi52aXN1YWwtY2FwdGlvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUgKDEwMnB4LCAxMDVweCk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRvdGFyaTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsZWZ0OiAycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0zcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTRweDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSAoODBweCwgODVweCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplICg2MHB4LCA2NXB4KTtcbiAgICAgIGNvbG9yOiAjNjM2NDY0O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSAoNDBweCwgNDVweCk7XG4gICAgICBjb2xvcjogIzYzNjQ2NDtcbiAgICB9XG4gIH1cblxuICAmX19kZXNjIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUgKDE4cHgsIDIwcHgpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IC02cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUgKDE2cHgsIDE4cHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSAoMTVweCwgMTdweCk7XG4gICAgICBjb2xvcjogIzYzNjQ2NDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8qKiBAZGVmaW5lIHByb21vICovXG4ucHJvbW8ge1xuICBiYWNrZ3JvdW5kOiAjYTJjMTVjO1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2ZmZmI5YTtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDcxcHg7XG4gIHBhZGRpbmc6IDQzcHggMCAzM3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIG1hcmdpbi1ib3R0b206IDUxcHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzFweDtcbiAgfVxuXG4gICZfX2hlYWQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSAoNTBweCwgNTJweCk7XG4gICAgZm9udC1mYW1pbHk6ICRvdGFyaTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuOXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC1pbmRlbnQ6IDE3cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUgKDQwcHgsIDQycHgpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplICgzNXB4LCAzOXB4KTtcbiAgICB9ICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplICgzMHB4LCAzNHB4KTtcbiAgICB9XG5cbiAgICAmLS1idG4ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplICgxOHB4LCAyMHB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICM0MTY1M2Q7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogJHByb3hpbWFzb2Z0O1xuICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgIHRvcDogLTlweDtcbiAgICAgIHdpZHRoOiAxNTRweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUgKDE2cHgsIDE4cHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMCAyNHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplICgxNnB4LCAxOHB4KTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgdGV4dC1pbmRlbnQ6IDIxcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfSBcbiAgfVxufVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLnByb21vIC5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDk1NXB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbiIsIi8qKiBAZGVmaW5lIGRlYXJwYXJlbnRzICovXG4uZGVhcnBhcmVudHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAtODFweDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWF4LXdpZHRoOiA0NSU7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDAgNTVweCAwIDQwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICBwYWRkaW5nOiAwIDQwcHggMCAzMHB4O1xuICAgIH1cblxuICAgICYtLWhlYWQge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplICg3OHB4LCA3OXB4KTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGFsb2hhbmQ7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luOiA0OHB4IDAgOXB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSAoNjhweCwgNjlweCk7XG4gICAgICAgIG1hcmdpbjogMzhweCAwIDdweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qKiBAZGVmaW5lIHNpZ25hdHVyZWFyZWEgKi9cbi5zaWduYXR1cmVhcmVhIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplICg1MHB4LCA1MnB4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkaGFsb2hhbmQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi10b3A6IDMzcHg7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSAoNDBweCwgNDJweCk7XG4gIH1cbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cblxuLmRlYXJwYXJlbnRzIC5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEyMjVweDtcbiAgYmFja2dyb3VuZDogIzY0OWRjODtcbn1cbi5kZWFycGFyZW50c19fdGV4dCBwIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplICgxOHB4LCAyNXB4KTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDA7XG59XG4uc2lnbmF0dXJlYXJlYSBzcGFuIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplICgxOHB4LCAyNXB4KTtcbiAgZm9udC1mYW1pbHk6ICRwcm94aW1hc29mdDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gIC5kZWFycGFyZW50c19faW1hZ2UgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTM4MHB4KSB7XG4gIC5kZWFycGFyZW50c19faW1hZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmRlYXJwYXJlbnRzX19pbWFnZSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5kZWFycGFyZW50c19faW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59IiwiLyoqIEBkZWZpbmUgZ2FsbGVyeWFyZWEgKi9cbi5nYWxsZXJ5YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG4gIFxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgJl9fbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA1MCU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNjQ5ZGM4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3JpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA1MCU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogI2EyYzE1YztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2J0biB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplICgxOHB4LCA0NHB4KTtcbiAgICBiYWNrZ3JvdW5kOiAjNDE2NTNkO1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDE1NXB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4uZ2FsbGVyeWFyZWEgLmNvbnRhaW5lciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyMjVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZ2FsbGVyeWFyZWFfX2J0bjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICM2NDlkYzg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDQ4JTtcbiAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgIzY0OWRjODtcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAjNjQ5ZGM4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0NyU7XG4gIGJvdHRvbTogLTlweDtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxOHB4KTtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05cHg7XG4gIHdpZHRoOiA1MCU7XG4gIHotaW5kZXg6IDE7XG59XG4uZ2FsbGVyeWFyZWFfX2J0bjphZnRlciB7XG4gIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgI2EyYzE1YztcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDQ4JTtcbiAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkICNhMmMxNWM7XG4gIGJvcmRlci10b3A6IDEwcHggc29saWQgI2EyYzE1YztcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDQ3JTtcbiAgYm90dG9tOiAtOXB4O1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSArIDE4cHgpO1xuICByaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05cHg7XG4gIHdpZHRoOiA1MCU7XG4gIHotaW5kZXg6IDE7XG59XG4uZ2FsbGVyeWFyZWFfX2xlZnQgaW1nLFxuLmdhbGxlcnlhcmVhX19yaWdodCBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmdhbGxlcnkgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAyMyU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDElIDI1cHg7XG59XG4uZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuZ2FsbGVyeWFyZWEgLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5nYWxsZXJ5YXJlYV9fYnRuIHtcbiAgICBsZWZ0OiA1MzVweDtcbiAgfVxufSIsIi8qKiBAZGVmaW5lIHRlc3RpbW9uaWFsYXJlYSAqL1xuLnRlc3RpbW9uaWFsYXJlYSB7XG4gIGJhY2tncm91bmQ6ICNhMmMxNWM7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCAjZmZmYjlhO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNjBweCAwIDQwcHg7XG5cbiAgJl9fbGVmdCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplICg1N3B4LCA3NHB4KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LWZhbWlseTogJG90YXJpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIG1hcmdpbi1yaWdodDogNjhweDtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIG1heC13aWR0aDogNjk0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDoxNDQ5cHgpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSAoNDdweCwgNjBweCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9uZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIG1heC13aWR0aDogNDUlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplICg0MHB4LCA1MnB4KTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSAoMzVweCwgNDVweCk7XG4gICAgfSAgIFxuICB9XG59XG5cbi8qKiBAZGVmaW5lIHRlc3RpYm94ICovXG4udGVzdGlib3gge1xuICBiYWNrZ3JvdW5kOiAjNjQ5ZGM4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBwYWRkaW5nOiAzNHB4IDUycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9faGVhZCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplICg1MHB4LCA1MHB4KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJG90YXJpO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUgKDQwcHgsIDUwcHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSAoMzBweCwgNDBweCk7XG4gICAgfVxuICB9XG5cbiAgJl9fZGV0YWlsIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUgKDE4cHgsIDI2cHgpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWluZGVudDogMzdweDtcbiAgfVxuXG4gICZfX2F1dGhvciB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplICgyNXB4LCAyN3B4KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1mYW1pbHk6ICRvdGFyaTtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fcmVhZG1vcmUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSAoMThweCwgNDRweCk7XG4gICAgYmFja2dyb3VuZDogIzQxNjUzZDtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkcHJveGltYXNvZnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxNTRweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLnRlc3RpYm94d3JhcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuLnRlc3RpbW9uaWFsYXJlYSAuY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTU1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjE0NDlweCkge1xuICAgIG1heC13aWR0aDogOTYlO1xuICB9XG59XG4udGVzdGlib3hfX3JlYWRtb3JlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbn1cbi50ZXN0aWJveF9fZGV0YWlsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3F1b3RlLWljby1sZWZ0LmpwZykgbm8tcmVwZWF0O1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAxOXB4O1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDIycHg7XG59XG4ucXVvdGUtcmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIHRleHQtaW5kZW50OiAwO1xufVxuLnRlc3RpYm94OjphZnRlcntcbiAgYm9yZGVyLWNvbG9yOiAjNjQ5ZGM4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDM5cHggOTFweCAwIDBweDtcbiAgYm90dG9tOiAtMzlweDtcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogMDtcbiAgbGVmdDogMzM0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIGxlZnQ6IDEwJTtcbiAgfVxufSIsIi8qKiBAZGVmaW5lIHZpc3VhbC1pbnRlcm5hbCAqL1xuLnZpc3VhbC1pbnRlcm5hbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gICZfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8qKiBAZGVmaW5lIHByb21vLWludGVybmFsICovXG4ucHJvbW8taW50ZXJuYWwge1xuICBAaW5jbHVkZSBmb250LXNpemUoNTBweCwgNTFweCk7XG4gIGJhY2tncm91bmQ6ICNhMmMxNWM7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICRvdGFyaTtcbiAgcGFkZGluZzogMjlweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMHB4LCAzM3B4KTtcbiAgfVxufVxuXG4vKiogQGRlZmluZSBwYWdlLWNvbnRlbnQgKi9cbi5wYWdlLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZWU2O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gIHBhZGRpbmc6IDY1cHggMDtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgbWF4LXdpZHRoOiA5NiU7XG4gICAgcGFkZGluZzogMzVweCAwO1xuICB9XG5cbiAgJl9fcXVvdGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMHB4LCAzNXB4KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2I4YjhhOTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjBweCwgMjNweCk7XG4gICAgfVxuXG4gICAgJi0tYXV0aG9yIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNXB4LCAzMHB4KTtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCwgMThweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKiBAZGVmaW5lIGNvbnRibG9jayAqL1xuLmNvbnRibG9jayB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICBtYXgtd2lkdGg6IDM2MnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweDtcbiAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBib3gtc2hhZG93OiAxNXB4IDE1cHggMCAjNjQ5ZGM4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOHB4LCAyNXB4KTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8qKiBAZGVmaW5lIGNvbnRibG9ja3RvcCAqL1xuLmNvbnRibG9ja3RvcCB7XG4gIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuXG4gICZfX3NlY2xlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICBtYXgtd2lkdGg6IDMxN3B4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJl9fc2VjcmlnaHQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4ucHJvbW8taW50ZXJuYWwgaDEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5wcm9tby1pbnRlcm5hbCBoMTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDI5cHg7XG4gIGhlaWdodDogMjhweDtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvc3Rhci5qcGcnKSBuby1yZXBlYXQ7XG4gIGxlZnQ6IC0xNDVweDtcbiAgdG9wOiA1cHg7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICBsZWZ0OiAtNDVweDtcbiAgfVxufVxuLnByb21vLWludGVybmFsIGgxOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAyOXB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3N0YXIuanBnJykgbm8tcmVwZWF0O1xuICByaWdodDogLTE0NXB4O1xuICB0b3A6IDVweDtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgIHJpZ2h0OiAtNDVweDtcbiAgfVxufVxuLmNvbnRibG9ja19faW1hZ2UgaW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xufVxuLmNvbnRibG9jayBoMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNXB4LCAyOHB4KTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtZmFtaWx5OiAkcHJveGltYXNvZnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4uY29udGJsb2NrdG9wIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbi5jb250YmxvY2tfX2NvbnRlbnQgdWwge1xuICBtYXJnaW46IDAgMCAwIDRweDtcbn1cbi5jb250YmxvY2tfX2NvbnRlbnQgdWwgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG4uaW1nc2hhZG93Z3JlZW46OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3gtc2hhZG93OiAxNXB4IDE1cHggMCAjYTJjMTVjO1xuICB9XG4uY29udGJsb2NrOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLmNvbnRibG9ja19faW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5zcGVwcm9ncmFtcyB7XG4gIG1hcmdpbi1ib3R0b206IC00MnB4O1xuICBtYXJnaW4tbGVmdDogMzA1cHg7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgY29sb3I6ICMwMDA7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIG1hcmdpbjogNDBweCBhdXRvO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG5ib2R5Om5vdCguaG9tZSkgLmhlYWRlciB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59IiwiLyoqIEBkZWZpbmUgZm9vdGVyICovXG4uZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzY0OWRjODtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJl9fbGVmdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICYtLWhlYWQge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplICgyNXB4LCAyOHB4KTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogJG90YXJpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cblxuICAmX19jZW50ZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSAoMjNweCwgNDJweCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsZWZ0OiA2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIG1heC13aWR0aDogNDE4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IC03cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAmX19yaWdodCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8qKiBAZGVmaW5lIHNvY2lhbC1pY29uICovXG4uc29jaWFsLWljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBoZWlnaHQ6IDQ5cHg7XG4gIHdpZHRoOiA0OXB4O1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuXG4uZm9vdGVyIC5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDExMThweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDM4cHggMCAxOHB4O1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICBtYXgtd2lkdGg6IDk2JTtcbiAgfVxufVxuLmZvb3Rlcl9fcmlnaHQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZm9vdGVyX19jZW50ZXIgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiA5cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1mYW1pbHk6ICRwcm94aW1hc29mdDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLmZvb3Rlcl9pbWdfYmlnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5mb290ZXJfX2xlZnQgcCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uZm9vdGVyX19sZWZ0IHAgYTpob3ZlciB7XG4gIGNvbG9yOiAjMDA1NmIzO1xufVxuLmZvb3Rlci1pbnRlcm5hbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5ib2R5Om5vdCguaG9tZSkgLmZvb3Rlcl9fY2VudGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmJvZHk6bm90KC5ob21lKSAuZm9vdGVyLWludGVybmFsIC5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbn1cbmJvZHk6bm90KC5ob21lKSAuZm9vdGVyLWludGVybmFsIHtcbiAgcGFkZGluZzogMzhweCAwO1xuICBiYWNrZ3JvdW5kOiAjYTJjMTVjO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiAkb3Rhcmk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuYm9keTpub3QoLmhvbWUpIC5mb290ZXItaW50ZXJuYWwgZW0ge1xuICBmb250LXNpemU6IDM5cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbmJvZHk6bm90KC5ob21lKSAuZm9vdGVyLWludGVybmFsIHNwYW4ge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGNvbG9yOiAjZmZmO1xufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSx1QkFBdUI7QUdOdkI7Ozs7O0dBS0c7QWtDTEgsQUFBQSxLQUFLLENBQUM7RUFHRixNQUFXLEVBQUcsT0FBQztFQUFmLFFBQVcsRUFBRyxPQUFDO0VBQWYsUUFBVyxFQUFHLE9BQUM7RUFBZixNQUFXLEVBQUcsT0FBQztFQUFmLEtBQVcsRUFBRyxPQUFDO0VBQWYsUUFBVyxFQUFHLE9BQUM7RUFBZixRQUFXLEVBQUcsT0FBQztFQUFmLE9BQVcsRUFBRyxPQUFDO0VBQWYsTUFBVyxFQUFHLE9BQUM7RUFBZixNQUFXLEVBQUcsT0FBQztFQUFmLE9BQVcsRUFBRyxJQUFDO0VBQWYsTUFBVyxFQUFHLE9BQUM7RUFBZixXQUFXLEVBQUcsT0FBQztFQUlmLFNBQVcsRUFBRyxPQUFD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QUUsSUFBSTtHQUNoQjtFQUNELEFBQUEsWUFBWSxDQUFPO0lBQ2pCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQUdDLEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQTRCO0lBSXRDLFNBQVMsRUFBRSxXQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QjtHREFoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQTRCO0lBSXRDLFNBQVMsRUFBRSxJQUE0QjtHREFoQztFQUdILEFBQUEsZUFBZSxDQUFPO0lBQUUsS0FBSyxFQUFFLEVBQUU7R0FBSztFQUV0QyxBQUFBLGNBQWMsQ0FBTztJQUFFLEtBQUssRUFBRSxFQUFZO0dBQUk7RUFHNUMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxZQUFZLENBQVU7SUFBRSxLQUFLLEVBRGxCLEVBQUM7R0FDeUI7RUFBckMsQUFBQSxZQUFZLENBQVU7SUFBRSxLQUFLLEVBRGxCLEVBQUM7R0FDeUI7RUFBckMsQUFBQSxZQUFZLENBQVU7SUFBRSxLQUFLLEVBRGxCLEVBQUM7R0FDeUI7RUFNbkMsQUFBQSxZQUFZLENBQVc7SUNUL0IsV0FBVyxFQUFnQixDQUFDO0dEV25CO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNUL0IsV0FBVyxFQUFtQixXQUFnQjtHRFdyQztFQUZELEFBQUEsWUFBWSxDQUFXO0lDVC9CLFdBQVcsRUFBbUIsWUFBZ0I7R0RXckM7RUFGRCxBQUFBLFlBQVksQ0FBVztJQ1QvQixXQUFXLEVBQW1CLEdBQWdCO0dEV3JDO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNUL0IsV0FBVyxFQUFtQixZQUFnQjtHRFdyQztFQUZELEFBQUEsWUFBWSxDQUFXO0lDVC9CLFdBQVcsRUFBbUIsWUFBZ0I7R0RXckM7RUFGRCxBQUFBLFlBQVksQ0FBVztJQ1QvQixXQUFXLEVBQW1CLEdBQWdCO0dEV3JDO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNUL0IsV0FBVyxFQUFtQixZQUFnQjtHRFdyQztFQUZELEFBQUEsWUFBWSxDQUFXO0lDVC9CLFdBQVcsRUFBbUIsWUFBZ0I7R0RXckM7RUFGRCxBQUFBLFlBQVksQ0FBVztJQ1QvQixXQUFXLEVBQW1CLEdBQWdCO0dEV3JDO0VBRkQsQUFBQSxhQUFhLENBQVU7SUNUL0IsV0FBVyxFQUFtQixZQUFnQjtHRFdyQztFQUZELEFBQUEsYUFBYSxDQUFVO0lDVC9CLFdBQVcsRUFBbUIsWUFBZ0I7R0RXckM7OztBM0JEUCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RTJCN0J0QixBQUFBLE9BQU8sQ0FBTztJQUNaLFVBQVUsRUFBRSxDQUFDO0lBQ2IsU0FBUyxFQUFFLENBQUM7SUFDWixTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQUNELEFBQUEsWUFBWSxDQUFPO0lBQ2pCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQUdDLEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQTRCO0lBSXRDLFNBQVMsRUFBRSxXQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QjtHREFoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQTRCO0lBSXRDLFNBQVMsRUFBRSxJQUE0QjtHREFoQztFQUdILEFBQUEsZUFBZSxDQUFPO0lBQUUsS0FBSyxFQUFFLEVBQUU7R0FBSztFQUV0QyxBQUFBLGNBQWMsQ0FBTztJQUFFLEtBQUssRUFBRSxFQUFZO0dBQUk7RUFHNUMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUM7R0FDeUI7RUFBckMsQUFBQSxZQUFZLENBQVU7SUFBRSxLQUFLLEVBRGxCLEVBQUM7R0FDeUI7RUFBckMsQUFBQSxZQUFZLENBQVU7SUFBRSxLQUFLLEVBRGxCLEVBQUM7R0FDeUI7RUFBckMsQUFBQSxZQUFZLENBQVU7SUFBRSxLQUFLLEVBRGxCLEVBQUM7R0FDeUI7RUFNbkMsQUFBQSxZQUFZLENBQVc7SUNUL0IsV0FBVyxFQUFnQixDQUFDO0dEV25CO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNUL0IsV0FBVyxFQUFtQixXQUFnQjtHRFdyQztFQUZELEFBQUEsWUFBWSxDQUFXO0lDVC9CLFdBQVcsRUFBbUIsWUFBZ0I7R0RXckM7RUFGRCxBQUFBLFlBQVksQ0FBVztJQ1QvQixXQUFXLEVBQW1CLEdBQWdCO0dEV3JDO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNUL0IsV0FBVyxFQUFtQixZQUFnQjtHRFdyQztFQUZELEFBQUEsWUFBWSxDQUFXO0lDVC9CLFdBQVcsRUFBbUIsWUFBZ0I7R0RXckM7RUFGRCxBQUFBLFlBQVksQ0FBVztJQ1QvQixXQUFXLEVBQW1CLEdBQWdCO0dEV3JDO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNUL0IsV0FBVyxFQUFtQixZQUFnQjtHRFdyQztFQUZELEFBQUEsWUFBWSxDQUFXO0lDVC9CLFdBQVcsRUFBbUIsWUFBZ0I7R0RXckM7RUFGRCxBQUFBLFlBQVksQ0FBVztJQ1QvQixXQUFXLEVBQW1CLEdBQWdCO0dEV3JDO0VBRkQsQUFBQSxhQUFhLENBQVU7SUNUL0IsV0FBVyxFQUFtQixZQUFnQjtHRFdyQztFQUZELEFBQUEsYUFBYSxDQUFVO0lDVC9CLFdBQVcsRUFBbUIsWUFBZ0I7R0RXckM7OztBM0JEUCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RTJCN0J0QixBQUFBLE9BQU8sQ0FBTztJQUNaLFVBQVUsRUFBRSxDQUFDO0lBQ2IsU0FBUyxFQUFFLENBQUM7SUFDWixTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQUNELEFBQUEsWUFBWSxDQUFPO0lBQ2pCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQUdDLEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQTRCO0lBSXRDLFNBQVMsRUFBRSxXQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QjtHREFoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDRjFC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QUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QjtHREFoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQTRCO0lBSXRDLFNBQVMsRUFBRSxZQUE0QjtHREFoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDRjFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQTRCO0lBSXRDLFNBQVMsRUFBRSxJQUE0QjtHREFoQztFQUdILEFBQUEsZUFBZSxDQUFPO0lBQUUsS0FBSyxFQUFFLEVBQUU7R0FB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 */