/*!
 * Bootstrap v4.6.0 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/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, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --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%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

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

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  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;
  text-decoration-skip-ink: none;
}

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

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

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

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

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

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", 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 {
  overflow: hidden;
  vertical-align: middle;
}

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;
  text-align: -webkit-match-parent;
}

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

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

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

[role="button"] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

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

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer;
}

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

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-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-weight: 500;
  line-height: 1.2;
}

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 {
  font-size: 87.5%;
  color: #e83e8c;
  word-wrap: 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,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

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

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

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

@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1140px;
  }
}

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

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

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

.col-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%;
  padding-right: 15px;
  padding-left: 15px;
}

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

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

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

.row-cols-3 > * {
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

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

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

.row-cols-6 > * {
  flex: 0 0 16.66667%;
  max-width: 16.66667%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.order-first {
  order: -1;
}

.order-last {
  order: 13;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-sm-first {
    order: -1;
  }
  .order-sm-last {
    order: 13;
  }
  .order-sm-0 {
    order: 0;
  }
  .order-sm-1 {
    order: 1;
  }
  .order-sm-2 {
    order: 2;
  }
  .order-sm-3 {
    order: 3;
  }
  .order-sm-4 {
    order: 4;
  }
  .order-sm-5 {
    order: 5;
  }
  .order-sm-6 {
    order: 6;
  }
  .order-sm-7 {
    order: 7;
  }
  .order-sm-8 {
    order: 8;
  }
  .order-sm-9 {
    order: 9;
  }
  .order-sm-10 {
    order: 10;
  }
  .order-sm-11 {
    order: 11;
  }
  .order-sm-12 {
    order: 12;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333%;
  }
  .offset-sm-2 {
    margin-left: 16.66667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333%;
  }
  .offset-sm-5 {
    margin-left: 41.66667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333%;
  }
  .offset-sm-8 {
    margin-left: 66.66667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333%;
  }
  .offset-sm-11 {
    margin-left: 91.66667%;
  }
}

@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-md-first {
    order: -1;
  }
  .order-md-last {
    order: 13;
  }
  .order-md-0 {
    order: 0;
  }
  .order-md-1 {
    order: 1;
  }
  .order-md-2 {
    order: 2;
  }
  .order-md-3 {
    order: 3;
  }
  .order-md-4 {
    order: 4;
  }
  .order-md-5 {
    order: 5;
  }
  .order-md-6 {
    order: 6;
  }
  .order-md-7 {
    order: 7;
  }
  .order-md-8 {
    order: 8;
  }
  .order-md-9 {
    order: 9;
  }
  .order-md-10 {
    order: 10;
  }
  .order-md-11 {
    order: 11;
  }
  .order-md-12 {
    order: 12;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333%;
  }
  .offset-md-2 {
    margin-left: 16.66667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333%;
  }
  .offset-md-5 {
    margin-left: 41.66667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333%;
  }
  .offset-md-8 {
    margin-left: 66.66667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333%;
  }
  .offset-md-11 {
    margin-left: 91.66667%;
  }
}

@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-lg-first {
    order: -1;
  }
  .order-lg-last {
    order: 13;
  }
  .order-lg-0 {
    order: 0;
  }
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
  .order-lg-3 {
    order: 3;
  }
  .order-lg-4 {
    order: 4;
  }
  .order-lg-5 {
    order: 5;
  }
  .order-lg-6 {
    order: 6;
  }
  .order-lg-7 {
    order: 7;
  }
  .order-lg-8 {
    order: 8;
  }
  .order-lg-9 {
    order: 9;
  }
  .order-lg-10 {
    order: 10;
  }
  .order-lg-11 {
    order: 11;
  }
  .order-lg-12 {
    order: 12;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333%;
  }
  .offset-lg-2 {
    margin-left: 16.66667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333%;
  }
  .offset-lg-5 {
    margin-left: 41.66667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333%;
  }
  .offset-lg-8 {
    margin-left: 66.66667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333%;
  }
  .offset-lg-11 {
    margin-left: 91.66667%;
  }
}

@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xl-first {
    order: -1;
  }
  .order-xl-last {
    order: 13;
  }
  .order-xl-0 {
    order: 0;
  }
  .order-xl-1 {
    order: 1;
  }
  .order-xl-2 {
    order: 2;
  }
  .order-xl-3 {
    order: 3;
  }
  .order-xl-4 {
    order: 4;
  }
  .order-xl-5 {
    order: 5;
  }
  .order-xl-6 {
    order: 6;
  }
  .order-xl-7 {
    order: 7;
  }
  .order-xl-8 {
    order: 8;
  }
  .order-xl-9 {
    order: 9;
  }
  .order-xl-10 {
    order: 10;
  }
  .order-xl-11 {
    order: 11;
  }
  .order-xl-12 {
    order: 12;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333%;
  }
  .offset-xl-2 {
    margin-left: 16.66667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333%;
  }
  .offset-xl-5 {
    margin-left: 41.66667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333%;
  }
  .offset-xl-8 {
    margin-left: 66.66667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333%;
  }
  .offset-xl-11 {
    margin-left: 91.66667%;
  }
}

.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
}

.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-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-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0;
}

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

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

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

.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: #7abaff;
}

.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-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: #b3b7bb;
}

.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-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
  border-color: #8fd19e;
}

.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-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: #86cfda;
}

.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-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
  border-color: #ffdf7e;
}

.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-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
  border-color: #ed969e;
}

.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-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: #fbfcfc;
}

.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-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: #95999c;
}

.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: #343a40;
  border-color: #454d55;
}

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

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

.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: #454d55;
}

.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 {
  color: #fff;
  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;
  }
  .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;
  }
  .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;
  }
  .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;
  }
  .table-responsive-xl > .table-bordered {
    border: 0;
  }
}

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

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

.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  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;
}

@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}

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

.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}

.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::placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control {
  appearance: none;
}

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: 0.375rem 0;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: #212529;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}

.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.form-control-lg {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

select.form-control[size], select.form-control[multiple] {
  height: auto;
}

textarea.form-control {
  height: auto;
}

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

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

.form-row {
  display: flex;
  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,
.form-check-input:disabled ~ .form-check-label {
  color: #6c757d;
}

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

.form-check-inline {
  display: inline-flex;
  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%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem;
}

.form-row > .col > .valid-tooltip,
.form-row > [class*="col-"] > .valid-tooltip {
  left: 5px;
}

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

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #28a745;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

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

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745;
  padding-right: calc(0.75em + 2.3125rem);
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;
}

.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-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 {
  border-color: #28a745;
}

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #34ce57;
  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 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #28a745;
}

.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:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #28a745;
  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%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem;
}

.form-row > .col > .invalid-tooltip,
.form-row > [class*="col-"] > .invalid-tooltip {
  left: 5px;
}

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

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #dc3545;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

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

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

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: calc(0.75em + 2.3125rem);
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;
}

.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-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 {
  border-color: #dc3545;
}

.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #e4606d;
  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 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #dc3545;
}

.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:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

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

@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    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,
  .form-inline .custom-select {
    width: auto;
  }
  .form-inline .form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-left: 0;
  }
  .form-inline .form-check-input {
    position: relative;
    flex-shrink: 0;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
  .form-inline .custom-control {
    align-items: center;
    justify-content: center;
  }
  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}

.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  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;
}

@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}

.btn:hover {
  color: #212529;
  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;
}

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 {
  color: #fff;
  background-color: #0069d9;
  border-color: #0062cc;
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 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(38, 143, 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 {
  color: #fff;
  background-color: #5a6268;
  border-color: #545b62;
  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 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(130, 138, 145, 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 {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 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(72, 180, 97, 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 {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 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(58, 176, 195, 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 {
  color: #212529;
  background-color: #e0a800;
  border-color: #d39e00;
  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 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(222, 170, 12, 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 {
  color: #fff;
  background-color: #c82333;
  border-color: #bd2130;
  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 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(225, 83, 97, 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 {
  color: #212529;
  background-color: #e2e6ea;
  border-color: #dae0e5;
  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 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(216, 217, 219, 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 {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 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(82, 88, 93, 0.5);
}

.btn-outline-primary {
  color: #007bff;
  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;
  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;
  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;
  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;
  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;
  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;
  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;
  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;
  text-decoration: none;
}

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

.btn-link:focus, .btn-link.focus {
  text-decoration: underline;
}

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

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

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

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

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

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

.fade {
  transition: opacity 0.15s linear;
}

@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}

.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

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

@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}

.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}

.dropdown-toggle::after {
  display: inline-block;
  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;
}

.dropdown-menu-left {
  right: auto;
  left: 0;
}

.dropdown-menu-right {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-right {
    right: 0;
    left: auto;
  }
}

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

.dropup .dropdown-toggle::after {
  display: inline-block;
  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 {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}

.dropright .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  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 {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}

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

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

.dropleft .dropdown-toggle::before {
  display: inline-block;
  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-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
  right: auto;
  bottom: auto;
}

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

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

.dropdown-item.disabled, .dropdown-item:disabled {
  color: #adb5bd;
  pointer-events: none;
  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;
}

.dropdown-item-text {
  display: block;
  padding: 0.25rem 1.5rem;
  color: #212529;
}

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

.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 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-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

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

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

.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,
.dropup .dropdown-toggle-split::after,
.dropright .dropdown-toggle-split::after {
  margin-left: 0;
}

.dropleft .dropdown-toggle-split::before {
  margin-right: 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 {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

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

.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: -1px;
}

.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: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}

.input-group > .form-control,
.input-group > .form-control-plaintext,
.input-group > .custom-select,
.input-group > .custom-file {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  margin-bottom: 0;
}

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

.input-group > .custom-file .custom-file-input:focus {
  z-index: 4;
}

.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: flex;
  align-items: center;
}

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

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

.input-group.has-validation > .form-control:nth-last-child(n + 3),
.input-group.has-validation > .custom-select:nth-last-child(n + 3),
.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group-prepend,
.input-group-append {
  display: flex;
}

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

.input-group-prepend .btn:focus,
.input-group-append .btn:focus {
  z-index: 3;
}

.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: flex;
  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-lg > .form-control:not(textarea),
.input-group-lg > .custom-select {
  height: calc(1.5em + 1rem + 2px);
}

.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.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;
}

.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
  height: calc(1.5em + 0.5rem + 2px);
}

.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.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;
}

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

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .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;
  z-index: 1;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem;
  color-adjust: exact;
}

.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem;
}

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0;
}

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

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

.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #80bdff;
}

.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  color: #fff;
  background-color: #b3d7ff;
  border-color: #b3d7ff;
}

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

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

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}

.custom-control-label::before {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: #fff;
  border: #adb5bd solid 1px;
}

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

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

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}

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

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' 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::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' 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-switch {
  padding-left: 2.25rem;
}

.custom-switch .custom-control-label::before {
  left: -2.25rem;
  width: 1.75rem;
  pointer-events: all;
  border-radius: 0.5rem;
}

.custom-switch .custom-control-label::after {
  top: calc(0.25rem + 2px);
  left: calc(-2.25rem + 2px);
  width: calc(1rem - 4px);
  height: calc(1rem - 4px);
  background-color: #adb5bd;
  border-radius: 0.5rem;
  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .custom-switch .custom-control-label::after {
    transition: none;
  }
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #fff;
  transform: translateX(0.75rem);
}

.custom-switch .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(1.5em + 0.75rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  appearance: none;
}

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

.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 {
  display: none;
}

.custom-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}

.custom-select-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
}

.custom-select-lg {
  height: calc(1.5em + 1rem + 2px);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
}

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

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

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

.custom-file-input[disabled] ~ .custom-file-label,
.custom-file-input:disabled ~ .custom-file-label {
  background-color: #e9ecef;
}

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

.custom-file-input ~ .custom-file-label[data-browse]::after {
  content: attr(data-browse);
}

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  overflow: hidden;
  font-weight: 400;
  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(1.5em + 0.75rem);
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  content: "Browse";
  background-color: #e9ecef;
  border-left: inherit;
  border-radius: 0 0.25rem 0.25rem 0;
}

.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  appearance: none;
}

.custom-range:focus {
  outline: 0;
}

.custom-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-range:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-range::-moz-focus-outer {
  border: 0;
}

.custom-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-range::-webkit-slider-thumb {
    transition: none;
  }
}

.custom-range::-webkit-slider-thumb:active {
  background-color: #b3d7ff;
}

.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}

.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-range::-moz-range-thumb {
    transition: none;
  }
}

.custom-range::-moz-range-thumb:active {
  background-color: #b3d7ff;
}

.custom-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}

.custom-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: 0;
  margin-right: 0.2rem;
  margin-left: 0.2rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-range::-ms-thumb {
    transition: none;
  }
}

.custom-range::-ms-thumb:active {
  background-color: #b3d7ff;
}

.custom-range::-ms-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: 0.5rem;
}

.custom-range::-ms-fill-lower {
  background-color: #dee2e6;
  border-radius: 1rem;
}

.custom-range::-ms-fill-upper {
  margin-right: 15px;
  background-color: #dee2e6;
  border-radius: 1rem;
}

.custom-range:disabled::-webkit-slider-thumb {
  background-color: #adb5bd;
}

.custom-range:disabled::-webkit-slider-runnable-track {
  cursor: default;
}

.custom-range:disabled::-moz-range-thumb {
  background-color: #adb5bd;
}

.custom-range:disabled::-moz-range-track {
  cursor: default;
}

.custom-range:disabled::-ms-thumb {
  background-color: #adb5bd;
}

.custom-control-label::before,
.custom-file-label,
.custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .custom-control-label::before,
  .custom-file-label,
  .custom-select {
    transition: none;
  }
}

.nav {
  display: flex;
  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;
  pointer-events: none;
  cursor: default;
}

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

.nav-tabs .nav-link {
  margin-bottom: -1px;
  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-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

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

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

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
}

.navbar .container,
.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  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: flex;
  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 {
  flex-basis: 100%;
  flex-grow: 1;
  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-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: 50% / 100% 100% no-repeat;
}

.navbar-nav-scroll {
  max-height: 75vh;
  overflow-y: auto;
}

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

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
}

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

@media (min-width: 768px) {
  .navbar-expand-md {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
}

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

@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}

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

@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
}

.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start;
}

.navbar-expand > .container,
.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
  padding-right: 0;
  padding-left: 0;
}

.navbar-expand .navbar-nav {
  flex-direction: row;
}

.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}

.navbar-expand .navbar-nav .nav-link {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

.navbar-expand > .container,
.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
  flex-wrap: nowrap;
}

.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}

.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}

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

.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,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' 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,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' 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: flex;
  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 {
  border-top: inherit;
  border-bottom: inherit;
}

.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  min-height: 1px;
  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-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;
  border-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-top,
.card-img-bottom {
  flex-shrink: 0;
  width: 100%;
}

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

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

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

@media (min-width: 576px) {
  .card-deck {
    display: flex;
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px;
  }
  .card-deck .card {
    flex: 1 0 0%;
    margin-right: 15px;
    margin-bottom: 0;
    margin-left: 15px;
  }
}

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

@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-top,
  .card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom,
  .card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-top,
  .card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom,
  .card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}

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

@media (min-width: 576px) {
  .card-columns {
    column-count: 3;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }
  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}

.accordion {
  overflow-anchor: none;
}

.accordion > .card {
  overflow: hidden;
}

.accordion > .card:not(:last-of-type) {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.accordion > .card:not(:first-of-type) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.accordion > .card > .card-header {
  border-radius: 0;
  margin-bottom: -1px;
}

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

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}

.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 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: 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 {
  z-index: 2;
  color: #0056b3;
  text-decoration: none;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

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

.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: 3;
  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;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .badge {
    transition: none;
  }
}

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

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

a.badge-primary:hover, a.badge-primary:focus {
  color: #fff;
  background-color: #0062cc;
}

a.badge-primary:focus, a.badge-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

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

a.badge-secondary:hover, a.badge-secondary:focus {
  color: #fff;
  background-color: #545b62;
}

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

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

a.badge-success:hover, a.badge-success:focus {
  color: #fff;
  background-color: #1e7e34;
}

a.badge-success:focus, a.badge-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

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

a.badge-info:hover, a.badge-info:focus {
  color: #fff;
  background-color: #117a8b;
}

a.badge-info:focus, a.badge-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

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

a.badge-warning:hover, a.badge-warning:focus {
  color: #212529;
  background-color: #d39e00;
}

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

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

a.badge-danger:hover, a.badge-danger:focus {
  color: #fff;
  background-color: #bd2130;
}

a.badge-danger:focus, a.badge-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

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

a.badge-light:hover, a.badge-light:focus {
  color: #212529;
  background-color: #dae0e5;
}

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

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

a.badge-dark:hover, a.badge-dark:focus {
  color: #fff;
  background-color: #1d2124;
}

a.badge-dark:focus, a.badge-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

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

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

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

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #007bff;
  transition: width 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.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 {
  animation: 1s linear infinite progress-bar-stripes;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

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

.media-body {
  flex: 1;
}

.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 0.25rem;
}

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

.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  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;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}

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

.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}

.list-group-item.disabled, .list-group-item:disabled {
  color: #6c757d;
  pointer-events: none;
  background-color: #fff;
}

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

.list-group-item + .list-group-item {
  border-top-width: 0;
}

.list-group-item + .list-group-item.active {
  margin-top: -1px;
  border-top-width: 1px;
}

.list-group-horizontal {
  flex-direction: row;
}

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

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

.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}

.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: 1px;
  border-left-width: 0;
}

.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: -1px;
  border-left-width: 1px;
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

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

.list-group-flush > .list-group-item {
  border-width: 0 0 1px;
}

.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 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 {
  color: #000;
  text-decoration: none;
}

.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: .75;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
}

a.close.disabled {
  pointer-events: none;
}

.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  border-radius: 0.25rem;
}

.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}

.toast.showing {
  opacity: 1;
}

.toast.show {
  display: block;
  opacity: 1;
}

.toast.hide {
  display: none;
}

.toast-header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #6c757d;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.toast-body {
  padding: 0.75rem;
}

.modal-open {
  overflow: hidden;
}

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

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;
}

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

.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}

@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}

.modal.show .modal-dialog {
  transform: none;
}

.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem);
}

.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 1rem);
  overflow: hidden;
}

.modal-dialog-scrollable .modal-header,
.modal-dialog-scrollable .modal-footer {
  flex-shrink: 0;
}

.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}

.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 1rem);
  height: min-content;
  content: "";
}

.modal-dialog-centered.modal-dialog-scrollable {
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.modal-dialog-centered.modal-dialog-scrollable .modal-content {
  max-height: none;
}

.modal-dialog-centered.modal-dialog-scrollable::before {
  content: none;
}

.modal-content {
  position: relative;
  display: flex;
  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;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop.show {
  opacity: 0.5;
}

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}

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

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

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

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px);
}

.modal-footer > * {
  margin: 0.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-scrollable {
    max-height: calc(100% - 3.5rem);
  }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem);
  }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }
  .modal-dialog-centered::before {
    height: calc(100vh - 3.5rem);
    height: min-content;
  }
  .modal-sm {
    max-width: 300px;
  }
}

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

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

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  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, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  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);
}

.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before {
  bottom: 0;
  border-width: 0.5rem 0.5rem 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-width: 0.5rem 0.5rem 0;
  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);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}

.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before {
  left: 0;
  border-width: 0.5rem 0.5rem 0.5rem 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-width: 0.5rem 0.5rem 0.5rem 0;
  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);
}

.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
  top: 0;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  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-width: 0 0.5rem 0.5rem 0.5rem;
  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);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}

.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before {
  right: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  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-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #fff;
}

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  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.pointer-event {
  touch-action: pan-y;
}

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

.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

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

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

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

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1;
}

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-left,
  .carousel-fade .active.carousel-item-right {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}

.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.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: 50% / 100% 100% no-repeat;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}

.carousel-indicators li {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: .5;
  transition: opacity 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-indicators li {
    transition: none;
  }
}

.carousel-indicators .active {
  opacity: 1;
}

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

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: .75s linear infinite spinner-border;
}

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}

.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: .75s linear infinite spinner-grow;
}

.spinner-grow-sm {
  width: 1rem;
  height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    animation-duration: 1.5s;
  }
}

.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-sm {
  border-radius: 0.2rem !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-lg {
  border-radius: 0.3rem !important;
}

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

.rounded-pill {
  border-radius: 50rem !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: flex !important;
}

.d-inline-flex {
  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: flex !important;
  }
  .d-sm-inline-flex {
    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: flex !important;
  }
  .d-md-inline-flex {
    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: flex !important;
  }
  .d-lg-inline-flex {
    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: flex !important;
  }
  .d-xl-inline-flex {
    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: flex !important;
  }
  .d-print-inline-flex {
    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.85714%;
}

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

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

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

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

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

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

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

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

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

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

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

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

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

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

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

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

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    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;
  }
}

.user-select-all {
  user-select: all !important;
}

.user-select-auto {
  user-select: auto !important;
}

.user-select-none {
  user-select: none !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

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

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

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

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

.position-sticky {
  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: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

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

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

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

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

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

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

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

.w-auto {
  width: auto !important;
}

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

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

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

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

.h-auto {
  height: auto !important;
}

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

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

.min-vw-100 {
  min-width: 100vw !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.vw-100 {
  width: 100vw !important;
}

.vh-100 {
  height: 100vh !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-n1 {
  margin: -0.25rem !important;
}

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

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

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

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

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

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

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

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important;
}

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important;
}

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

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

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

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

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

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

.mt-n4,
.my-n4 {
  margin-top: -1.5rem !important;
}

.mr-n4,
.mx-n4 {
  margin-right: -1.5rem !important;
}

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important;
}

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important;
}

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

.mt-n5,
.my-n5 {
  margin-top: -3rem !important;
}

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important;
}

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important;
}

.ml-n5,
.mx-n5 {
  margin-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-n1 {
    margin: -0.25rem !important;
  }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important;
  }
  .m-sm-n2 {
    margin: -0.5rem !important;
  }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.5rem !important;
  }
  .m-sm-n3 {
    margin: -1rem !important;
  }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important;
  }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important;
  }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important;
  }
  .m-sm-n4 {
    margin: -1.5rem !important;
  }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1.5rem !important;
  }
  .m-sm-n5 {
    margin: -3rem !important;
  }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important;
  }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important;
  }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-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-n1 {
    margin: -0.25rem !important;
  }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important;
  }
  .m-md-n2 {
    margin: -0.5rem !important;
  }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.5rem !important;
  }
  .m-md-n3 {
    margin: -1rem !important;
  }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important;
  }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important;
  }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important;
  }
  .m-md-n4 {
    margin: -1.5rem !important;
  }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1.5rem !important;
  }
  .m-md-n5 {
    margin: -3rem !important;
  }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important;
  }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important;
  }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-md-n5,
  .mx-md-n5 {
    margin-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-n1 {
    margin: -0.25rem !important;
  }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.25rem !important;
  }
  .m-lg-n2 {
    margin: -0.5rem !important;
  }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.5rem !important;
  }
  .m-lg-n3 {
    margin: -1rem !important;
  }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important;
  }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -1rem !important;
  }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -1rem !important;
  }
  .m-lg-n4 {
    margin: -1.5rem !important;
  }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1.5rem !important;
  }
  .m-lg-n5 {
    margin: -3rem !important;
  }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important;
  }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -3rem !important;
  }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-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-n1 {
    margin: -0.25rem !important;
  }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.25rem !important;
  }
  .m-xl-n2 {
    margin: -0.5rem !important;
  }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.5rem !important;
  }
  .m-xl-n3 {
    margin: -1rem !important;
  }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important;
  }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -1rem !important;
  }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -1rem !important;
  }
  .m-xl-n4 {
    margin: -1.5rem !important;
  }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1.5rem !important;
  }
  .m-xl-n5 {
    margin: -3rem !important;
  }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important;
  }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -3rem !important;
  }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-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;
  }
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

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

.text-wrap {
  white-space: normal !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-lighter {
  font-weight: lighter !important;
}

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

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

.font-weight-bolder {
  font-weight: bolder !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: #0056b3 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.text-body {
  color: #212529 !important;
}

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

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

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

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

.text-break {
  word-break: break-word !important;
  word-wrap: break-word !important;
}

.text-reset {
  color: inherit !important;
}

.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 #adb5bd;
    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 #dee2e6 !important;
  }
  .table-dark {
    color: inherit;
  }
  .table-dark th,
  .table-dark td,
  .table-dark thead th,
  .table-dark tbody + tbody {
    border-color: #dee2e6;
  }
  .table .thead-dark th {
    color: inherit;
    border-color: #dee2e6;
  }
}

/*
Template Name: Material Pro Admin
Author: Themedesigner
Email: niravjoshi87@gmail.com
File: scss
*/
/*Theme Colors*/
/*Light colors*/
/*Normal Color*/
/*Extra Variable*/
/*Preloader*/
.preloader {
  width: 100%;
  height: 100%;
  top: 0px;
  position: fixed;
  z-index: 99999;
  background: #fff;
}

.preloader .cssload-speeding-wheel {
  position: absolute;
  top: calc(50% - 3.5px);
  left: calc(50% - 3.5px);
}

/*
Template Name: Material Pro Admin
Author: Themedesigner
Email: niravjoshi87@gmail.com
File: scss
*/
/**
 * Table Of Content
 *
 * 	1. Globals
 *	2. Headers
 *	3. Navigations
 *	4. Banners
 *	5. Footers
 *	6. Posts
 *	7. Widgets
 *	8. Custom Templates
 */
/******************* 
Global Styles 
*******************/
* {
  outline: none;
}

body {
  background: #fff;
  font-family: "Arial", sans-serif;
  margin: 0;
  overflow-x: hidden;
  color: #333;
  font-weight: 300;
}

html {
  position: relative;
  min-height: 100%;
  background: #ffffff;
}

a:hover, a:focus {
  text-decoration: none;
}

a.link {
  color: #455a64;
}

a.link:hover, a.link:focus {
  color: #1e88e5;
}

hr {
  border-color: #26c6da;
}

.img-responsive {
  width: 100%;
  height: auto;
  display: inline-block;
}

.img-rounded {
  border-radius: 4px;
}

html body .mdi:before, html body .mdi-set {
  line-height: initial;
}

/*******************
Headings
*******************/
h1, h2, h3, h4, h5, h6 {
  color: #455a64;
  font-family: "Arial", sans-serif;
  font-weight: 400;
}

h1 {
  line-height: 40px;
  font-size: 36px;
}

h2 {
  line-height: 36px;
  font-size: 24px;
}

h3 {
  line-height: 30px;
  font-size: 21px;
}

h4 {
  line-height: 22px;
  font-size: 18px;
}

h5 {
  line-height: 18px;
  font-size: 16px;
  font-weight: 400;
}

h6 {
  line-height: 16px;
  font-size: 14px;
  font-weight: 400;
}

.display-5 {
  font-size: 3rem;
}

.display-6 {
  font-size: 36px;
}

.box {
  border-radius: 4px;
  padding: 10px;
}

html body .dl {
  display: inline-block;
}

html body .db {
  display: block;
}

.no-wrap td, .no-wrap th {
  white-space: nowrap;
}

/*******************
Blockquote
*******************/
html body blockquote {
  border-left: 5px solid #1e88e5;
  border: 1px solid rgba(120, 130, 140, 0.13);
  padding: 15px;
}

.clear {
  clear: both;
}

ol li {
  margin: 5px 0;
}

/*******************
Paddings
*******************/
html body .p-0 {
  padding: 0px;
}

html body .p-10 {
  padding: 10px;
}

html body .p-20 {
  padding: 20px;
}

html body .p-30 {
  padding: 30px;
}

html body .p-l-0 {
  padding-left: 0px;
}

html body .p-l-10 {
  padding-left: 10px;
}

html body .p-l-20 {
  padding-left: 20px;
}

html body .p-r-0 {
  padding-right: 0px;
}

html body .p-r-10 {
  padding-right: 10px;
}

html body .p-r-20 {
  padding-right: 20px;
}

html body .p-r-30 {
  padding-right: 30px;
}

html body .p-r-40 {
  padding-right: 40px;
}

html body .p-t-0 {
  padding-top: 0px;
}

html body .p-t-10 {
  padding-top: 10px;
}

html body .p-t-20 {
  padding-top: 20px;
}

html body .p-t-30 {
  padding-top: 30px;
}

html body .p-b-0 {
  padding-bottom: 0px;
}

html body .p-b-5 {
  padding-bottom: 5px;
}

html body .p-b-10 {
  padding-bottom: 10px;
}

html body .p-b-20 {
  padding-bottom: 20px;
}

html body .p-b-30 {
  padding-bottom: 30px;
}

html body .p-b-40 {
  padding-bottom: 40px;
}

/*******************
Margin
*******************/
html body .m-0 {
  margin: 0px;
}

html body .m-l-5 {
  margin-left: 5px;
}

html body .m-l-10 {
  margin-left: 10px;
}

html body .m-l-15 {
  margin-left: 15px;
}

html body .m-l-20 {
  margin-left: 20px;
}

html body .m-l-30 {
  margin-left: 30px;
}

html body .m-l-40 {
  margin-left: 40px;
}

html body .m-r-5 {
  margin-right: 5px;
}

html body .m-r-10 {
  margin-right: 10px;
}

html body .m-r-15 {
  margin-right: 15px;
}

html body .m-r-20 {
  margin-right: 20px;
}

html body .m-r-30 {
  margin-right: 30px;
}

html body .m-r-40 {
  margin-right: 40px;
}

html body .m-t-0 {
  margin-top: 0px;
}

html body .m-t-5 {
  margin-top: 5px;
}

html body .m-t-10 {
  margin-top: 10px;
}

html body .m-t-15 {
  margin-top: 15px;
}

html body .m-t-20 {
  margin-top: 20px;
}

html body .m-t-30 {
  margin-top: 30px;
}

html body .m-t-40 {
  margin-top: 40px;
}

html body .m-b-0 {
  margin-bottom: 0px;
}

html body .m-b-5 {
  margin-bottom: 5px;
}

html body .m-b-10 {
  margin-bottom: 10px;
}

html body .m-b-15 {
  margin-bottom: 15px;
}

html body .m-b-20 {
  margin-bottom: 20px;
}

html body .m-b-30 {
  margin-bottom: 30px;
}

html body .m-b-40 {
  margin-bottom: 40px;
}

/*******************
vertical alignment
*******************/
html body .vt {
  vertical-align: top;
}

html body .vm {
  vertical-align: middle;
}

html body .vb {
  vertical-align: bottom;
}

/*******************
Opacity
*******************/
.op-5 {
  opacity: 0.5;
}

/*******************
font weight
*******************/
html body .font-bold {
  font-weight: 700;
}

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

html body .font-light {
  font-weight: 300;
}

html body .font-medium {
  font-weight: 500;
}

html body .font-16 {
  font-size: 16px;
}

html body .font-14 {
  font-size: 14px;
}

html body .font-10 {
  font-size: 10px;
}

html body .font-18 {
  font-size: 18px;
}

html body .font-20 {
  font-size: 20px;
}

/*******************
Border
*******************/
html body .b-0 {
  border: none;
}

html body .b-r {
  border-right: 1px solid rgba(120, 130, 140, 0.13);
}

html body .b-l {
  border-left: 1px solid rgba(120, 130, 140, 0.13);
}

html body .b-b {
  border-bottom: 1px solid rgba(120, 130, 140, 0.13);
}

html body .b-t {
  border-top: 1px solid rgba(120, 130, 140, 0.13);
}

html body .b-all {
  border: 1px solid rgba(120, 130, 140, 0.13);
}

/*******************
Thumb size
*******************/
.thumb-sm {
  height: 32px;
  width: 32px;
}

.thumb-md {
  height: 48px;
  width: 48px;
}

.thumb-lg {
  height: 88px;
  width: 88px;
}

.hide {
  display: none;
}

.img-circle {
  border-radius: 100%;
}

.radius {
  border-radius: 4px;
}

/*******************
Text Colors
*******************/
.text-white {
  color: #ffffff !important;
}

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

.text-muted {
  color: #99abb4 !important;
}

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

.text-success {
  color: #199c35 !important;
}

.text-info {
  color: #1e88e5 !important;
}

.text-inverse {
  color: #2f3d4a !important;
}

html body .text-blue {
  color: #02bec9;
}

html body .text-purple {
  color: #7460ee;
}

html body .text-primary {
  color: #1e88e5;
}

html body .text-megna {
  color: #00897b;
}

html body .text-dark {
  color: #333;
}

html body .text-themecolor {
  color: #1e88e5;
}

/*******************
Background Colors
*******************/
.bg-primary {
  background-color: #1e88e5 !important;
}

.bg-success {
  background-color: #199c35 !important;
}

.bg-info {
  background-color: #1e88e5 !important;
}

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

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

html body .bg-megna {
  background-color: #00897b;
}

html body .bg-theme {
  background-color: #1e88e5;
}

html body .bg-inverse {
  background-color: #2f3d4a;
}

html body .bg-purple {
  background-color: #7460ee;
}

html body .bg-light-primary {
  background-color: #f1effd;
}

html body .bg-light-success {
  background-color: #e8fdeb;
}

html body .bg-light-info {
  background-color: #cfecfe;
}

html body .bg-light-extra {
  background-color: #ebf3f5;
}

html body .bg-light-warning {
  background-color: #fff8ec;
}

html body .bg-light-danger {
  background-color: #f9e7eb;
}

html body .bg-light-inverse {
  background-color: #f6f6f6;
}

html body .bg-light {
  background-color: #f2f4f8;
}

html body .bg-white {
  background-color: #ffffff;
}

/*******************
Rounds
*******************/
.round {
  line-height: 48px;
  color: #ffffff;
  width: 45px;
  height: 45px;
  display: inline-block;
  font-weight: 400;
  text-align: center;
  border-radius: 100%;
  background: #1e88e5;
}

.round img {
  border-radius: 100%;
}

.round-lg {
  line-height: 65px;
  width: 60px;
  height: 60px;
  font-size: 30px;
}

.round.round-info {
  background: #1e88e5;
}

.round.round-warning {
  background: #ffb22b;
}

.round.round-danger {
  background: #fc4b6c;
}

.round.round-success {
  background: #199c35;
}

.round.round-primary {
  background: #1e88e5;
}

/*******************
Labels
*******************/
.label {
  padding: 3px 10px;
  line-height: 13px;
  color: #ffffff;
  font-weight: 400;
  border-radius: 4px;
  font-size: 75%;
}

.label-rounded {
  border-radius: 60px;
}

.label-custom {
  background-color: #00897b;
}

.label-success {
  background-color: #199c35;
}

.label-info {
  background-color: #1e88e5;
}

.label-warning {
  background-color: #ffb22b;
}

.label-danger {
  background-color: #fc4b6c;
}

.label-megna {
  background-color: #00897b;
}

.label-primary {
  background-color: #1e88e5;
}

.label-purple {
  background-color: #7460ee;
}

.label-red {
  background-color: #fb3a3a;
}

.label-inverse {
  background-color: #2f3d4a;
}

.label-default {
  background-color: #f2f4f8;
}

.label-white {
  background-color: #ffffff;
}

.label-light-success {
  background-color: #e8fdeb;
  color: #199c35;
}

.label-light-info {
  background-color: #cfecfe;
  color: #1e88e5;
}

.label-light-warning {
  background-color: #fff8ec;
  color: #ffb22b;
}

.label-light-danger {
  background-color: #f9e7eb;
  color: #fc4b6c;
}

.label-light-megna {
  background-color: #e0f2f4;
  color: #00897b;
}

.label-light-primary {
  background-color: #f1effd;
  color: #1e88e5;
}

.label-light-inverse {
  background-color: #f6f6f6;
  color: #2f3d4a;
}

/*******************
Pagination
*******************/
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}

.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}

.pagination > li > a,
.pagination > li > span {
  color: #263238;
}

.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  background-color: #f2f4f8;
}

.pagination-split li {
  margin-left: 5px;
  display: inline-block;
}

.pagination-split li:first-child {
  margin-left: 0;
}

.pagination-split li a {
  -moz-border-radius: 4px;
  border-radius: 4px;
  border-radius: 4px;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  background-color: #1e88e5;
  border-color: #1e88e5;
}

.pager li > a,
.pager li > span {
  -moz-border-radius: 4px;
  border-radius: 4px;
  border-radius: 4px;
  color: #263238;
}

/*******************
Table Cell
*******************/
.table-box {
  display: table;
  width: 100%;
}

.table.no-border tbody td {
  border: 0px;
}

.cell {
  display: table-cell;
  vertical-align: middle;
}

.table td,
.table th {
  border-color: #f3f1f1;
}

.table thead th, .table th {
  font-weight: 500;
}

.table-hover tbody tr:hover {
  background: #f2f4f8;
}

.v-middle td, .v-middle th {
  vertical-align: middle;
}

/*******************
Wave Effects
*******************/
.waves-effect {
  position: relative;
  cursor: pointer;
  display: inline-block;
  overflow: hidden;
  user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  vertical-align: middle;
  z-index: 1;
  will-change: opacity, transform;
  transition: all 0.1s ease-out;
  -moz-transition: all 0.1s ease-out;
  -o-transition: all 0.1s ease-out;
  -ms-transition: all 0.1s ease-out;
  transition: all 0.1s ease-out;
}

.waves-effect .waves-ripple {
  position: absolute;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px;
  opacity: 0;
  background: rgba(0, 0, 0, 0.2);
  transition: all 0.7s ease-out;
  -moz-transition: all 0.7s ease-out;
  -o-transition: all 0.7s ease-out;
  -ms-transition: all 0.7s ease-out;
  transition: all 0.7s ease-out;
  transition-property: transform, opacity;
  -moz-transition-property: -moz-transform, opacity;
  -o-transition-property: -o-transform, opacity;
  transition-property: transform, opacity;
  transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  pointer-events: none;
}

.waves-effect.waves-light .waves-ripple {
  background-color: rgba(255, 255, 255, 0.45);
}

.waves-effect.waves-red .waves-ripple {
  background-color: rgba(244, 67, 54, 0.7);
}

.waves-effect.waves-yellow .waves-ripple {
  background-color: rgba(255, 235, 59, 0.7);
}

.waves-effect.waves-orange .waves-ripple {
  background-color: rgba(255, 152, 0, 0.7);
}

.waves-effect.waves-purple .waves-ripple {
  background-color: rgba(156, 39, 176, 0.7);
}

.waves-effect.waves-green .waves-ripple {
  background-color: rgba(76, 175, 80, 0.7);
}

.waves-effect.waves-teal .waves-ripple {
  background-color: rgba(0, 150, 136, 0.7);
}

html body .waves-notransition {
  transition: none;
  -moz-transition: none;
  -o-transition: none;
  -ms-transition: none;
  transition: none;
}

.waves-circle {
  transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
  text-align: center;
  width: 2.5em;
  height: 2.5em;
  line-height: 2.5em;
  border-radius: 50%;
}

.waves-input-wrapper {
  border-radius: 0.2em;
  vertical-align: bottom;
}

.waves-input-wrapper .waves-button-input {
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
}

.waves-block {
  display: block;
}

/*Badge*/
.badge {
  font-weight: 400;
}

.badge-xs {
  font-size: 9px;
}

.badge-xs,
.badge-sm {
  transform: translate(0, -2px);
  -ms-transform: translate(0, -2px);
  -o-transform: translate(0, -2px);
  transform: translate(0, -2px);
}

.badge-success {
  background-color: #199c35;
}

.badge-info {
  background-color: #1e88e5;
}

.badge-primary {
  background-color: #1e88e5;
}

.badge-warning {
  background-color: #ffb22b;
}

.badge-danger {
  background-color: #fc4b6c;
}

.badge-purple {
  background-color: #7460ee;
}

.badge-red {
  background-color: #fb3a3a;
}

.badge-inverse {
  background-color: #2f3d4a;
}

/*******************
Buttons
******************/
.btn {
  padding: 7px 12px;
  font-size: 14px;
  cursor: pointer;
}

.btn-group label {
  color: #ffffff !important;
  margin-bottom: 0px;
}

.btn-group label.btn-secondary {
  color: #333 !important;
}

.btn-lg, .btn-group-lg > .btn {
  padding: .75rem 1.5rem;
  font-size: 1.25rem;
}

.btn-md {
  padding: 12px 55px;
  font-size: 16px;
}

.btn-circle {
  border-radius: 100%;
  width: 40px;
  height: 40px;
  padding: 10px;
}

.btn-circle.btn-sm, .btn-group-sm > .btn-circle.btn {
  width: 35px;
  height: 35px;
  padding: 8px 10px;
  font-size: 14px;
}

.btn-circle.btn-lg, .btn-group-lg > .btn-circle.btn {
  width: 50px;
  height: 50px;
  padding: 14px 15px;
  font-size: 18px;
}

.btn-circle.btn-xl {
  width: 70px;
  height: 70px;
  padding: 14px 15px;
  font-size: 24px;
}

.btn-sm, .btn-group-sm > .btn {
  padding: .25rem .5rem;
  font-size: 12px;
}

.btn-xs {
  padding: .25rem .5rem;
  font-size: 10px;
}

.button-list button, .button-list a {
  margin: 5px 12px 5px 0;
}

.btn-outline {
  color: inherit;
  background-color: transparent;
  transition: all .5s;
}

.btn-rounded {
  border-radius: 60px;
  padding: 7px 18px;
}

.btn-rounded.btn-lg, .btn-group-lg > .btn-rounded.btn {
  padding: .75rem 1.5rem;
}

.btn-rounded.btn-sm, .btn-group-sm > .btn-rounded.btn {
  padding: .25rem .5rem;
  font-size: 12px;
}

.btn-rounded.btn-xs {
  padding: .25rem .5rem;
  font-size: 10px;
}

.btn-rounded.btn-md {
  padding: 12px 35px;
  font-size: 16px;
}

.btn-secondary,
.btn-secondary.disabled {
  box-shadow: 0 2px 2px 0 rgba(169, 169, 169, 0.14), 0 3px 1px -2px rgba(169, 169, 169, 0.2), 0 1px 5px 0 rgba(169, 169, 169, 0.12);
  transition: 0.2s ease-in;
}

.btn-secondary:hover,
.btn-secondary.disabled:hover {
  box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2);
}

.btn-secondary.active, .btn-secondary:focus,
.btn-secondary.disabled.active,
.btn-secondary.disabled:focus {
  box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2);
}

.btn-primary,
.btn-primary.disabled {
  background: #1e88e5;
  border: 1px solid #1e88e5;
  box-shadow: 0 2px 2px 0 rgba(116, 96, 238, 0.14), 0 3px 1px -2px rgba(116, 96, 238, 0.2), 0 1px 5px 0 rgba(116, 96, 238, 0.12);
  transition: 0.2s ease-in;
}

.btn-primary:hover,
.btn-primary.disabled:hover {
  background: #1e88e5;
  box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2);
  border: 1px solid #1e88e5;
}

.btn-primary.active, .btn-primary:focus,
.btn-primary.disabled.active,
.btn-primary.disabled:focus {
  background: #6352ce;
  box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2);
}

.btn-themecolor,
.btn-themecolor.disabled {
  background: #1e88e5;
  color: #ffffff;
  border: 1px solid #1e88e5;
}

.btn-themecolor:hover,
.btn-themecolor.disabled:hover {
  background: #1e88e5;
  opacity: 0.7;
  border: 1px solid #1e88e5;
}

.btn-themecolor.active, .btn-themecolor:focus,
.btn-themecolor.disabled.active,
.btn-themecolor.disabled:focus {
  background: #2c2e38;
}

.btn-success,
.btn-success.disabled {
  background: #199c35;
  border: 1px solid #199c35;
  box-shadow: 0 2px 2px 0 rgba(40, 190, 189, 0.14), 0 3px 1px -2px rgba(40, 190, 189, 0.2), 0 1px 5px 0 rgba(40, 190, 189, 0.12);
  transition: 0.2s ease-in;
}

.btn-success:hover,
.btn-success.disabled:hover {
  background: #199c35;
  box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2);
  border: 1px solid #199c35;
}

.btn-success.active, .btn-success:focus,
.btn-success.disabled.active,
.btn-success.disabled:focus {
  background: #1eacbe;
  box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2);
}

.btn-info,
.btn-info.disabled {
  background: #1e88e5;
  border: 1px solid #1e88e5;
  box-shadow: 0 2px 2px 0 rgba(66, 165, 245, 0.14), 0 3px 1px -2px rgba(66, 165, 245, 0.2), 0 1px 5px 0 rgba(66, 165, 245, 0.12);
  transition: 0.2s ease-in;
}

.btn-info:hover,
.btn-info.disabled:hover {
  background: #1e88e5;
  border: 1px solid #1e88e5;
  box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2);
}

.btn-info.active, .btn-info:focus,
.btn-info.disabled.active,
.btn-info.disabled:focus {
  background: #028ee1;
  box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2);
}

.btn-warning,
.btn-warning.disabled {
  background: #ffb22b;
  box-shadow: 0 2px 2px 0 rgba(248, 194, 0, 0.14), 0 3px 1px -2px rgba(248, 194, 0, 0.2), 0 1px 5px 0 rgba(248, 194, 0, 0.12);
  border: 1px solid #ffb22b;
  transition: 0.2s ease-in;
}

.btn-warning:hover,
.btn-warning.disabled:hover {
  background: #ffb22b;
  box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2);
  border: 1px solid #ffb22b;
}

.btn-warning.active, .btn-warning:focus,
.btn-warning.disabled.active,
.btn-warning.disabled:focus {
  background: #e9ab2e;
  box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2);
}

.btn-danger,
.btn-danger.disabled {
  background: #fc4b6c;
  border: 1px solid #fc4b6c;
  box-shadow: 0 2px 2px 0 rgba(239, 83, 80, 0.14), 0 3px 1px -2px rgba(239, 83, 80, 0.2), 0 1px 5px 0 rgba(239, 83, 80, 0.12);
  transition: 0.2s ease-in;
}

.btn-danger:hover,
.btn-danger.disabled:hover {
  background: #fc4b6c;
  box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2);
  border: 1px solid #fc4b6c;
}

.btn-danger.active, .btn-danger:focus,
.btn-danger.disabled.active,
.btn-danger.disabled:focus {
  background: #e6294b;
  box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2);
}

.btn-inverse,
.btn-inverse.disabled {
  background: #2f3d4a;
  border: 1px solid #2f3d4a;
  color: #ffffff;
}

.btn-inverse:hover,
.btn-inverse.disabled:hover {
  background: #2f3d4a;
  opacity: 0.7;
  color: #ffffff;
  border: 1px solid #2f3d4a;
}

.btn-inverse.active, .btn-inverse:focus,
.btn-inverse.disabled.active,
.btn-inverse.disabled:focus {
  background: #232a37;
  color: #ffffff;
}

.btn-red,
.btn-red.disabled {
  background: #fb3a3a;
  border: 1px solid #fb3a3a;
  color: #ffffff;
}

.btn-red:hover,
.btn-red.disabled:hover {
  opacity: 0.7;
  border: 1px solid #fb3a3a;
  background: #fb3a3a;
}

.btn-red.active, .btn-red:focus,
.btn-red.disabled.active,
.btn-red.disabled:focus {
  background: #e6294b;
}

.btn-outline-secondary {
  background-color: #ffffff;
  box-shadow: 0 2px 2px 0 rgba(169, 169, 169, 0.14), 0 3px 1px -2px rgba(169, 169, 169, 0.2), 0 1px 5px 0 rgba(169, 169, 169, 0.12);
  transition: 0.2s ease-in;
}

.btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary.focus {
  box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2);
}

.btn-outline-secondary.active, .btn-outline-secondary:focus {
  box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2);
}

.btn-outline-primary {
  color: #1e88e5;
  background-color: #ffffff;
  border-color: #1e88e5;
  box-shadow: 0 2px 2px 0 rgba(116, 96, 238, 0.14), 0 3px 1px -2px rgba(116, 96, 238, 0.2), 0 1px 5px 0 rgba(116, 96, 238, 0.12);
  transition: 0.2s ease-in;
}

.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary.focus {
  background: #1e88e5;
  box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2);
  color: #ffffff;
  border-color: #1e88e5;
}

.btn-outline-primary.active, .btn-outline-primary:focus {
  box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2);
}

.btn-outline-success {
  color: #199c35;
  background-color: transparent;
  border-color: #199c35;
  box-shadow: 0 2px 2px 0 rgba(40, 190, 189, 0.14), 0 3px 1px -2px rgba(40, 190, 189, 0.2), 0 1px 5px 0 rgba(40, 190, 189, 0.12);
  transition: 0.2s ease-in;
}

.btn-outline-success:hover, .btn-outline-success:focus, .btn-outline-success.focus {
  background: #199c35;
  border-color: #199c35;
  color: #ffffff;
  box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2);
}

.btn-outline-success.active, .btn-outline-success:focus {
  box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2);
}

.btn-outline-info {
  color: #1e88e5;
  background-color: transparent;
  border-color: #1e88e5;
  box-shadow: 0 2px 2px 0 rgba(66, 165, 245, 0.14), 0 3px 1px -2px rgba(66, 165, 245, 0.2), 0 1px 5px 0 rgba(66, 165, 245, 0.12);
  transition: 0.2s ease-in;
}

.btn-outline-info:hover, .btn-outline-info:focus, .btn-outline-info.focus {
  background: #1e88e5;
  border-color: #1e88e5;
  color: #ffffff;
  box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2);
}

.btn-outline-info.active, .btn-outline-info:focus {
  box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2);
}

.btn-outline-warning {
  color: #ffb22b;
  background-color: transparent;
  border-color: #ffb22b;
  box-shadow: 0 2px 2px 0 rgba(248, 194, 0, 0.14), 0 3px 1px -2px rgba(248, 194, 0, 0.2), 0 1px 5px 0 rgba(248, 194, 0, 0.12);
  transition: 0.2s ease-in;
}

.btn-outline-warning:hover, .btn-outline-warning:focus, .btn-outline-warning.focus {
  background: #ffb22b;
  border-color: #ffb22b;
  color: #ffffff;
  box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2);
}

.btn-outline-warning.active, .btn-outline-warning:focus {
  box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2);
}

.btn-outline-danger {
  color: #fc4b6c;
  background-color: transparent;
  border-color: #fc4b6c;
  box-shadow: 0 2px 2px 0 rgba(239, 83, 80, 0.14), 0 3px 1px -2px rgba(239, 83, 80, 0.2), 0 1px 5px 0 rgba(239, 83, 80, 0.12);
  transition: 0.2s ease-in;
}

.btn-outline-danger:hover, .btn-outline-danger:focus, .btn-outline-danger.focus {
  background: #fc4b6c;
  border-color: #fc4b6c;
  color: #ffffff;
  box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2);
}

.btn-outline-danger.active, .btn-outline-danger:focus {
  box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2);
}

.btn-outline-red {
  color: #fb3a3a;
  background-color: transparent;
  border-color: #fb3a3a;
}

.btn-outline-red:hover, .btn-outline-red:focus, .btn-outline-red.focus {
  background: #fb3a3a;
  border-color: #fb3a3a;
  color: #ffffff;
  box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2);
}

.btn-outline-red.active, .btn-outline-red:focus {
  box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2);
}

.btn-outline-inverse {
  color: #2f3d4a;
  background-color: transparent;
  border-color: #2f3d4a;
}

.btn-outline-inverse:hover, .btn-outline-inverse:focus, .btn-outline-inverse.focus {
  background: #2f3d4a;
  border-color: #2f3d4a;
  color: #ffffff;
}

.btn-primary.active.focus,
.btn-primary.active:focus,
.btn-primary.active:hover,
.btn-primary.focus:active,
.btn-primary:active:focus,
.btn-primary:active:hover,
.open > .dropdown-toggle.btn-primary.focus,
.open > .dropdown-toggle.btn-primary:focus,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary.focus,
.btn-primary:focus {
  background-color: #6352ce;
  border: 1px solid #6352ce;
}

.btn-success.active.focus,
.btn-success.active:focus,
.btn-success.active:hover,
.btn-success.focus:active,
.btn-success:active:focus,
.btn-success:active:hover,
.open > .dropdown-toggle.btn-success.focus,
.open > .dropdown-toggle.btn-success:focus,
.open > .dropdown-toggle.btn-success:hover,
.btn-success.focus,
.btn-success:focus {
  background-color: #1eacbe;
  border: 1px solid #1eacbe;
}

.btn-info.active.focus,
.btn-info.active:focus,
.btn-info.active:hover,
.btn-info.focus:active,
.btn-info:active:focus,
.btn-info:active:hover,
.open > .dropdown-toggle.btn-info.focus,
.open > .dropdown-toggle.btn-info:focus,
.open > .dropdown-toggle.btn-info:hover,
.btn-info.focus,
.btn-info:focus {
  background-color: #028ee1;
  border: 1px solid #028ee1;
}

.btn-warning.active.focus,
.btn-warning.active:focus,
.btn-warning.active:hover,
.btn-warning.focus:active,
.btn-warning:active:focus,
.btn-warning:active:hover,
.open > .dropdown-toggle.btn-warning.focus,
.open > .dropdown-toggle.btn-warning:focus,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning.focus,
.btn-warning:focus {
  background-color: #e9ab2e;
  border: 1px solid #e9ab2e;
}

.btn-danger.active.focus,
.btn-danger.active:focus,
.btn-danger.active:hover,
.btn-danger.focus:active,
.btn-danger:active:focus,
.btn-danger:active:hover,
.open > .dropdown-toggle.btn-danger.focus,
.open > .dropdown-toggle.btn-danger:focus,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger.focus,
.btn-danger:focus {
  background-color: #e6294b;
  border: 1px solid #e6294b;
}

.btn-inverse:hover,
.btn-inverse:focus,
.btn-inverse:active,
.btn-inverse.active,
.btn-inverse.focus,
.btn-inverse:active,
.btn-inverse:focus,
.btn-inverse:hover,
.open > .dropdown-toggle.btn-inverse {
  background-color: #232a37;
  border: 1px solid #232a37;
}

.btn-red:hover,
.btn-red:focus,
.btn-red:active,
.btn-red.active,
.btn-red.focus,
.btn-red:active,
.btn-red:focus,
.btn-red:hover,
.open > .dropdown-toggle.btn-red {
  background-color: #d61f1f;
  border: 1px solid #d61f1f;
  color: #ffffff;
}

.button-box .btn {
  margin: 0 8px 8px 0px;
}

.btn-label {
  background: rgba(0, 0, 0, 0.05);
  display: inline-block;
  margin: -6px 12px -6px -14px;
  padding: 7px 15px;
}

.btn-facebook {
  color: #ffffff;
  background-color: #3b5998;
}

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

.btn-linkedin {
  color: #ffffff;
  background-color: #007bb6;
}

.btn-dribbble {
  color: #ffffff;
  background-color: #ea4c89;
}

.btn-googleplus {
  color: #ffffff;
  background-color: #dd4b39;
}

.btn-instagram {
  color: #ffffff;
  background-color: #3f729b;
}

.btn-pinterest {
  color: #ffffff;
  background-color: #cb2027;
}

.btn-dropbox {
  color: #ffffff;
  background-color: #007ee5;
}

.btn-flickr {
  color: #ffffff;
  background-color: #ff0084;
}

.btn-tumblr {
  color: #ffffff;
  background-color: #32506d;
}

.btn-skype {
  color: #ffffff;
  background-color: #00aff0;
}

.btn-youtube {
  color: #ffffff;
  background-color: #bb0000;
}

.btn-github {
  color: #ffffff;
  background-color: #171515;
}

/*******************
Notify
*******************/
.notify {
  position: relative;
  top: -25px;
  right: -7px;
}

.notify .heartbit {
  position: absolute;
  top: -20px;
  right: -4px;
  height: 25px;
  width: 25px;
  z-index: 10;
  border: 5px solid #fc4b6c;
  border-radius: 70px;
  -moz-animation: heartbit 1s ease-out;
  -moz-animation-iteration-count: infinite;
  -o-animation: heartbit 1s ease-out;
  -o-animation-iteration-count: infinite;
  animation: heartbit 1s ease-out;
  animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.notify .point {
  width: 6px;
  height: 6px;
  border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  background-color: #fc4b6c;
  position: absolute;
  right: 6px;
  top: -10px;
}

@-moz-keyframes heartbit {
  0% {
    -moz-transform: scale(0);
    opacity: 0.0;
  }
  25% {
    -moz-transform: scale(0.1);
    opacity: 0.1;
  }
  50% {
    -moz-transform: scale(0.5);
    opacity: 0.3;
  }
  75% {
    -moz-transform: scale(0.8);
    opacity: 0.5;
  }
  100% {
    -moz-transform: scale(1);
    opacity: 0.0;
  }
}

@keyframes heartbit {
  0% {
    transform: scale(0);
    opacity: 0.0;
  }
  25% {
    transform: scale(0.1);
    opacity: 0.1;
  }
  50% {
    transform: scale(0.5);
    opacity: 0.3;
  }
  75% {
    transform: scale(0.8);
    opacity: 0.5;
  }
  100% {
    transform: scale(1);
    opacity: 0.0;
  }
}

/*******************
dropdown-item
******************/
.dropdown-item {
  padding: 8px 1rem;
  color: #333;
}

/*******************
Custom-select
******************/
.custom-select {
  background: url("https://corporate.offlimits.co/images/theme/custom-select.png") right 0.75rem center no-repeat;
}

/*******************
textarea
******************/
textarea {
  resize: none;
}

/*******************
Form-control
******************/
.form-control {
  color: #333;
  min-height: 38px;
  display: initial;
}

.form-control-sm {
  min-height: 20px;
}

.form-control:disabled, .form-control[readonly] {
  opacity: 0.7;
}

.custom-control-input:focus ~ .custom-control-indicator {
  box-shadow: none;
}

.custom-control-input:checked ~ .custom-control-indicator {
  background-color: #199c35;
}

form label {
  font-weight: 400;
}

.form-group {
  margin-bottom: 15px;
}

.form-horizontal label {
  margin-bottom: 0px;
}

.form-control-static {
  padding-top: 0px;
}

.form-bordered .form-group {
  border-bottom: 1px solid rgba(120, 130, 140, 0.13);
  padding-bottom: 20px;
}

/*******************
Layouts
******************/
/*Card-noborders*/
.card-no-border .card {
  border-color: #d7dfe3;
  border-radius: 4px;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.05);
}

.card-no-border .sidebar-footer {
  background: #f2f6f8;
}

.card-no-border .sidebar-nav > ul > li > a.active {
  background: #ffffff;
}

.card-no-border .shadow-none {
  box-shadow: none;
}

.card-outline-danger, .card-outline-info, .card-outline-warning, .card-outline-success, .card-outline-primary {
  background: #ffffff;
}

.card-fullscreen {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
}

.card .card-header {
  background: #ffffff;
  border-bottom: 0px;
}

/*******************/
/*widgets -app*/
/*******************/
.css-bar:after {
  z-index: 1;
}

.css-bar > i {
  z-index: 10;
}

/*******************/
/*single column*/
/*******************/
.single-column .left-sidebar {
  display: none;
}

.single-column .page-wrapper {
  margin-left: 0px;
}

.fix-width {
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
}

/*
Template Name: Material Pro Admin
Author: Themedesigner
Email: niravjoshi87@gmail.com
File: scss
*/
@media (min-width: 1600px) {
  .col-xlg-1, .col-xlg-10, .col-xlg-11, .col-xlg-12, .col-xlg-2, .col-xlg-3, .col-xlg-4, .col-xlg-5, .col-xlg-6, .col-xlg-7, .col-xlg-8, .col-xlg-9 {
    float: left;
  }
  .col-xlg-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .col-xlg-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66666667%;
    -ms-flex: 0 0 91.66666667%;
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-xlg-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333333%;
    -ms-flex: 0 0 83.33333333%;
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-xlg-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xlg-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66666667%;
    -ms-flex: 0 0 66.66666667%;
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-xlg-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333333%;
    -ms-flex: 0 0 58.33333333%;
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-xlg-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xlg-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66666667%;
    -ms-flex: 0 0 41.66666667%;
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-xlg-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333333%;
    -ms-flex: 0 0 33.33333333%;
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-xlg-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xlg-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66666667%;
    -ms-flex: 0 0 16.66666667%;
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-xlg-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333333%;
    -ms-flex: 0 0 8.33333333%;
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-xlg-pull-12 {
    right: 100%;
  }
  .col-xlg-pull-11 {
    right: 91.66666667%;
  }
  .col-xlg-pull-10 {
    right: 83.33333333%;
  }
  .col-xlg-pull-9 {
    right: 75%;
  }
  .col-xlg-pull-8 {
    right: 66.66666667%;
  }
  .col-xlg-pull-7 {
    right: 58.33333333%;
  }
  .col-xlg-pull-6 {
    right: 50%;
  }
  .col-xlg-pull-5 {
    right: 41.66666667%;
  }
  .col-xlg-pull-4 {
    right: 33.33333333%;
  }
  .col-xlg-pull-3 {
    right: 25%;
  }
  .col-xlg-pull-2 {
    right: 16.66666667%;
  }
  .col-xlg-pull-1 {
    right: 8.33333333%;
  }
  .col-xlg-pull-0 {
    right: auto;
  }
  .col-xlg-push-12 {
    left: 100%;
  }
  .col-xlg-push-11 {
    left: 91.66666667%;
  }
  .col-xlg-push-10 {
    left: 83.33333333%;
  }
  .col-xlg-push-9 {
    left: 75%;
  }
  .col-xlg-push-8 {
    left: 66.66666667%;
  }
  .col-xlg-push-7 {
    left: 58.33333333%;
  }
  .col-xlg-push-6 {
    left: 50%;
  }
  .col-xlg-push-5 {
    left: 41.66666667%;
  }
  .col-xlg-push-4 {
    left: 33.33333333%;
  }
  .col-xlg-push-3 {
    left: 25%;
  }
  .col-xlg-push-2 {
    left: 16.66666667%;
  }
  .col-xlg-push-1 {
    left: 8.33333333%;
  }
  .col-xlg-push-0 {
    left: auto;
  }
  .offset-xlg-12 {
    margin-left: 100%;
  }
  .offset-xlg-11 {
    margin-left: 91.66666667%;
  }
  .offset-xlg-10 {
    margin-left: 83.33333333%;
  }
  .offset-xlg-9 {
    margin-left: 75%;
  }
  .offset-xlg-8 {
    margin-left: 66.66666667%;
  }
  .offset-xlg-7 {
    margin-left: 58.33333333%;
  }
  .offset-xlg-6 {
    margin-left: 50%;
  }
  .offset-xlg-5 {
    margin-left: 41.66666667%;
  }
  .offset-xlg-4 {
    margin-left: 33.33333333%;
  }
  .offset-xlg-3 {
    margin-left: 25%;
  }
  .offset-xlg-2 {
    margin-left: 16.66666667%;
  }
  .offset-xlg-1 {
    margin-left: 8.33333333%;
  }
  .offset-xlg-0 {
    margin-left: 0;
  }
}

.col-xlg-1, .col-xlg-10, .col-xlg-11, .col-xlg-12, .col-xlg-2, .col-xlg-3, .col-xlg-4, .col-xlg-5, .col-xlg-6, .col-xlg-7, .col-xlg-8, .col-xlg-9 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

.modal-xl {
  width: 80%;
  max-width: 1280px;
}

/*******************
 Topbar
*******************/
.topbar {
  position: relative;
  z-index: 50;
  box-shadow: 5px 0px 10px rgba(0, 0, 0, 0.5);
}

.topbar .top-navbar {
  min-height: 70px;
  padding: 0px 15px 0 0;
}

.topbar .top-navbar .dropdown-toggle::after {
  display: none;
}

.topbar .top-navbar .navbar-header {
  line-height: 65px;
  text-align: center;
}

.topbar .top-navbar .navbar-header .navbar-brand {
  margin-right: 0px;
  padding-bottom: 0px;
  padding-top: 0px;
}

.topbar .top-navbar .navbar-header .navbar-brand .light-logo {
  display: none;
}

.topbar .top-navbar .navbar-header .navbar-brand b {
  line-height: 70px;
  display: inline-block;
}

.topbar .top-navbar .navbar-nav > .nav-item > .nav-link {
  padding-left: .75rem;
  padding-right: .75rem;
  font-size: 19px;
  line-height: 50px;
}

.topbar .top-navbar .navbar-nav > .nav-item.show {
  background: rgba(0, 0, 0, 0.05);
}

.topbar .profile-pic {
  width: 30px;
  border-radius: 100%;
}

.topbar .dropdown-menu {
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
  border-color: rgba(120, 130, 140, 0.13);
}

.topbar .dropdown-menu .dropdown-item {
  padding: 7px 1.5rem;
}

.topbar ul.dropdown-user {
  padding: 0px;
  width: 270px;
}

.topbar ul.dropdown-user li {
  list-style: none;
  padding: 0px;
  margin: 0px;
}

.topbar ul.dropdown-user li.divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: rgba(120, 130, 140, 0.13);
}

.topbar ul.dropdown-user li .dw-user-box {
  padding: 10px 15px;
}

.topbar ul.dropdown-user li .dw-user-box .u-img {
  width: 80px;
  display: inline-block;
  vertical-align: top;
}

.topbar ul.dropdown-user li .dw-user-box .u-img img {
  width: 100%;
  border-radius: 5px;
}

.topbar ul.dropdown-user li .dw-user-box .u-text {
  display: inline-block;
  padding-left: 10px;
}

.topbar ul.dropdown-user li .dw-user-box .u-text h4 {
  margin: 0px;
}

.topbar ul.dropdown-user li .dw-user-box .u-text p {
  margin-bottom: 2px;
  font-size: 14px;
}

.topbar ul.dropdown-user li .dw-user-box .u-text .btn {
  color: #ffffff;
  padding: 5px 10px;
  display: inline-block;
}

.topbar ul.dropdown-user li .dw-user-box .u-text .btn:hover {
  background: #e6294b;
}

.topbar ul.dropdown-user li a {
  padding: 9px 15px;
  display: block;
  color: #333;
}

.topbar ul.dropdown-user li a:hover {
  background: #f2f4f8;
  color: #1e88e5;
  text-decoration: none;
}

.search-box .app-search {
  position: absolute;
  margin: 0px;
  display: block;
  z-index: 110;
  width: 100%;
  top: -1px;
  box-shadow: 2px 0px 10px rgba(0, 0, 0, 0.2);
  display: none;
  left: 0px;
}

.search-box .app-search input {
  width: 100%;
  padding: 35px 40px 35px 20px;
  border-radius: 0px;
  font-size: 17px;
  transition: 0.5s ease-in;
}

.search-box .app-search .srh-btn {
  position: absolute;
  top: 24px;
  cursor: pointer;
  width: 15px;
  height: 15px;
  right: 20px;
  font-size: 18px;
}

.metismenu li .app-search {
  margin: 0px;
  display: block;
  z-index: 110;
  width: 100%;
  top: -1px;
  box-shadow: 2px 0px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 2px 0px 10px rgba(0, 0, 0, 0.2);
  left: 0px;
}

.metismenu li .app-search input {
  width: 100%;
  padding: 25px 40px 25px 20px;
  border-radius: 0px;
  font-size: 17px;
  transition: 0.5s ease-in;
  -o-transition: 0.5s ease-in;
  transition: 0.5s ease-in;
  background-color: #f2f6f8;
}

.metismenu li .app-search .srh-btn {
  position: absolute;
  margin: 16px;
  cursor: pointer;
  width: 15px;
  height: 15px;
  right: 20px;
  font-size: 14px;
}

.mini-sidebar .top-navbar .navbar-header {
  width: 60px;
  text-align: center;
}

.logo-center .top-navbar .navbar-header {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
}

/*
Template Name: Material Pro Admin
Author: Themedesigner
Email: niravjoshi87@gmail.com
File: scss
*/
/*============================================================== 
 For all pages 
 ============================================================== */
#main-wrapper {
  width: 100%;
}

.boxed #main-wrapper {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  box-shadow: 0 0 60px rgba(0, 0, 0, 0.1);
}

.boxed #main-wrapper .sidebar-footer {
  position: absolute;
}

.boxed #main-wrapper .footer {
  display: none;
}

.page-wrapper {
  min-height: 92.5vh;
  background: #2c2e38;
  padding-bottom: 60px;
}


.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
  padding: 0 30px 25px 30px;
}

/*******************
 Breadcrumb and page title
*******************/
.page-titles {
  background: #ffffff;
  margin: 0 -30px 30px;
  padding: 15px;
  box-shadow: 1px 0 5px rgba(0, 0, 0, 0.1);
}

.page-titles h3 {
  margin-bottom: 0px;
  margin-top: 8px;
}

.page-titles .breadcrumb {
  padding: 0px;
  background: transparent;
  font-size: 14px;
}

.page-titles .breadcrumb li {
  margin-top: 0px;
  margin-bottom: 0px;
}

.page-titles .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: "\e649";
  font-family: themify;
  color: #a6b7bf;
  font-size: 11px;
}

.page-titles .breadcrumb .breadcrumb-item.active {
  color: #99abb4;
}

/*******************
 Right side toggle
*******************/
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@-moz-keyframes rotate {
  from {
    -moz-transform: rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg);
  }
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.right-side-toggle {
  position: relative;
}

.right-side-toggle i {
  transition-property: transform;
  transition-duration: 1s;
  -moz-transition-property: -moz-transform;
  -moz-transition-duration: 1s;
  transition-property: transform;
  transition-duration: 1s;
  animation-name: rotate;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  -moz-animation-name: rotate;
  -moz-animation-duration: 2s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-timing-function: linear;
  animation-name: rotate;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  position: absolute;
  top: 18px;
  left: 18px;
}

.right-sidebar {
  position: fixed;
  right: -240px;
  width: 240px;
  display: none;
  z-index: 1100;
  background: #ffffff;
  top: 0px;
  padding-bottom: 20px;
  height: 100%;
  box-shadow: 5px 1px 40px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.right-sidebar .rpanel-title {
  display: block;
  padding: 24px 20px;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 15px;
  background: #1e88e5;
}

.right-sidebar .rpanel-title span {
  float: right;
  cursor: pointer;
  font-size: 11px;
}

.right-sidebar .rpanel-title span:hover {
  color: #ffffff;
}

.right-sidebar .r-panel-body {
  padding: 20px;
}

.right-sidebar .r-panel-body ul {
  margin: 0px;
  padding: 0px;
}

.right-sidebar .r-panel-body ul li {
  list-style: none;
  padding: 5px 0;
}

.shw-rside {
  right: 0px;
  width: 240px;
  display: block;
}

.chatonline img {
  margin-right: 10px;
  float: left;
  width: 30px;
}

.chatonline li a {
  padding: 13px 0;
  float: left;
  width: 100%;
}

.chatonline li a span {
  color: #333;
}

.chatonline li a span small {
  display: block;
  font-size: 10px;
}

/*******************
 page title
*******************/
.page-titles {
  padding-bottom: 20px;
}

/*******************
 Footer
*******************/
.footer {
  bottom: 0;
  color: #333;
  left: 0px;
  padding: 17px 15px;
  position: absolute;
  right: 0;
  border-top: 1px solid rgba(120, 130, 140, 0.13);
  background: #ffffff;
}

/*******************
 Card title
*******************/
.card {
  margin-bottom: 30px;
}

.card .card-subtitle {
  font-weight: 300;
  margin-bottom: 15px;
  color: #99abb4;
}

.card-inverse .card-blockquote .blockquote-footer,
.card-inverse .card-link,
.card-inverse .card-subtitle,
.card-inverse .card-text {
  color: rgba(255, 255, 255, 0.65);
}

.card-success {
  background: #199c35 !important;
  border-color: #199c35 !important;
}

.card-danger {
  background: #fc4b6c !important;
  border-color: #fc4b6c !important;
}

.card-warning {
  background: #ffb22b !important;
  border-color: #ffb22b !important;
}

.card-info {
  background: #1e88e5 !important;
  border-color: #1e88e5 !important;
}

.card-primary {
  background: #1e88e5 !important;
  border-color: #1e88e5 !important;
}

.card-dark {
  background: #2f3d4a !important;
  border-color: #2f3d4a !important;
}

.card-megna {
  background: #00897b !important;
  border-color: #00897b !important;
}

/*============================================================== 
 Buttons page
 ============================================================== */
.button-group .btn {
  margin-bottom: 5px;
  margin-right: 5px;
}

.no-button-group .btn {
  margin-bottom: 5px;
  margin-right: 0px;
}

.btn .text-active {
  display: none;
}

.btn.active .text-active {
  display: inline-block;
}

.btn.active .text {
  display: none;
}

/*============================================================== 
Breadcrumb
 ============================================================== */
.bc-colored .breadcrumb-item,
.bc-colored .breadcrumb-item a {
  color: #ffffff;
}

.bc-colored .breadcrumb-item.active,
.bc-colored .breadcrumb-item a.active {
  opacity: 0.7;
}

.bc-colored .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255, 255, 255, 0.4);
}

.breadcrumb {
  margin-bottom: 0px;
}

/*============================================================== 
 Ui-bootstrap
 ============================================================== */
ul.list-icons {
  margin: 0px;
  padding: 0px;
}

ul.list-icons li {
  list-style: none;
  line-height: 30px;
  margin: 5px 0;
  transition: 0.2s ease-in;
}

ul.list-icons li a {
  color: #333;
}

ul.list-icons li a:hover {
  color: #1e88e5;
}

ul.list-icons li i {
  font-size: 13px;
  padding-right: 8px;
}

ul.list-inline li {
  display: inline-block;
  padding: 0 8px;
}

ul.two-part {
  margin: 0px;
}

ul.two-part li {
  width: 48.8%;
}

/*Accordion*/
html body .accordion .card {
  margin-bottom: 0px;
}

/*============================================================== 
File upload
 ============================================================== */
.btn-file {
  overflow: hidden;
  position: relative;
  vertical-align: middle;
}

.btn-file > input {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  opacity: 0;
  filter: alpha(opacity=0);
  font-size: 23px;
  height: 100%;
  width: 100%;
  direction: ltr;
  cursor: pointer;
  border-radius: 0px;
}

.fileinput .input-group-addon {
  border-right: 1px solid rgba(120, 130, 140, 0.13);
}

.fileinput .form-control {
  padding-top: 7px;
  padding-bottom: 5px;
  display: inline-block;
  margin-bottom: 0px;
  vertical-align: middle;
  cursor: text;
}

.fileinput .thumbnail {
  overflow: hidden;
  display: inline-block;
  margin-bottom: 5px;
  vertical-align: middle;
  text-align: center;
}

.fileinput .thumbnail > img {
  max-height: 100%;
}

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

.fileinput-exists .fileinput-new,
.fileinput-new .fileinput-exists {
  display: none;
}

.fileinput-inline .fileinput-controls {
  display: inline;
}

.fileinput-filename {
  vertical-align: middle;
  display: inline-block;
  overflow: hidden;
}

.form-control .fileinput-filename {
  vertical-align: bottom;
}

.fileinput.input-group > * {
  position: relative;
  z-index: 2;
}

.fileinput.input-group > .btn-file {
  z-index: 1;
}

/*============================================================== 
widget-chart-page product review
 ============================================================== */
.product-review {
  margin: 0px;
  padding: 25px;
}

.product-review li {
  display: block;
  padding: 20px 0;
  list-style: none;
}

.product-review li .font,
.product-review li span {
  display: inline-block;
  margin-left: 10px;
}

.social-profile {
  text-align: center;
  background: rgba(7, 10, 43, 0.8);
}

.profile-tab li a.nav-link,
.customtab li a.nav-link {
  border: 0px;
  padding: 15px 20px;
  color: #333;
}

.profile-tab li a.nav-link.active,
.customtab li a.nav-link.active {
  border-bottom: 2px solid #1e88e5;
  color: #1e88e5;
}

.profile-tab li a.nav-link:hover,
.customtab li a.nav-link:hover {
  color: #1e88e5;
}

/*******************
Table- responsive
******************/
.tablesaw-bar .btn-group label {
  color: #333 !important;
}

.dtr-details {
  list-style: none;
}

/*******************
Table- editable table
******************/
.dt-bootstrap {
  display: block;
}

/*******************
Date paginator page
******************/
.dp-selected[style] {
  background-color: #1e88e5 !important;
}

.datepaginator-sm .pagination li a,
.datepaginator-lg .pagination li a,
.datepaginator .pagination li a {
  padding: 0 5px;
  height: 60px;
  border: 1px solid rgba(120, 130, 140, 0.13);
  float: left;
  position: relative;
}

/*******************
sweet alert page
******************/
.model_img {
  cursor: pointer;
}

/*******************
Grid page
******************/
.show-grid {
  margin-bottom: 10px;
  padding: 0 15px;
}

.show-grid [class^=col-] {
  padding-top: 10px;
  padding-bottom: 10px;
  border: 1px solid #d9d9d9;
  background-color: #f2f4f8;
}

@keyframes myanimation {
  from {
    width: 0;
  }
}

@keyframes myanimation {
  from {
    width: 0;
  }
}

/*******************
list and media
******************/
.list-group a.list-group-item:hover {
  background: #f2f4f8;
}

.list-group-item.active,
.list-group .list-group-item.active:hover {
  background: #1e88e5;
  border-color: #1e88e5;
}

.list-group-item.disabled {
  color: #99abb4;
  background: #f2f4f8;
}

.media {
  border: 1px solid rgba(120, 130, 140, 0.13);
  margin-bottom: 10px;
  padding: 15px;
}

/*******************
session ideal timeout page
******************/
#idletimeout {
  background: #1e88e5;
  border: 3px solid #1e88e5;
  color: #fff;
  font-family: arial, sans-serif;
  text-align: center;
  font-size: 12px;
  padding: 10px;
  position: relative;
  top: 0px;
  left: 0;
  right: 0;
  z-index: 100000;
  display: none;
}

#idletimeout a {
  color: #ffffff;
  font-weight: bold;
}

#idletimeout span {
  font-weight: bold;
}

/*******************
Error Page
******************/
.error-box {
  height: 100%;
  position: fixed;
  background: #fff;
  width: 100%;
}

.error-box .footer {
  width: 100%;
  left: 0px;
  right: 0px;
}

.error-body {
  padding-top: 5%;
}

.error-body h1 {
  font-size: 210px;
  font-weight: 900;
  line-height: 210px;
}

/*******************
google map Page
******************/
.gmaps,
.gmaps-panaroma {
  height: 300px;
}

.gmaps,
.gmaps-panaroma {
  height: 300px;
  background: #f2f4f8;
  border-radius: 3px;
}

.gmaps-overlay {
  display: block;
  text-align: center;
  color: #ffffff;
  font-size: 16px;
  line-height: 40px;
  background: #1e88e5;
  border-radius: 4px;
  padding: 10px 20px;
}

.gmaps-overlay_arrow {
  left: 50%;
  margin-left: -16px;
  width: 0;
  height: 0;
  position: absolute;
}

.gmaps-overlay_arrow.above {
  bottom: -15px;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 16px solid #1e88e5;
}

.gmaps-overlay_arrow.below {
  top: -15px;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-bottom: 16px solid #1e88e5;
}

/*******************
vector map Page
******************/
.jvectormap-zoomin,
.jvectormap-zoomout {
  width: 10px;
  height: 10px;
  line-height: 10px;
}

.jvectormap-zoomout {
  top: 40px;
}

/*******************
Seach listing Page
******************/
.search-listing {
  padding: 0px;
  margin: 0px;
}

.search-listing li {
  list-style: none;
  padding: 15px 0;
  border-bottom: 1px solid rgba(120, 130, 140, 0.13);
}

.search-listing li h3 {
  margin: 0px;
  font-size: 18px;
}

.search-listing li h3 a {
  color: #1e88e5;
}

.search-listing li h3 a:hover {
  text-decoration: underline;
}

.search-listing li a {
  color: #199c35;
}

/*******************
Login register and recover password Page
******************/
.login-register {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  height: 100%;
  width: 100%;
  padding: 10% 0;
  position: fixed;
}

.login-box {
  width: 400px;
  margin: 0 auto;
}

.login-box .footer {
  width: 100%;
  left: 0px;
  right: 0px;
}

.login-box .social {
  display: block;
  margin-bottom: 30px;
}

#recoverform {
  display: none;
}

.login-sidebar {
  padding: 0px;
  margin-top: 0px;
}

.login-sidebar .login-box {
  right: 0px;
  position: absolute;
  height: 100%;
}

/*******************
FAQs Page
******************/
.minimal-faq .card {
  border: 0px;
}

.minimal-faq .card .card-header {
  background: #ffffff;
  padding: 20px 0;
  margin-top: 10px;
}

.minimal-faq .card .card-block {
  padding: 15px 0px;
}

/*******************
Pricing Page
******************/
.pricing-box {
  position: relative;
  text-align: center;
  margin-top: 30px;
}

.featured-plan {
  margin-top: 0px;
}

.featured-plan .pricing-body {
  padding: 60px 0;
  background: #ebf3f5;
  border: 1px solid #ddd;
}

.featured-plan .price-table-content .price-row {
  border-top: 1px solid rgba(120, 130, 140, 0.13);
}

.pricing-body {
  border-radius: 0px;
  border-top: 1px solid rgba(120, 130, 140, 0.13);
  border-bottom: 5px solid rgba(120, 130, 140, 0.13);
  vertical-align: middle;
  padding: 30px 0;
  position: relative;
}

.pricing-body h2 {
  position: relative;
  font-size: 56px;
  margin: 20px 0 10px;
  font-weight: 500;
}

.pricing-body h2 span {
  position: absolute;
  font-size: 15px;
  top: -10px;
  margin-left: -10px;
}

.price-table-content .price-row {
  padding: 20px 0;
  border-top: 1px solid rgba(120, 130, 140, 0.13);
}

.pricing-plan {
  padding: 0 15px;
}

.pricing-plan .no-padding {
  padding: 0px;
}

.price-lable {
  position: absolute;
  top: -10px;
  padding: 5px 10px;
  margin: 0 auto;
  display: inline-block;
  width: 100px;
  left: 0px;
  right: 0px;
}

/*******************
chat application Page
******************/
.chat-main-box {
  position: relative;
  overflow: hidden;
}

.chat-main-box .chat-left-aside {
  position: relative;
  width: 250px;
  float: left;
  z-index: 9;
  top: 0px;
  border-right: 1px solid rgba(120, 130, 140, 0.13);
}

.chat-main-box .chat-left-aside .open-panel {
  display: none;
  cursor: pointer;
  position: absolute;
  left: calc(100% - 1px);
  top: 50%;
  z-index: 100;
  background-color: #fff;
  box-shadow: 1px 0 3px rgba(0, 0, 0, 0.2);
  box-shadow: 1px 0 3px rgba(0, 0, 0, 0.2);
  border-radius: 0 100px 100px 0;
  line-height: 1;
  padding: 15px 8px 15px 4px;
}

.chat-main-box .chat-left-aside .chat-left-inner {
  position: relative;
}

.chat-main-box .chat-left-aside .chat-left-inner .form-control {
  height: 60px;
}

.chat-main-box .chat-left-aside .chat-left-inner .style-none {
  padding: 0px;
}

.chat-main-box .chat-left-aside .chat-left-inner .style-none li {
  list-style: none;
  overflow: hidden;
}

.chat-main-box .chat-left-aside .chat-left-inner .style-none li a {
  padding: 20px;
}

.chat-main-box .chat-left-aside .chat-left-inner .style-none li a:hover, .chat-main-box .chat-left-aside .chat-left-inner .style-none li a.active {
  background: #ebf3f5;
}

.chat-main-box .chat-right-aside {
  width: calc(100% - 250px);
  float: left;
}

.chat-main-box .chat-right-aside .chat-list {
  max-height: none;
  height: 100%;
  padding-top: 40px;
}

.chat-main-box .chat-right-aside .chat-list .chat-text {
  border-radius: 6px;
}

.chat-main-box .chat-right-aside .send-chat-box {
  position: relative;
}

.chat-main-box .chat-right-aside .send-chat-box .form-control {
  border: none;
  border-top: 1px solid rgba(120, 130, 140, 0.13);
  resize: none;
  height: 80px;
  padding-right: 180px;
}

.chat-main-box .chat-right-aside .send-chat-box .form-control:focus {
  border-color: rgba(120, 130, 140, 0.13);
}

.chat-main-box .chat-right-aside .send-chat-box .custom-send {
  position: absolute;
  right: 20px;
  bottom: 10px;
}

.chat-main-box .chat-right-aside .send-chat-box .custom-send .cst-icon {
  color: #333;
  margin-right: 10px;
}

/*******************
Email inbox Page
******************/
.inbox-panel .list-group .list-group-item {
  border: 0px;
  border-radius: 0px;
  border-left: 3px solid transparent;
}

.inbox-panel .list-group .list-group-item a {
  color: #333;
}

.inbox-panel .list-group .list-group-item.active, .inbox-panel .list-group .list-group-item:hover {
  background: #f2f4f8;
  border-left: 3px solid #1e88e5;
}

.inbox-center .unread td {
  font-weight: 400;
}

.inbox-center td {
  vertical-align: middle;
  white-space: nowrap;
}

.inbox-center a {
  color: #333;
  padding: 2px 0 3px 0;
  overflow: hidden;
  vertical-align: middle;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
}

.inbox-center .checkbox {
  margin-top: -13px;
  height: 20px;
}

/*******************
Contact app Page
******************/
/*left-aside-column*/
.contact-page-aside {
  position: relative;
}

.left-aside {
  position: absolute;
  border-right: 1px solid rgba(120, 130, 140, 0.13);
  padding: 20px;
  width: 250px;
  height: 100%;
}

.right-aside {
  padding: 20px;
  margin-left: 250px;
}

.contact-list td {
  vertical-align: middle;
  padding: 25px 10px;
}

.contact-list td img {
  width: 30px;
}

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

.list-style-none li {
  list-style: none;
  margin: 0px;
}

.list-style-none li.box-label a {
  font-weight: 500;
}

.list-style-none li.divider {
  margin: 10px 0;
  height: 1px;
  background: rgba(120, 130, 140, 0.13);
}

.list-style-none li a {
  padding: 15px 10px;
  display: block;
  color: #333;
}

.list-style-none li a:hover {
  color: #1e88e5;
}

.list-style-none li a span {
  float: right;
}

.slimScrollBar {
  z-index: 10 !important;
}

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

/*******************
/*Top bar
*******************/
h1, h2, h3, h4, h5, h6 {
  color: #333 !important;
}

.topbar {
  background: #1e88e5;
}

.topbar .navbar-header {
  background: rgba(0, 0, 0, 0.05);
}

.topbar .top-navbar .navbar-header .navbar-brand .dark-logo {
  display: none;
}

.topbar .top-navbar .navbar-header .navbar-brand .light-logo {
  display: inline-block;
  color: rgba(255, 255, 255, 0.8);
}

.topbar .navbar-light .navbar-nav .nav-item > a.nav-link {
  color: #ffffff !important;
}

.topbar .navbar-light .navbar-nav .nav-item > a.nav-link:hover, .topbar .navbar-light .navbar-nav .nav-item > a.nav-link:focus {
  color: rgba(255, 255, 255, 0.8) !important;
}

/*******************
/*General Elements
*******************/
a:not(.btn) {
  color: #333 !important;
}

a:not(.btn):hover, a:not(.btn):focus {
  color: #1e88e5 !important;
}

.table-hover tbody tr:hover {
  color: #e5edef;
}

a.link:hover, a.link:focus {
  color: #1e88e5 !important;
}

.modal-content {
  background-color: #fff !important;
}

.bg-theme {
  background-color: #1e88e5 !important;
}

.table {
  color: #333;
}

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

.table-striped tbody tr:nth-of-type(even) {
  background-color: #fff !important;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: #d3d9dc !important;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  background-color: #1e88e5;
  border-color: #1e88e5;
}

.right-sidebar .rpanel-title {
  background: #1e88e5;
}

.stylish-table tbody tr:hover, .stylish-table tbody tr.active {
  border-left: 4px solid #1e88e5;
}

.text-themecolor {
  color: #1e88e5 !important;
}

.profile-tab li a.nav-link.active,
.customtab li a.nav-link.active {
  border-bottom: 2px solid #1e88e5;
  color: #1e88e5;
}

.profile-tab li a.nav-link:hover,
.customtab li a.nav-link:hover {
  color: #1e88e5;
}

/*******************
/*Buttons
*******************/
.btn-themecolor,
.btn-themecolor.disabled {
  background: #1e88e5;
  color: #ffffff;
  border: 1px solid #1e88e5;
}

.btn-themecolor:hover,
.btn-themecolor.disabled:hover {
  background: #1e88e5;
  opacity: 0.7;
  border: 1px solid #1e88e5;
}

.btn-themecolor.active, .btn-themecolor:focus,
.btn-themecolor.disabled.active,
.btn-themecolor.disabled:focus {
  background: #2c2e38;
}

/*******************
/*sidebar navigation
*******************/
.sidebar-nav {
  background: none;
}

.sidebar-nav ul li a {
  color: #ccc !important;
}

.sidebar-nav ul li a.active, .sidebar-nav ul li a:hover {
  color: #1e88e5 !important;
}

.sidebar-nav ul li a.active {
  color: #263238;
}

.sidebar-nav ul li.nav-small-cap {
  color: #99abb4;
}

.sidebar-nav > ul > li.active > a,
.sidebar-nav > ul > li.active:hover > a {
  color: #ffffff;
  background: #1e88e5;
}

.sidebar-nav > ul > li.active > a i,
.sidebar-nav > ul > li.active:hover > a i {
  color: #ffffff;
}

.sidebar-nav > ul > li.active > a:after,
.sidebar-nav > ul > li.active:hover > a:after {
  border-color: #ffffff;
}

.sidebar-nav > ul > li > a.active i, .sidebar-nav > ul > li > a:hover i {
  color: #26c6da;
}

.sidebar-nav > ul > li > a i {
  color: #1e88e5;
}

.sidebar-nav > ul > li > a.active {
  font-weight: 400;
  background: #ffffff;
  color: #1e88e5;
}

.card {
  background-color: #fff;
}

.card-no-border .sidebar-nav > ul > li > a.active {
  color: #ffffff;
  background: #26c6da;
}

.card-no-border .sidebar-nav > ul > li > a.active i {
  color: #ffffff;
}

.card-no-border .sidebar-nav > ul > li > a.active:after {
  border-color: #ffffff;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #fff !important;
  font-weight: 600;
  background-color: #1e88e5;
  border-color: #1e88e5;
}

/*
Template Name: Material Pro Admin
Author: Themedesigner
Email: niravjoshi87@gmail.com
File: scss
*/
/*============================================================== 
 For Laptop & above all (1650px) 
 ============================================================== */
@media (min-width: 1650px) {
  .widget-app-columns {
    column-count: 3;
  }
  .campaign {
    height: 365px !important;
  }
}

/*============================================================== 
 For Laptop & above all (1370px) 
 ============================================================== */
@media (max-width: 1370px) {
  .widget-app-columns {
    column-count: 2;
  }
}

/*-- ============================================================== 
 Small Desktop & above all (1024px) 
 ============================================================== */
@media (min-width: 1024px) {
  .page-wrapper {
    margin-left: 240px;
  }
  .footer {
    left: 240px;
  }
}

@media (max-width: 1023px) {
  .page-wrapper {
    margin-left: 60px;
    transition: 0.2s ease-in;
  }
  .footer {
    left: 60px;
  }
  .widget-app-columns {
    column-count: 1;
  }
  .inbox-center a {
    width: 200px;
  }
}

/*-- ============================================================== 
 Ipad & above all(768px) 
 ============================================================== */
@media (min-width: 768px) {
  .navbar-header {
    width: 240px;
    flex-shrink: 0;
  }
  .navbar-header .navbar-brand {
    padding-top: 0px;
  }
  .material-icon-list-demo .icons div {
    width: 33%;
    padding: 15px;
    display: inline-block;
    line-height: 40px;
  }
  .mini-sidebar .page-wrapper {
    margin-left: 60px;
  }
  .mini-sidebar .footer {
    left: 60px;
  }
  .flex-wrap {
    flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
}

/*-- ============================================================== 
 Phone and below ipad(767px) 
 ============================================================== */
@media (max-width: 767px) {
  /*Header*/
  .topbar {
    position: fixed;
    width: 100%;
  }
  .topbar .top-navbar {
    padding-right: 15px;
    box-orient: horizontal;
    box-direction: normal;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
  }
  .topbar .top-navbar .navbar-collapse {
    display: flex;
    width: 100%;
  }
  .topbar .top-navbar .navbar-nav {
    flex-direction: row;
  }
  .topbar .top-navbar .navbar-nav > .nav-item.show {
    position: static;
  }
  .topbar .top-navbar .navbar-nav > .nav-item.show .dropdown-menu {
    width: 100%;
    margin-top: 0px;
  }
  .topbar .top-navbar .navbar-nav > .nav-item > .nav-link {
    padding-left: .50rem;
    padding-right: .50rem;
  }
  .topbar .top-navbar .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .mega-dropdown .dropdown-menu {
    height: 480px;
    overflow: auto;
  }
  /*Sidebar and wrapper*/
  .mini-sidebar .page-wrapper {
    margin-left: 0px;
    padding-top: 70px;
  }
  .comment-text .comment-footer .action-icons {
    display: block;
    padding: 10px 0;
  }
  .vtabs .tabs-vertical {
    width: auto;
  }
  /*Footer*/
  .footer {
    left: 0px;
  }
  .material-icon-list-demo .icons div {
    width: 100%;
  }
  .error-page .footer {
    position: fixed;
    bottom: 0px;
    z-index: 10;
  }
  .error-box {
    position: relative;
    padding-bottom: 60px;
  }
  .error-body {
    padding-top: 10%;
  }
  .error-body h1 {
    font-size: 100px;
    font-weight: 600;
    line-height: 100px;
  }
  .login-register {
    position: relative;
    overflow: hidden;
  }
  .login-box {
    width: 90%;
  }
  .login-sidebar {
    padding: 10% 0;
  }
  .login-sidebar .login-box {
    position: relative;
  }
  /*This is for chat page*/
  .chat-main-box .chat-left-aside {
    left: -250px;
    position: absolute;
    transition: 0.5s ease-in;
    background: #ffffff;
  }
  .chat-main-box .chat-left-aside.open-pnl {
    left: 0px;
  }
  .chat-main-box .chat-left-aside .open-panel {
    display: block;
  }
  .chat-main-box .chat-right-aside {
    width: 100%;
  }
  /*Timeline*/
  ul.timeline:before {
    left: 40px;
  }
  ul.timeline > li > .timeline-panel {
    width: "calc(100% - 90px)";
    width: "calc(100% - 90px)";
    width: "calc(100% - 90px)";
  }
  ul.timeline > li > .timeline-badge {
    top: 16px;
    left: 15px;
    margin-left: 0;
  }
  ul.timeline > li > .timeline-panel {
    float: right;
  }
  ul.timeline > li > .timeline-panel:before {
    right: auto;
    left: -15px;
    border-right-width: 15px;
    border-left-width: 0;
  }
  ul.timeline > li > .timeline-panel:after {
    right: auto;
    left: -14px;
    border-right-width: 14px;
    border-left-width: 0;
  }
  /*Contact app page*/
  .left-aside {
    width: 100%;
    position: relative;
    border: 0px;
  }
  .right-aside {
    margin-left: 0px;
  }
  .flex-wrap {
    flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .chat-list li .chat-content {
    width: calc(100% - 80px);
  }
}

/*
Template Name: Material Pro Admin
Author: Themedesigner
Email: niravjoshi87@gmail.com
File: scss
*/
/*******************
Main sidebar
******************/
.left-sidebar {
  position: absolute;
  width: 240px;
  height: 100%;
  top: 0px;
  z-index: 20;
  padding-top: 15px;
  background: none;
  box-shadow: 1px 0px 20px rgba(0, 0, 0, 0.08);
  background-image: url("https://dahmn0p92a0fx.cloudfront.net/live/combined/images/framework/light-repeater.jpg");
}

.fix-sidebar .left-sidebar {
  position: fixed;
}

/*******************
use profile section
******************/
.user-profile {
  position: relative;
  background-image: url("https://dahmn0p92a0fx.cloudfront.net/live/combined/images/framework/logos/normal/off-limits-logo.png");
  background-size: initial;
  background-position: center;
  background-repeat: no-repeat;
}

.user-profile .profile-img {
  width: 50px;
  margin-left: 30px;
  padding: 35px 0;
  border-radius: 100%;
}

.user-profile .profile-img::before {
  -webkit-animation: 2.5s blow 0s linear infinite;
  animation: 2.5s blow 0s linear infinite;
  position: absolute;
  content: '';
  width: 50px;
  height: 50px;
  top: 35px;
  margin: 0 auto;
  border-radius: 50%;
  z-index: 0;
}

@-webkit-keyframes blow {
  0% {
    box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.1);
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 0.5);
    transform: scale3d(1, 1, 0.5);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 0.5);
    transform: scale3d(1, 1, 0.5);
  }
  100% {
    box-shadow: 0 0 0 20px rgba(0, 0, 0, 0.1);
    opacity: 0;
    -webkit-transform: scale3d(1, 1, 0.5);
    transform: scale3d(1, 1, 0.5);
  }
}

@keyframes blow {
  0% {
    box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.1);
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 0.5);
    transform: scale3d(1, 1, 0.5);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 0.5);
    transform: scale3d(1, 1, 0.5);
  }
  100% {
    box-shadow: 0 0 0 20px rgba(0, 0, 0, 0.1);
    opacity: 0;
    -webkit-transform: scale3d(1, 1, 0.5);
    transform: scale3d(1, 1, 0.5);
  }
}

.user-profile .profile-img img {
  width: 100%;
  border-radius: 100%;
}

.user-profile .profile-text {
  padding: 5px 0px;
  position: relative;
}

.user-profile .profile-text > a {
  color: #ffffff !important;
  width: 100%;
  padding: 6px 30px;
  background: rgba(0, 0, 0, 0.5);
  display: block;
}

.user-profile .profile-text > a:after {
  position: absolute;
  right: 20px;
  top: 20px;
}

.user-profile .dropdown-menu {
  left: 0px;
  right: 0px;
  width: 180px;
  margin: 0 auto;
}

/*******************
sidebar footer
******************/
.sidebar-footer {
  position: fixed;
  z-index: 10;
  bottom: 0px;
  left: 0px;
  transition: 0.2s ease-out;
  width: 240px;
  background: none;
  border-top: 1px solid rgba(120, 130, 140, 0.13);
}

.sidebar-footer a {
  padding: 15px;
  width: 33.333337%;
  float: left;
  text-align: center;
  font-size: 18px;
}

/*******************
sidebar navigation
******************/
.scroll-sidebar {
  padding-bottom: 60px;
}

.collapse.in {
  display: block;
}

.sidebar-nav {
  background: none;
  padding: 15px;
}

.sidebar-nav ul {
  margin: 0px;
  padding: 0px;
}

.sidebar-nav ul li {
  list-style: none;
  display: block;
}

.sidebar-nav ul li a {
  color: #ccc;
  padding: 8px 35px 8px 15px;
  display: block;
  font-size: 15px;
  border-radius: 4px;
  white-space: nowrap;
}

.sidebar-nav ul li a.active, .sidebar-nav ul li a:hover {
  color: #26c6da;
}

.sidebar-nav ul li a.active {
  font-weight: 500;
  color: #263238;
}

.sidebar-nav ul li ul {
  padding-left: 5px;
  padding-top: 10px;
}

.sidebar-nav ul li ul li a {
  padding: 10px 35px 10px 15px;
}

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

.sidebar-nav ul li.nav-small-cap {
  font-size: 12px;
  margin-bottom: 0px;
  padding: 14px 14px 14px 20px;
  color: #263238;
  font-weight: 500;
}

.sidebar-nav ul li.nav-devider {
  height: 1px;
  background: rgba(120, 130, 140, 0.13);
  display: block;
  margin: 20px 0;
}

.sidebar-nav > ul > li {
  margin-bottom: 10px;
}

.sidebar-nav > ul > li.active > a {
  background: #1e88e5 !important;
  color: #fff !important;
  font-weight: 500;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.sidebar-nav > ul > li.active > a i {
  color: #26c6da;
}

.sidebar-nav > ul > li > a.active i, .sidebar-nav > ul > li > a:hover i {
  color: #26c6da;
}

.sidebar-nav > ul > li > a i {
  width: 27px;
  height: 20px;
  font-size: 16px;
  display: inline-block;
  vertical-align: middle;
  color: #1e88e5;
}

.sidebar-nav > ul > li > a .label {
  float: right;
  margin-top: 6px;
}

.sidebar-nav > ul > li > a.active {
  font-weight: 400;
  background: #ffffff;
  color: #26c6da;
}

.sidebar-nav .has-arrow {
  position: relative;
}

.sidebar-nav .has-arrow::after {
  position: absolute;
  content: '';
  width: .55em;
  height: .55em;
  border-width: 1px 0 0 1px;
  border-style: solid;
  border-color: #ccc;
  right: 1em;
  -webkit-transform: rotate(-45deg) translate(0, -50%);
  -ms-transform: rotate(-45deg) translate(0, -50%);
  -o-transform: rotate(-45deg) translate(0, -50%);
  transform: rotate(-45deg) translate(0, -50%);
  -webkit-transform-origin: top;
  -ms-transform-origin: top;
  -o-transform-origin: top;
  transform-origin: top;
  top: 47%;
  -webkit-transition: all .3s ease-out;
  -o-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

.sidebar-nav .active > .has-arrow::after,
.sidebar-nav li > .has-arrow.active::after,
.sidebar-nav .has-arrow[aria-expanded="true"]::after {
  -webkit-transform: rotate(-135deg) translate(0, -50%);
  -ms-transform: rotate(-135deg) translate(0, -50%);
  -o-transform: rotate(-135deg) translate(0, -50%);
  top: 45%;
  width: .58em;
  transform: rotate(-135deg) translate(0, -50%);
}

/****************
When click on sidebar toggler and also for tablet
*****************/
@media (min-width: 768px) {
  .mini-sidebar .sidebar-nav #sidebarnav li {
    position: relative;
  }
  .mini-sidebar .sidebar-nav #sidebarnav > li > ul {
    position: absolute;
    left: 60px;
    top: 45px;
    width: 200px;
    z-index: 1001;
    background: #f2f6f8;
    display: none;
    padding-left: 1px;
  }
  .mini-sidebar .sidebar-nav {
    padding: 5px;
  }
  .mini-sidebar .sidebar-nav #sidebarnav > li:hover > ul {
    height: auto !important;
    overflow: auto;
  }
  .mini-sidebar .sidebar-nav #sidebarnav > li:hover > ul,
  .mini-sidebar .sidebar-nav #sidebarnav > li:hover > ul.collapse {
    display: block;
  }
  .mini-sidebar .sidebar-nav #sidebarnav > li > a.has-arrow:after {
    display: none;
  }
  .mini-sidebar .left-sidebar {
    width: 60px;
  }
  .mini-sidebar .user-profile {
    padding-bottom: 15px;
    width: 60px;
    margin-bottom: 7px;
  }
  .mini-sidebar .user-profile .profile-img {
    padding: 15px 0 0 0;
    margin: 0px 0 0 6px;
  }
  .mini-sidebar .user-profile .profile-img:before {
    top: 15px;
  }
  .mini-sidebar .scroll-sidebar {
    padding-bottom: 0px;
    position: absolute;
  }
  .mini-sidebar .hide-menu,
  .mini-sidebar .nav-small-cap,
  .mini-sidebar .sidebar-footer,
  .mini-sidebar .user-profile .profile-text {
    display: none;
  }
  .mini-sidebar .nav-devider {
    width: 50px;
  }
  .mini-sidebar .sidebar-nav {
    background: transparent;
  }
  .mini-sidebar .sidebar-nav #sidebarnav > li > a {
    padding: 9px 15px;
    width: 50px;
  }
  .mini-sidebar .sidebar-nav #sidebarnav > li:hover > a {
    width: 260px;
    background: #26c6da;
    color: #ffffff;
    border-color: #1e88e5;
  }
  .mini-sidebar .sidebar-nav #sidebarnav > li:hover > a i {
    color: #ffffff;
  }
  .mini-sidebar .sidebar-nav #sidebarnav > li:hover > a .hide-menu {
    display: inline;
  }
  .mini-sidebar .sidebar-nav #sidebarnav > li.active > a {
    border-color: transparent;
  }
  .mini-sidebar .sidebar-nav #sidebarnav > li.active > a.active {
    border-color: #1e88e5;
  }
}

@media (max-width: 767px) {
  .mini-sidebar .left-sidebar {
    position: fixed;
  }
  .mini-sidebar .left-sidebar, .mini-sidebar .sidebar-footer {
    left: -240px;
  }
  .mini-sidebar.show-sidebar .left-sidebar, .mini-sidebar.show-sidebar .sidebar-footer {
    left: 0px;
  }
}

/*============================================================== 
Form addons page
============================================================== */
.form-group {
  margin-bottom: 10px;
}

.disabled {
  pointer-events: none;
}

/*Bootstrap select*/
.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
  width: 100%;
}

.bootstrap-select .dropdown-menu li a {
  display: block;
  padding: 7px 20px;
  clear: both;
  font-weight: 400;
  line-height: 1.42857143;
  color: #333;
  white-space: nowrap;
}

.bootstrap-select .dropdown-menu li a:hover {
  color: #1e88e5;
  background: #f2f4f8;
}

.bootstrap-touchspin .input-group-btn-vertical > .btn {
  padding: 9px 10px;
}

/*============================================================== 
Form Material page
 ============================================================== */
/*Material inputs*/
.form-material .form-group {
  overflow: hidden;
}

.form-material .form-control {
  background-color: rgba(0, 0, 0, 0);
  background-position: center bottom, center calc(100% - 1px);
  background-repeat: no-repeat;
  background-size: 0 2px, 100% 1px;
  padding: 0;
  transition: background 0s ease-out 0s;
}

.form-material .form-control,
.form-material .form-control.focus,
.form-material .form-control:focus {
  background-image: linear-gradient(#1e88e5, #1e88e5), linear-gradient(#d9d9d9, #d9d9d9);
  border: 0 none;
  border-radius: 0;
  box-shadow: none;
  float: none;
}

.form-material .form-control.focus,
.form-material .form-control:focus {
  background-size: 100% 2px, 100% 1px;
  outline: 0 none;
  transition-duration: 0.3s;
}

.form-control {
  background-color: #fff;
  border-color: #607d8b;
}

.form-control:focus {
  background-color: #e6e6e6;
  color: #333;
}

.form-control:disabled, .form-control[readonly] {
  background-color: #2c2e38;
}

.form-control-line .form-group {
  overflow: hidden;
}

.form-control-line .form-control {
  border: 0px;
  border-radius: 0px;
  padding-left: 0px;
  border-bottom: 1px solid #d9d9d9;
}

.form-control-line .form-control:focus {
  border-bottom: 1px solid #1e88e5;
}

/*******************/
/*Floating Label*/
/*******************/
.floating-labels .form-group {
  position: relative;
}

.floating-labels .form-control {
  padding: 10px 10px 10px 0;
  display: block;
  border: none;
  font-family: "Arial", sans-serif;
  border-radius: 0px;
  border-bottom: 1px solid #d9d9d9;
}

.floating-labels select.form-control > option {
  font-size: 14px;
}

.floating-labels .has-error .form-control {
  border-bottom: 1px solid #fc4b6c;
}

.floating-labels .has-warning .form-control {
  border-bottom: 1px solid #ffb22b;
}

.floating-labels .has-success .form-control {
  border-bottom: 1px solid #199c35;
}

.floating-labels .form-control:focus {
  outline: none;
  border: none;
}

.floating-labels label {
  color: #333;
  position: absolute;
  cursor: auto;
  top: 5px;
  transition: 0.2s ease all;
  -moz-transition: 0.2s ease all;
  transition: 0.2s ease all;
}

.floating-labels .form-control:focus ~ label,
.floating-labels .form-control:valid ~ label {
  top: -20px;
  font-size: 12px;
  color: #263238;
}

.floating-labels .bar {
  position: relative;
  display: block;
}

.floating-labels .bar:before,
.floating-labels .bar:after {
  content: '';
  height: 2px;
  width: 0;
  bottom: 1px;
  position: absolute;
  background: #1e88e5;
  transition: 0.2s ease all;
  -moz-transition: 0.2s ease all;
  transition: 0.2s ease all;
}

.floating-labels .bar:before {
  left: 50%;
}

.floating-labels .bar:after {
  right: 50%;
}

.floating-labels .form-control:focus ~ .bar:before,
.floating-labels .form-control:focus ~ .bar:after {
  width: 50%;
}

.floating-labels .highlight {
  position: absolute;
  height: 60%;
  width: 100px;
  top: 25%;
  left: 0;
  pointer-events: none;
  opacity: 0.5;
}

.floating-labels .input-lg ~ label,
.floating-labels .input-lg {
  font-size: 24px;
}

.floating-labels .input-sm ~ label,
.floating-labels .input-sm {
  font-size: 16px;
}

.has-warning .bar:before,
.has-warning .bar:after {
  background: #ffb22b;
}

.has-success .bar:before,
.has-success .bar:after {
  background: #199c35;
}

.has-error .bar:before,
.has-error .bar:after {
  background: #fc4b6c;
}

.has-warning .form-control:focus ~ label,
.has-warning .form-control:valid ~ label {
  color: #ffb22b;
}

.has-success .form-control:focus ~ label,
.has-success .form-control:valid ~ label {
  color: #199c35;
}

.has-error .form-control:focus ~ label,
.has-error .form-control:valid ~ label {
  color: #fc4b6c;
}

.has-feedback label ~ .t-0 {
  top: 0;
}

.form-group.error input,
.form-group.error select,
.form-group.error textarea {
  border: 1px solid #fc4b6c;
}

.form-group.validate input,
.form-group.validate select,
.form-group.validate textarea {
  border: 1px solid #199c35;
}

.form-group.error .help-block ul {
  padding: 0px;
  color: #fc4b6c;
}

.form-group.error .help-block ul li {
  list-style: none;
}

.form-group.issue .help-block ul {
  padding: 0px;
  color: #ffb22b;
}

.form-group.issue .help-block ul li {
  list-style: none;
}

.select2-container--default .select12-results__options {
  max-height: 300px;
}

.select2-container--default .select2-selection--single {
  background-color: #fff;
  height: 35px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #333;
  line-height: 34px !important;
}

.select2-container--default .select2-dropdown {
  color: #333;
  background-color: #fff;
}

/*******************
Form Dropzone
******************/
.dropzone {
  border: 1px dashed #d9d9d9;
}

.dropzone .dz-message {
  padding: 5% 0;
  margin: 0px;
}

/*******************
Form Pickers
******************/
.asColorPicker-dropdown {
  max-width: 260px;
}

.asColorPicker-trigger {
  position: absolute;
  top: 0;
  right: -35px;
  height: 38px;
  width: 37px;
  border: 0;
}

.asColorPicker-clear {
  display: none;
  position: absolute;
  top: 5px;
  right: 10px;
  text-decoration: none;
}

table th {
  font-weight: 400;
}

.daterangepicker td.active,
.daterangepicker td.active:hover {
  background-color: #1e88e5;
}

.datepicker table tr td.today,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today:hover {
  background: #1e88e5;
  color: #ffffff;
}

.datepicker td,
.datepicker th {
  padding: 5px 10px;
}

/*******************
Form summernote
******************/
.note-popover,
.note-icon-caret {
  display: none;
}

.note-editor.note-frame {
  border: 1px solid #d9d9d9;
}

.note-editor.note-frame .panel-heading {
  padding: 6px 10px 10px;
  border-bottom: 1px solid rgba(120, 130, 140, 0.13);
}

.label {
  display: inline-block;
}

.pagination .page-item .page-link {
  background-color: #1e88e5;
}

.pagination .active a {
  color: #fff !important;
  border-color: #26c6da !important;
  background-color: #26c6da !important;
}

/*******************
Wave Effects
*******************/
.waves-effect {
  position: relative;
  cursor: pointer;
  display: inline-block;
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  vertical-align: middle;
  z-index: 1;
  will-change: opacity, transform;
  -webkit-transition: all 0.1s ease-out;
  -moz-transition: all 0.1s ease-out;
  -o-transition: all 0.1s ease-out;
  -ms-transition: all 0.1s ease-out;
  transition: all 0.1s ease-out;
}

.waves-effect .waves-ripple {
  position: absolute;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px;
  opacity: 0;
  background: rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.7s ease-out;
  -moz-transition: all 0.7s ease-out;
  -o-transition: all 0.7s ease-out;
  -ms-transition: all 0.7s ease-out;
  transition: all 0.7s ease-out;
  -webkit-transition-property: -webkit-transform, opacity;
  -moz-transition-property: -moz-transform, opacity;
  -o-transition-property: -o-transform, opacity;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  -o-transition-property: transform, opacity;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  pointer-events: none;
}

.waves-effect.waves-light .waves-ripple {
  background-color: rgba(255, 255, 255, 0.45);
}

.waves-effect.waves-red .waves-ripple {
  background-color: rgba(244, 67, 54, 0.7);
}

.waves-effect.waves-yellow .waves-ripple {
  background-color: rgba(255, 235, 59, 0.7);
}

.waves-effect.waves-orange .waves-ripple {
  background-color: rgba(255, 152, 0, 0.7);
}

.waves-effect.waves-purple .waves-ripple {
  background-color: rgba(156, 39, 176, 0.7);
}

.waves-effect.waves-green .waves-ripple {
  background-color: rgba(76, 175, 80, 0.7);
}

.waves-effect.waves-teal .waves-ripple {
  background-color: rgba(0, 150, 136, 0.7);
}

html body .waves-notransition {
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  -ms-transition: none;
  transition: none;
}

.waves-circle {
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
  text-align: center;
  width: 2.5em;
  height: 2.5em;
  line-height: 2.5em;
  border-radius: 50%;
}

.waves-input-wrapper {
  border-radius: 0.2em;
  vertical-align: bottom;
}

.waves-input-wrapper .waves-button-input {
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
}

.waves-block {
  display: block;
}

@-webkit-keyframes blow {
  0% {
    -webkit-box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.1);
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 0.5);
    transform: scale3d(1, 1, 0.5);
  }
  50% {
    -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 0.5);
    transform: scale3d(1, 1, 0.5);
  }
  100% {
    -webkit-box-shadow: 0 0 0 20px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 0 20px rgba(0, 0, 0, 0.1);
    opacity: 0;
    -webkit-transform: scale3d(1, 1, 0.5);
    transform: scale3d(1, 1, 0.5);
  }
}

@keyframes blow {
  0% {
    -webkit-box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.1);
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 0.5);
    transform: scale3d(1, 1, 0.5);
  }
  50% {
    -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 0.5);
    transform: scale3d(1, 1, 0.5);
  }
  100% {
    -webkit-box-shadow: 0 0 0 20px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 0 20px rgba(0, 0, 0, 0.1);
    opacity: 0;
    -webkit-transform: scale3d(1, 1, 0.5);
    transform: scale3d(1, 1, 0.5);
  }
}

/*******************
 Right side toggle
*******************/
@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
  }
}

@-moz-keyframes rotate {
  from {
    -moz-transform: rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg);
  }
}

@keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29kZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9hc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ludGVyYWN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zY3JlZW5yZWFkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaXppbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIiwid2VicGFjazovLy8uL2ltcG9ydHMvbWF0ZXJpYWwvdmFyaWFibGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9pbXBvcnRzL21hdGVyaWFsL2FwcC5zY3NzIiwid2VicGFjazovLy8uL2ltcG9ydHMvbWF0ZXJpYWwvY29sb3JzL2JsdWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9pbXBvcnRzL21hdGVyaWFsL2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9pbXBvcnRzL21hdGVyaWFsL25hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9pbXBvcnRzL21hdGVyaWFsL3BhZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vaW1wb3J0cy9tYXRlcmlhbC9yZXNwb25zaXZlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vaW1wb3J0cy9tYXRlcmlhbC9zaWRlYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vaW1wb3J0cy9tYXRlcmlhbC9mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL2ltcG9ydHMvbWF0ZXJpYWwvdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vaW1wb3J0cy9tYXRlcmlhbC9hbmltYXRpb25zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0VDS0U7QUNMRjtFQUdJLGVBQWM7RUFBZCxpQkFBYztFQUFkLGlCQUFjO0VBQWQsZUFBYztFQUFkLGNBQWM7RUFBZCxpQkFBYztFQUFkLGlCQUFjO0VBQWQsZ0JBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxlQUFjO0VBQWQsb0JBQWM7RUFJZCxrQkFBYztFQUFkLG9CQUFjO0VBQWQsa0JBQWM7RUFBZCxlQUFjO0VBQWQsa0JBQWM7RUFBZCxpQkFBYztFQUFkLGdCQUFjO0VBQWQsZUFBYztFQUlkLGtCQUFpQztFQUFqQyxzQkFBaUM7RUFBakMsc0JBQWlDO0VBQWpDLHNCQUFpQztFQUFqQyx1QkFBaUM7RUFLbkMsa09BQXlCO0VBQ3pCLDZHQUF3QjtBRGtCMUI7O0FFakJBOzs7RUFHRSxzQkFBc0I7QUZvQnhCOztBRWpCQTtFQUNFLHVCQUF1QjtFQUN2QixpQkFBaUI7RUFDakIsOEJBQThCO0VBQzlCLDZDQ1hhO0FIK0JmOztBRWRBO0VBQ0UsY0FBYztBRmlCaEI7O0FFUEE7RUFDRSxTQUFTO0VBQ1QscU5DcU9vTztFQ3JKaE8sZUF0Q1k7RUZ4Q2hCLGdCQzhPK0I7RUQ3Ty9CLGdCQ2tQK0I7RURqUC9CLGNDbkNnQjtFRG9DaEIsZ0JBQWdCO0VBQ2hCLHNCQzlDYTtBSHdEZjs7QUFFQTtFRUNFLHFCQUFxQjtBRkN2Qjs7QUVRQTtFQUNFLHVCQUF1QjtFQUN2QixTQUFTO0VBQ1QsaUJBQWlCO0FGTG5COztBRWtCQTtFQUNFLGFBQWE7RUFDYixxQkNnTnVDO0FIL056Qzs7QUVzQkE7RUFDRSxhQUFhO0VBQ2IsbUJDb0Y4QjtBSHZHaEM7O0FFOEJBOztFQUVFLDBCQUEwQjtFQUMxQixpQ0FBaUM7RUFDakMsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQiw4QkFBOEI7QUYzQmhDOztBRThCQTtFQUNFLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsb0JBQW9CO0FGM0J0Qjs7QUU4QkE7OztFQUdFLGFBQWE7RUFDYixtQkFBbUI7QUYzQnJCOztBRThCQTs7OztFQUlFLGdCQUFnQjtBRjNCbEI7O0FFOEJBO0VBQ0UsZ0JDaUorQjtBSDVLakM7O0FFOEJBO0VBQ0Usb0JBQW9CO0VBQ3BCLGNBQWM7QUYzQmhCOztBRThCQTtFQUNFLGdCQUFnQjtBRjNCbEI7O0FFOEJBOztFQUVFLG1CQ29Ja0M7QUgvSnBDOztBRThCQTtFRXhGSSxjQUFXO0FKOERmOztBRW1DQTs7RUFFRSxrQkFBa0I7RUVuR2hCLGNBQVc7RUZxR2IsY0FBYztFQUNkLHdCQUF3QjtBRmhDMUI7O0FFbUNBO0VBQU0sY0FBYztBRi9CcEI7O0FFZ0NBO0VBQU0sVUFBVTtBRjVCaEI7O0FFbUNBO0VBQ0UsY0N2SmU7RUR3SmYscUJDWDRDO0VEWTVDLDZCQUE2QjtBRmhDL0I7O0FLaEpFO0VIbUxFLGNDZDhEO0VEZTlELDBCQ2QrQztBSGpCbkQ7O0FFd0NBO0VBQ0UsY0FBYztFQUNkLHFCQUFxQjtBRnJDdkI7O0FLMUpFO0VIa01FLGNBQWM7RUFDZCxxQkFBcUI7QUZwQ3pCOztBRTZDQTs7OztFQUlFLGlHQ3lEZ0g7RUM3TTlHLGNBQVc7QUoyR2Y7O0FFNkNBO0VBRUUsYUFBYTtFQUViLG1CQUFtQjtFQUVuQixjQUFjO0VBR2QsNkJBQTZCO0FGL0MvQjs7QUV1REE7RUFFRSxnQkFBZ0I7QUZyRGxCOztBRTZEQTtFQUNFLHNCQUFzQjtFQUN0QixrQkFBa0I7QUYxRHBCOztBRTZEQTtFQUdFLGdCQUFnQjtFQUNoQixzQkFBc0I7QUY1RHhCOztBRW9FQTtFQUNFLHlCQUF5QjtBRmpFM0I7O0FFb0VBO0VBQ0Usb0JDNkVrQztFRDVFbEMsdUJDNEVrQztFRDNFbEMsY0N0UWdCO0VEdVFoQixnQkFBZ0I7RUFDaEIsb0JBQW9CO0FGakV0Qjs7QUV3RUE7RUFFRSxtQkFBbUI7RUFDbkIsZ0NBQWdDO0FGdEVsQzs7QUU4RUE7RUFFRSxxQkFBcUI7RUFDckIscUJDMkoyQztBSHZPN0M7O0FFa0ZBO0VBRUUsZ0JBQWdCO0FGaEZsQjs7QUV3RkE7RUFDRSxVQUFVO0FGckZaOztBRXdGQTs7Ozs7RUFLRSxTQUFTO0VBQ1Qsb0JBQW9CO0VFNVBsQixrQkFBVztFRjhQYixvQkFBb0I7QUZyRnRCOztBRXdGQTs7RUFFRSxpQkFBaUI7QUZyRm5COztBRXdGQTs7RUFFRSxvQkFBb0I7QUZyRnRCOztBQUVBO0VFMEZFLGVBQWU7QUZ4RmpCOztBRThGQTtFQUNFLGlCQUFpQjtBRjNGbkI7O0FFa0dBOzs7O0VBSUUsMEJBQTBCO0FGL0Y1Qjs7QUVvR0U7Ozs7RUFLSSxlQUFlO0FGbEdyQjs7QUV3R0E7Ozs7RUFJRSxVQUFVO0VBQ1Ysa0JBQWtCO0FGckdwQjs7QUV3R0E7O0VBRUUsc0JBQXNCO0VBQ3RCLFVBQVU7QUZyR1o7O0FFeUdBO0VBQ0UsY0FBYztFQUVkLGdCQUFnQjtBRnZHbEI7O0FFMEdBO0VBTUUsWUFBWTtFQUVaLFVBQVU7RUFDVixTQUFTO0VBQ1QsU0FBUztBRjdHWDs7QUVrSEE7RUFDRSxjQUFjO0VBQ2QsV0FBVztFQUNYLGVBQWU7RUFDZixVQUFVO0VBQ1Ysb0JBQW9CO0VFblNoQixpQkF0Q1k7RUYyVWhCLG9CQUFvQjtFQUNwQixjQUFjO0VBQ2QsbUJBQW1CO0FGL0dyQjs7QUVrSEE7RUFDRSx3QkFBd0I7QUYvRzFCOztBQUVBOztFRW1IRSxZQUFZO0FGaEhkOztBQUVBO0VFc0hFLG9CQUFvQjtFQUNwQix3QkFBd0I7QUZwSDFCOztBQUVBO0VFMEhFLHdCQUF3QjtBRnhIMUI7O0FFZ0lBO0VBQ0UsYUFBYTtFQUNiLDBCQUEwQjtBRjdINUI7O0FFb0lBO0VBQ0UscUJBQXFCO0FGakl2Qjs7QUVvSUE7RUFDRSxrQkFBa0I7RUFDbEIsZUFBZTtBRmpJakI7O0FFb0lBO0VBQ0UsYUFBYTtBRmpJZjs7QUFFQTtFRXFJRSx3QkFBd0I7QUZuSTFCOztBTXpWQTs7RUFFRSxxQkhxU3VDO0VHblN2QyxnQkhxUytCO0VHcFMvQixnQkhxUytCO0FIc0RqQzs7QU12VkE7RUZnSE0saUJBdENZO0FKaVJsQjs7QU0xVkE7RUYrR00sZUF0Q1k7QUpxUmxCOztBTTdWQTtFRjhHTSxrQkF0Q1k7QUp5UmxCOztBTWhXQTtFRjZHTSxpQkF0Q1k7QUo2UmxCOztBTW5XQTtFRjRHTSxrQkF0Q1k7QUppU2xCOztBTXRXQTtFRjJHTSxlQXRDWTtBSnFTbEI7O0FNeFdBO0VGeUdNLGtCQXRDWTtFRWpFaEIsZ0JIdVMrQjtBSG9FakM7O0FNdldBO0VGbUdNLGVBdENZO0VFM0RoQixnQkgwUitCO0VHelIvQixnQkhpUitCO0FIeUZqQzs7QU14V0E7RUY4Rk0saUJBdENZO0VFdERoQixnQkhzUitCO0VHclIvQixnQkg0UStCO0FIK0ZqQzs7QU16V0E7RUZ5Rk0saUJBdENZO0VFakRoQixnQkhrUitCO0VHalIvQixnQkh1UStCO0FIcUdqQzs7QU0xV0E7RUZvRk0saUJBdENZO0VFNUNoQixnQkg4UStCO0VHN1EvQixnQkhrUStCO0FIMkdqQzs7QUVoVkE7RUlwQkUsZ0JIZ0ZXO0VHL0VYLG1CSCtFVztFRzlFWCxTQUFTO0VBQ1Qsd0NIekNhO0FIaVpmOztBTWhXQTs7RUZNSSxjQUFXO0VFSGIsZ0JIME4rQjtBSHlJakM7O0FNaFdBOztFQUVFLGNIa1FnQztFR2pRaEMseUJIMFFtQztBSHlGckM7O0FNM1ZBO0VDL0VFLGVBQWU7RUFDZixnQkFBZ0I7QVA4YWxCOztBTTNWQTtFQ3BGRSxlQUFlO0VBQ2YsZ0JBQWdCO0FQbWJsQjs7QU03VkE7RUFDRSxxQkFBcUI7QU5nV3ZCOztBTWpXQTtFQUlJLG9CSG9QK0I7QUg2R25DOztBTXZWQTtFRmpDSSxjQUFXO0VFbUNiLHlCQUF5QjtBTjBWM0I7O0FNdFZBO0VBQ0UsbUJIdUJXO0VDUlAsa0JBdENZO0FKaVhsQjs7QU10VkE7RUFDRSxjQUFjO0VGN0NaLGNBQVc7RUUrQ2IsY0gxR2dCO0FIbWNsQjs7QU01VkE7RUFNSSxxQkFBcUI7QU4wVnpCOztBUTdjQTtFQ0lFLGVBQWU7RUFHZixZQUFZO0FUMmNkOztBUTVjQTtFQUNFLGdCTG1nQ3dDO0VLbGdDeEMsc0JMUmE7RUtTYix5QkxOZ0I7RU9RZCxzQlA2TmdDO0VNcE9sQyxlQUFlO0VBR2YsWUFBWTtBVG9kZDs7QVF0Y0E7RUFFRSxxQkFBcUI7QVJ3Y3ZCOztBUXJjQTtFQUNFLHFCQUEwQjtFQUMxQixjQUFjO0FSd2NoQjs7QVFyY0E7RUprQ0ksY0FBVztFSWhDYixjTDNCZ0I7QUhtZWxCOztBVy9lQTtFUHVFSSxnQkFBVztFT3JFYixjUm1DZTtFUWxDZixxQkFBcUI7QVhrZnZCOztBVy9lRTtFQUNFLGNBQWM7QVhrZmxCOztBVzdlQTtFQUNFLHNCUnVsQ3VDO0VDN2hDckMsZ0JBQVc7RU94RGIsV1JUYTtFUVViLHlCUkRnQjtFT0VkLHFCUCtOK0I7QUhpUm5DOztBV3JmQTtFQVNJLFVBQVU7RVBrRFYsZUFBVztFT2hEWCxnQlJ3UTZCO0FId09qQzs7QUV4U0E7RVNqTUUsY0FBYztFUHlDWixnQkFBVztFT3ZDYixjUmpCZ0I7QUg4ZmxCOztBV2hmQTtFUDBDSSxrQkFBVztFT2xDWCxjQUFjO0VBQ2Qsa0JBQWtCO0FYNmV0Qjs7QVd4ZUE7RUFDRSxpQlI4akN1QztFUTdqQ3ZDLGtCQUFrQjtBWDJlcEI7O0FZbmhCRTs7Ozs7O0VDREEsV0FBVztFQUNYLG1CQUEwQjtFQUMxQixrQkFBeUI7RUFDekIsa0JBQWtCO0VBQ2xCLGlCQUFpQjtBYjZoQm5COztBYzFlSTtFRnpDRTtJQUNFLGdCVCtMRztFSHdWVDtBQUNGOztBY2hmSTtFRnpDRTtJQUNFLGdCVGdNRztFSDZWVDtBQUNGOztBY3RmSTtFRnpDRTtJQUNFLGdCVGlNRztFSGtXVDtBQUNGOztBYzVmSTtFRnpDRTtJQUNFLGlCVGtNSTtFSHVXVjtBQUNGOztBWTlnQkU7RUNuQ0EsYUFBYTtFQUNiLGVBQWU7RUFDZixtQkFBMEI7RUFDMUIsa0JBQXlCO0FicWpCM0I7O0FZL2dCRTtFQUNFLGVBQWU7RUFDZixjQUFjO0Faa2hCbEI7O0FZcGhCRTs7RUFNSSxnQkFBZ0I7RUFDaEIsZUFBZTtBWm1oQnJCOztBZXprQkU7Ozs7OztFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsbUJBQTBCO0VBQzFCLGtCQUF5QjtBZmlsQjdCOztBZTNqQk07RUFDRSxhQUFhO0VBQ2IsWUFBWTtFQUNaLGVBQWU7QWY4akJ2Qjs7QWV6akJVO0VGd0JOLGNBQXVCO0VBQ3ZCLGVBQXdCO0FicWlCNUI7O0FlOWpCVTtFRndCTixhQUF1QjtFQUN2QixjQUF3QjtBYjBpQjVCOztBZW5rQlU7RUZ3Qk4sbUJBQXVCO0VBQ3ZCLG9CQUF3QjtBYitpQjVCOztBZXhrQlU7RUZ3Qk4sYUFBdUI7RUFDdkIsY0FBd0I7QWJvakI1Qjs7QWU3a0JVO0VGd0JOLGFBQXVCO0VBQ3ZCLGNBQXdCO0FieWpCNUI7O0FlbGxCVTtFRndCTixtQkFBdUI7RUFDdkIsb0JBQXdCO0FiOGpCNUI7O0FlamxCTTtFRkNKLGNBQWM7RUFDZCxXQUFXO0VBQ1gsZUFBZTtBYm9sQmpCOztBZWpsQlU7RUZiUixrQkFBc0M7RUFJdEMsbUJBQXVDO0FiK2xCekM7O0FldGxCVTtFRmJSLG1CQUFzQztFQUl0QyxvQkFBdUM7QWJvbUJ6Qzs7QWUzbEJVO0VGYlIsYUFBc0M7RUFJdEMsY0FBdUM7QWJ5bUJ6Qzs7QWVobUJVO0VGYlIsbUJBQXNDO0VBSXRDLG9CQUF1QztBYjhtQnpDOztBZXJtQlU7RUZiUixtQkFBc0M7RUFJdEMsb0JBQXVDO0FibW5CekM7O0FlMW1CVTtFRmJSLGFBQXNDO0VBSXRDLGNBQXVDO0Fid25CekM7O0FlL21CVTtFRmJSLG1CQUFzQztFQUl0QyxvQkFBdUM7QWI2bkJ6Qzs7QWVwbkJVO0VGYlIsbUJBQXNDO0VBSXRDLG9CQUF1QztBYmtvQnpDOztBZXpuQlU7RUZiUixhQUFzQztFQUl0QyxjQUF1QztBYnVvQnpDOztBZTluQlU7RUZiUixtQkFBc0M7RUFJdEMsb0JBQXVDO0FiNG9CekM7O0Flbm9CVTtFRmJSLG1CQUFzQztFQUl0QyxvQkFBdUM7QWJpcEJ6Qzs7QWV4b0JVO0VGYlIsY0FBc0M7RUFJdEMsZUFBdUM7QWJzcEJ6Qzs7QWV2b0JNO0VBQXdCLFNBQVM7QWYyb0J2Qzs7QWV6b0JNO0VBQXVCLFNabUtHO0FIMGVoQzs7QWUxb0JRO0VBQXdCLFFBRFo7QWYrb0JwQjs7QWU5b0JRO0VBQXdCLFFBRFo7QWZtcEJwQjs7QWVscEJRO0VBQXdCLFFBRFo7QWZ1cEJwQjs7QWV0cEJRO0VBQXdCLFFBRFo7QWYycEJwQjs7QWUxcEJRO0VBQXdCLFFBRFo7QWYrcEJwQjs7QWU5cEJRO0VBQXdCLFFBRFo7QWZtcUJwQjs7QWVscUJRO0VBQXdCLFFBRFo7QWZ1cUJwQjs7QWV0cUJRO0VBQXdCLFFBRFo7QWYycUJwQjs7QWUxcUJRO0VBQXdCLFFBRFo7QWYrcUJwQjs7QWU5cUJRO0VBQXdCLFFBRFo7QWZtckJwQjs7QWVsckJRO0VBQXdCLFNBRFo7QWZ1ckJwQjs7QWV0ckJRO0VBQXdCLFNBRFo7QWYyckJwQjs7QWUxckJRO0VBQXdCLFNBRFo7QWYrckJwQjs7QWV2ckJZO0VGaEJWLHFCQUE4QztBYjJzQmhEOztBZTNyQlk7RUZoQlYsc0JBQThDO0FiK3NCaEQ7O0FlL3JCWTtFRmhCVixnQkFBOEM7QWJtdEJoRDs7QWVuc0JZO0VGaEJWLHNCQUE4QztBYnV0QmhEOztBZXZzQlk7RUZoQlYsc0JBQThDO0FiMnRCaEQ7O0FlM3NCWTtFRmhCVixnQkFBOEM7QWIrdEJoRDs7QWUvc0JZO0VGaEJWLHNCQUE4QztBYm11QmhEOztBZW50Qlk7RUZoQlYsc0JBQThDO0FidXVCaEQ7O0FldnRCWTtFRmhCVixnQkFBOEM7QWIydUJoRDs7QWUzdEJZO0VGaEJWLHNCQUE4QztBYit1QmhEOztBZS90Qlk7RUZoQlYsc0JBQThDO0FibXZCaEQ7O0FjOXVCSTtFQzNCRTtJQUNFLGFBQWE7SUFDYixZQUFZO0lBQ1osZUFBZTtFZjZ3QnJCO0VleHdCUTtJRndCTixjQUF1QjtJQUN2QixlQUF3QjtFYm12QjFCO0VlNXdCUTtJRndCTixhQUF1QjtJQUN2QixjQUF3QjtFYnV2QjFCO0VlaHhCUTtJRndCTixtQkFBdUI7SUFDdkIsb0JBQXdCO0ViMnZCMUI7RWVweEJRO0lGd0JOLGFBQXVCO0lBQ3ZCLGNBQXdCO0ViK3ZCMUI7RWV4eEJRO0lGd0JOLGFBQXVCO0lBQ3ZCLGNBQXdCO0VibXdCMUI7RWU1eEJRO0lGd0JOLG1CQUF1QjtJQUN2QixvQkFBd0I7RWJ1d0IxQjtFZTF4Qkk7SUZDSixjQUFjO0lBQ2QsV0FBVztJQUNYLGVBQWU7RWI0eEJmO0VlenhCUTtJRmJSLGtCQUFzQztJQUl0QyxtQkFBdUM7RWJzeUJ2QztFZTd4QlE7SUZiUixtQkFBc0M7SUFJdEMsb0JBQXVDO0ViMHlCdkM7RWVqeUJRO0lGYlIsYUFBc0M7SUFJdEMsY0FBdUM7RWI4eUJ2QztFZXJ5QlE7SUZiUixtQkFBc0M7SUFJdEMsb0JBQXVDO0Via3pCdkM7RWV6eUJRO0lGYlIsbUJBQXNDO0lBSXRDLG9CQUF1QztFYnN6QnZDO0VlN3lCUTtJRmJSLGFBQXNDO0lBSXRDLGNBQXVDO0ViMHpCdkM7RWVqekJRO0lGYlIsbUJBQXNDO0lBSXRDLG9CQUF1QztFYjh6QnZDO0VlcnpCUTtJRmJSLG1CQUFzQztJQUl0QyxvQkFBdUM7RWJrMEJ2QztFZXp6QlE7SUZiUixhQUFzQztJQUl0QyxjQUF1QztFYnMwQnZDO0VlN3pCUTtJRmJSLG1CQUFzQztJQUl0QyxvQkFBdUM7RWIwMEJ2QztFZWowQlE7SUZiUixtQkFBc0M7SUFJdEMsb0JBQXVDO0ViODBCdkM7RWVyMEJRO0lGYlIsY0FBc0M7SUFJdEMsZUFBdUM7RWJrMUJ2QztFZW4wQkk7SUFBd0IsU0FBUztFZnMwQnJDO0VlcDBCSTtJQUF1QixTWm1LRztFSG9xQjlCO0VlcDBCTTtJQUF3QixRQURaO0VmdzBCbEI7RWV2MEJNO0lBQXdCLFFBRFo7RWYyMEJsQjtFZTEwQk07SUFBd0IsUUFEWjtFZjgwQmxCO0VlNzBCTTtJQUF3QixRQURaO0VmaTFCbEI7RWVoMUJNO0lBQXdCLFFBRFo7RWZvMUJsQjtFZW4xQk07SUFBd0IsUUFEWjtFZnUxQmxCO0VldDFCTTtJQUF3QixRQURaO0VmMDFCbEI7RWV6MUJNO0lBQXdCLFFBRFo7RWY2MUJsQjtFZTUxQk07SUFBd0IsUUFEWjtFZmcyQmxCO0VlLzFCTTtJQUF3QixRQURaO0VmbTJCbEI7RWVsMkJNO0lBQXdCLFNBRFo7RWZzMkJsQjtFZXIyQk07SUFBd0IsU0FEWjtFZnkyQmxCO0VleDJCTTtJQUF3QixTQURaO0VmNDJCbEI7RWVwMkJVO0lGaEJWLGNBQTRCO0VidTNCNUI7RWV2MkJVO0lGaEJWLHFCQUE4QztFYjAzQjlDO0VlMTJCVTtJRmhCVixzQkFBOEM7RWI2M0I5QztFZTcyQlU7SUZoQlYsZ0JBQThDO0ViZzRCOUM7RWVoM0JVO0lGaEJWLHNCQUE4QztFYm00QjlDO0VlbjNCVTtJRmhCVixzQkFBOEM7RWJzNEI5QztFZXQzQlU7SUZoQlYsZ0JBQThDO0VieTRCOUM7RWV6M0JVO0lGaEJWLHNCQUE4QztFYjQ0QjlDO0VlNTNCVTtJRmhCVixzQkFBOEM7RWIrNEI5QztFZS8zQlU7SUZoQlYsZ0JBQThDO0ViazVCOUM7RWVsNEJVO0lGaEJWLHNCQUE4QztFYnE1QjlDO0VlcjRCVTtJRmhCVixzQkFBOEM7RWJ3NUI5QztBQUNGOztBY3A1Qkk7RUMzQkU7SUFDRSxhQUFhO0lBQ2IsWUFBWTtJQUNaLGVBQWU7RWZtN0JyQjtFZTk2QlE7SUZ3Qk4sY0FBdUI7SUFDdkIsZUFBd0I7RWJ5NUIxQjtFZWw3QlE7SUZ3Qk4sYUFBdUI7SUFDdkIsY0FBd0I7RWI2NUIxQjtFZXQ3QlE7SUZ3Qk4sbUJBQXVCO0lBQ3ZCLG9CQUF3QjtFYmk2QjFCO0VlMTdCUTtJRndCTixhQUF1QjtJQUN2QixjQUF3QjtFYnE2QjFCO0VlOTdCUTtJRndCTixhQUF1QjtJQUN2QixjQUF3QjtFYnk2QjFCO0VlbDhCUTtJRndCTixtQkFBdUI7SUFDdkIsb0JBQXdCO0ViNjZCMUI7RWVoOEJJO0lGQ0osY0FBYztJQUNkLFdBQVc7SUFDWCxlQUFlO0ViazhCZjtFZS83QlE7SUZiUixrQkFBc0M7SUFJdEMsbUJBQXVDO0ViNDhCdkM7RWVuOEJRO0lGYlIsbUJBQXNDO0lBSXRDLG9CQUF1QztFYmc5QnZDO0VldjhCUTtJRmJSLGFBQXNDO0lBSXRDLGNBQXVDO0VibzlCdkM7RWUzOEJRO0lGYlIsbUJBQXNDO0lBSXRDLG9CQUF1QztFYnc5QnZDO0VlLzhCUTtJRmJSLG1CQUFzQztJQUl0QyxvQkFBdUM7RWI0OUJ2QztFZW45QlE7SUZiUixhQUFzQztJQUl0QyxjQUF1QztFYmcrQnZDO0VldjlCUTtJRmJSLG1CQUFzQztJQUl0QyxvQkFBdUM7RWJvK0J2QztFZTM5QlE7SUZiUixtQkFBc0M7SUFJdEMsb0JBQXVDO0VidytCdkM7RWUvOUJRO0lGYlIsYUFBc0M7SUFJdEMsY0FBdUM7RWI0K0J2QztFZW4rQlE7SUZiUixtQkFBc0M7SUFJdEMsb0JBQXVDO0ViZy9CdkM7RWV2K0JRO0lGYlIsbUJBQXNDO0lBSXRDLG9CQUF1QztFYm8vQnZDO0VlMytCUTtJRmJSLGNBQXNDO0lBSXRDLGVBQXVDO0Vidy9CdkM7RWV6K0JJO0lBQXdCLFNBQVM7RWY0K0JyQztFZTErQkk7SUFBdUIsU1ptS0c7RUgwMEI5QjtFZTErQk07SUFBd0IsUUFEWjtFZjgrQmxCO0VlNytCTTtJQUF3QixRQURaO0VmaS9CbEI7RWVoL0JNO0lBQXdCLFFBRFo7RWZvL0JsQjtFZW4vQk07SUFBd0IsUUFEWjtFZnUvQmxCO0VldC9CTTtJQUF3QixRQURaO0VmMC9CbEI7RWV6L0JNO0lBQXdCLFFBRFo7RWY2L0JsQjtFZTUvQk07SUFBd0IsUUFEWjtFZmdnQ2xCO0VlLy9CTTtJQUF3QixRQURaO0VmbWdDbEI7RWVsZ0NNO0lBQXdCLFFBRFo7RWZzZ0NsQjtFZXJnQ007SUFBd0IsUUFEWjtFZnlnQ2xCO0VleGdDTTtJQUF3QixTQURaO0VmNGdDbEI7RWUzZ0NNO0lBQXdCLFNBRFo7RWYrZ0NsQjtFZTlnQ007SUFBd0IsU0FEWjtFZmtoQ2xCO0VlMWdDVTtJRmhCVixjQUE0QjtFYjZoQzVCO0VlN2dDVTtJRmhCVixxQkFBOEM7RWJnaUM5QztFZWhoQ1U7SUZoQlYsc0JBQThDO0VibWlDOUM7RWVuaENVO0lGaEJWLGdCQUE4QztFYnNpQzlDO0VldGhDVTtJRmhCVixzQkFBOEM7RWJ5aUM5QztFZXpoQ1U7SUZoQlYsc0JBQThDO0ViNGlDOUM7RWU1aENVO0lGaEJWLGdCQUE4QztFYitpQzlDO0VlL2hDVTtJRmhCVixzQkFBOEM7RWJrakM5QztFZWxpQ1U7SUZoQlYsc0JBQThDO0VicWpDOUM7RWVyaUNVO0lGaEJWLGdCQUE4QztFYndqQzlDO0VleGlDVTtJRmhCVixzQkFBOEM7RWIyakM5QztFZTNpQ1U7SUZoQlYsc0JBQThDO0ViOGpDOUM7QUFDRjs7QWMxakNJO0VDM0JFO0lBQ0UsYUFBYTtJQUNiLFlBQVk7SUFDWixlQUFlO0VmeWxDckI7RWVwbENRO0lGd0JOLGNBQXVCO0lBQ3ZCLGVBQXdCO0ViK2pDMUI7RWV4bENRO0lGd0JOLGFBQXVCO0lBQ3ZCLGNBQXdCO0VibWtDMUI7RWU1bENRO0lGd0JOLG1CQUF1QjtJQUN2QixvQkFBd0I7RWJ1a0MxQjtFZWhtQ1E7SUZ3Qk4sYUFBdUI7SUFDdkIsY0FBd0I7RWIya0MxQjtFZXBtQ1E7SUZ3Qk4sYUFBdUI7SUFDdkIsY0FBd0I7RWIra0MxQjtFZXhtQ1E7SUZ3Qk4sbUJBQXVCO0lBQ3ZCLG9CQUF3QjtFYm1sQzFCO0VldG1DSTtJRkNKLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZUFBZTtFYndtQ2Y7RWVybUNRO0lGYlIsa0JBQXNDO0lBSXRDLG1CQUF1QztFYmtuQ3ZDO0Vlem1DUTtJRmJSLG1CQUFzQztJQUl0QyxvQkFBdUM7RWJzbkN2QztFZTdtQ1E7SUZiUixhQUFzQztJQUl0QyxjQUF1QztFYjBuQ3ZDO0Vlam5DUTtJRmJSLG1CQUFzQztJQUl0QyxvQkFBdUM7RWI4bkN2QztFZXJuQ1E7SUZiUixtQkFBc0M7SUFJdEMsb0JBQXVDO0Via29DdkM7RWV6bkNRO0lGYlIsYUFBc0M7SUFJdEMsY0FBdUM7RWJzb0N2QztFZTduQ1E7SUZiUixtQkFBc0M7SUFJdEMsb0JBQXVDO0ViMG9DdkM7RWVqb0NRO0lGYlIsbUJBQXNDO0lBSXRDLG9CQUF1QztFYjhvQ3ZDO0Vlcm9DUTtJRmJSLGFBQXNDO0lBSXRDLGNBQXVDO0Via3BDdkM7RWV6b0NRO0lGYlIsbUJBQXNDO0lBSXRDLG9CQUF1QztFYnNwQ3ZDO0VlN29DUTtJRmJSLG1CQUFzQztJQUl0QyxvQkFBdUM7RWIwcEN2QztFZWpwQ1E7SUZiUixjQUFzQztJQUl0QyxlQUF1QztFYjhwQ3ZDO0VlL29DSTtJQUF3QixTQUFTO0Vma3BDckM7RWVocENJO0lBQXVCLFNabUtHO0VIZy9COUI7RWVocENNO0lBQXdCLFFBRFo7RWZvcENsQjtFZW5wQ007SUFBd0IsUUFEWjtFZnVwQ2xCO0VldHBDTTtJQUF3QixRQURaO0VmMHBDbEI7RWV6cENNO0lBQXdCLFFBRFo7RWY2cENsQjtFZTVwQ007SUFBd0IsUUFEWjtFZmdxQ2xCO0VlL3BDTTtJQUF3QixRQURaO0VmbXFDbEI7RWVscUNNO0lBQXdCLFFBRFo7RWZzcUNsQjtFZXJxQ007SUFBd0IsUUFEWjtFZnlxQ2xCO0VleHFDTTtJQUF3QixRQURaO0VmNHFDbEI7RWUzcUNNO0lBQXdCLFFBRFo7RWYrcUNsQjtFZTlxQ007SUFBd0IsU0FEWjtFZmtyQ2xCO0VlanJDTTtJQUF3QixTQURaO0VmcXJDbEI7RWVwckNNO0lBQXdCLFNBRFo7RWZ3ckNsQjtFZWhyQ1U7SUZoQlYsY0FBNEI7RWJtc0M1QjtFZW5yQ1U7SUZoQlYscUJBQThDO0Vic3NDOUM7RWV0ckNVO0lGaEJWLHNCQUE4QztFYnlzQzlDO0VlenJDVTtJRmhCVixnQkFBOEM7RWI0c0M5QztFZTVyQ1U7SUZoQlYsc0JBQThDO0ViK3NDOUM7RWUvckNVO0lGaEJWLHNCQUE4QztFYmt0QzlDO0VlbHNDVTtJRmhCVixnQkFBOEM7RWJxdEM5QztFZXJzQ1U7SUZoQlYsc0JBQThDO0Vid3RDOUM7RWV4c0NVO0lGaEJWLHNCQUE4QztFYjJ0QzlDO0VlM3NDVTtJRmhCVixnQkFBOEM7RWI4dEM5QztFZTlzQ1U7SUZoQlYsc0JBQThDO0ViaXVDOUM7RWVqdENVO0lGaEJWLHNCQUE4QztFYm91QzlDO0FBQ0Y7O0FjaHVDSTtFQzNCRTtJQUNFLGFBQWE7SUFDYixZQUFZO0lBQ1osZUFBZTtFZit2Q3JCO0VlMXZDUTtJRndCTixjQUF1QjtJQUN2QixlQUF3QjtFYnF1QzFCO0VlOXZDUTtJRndCTixhQUF1QjtJQUN2QixjQUF3QjtFYnl1QzFCO0VlbHdDUTtJRndCTixtQkFBdUI7SUFDdkIsb0JBQXdCO0ViNnVDMUI7RWV0d0NRO0lGd0JOLGFBQXVCO0lBQ3ZCLGNBQXdCO0ViaXZDMUI7RWUxd0NRO0lGd0JOLGFBQXVCO0lBQ3ZCLGNBQXdCO0VicXZDMUI7RWU5d0NRO0lGd0JOLG1CQUF1QjtJQUN2QixvQkFBd0I7RWJ5dkMxQjtFZTV3Q0k7SUZDSixjQUFjO0lBQ2QsV0FBVztJQUNYLGVBQWU7RWI4d0NmO0VlM3dDUTtJRmJSLGtCQUFzQztJQUl0QyxtQkFBdUM7RWJ3eEN2QztFZS93Q1E7SUZiUixtQkFBc0M7SUFJdEMsb0JBQXVDO0ViNHhDdkM7RWVueENRO0lGYlIsYUFBc0M7SUFJdEMsY0FBdUM7RWJneUN2QztFZXZ4Q1E7SUZiUixtQkFBc0M7SUFJdEMsb0JBQXVDO0Vib3lDdkM7RWUzeENRO0lGYlIsbUJBQXNDO0lBSXRDLG9CQUF1QztFYnd5Q3ZDO0VlL3hDUTtJRmJSLGFBQXNDO0lBSXRDLGNBQXVDO0ViNHlDdkM7RWVueUNRO0lGYlIsbUJBQXNDO0lBSXRDLG9CQUF1QztFYmd6Q3ZDO0VldnlDUTtJRmJSLG1CQUFzQztJQUl0QyxvQkFBdUM7RWJvekN2QztFZTN5Q1E7SUZiUixhQUFzQztJQUl0QyxjQUF1QztFYnd6Q3ZDO0VlL3lDUTtJRmJSLG1CQUFzQztJQUl0QyxvQkFBdUM7RWI0ekN2QztFZW56Q1E7SUZiUixtQkFBc0M7SUFJdEMsb0JBQXVDO0ViZzBDdkM7RWV2ekNRO0lGYlIsY0FBc0M7SUFJdEMsZUFBdUM7RWJvMEN2QztFZXJ6Q0k7SUFBd0IsU0FBUztFZnd6Q3JDO0VldHpDSTtJQUF1QixTWm1LRztFSHNwQzlCO0VldHpDTTtJQUF3QixRQURaO0VmMHpDbEI7RWV6ekNNO0lBQXdCLFFBRFo7RWY2ekNsQjtFZTV6Q007SUFBd0IsUUFEWjtFZmcwQ2xCO0VlL3pDTTtJQUF3QixRQURaO0VmbTBDbEI7RWVsMENNO0lBQXdCLFFBRFo7RWZzMENsQjtFZXIwQ007SUFBd0IsUUFEWjtFZnkwQ2xCO0VleDBDTTtJQUF3QixRQURaO0VmNDBDbEI7RWUzMENNO0lBQXdCLFFBRFo7RWYrMENsQjtFZTkwQ007SUFBd0IsUUFEWjtFZmsxQ2xCO0VlajFDTTtJQUF3QixRQURaO0VmcTFDbEI7RWVwMUNNO0lBQXdCLFNBRFo7RWZ3MUNsQjtFZXYxQ007SUFBd0IsU0FEWjtFZjIxQ2xCO0VlMTFDTTtJQUF3QixTQURaO0VmODFDbEI7RWV0MUNVO0lGaEJWLGNBQTRCO0VieTJDNUI7RWV6MUNVO0lGaEJWLHFCQUE4QztFYjQyQzlDO0VlNTFDVTtJRmhCVixzQkFBOEM7RWIrMkM5QztFZS8xQ1U7SUZoQlYsZ0JBQThDO0ViazNDOUM7RWVsMkNVO0lGaEJWLHNCQUE4QztFYnEzQzlDO0VlcjJDVTtJRmhCVixzQkFBOEM7RWJ3M0M5QztFZXgyQ1U7SUZoQlYsZ0JBQThDO0ViMjNDOUM7RWUzMkNVO0lGaEJWLHNCQUE4QztFYjgzQzlDO0VlOTJDVTtJRmhCVixzQkFBOEM7RWJpNEM5QztFZWozQ1U7SUZoQlYsZ0JBQThDO0VibzRDOUM7RWVwM0NVO0lGaEJWLHNCQUE4QztFYnU0QzlDO0VldjNDVTtJRmhCVixzQkFBOEM7RWIwNEM5QztBQUNGOztBZ0I5N0NBO0VBQ0UsV0FBVztFQUNYLG1CYmlJVztFYWhJWCxjYlNnQjtBSHc3Q2xCOztBZ0JwOENBOztFQVFJLGdCYmtWZ0M7RWFqVmhDLG1CQUFtQjtFQUNuQiw2QmJKYztBSHE4Q2xCOztBZ0IzOENBO0VBY0ksc0JBQXNCO0VBQ3RCLGdDYlRjO0FIMDhDbEI7O0FnQmg5Q0E7RUFtQkksNkJiYmM7QUg4OENsQjs7QWdCeDdDQTs7RUFHSSxlYjRUK0I7QUg4bkNuQzs7QWdCajdDQTtFQUNFLHlCYm5DZ0I7QUh1OUNsQjs7QWdCcjdDQTs7RUFLSSx5QmJ2Q2M7QUg0OUNsQjs7QWdCMTdDQTs7RUFXTSx3QkFBNEM7QWhCbzdDbEQ7O0FnQi82Q0E7Ozs7RUFLSSxTQUFTO0FoQmk3Q2I7O0FnQno2Q0E7RUFFSSxxQ2IxRFc7QUhxK0NmOztBSzErQ0U7RVcyRUksY2J2RVk7RWF3RVosc0NidkVTO0FIMCtDZjs7QWlCdC9DRTs7O0VBSUkseUJDZ0c0RDtBbEJ3NUNsRTs7QWlCNS9DRTs7OztFQVlNLHFCQ3dGMEQ7QWxCKzVDbEU7O0FLNS9DRTtFWWlCTSx5QkFKc0M7QWpCbS9DOUM7O0FpQnAvQ0U7O0VBU1EseUJBUm9DO0FqQncvQzlDOztBaUI1Z0RFOzs7RUFJSSx5QkNnRzREO0FsQjg2Q2xFOztBaUJsaERFOzs7O0VBWU0scUJDd0YwRDtBbEJxN0NsRTs7QUtsaERFO0VZaUJNLHlCQUpzQztBakJ5Z0Q5Qzs7QWlCMWdERTs7RUFTUSx5QkFSb0M7QWpCOGdEOUM7O0FpQmxpREU7OztFQUlJLHlCQ2dHNEQ7QWxCbzhDbEU7O0FpQnhpREU7Ozs7RUFZTSxxQkN3RjBEO0FsQjI4Q2xFOztBS3hpREU7RVlpQk0seUJBSnNDO0FqQitoRDlDOztBaUJoaURFOztFQVNRLHlCQVJvQztBakJvaUQ5Qzs7QWlCeGpERTs7O0VBSUkseUJDZ0c0RDtBbEIwOUNsRTs7QWlCOWpERTs7OztFQVlNLHFCQ3dGMEQ7QWxCaStDbEU7O0FLOWpERTtFWWlCTSx5QkFKc0M7QWpCcWpEOUM7O0FpQnRqREU7O0VBU1EseUJBUm9DO0FqQjBqRDlDOztBaUI5a0RFOzs7RUFJSSx5QkNnRzREO0FsQmcvQ2xFOztBaUJwbERFOzs7O0VBWU0scUJDd0YwRDtBbEJ1L0NsRTs7QUtwbERFO0VZaUJNLHlCQUpzQztBakIya0Q5Qzs7QWlCNWtERTs7RUFTUSx5QkFSb0M7QWpCZ2xEOUM7O0FpQnBtREU7OztFQUlJLHlCQ2dHNEQ7QWxCc2dEbEU7O0FpQjFtREU7Ozs7RUFZTSxxQkN3RjBEO0FsQjZnRGxFOztBSzFtREU7RVlpQk0seUJBSnNDO0FqQmltRDlDOztBaUJsbURFOztFQVNRLHlCQVJvQztBakJzbUQ5Qzs7QWlCMW5ERTs7O0VBSUkseUJDZ0c0RDtBbEI0aERsRTs7QWlCaG9ERTs7OztFQVlNLHFCQ3dGMEQ7QWxCbWlEbEU7O0FLaG9ERTtFWWlCTSx5QkFKc0M7QWpCdW5EOUM7O0FpQnhuREU7O0VBU1EseUJBUm9DO0FqQjRuRDlDOztBaUJocERFOzs7RUFJSSx5QkNnRzREO0FsQmtqRGxFOztBaUJ0cERFOzs7O0VBWU0scUJDd0YwRDtBbEJ5akRsRTs7QUt0cERFO0VZaUJNLHlCQUpzQztBakI2b0Q5Qzs7QWlCOW9ERTs7RUFTUSx5QkFSb0M7QWpCa3BEOUM7O0FpQnRxREU7OztFQUlJLHNDZFFTO0FIZ3FEZjs7QUtycURFO0VZaUJNLHNDQUpzQztBakI0cEQ5Qzs7QWlCN3BERTs7RUFTUSxzQ0FSb0M7QWpCaXFEOUM7O0FnQjNrREE7RUFHTSxXYjNHUztFYTRHVCx5QmJwR1k7RWFxR1oscUJiZ1FxRDtBSDQwQzNEOztBZ0JqbERBO0VBV00sY2I1R1k7RWE2R1oseUJibEhZO0VhbUhaLHFCYmxIWTtBSDRyRGxCOztBZ0Jya0RBO0VBQ0UsV2IzSGE7RWE0SGIseUJicEhnQjtBSDRyRGxCOztBZ0Ixa0RBOzs7RUFPSSxxQmI0T3VEO0FINjFDM0Q7O0FnQmhsREE7RUFXSSxTQUFTO0FoQnlrRGI7O0FnQnBsREE7RUFnQk0sMkNiMUlTO0FIa3REZjs7QUs3c0RFO0VXNElNLFdiakpPO0Vha0pQLDRDYmxKTztBSHV0RGY7O0FjcnBESTtFRWlHQTtJQUVJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQztFaEJ1akR2QztFZ0I1akRHO0lBU0ssU0FBUztFaEJzakRqQjtBQUNGOztBY2pxREk7RUVpR0E7SUFFSSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUM7RWhCbWtEdkM7RWdCeGtERztJQVNLLFNBQVM7RWhCa2tEakI7QUFDRjs7QWM3cURJO0VFaUdBO0lBRUksY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUNBQWlDO0VoQitrRHZDO0VnQnBsREc7SUFTSyxTQUFTO0VoQjhrRGpCO0FBQ0Y7O0FjenJESTtFRWlHQTtJQUVJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQztFaEIybER2QztFZ0JobURHO0lBU0ssU0FBUztFaEIwbERqQjtBQUNGOztBZ0J6bURBO0VBT1EsY0FBYztFQUNkLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsaUNBQWlDO0FoQnNtRHpDOztBZ0JobkRBO0VBY1UsU0FBUztBaEJzbURuQjs7QW1CbnhEQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsbUNEaUg4RDtFQ2hIOUQseUJoQnlYa0M7RUNwUTlCLGVBdENZO0VlNUVoQixnQmhCa1IrQjtFZ0JqUi9CLGdCaEJzUitCO0VnQnJSL0IsY2hCRGdCO0VnQkVoQixzQmhCVGE7RWdCVWIsNEJBQTRCO0VBQzVCLHlCaEJQZ0I7RU9PZCxzQlA2TmdDO0VpQi9OOUIsd0VqQnVlNEY7QUhrekNsRzs7QW9CcnhETTtFRGROO0lDZVEsZ0JBQWdCO0VwQnl4RHRCO0FBQ0Y7O0FtQnp5REE7RUFzQkksNkJBQTZCO0VBQzdCLFNBQVM7QW5CdXhEYjs7QW1COXlEQTtFQTRCSSxrQkFBa0I7RUFDbEIsMEJoQnJCYztBSDJ5RGxCOztBcUI1eURFO0VBQ0UsY2xCQWM7RWtCQ2Qsc0JsQlJXO0VrQlNYLHFCbEJxZHNFO0VrQnBkdEUsVUFBVTtFQUtSLGdEbEJhVztBSDh4RGpCOztBbUIzekRBO0VBcUNJLGNoQjlCYztFZ0JnQ2QsVUFBVTtBbkJ5eERkOztBbUJoMERBO0VBaURJLHlCaEI5Q2M7RWdCZ0RkLFVBQVU7QW5Ca3hEZDs7QW1COXdEQTs7OztFQUtJLGdCQUFnQjtBbkJneERwQjs7QW1CNXdEQTtFQU9JLGNoQi9EYztFZ0JnRWQsc0JoQnZFVztBSGcxRGY7O0FtQnB3REE7O0VBRUUsY0FBYztFQUNkLFdBQVc7QW5CdXdEYjs7QW1CN3ZEQTtFQUNFLGlDRHlCOEQ7RUN4QjlELG9DRHdCOEQ7RUN2QjlELGdCQUFnQjtFZjNCZCxrQkFBVztFZTZCYixnQmhCK0wrQjtBSGlrRGpDOztBbUI3dkRBO0VBQ0UsK0JEaUI4RDtFQ2hCOUQsa0NEZ0I4RDtFZEsxRCxrQkF0Q1k7RWVtQmhCLGdCaEI2SCtCO0FIbW9EakM7O0FtQjd2REE7RUFDRSxnQ0RVOEQ7RUNUOUQsbUNEUzhEO0VkSzFELG1CQXRDWTtFZTBCaEIsZ0JoQnVIK0I7QUh5b0RqQzs7QW1CdnZEQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsbUJBQTJCO0VBQzNCLGdCQUFnQjtFZkRaLGVBdENZO0VleUNoQixnQmhCa0srQjtFZ0JqSy9CLGNoQm5IZ0I7RWdCb0hoQiw2QkFBNkI7RUFDN0IseUJBQXlCO0VBQ3pCLG1CQUFtQztBbkIwdkRyQzs7QW1CcHdEQTtFQWNJLGdCQUFnQjtFQUNoQixlQUFlO0FuQjB2RG5COztBbUI5dURBO0VBQ0Usa0NEOUI4RDtFQytCOUQsdUJoQm9QaUM7RUM5UTdCLG1CQXRDWTtFZWtFaEIsZ0JoQitFK0I7RU94TjdCLHFCUCtOK0I7QUg0cERuQzs7QW1COXVEQTtFQUNFLGdDRHRDOEQ7RUN1QzlELG9CaEJpUGdDO0VDblI1QixrQkF0Q1k7RWUwRWhCLGdCaEJzRStCO0VPdk43QixxQlA4TitCO0FIcXFEbkM7O0FtQjd1REE7RUFHSSxZQUFZO0FuQjh1RGhCOztBbUIxdURBO0VBQ0UsWUFBWTtBbkI2dURkOztBbUJydURBO0VBQ0UsbUJoQjBVMEM7QUg4NUM1Qzs7QW1CcnVEQTtFQUNFLGNBQWM7RUFDZCxtQmhCMlQ0QztBSDY2QzlDOztBbUJodURBO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZixrQkFBMEM7RUFDMUMsaUJBQXlDO0FuQm11RDNDOztBbUJ2dURBOztFQVFJLGtCQUEwQztFQUMxQyxpQkFBeUM7QW5Cb3VEN0M7O0FtQjN0REE7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLHFCaEJnUzZDO0FIODdDL0M7O0FtQjN0REE7RUFDRSxrQkFBa0I7RUFDbEIsa0JoQjRSMkM7RWdCM1IzQyxxQmhCMFI2QztBSG84Qy9DOztBbUJqdURBOztFQVFJLGNoQnpOYztBSHU3RGxCOztBbUIxdERBO0VBQ0UsZ0JBQWdCO0FuQjZ0RGxCOztBbUIxdERBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YscUJoQjZRNEM7QUhnOUM5Qzs7QW1CanVEQTtFQVFJLGdCQUFnQjtFQUNoQixhQUFhO0VBQ2IsdUJoQndRNEM7RWdCdlE1QyxjQUFjO0FuQjZ0RGxCOztBcUIxNkRFO0VBQ0UsYUFBYTtFQUNiLFdBQVc7RUFDWCxtQmxCMGMwQztFQ2piMUMsY0FBVztFaUJ2QlgsY2xCUGE7QUhvN0RqQjs7QXFCMTZERTtFQUNFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsT0FBTztFQUNQLFVBQVU7RUFDVixhQUFhO0VBQ2IsZUFBZTtFQUNmLHVCbEJveUJxQztFa0JueUJyQyxpQkFBaUI7RWpCbUVmLG1CQXRDWTtFaUIzQmQsZ0JsQnNPNkI7RWtCck83QixXbEJ4RFc7RWtCeURYLHdDbEJ0QmE7RU94QmIsc0JQNk5nQztBSCt2RHBDOztBcUJ6NkRJOztFQUVFLFNBQWlDO0FyQjQ2RHZDOztBcUJuOURJOzs7O0VBOENFLGNBQWM7QXJCNDZEcEI7O0FxQjE5REk7RUFvREUscUJsQjFDVztFa0I2Q1Qsb0NIbUN3RDtFR2xDeEQsaVJIM0IwRTtFRzRCMUUsNEJBQTRCO0VBQzVCLDJEQUE2RDtFQUM3RCxnRUgrQndEO0FsQnk0RGhFOztBcUJuK0RJO0VBK0RJLHFCbEJyRFM7RWtCc0RULGdEbEJ0RFM7QUg4OURqQjs7QXFCeCtESTtFQXlFSSxvQ0hpQndEO0VHaEJ4RCxrRkhnQndEO0FsQm01RGhFOztBcUI3K0RJO0VBaUZFLHFCbEJ2RVc7RWtCMEVULHVDSE13RDtFR0x4RCx1akJBQThKO0FyQjg1RHRLOztBcUJuL0RJO0VBeUZJLHFCbEIvRVM7RWtCZ0ZULGdEbEJoRlM7QUg4K0RqQjs7QXFCeC9ESTtFQWtHSSxjbEJ4RlM7QUhrL0RqQjs7QXFCNS9ESTs7O0VBdUdJLGNBQWM7QXJCMjVEdEI7O0FxQmxnRUk7RUErR0ksY2xCckdTO0FINC9EakI7O0FxQnRnRUk7RUFrSE0scUJsQnhHTztBSGdnRWpCOztBcUIxZ0VJO0VBd0hNLHFCQUFrQztFQ2xKeEMseUJEbUorQztBckJzNURuRDs7QXFCL2dFSTtFQStITSxnRGxCckhPO0FIeWdFakI7O0FxQm5oRUk7RUFtSU0scUJsQnpITztBSDZnRWpCOztBcUJ2aEVJO0VBNklJLHFCbEJuSVM7QUhpaEVqQjs7QXFCM2hFSTtFQWtKTSxxQmxCeElPO0VrQnlJUCxnRGxCeklPO0FIc2hFakI7O0FxQnBoRUU7RUFDRSxhQUFhO0VBQ2IsV0FBVztFQUNYLG1CbEIwYzBDO0VDamIxQyxjQUFXO0VpQnZCWCxjbEJWYTtBSGlpRWpCOztBcUJwaEVFO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxPQUFPO0VBQ1AsVUFBVTtFQUNWLGFBQWE7RUFDYixlQUFlO0VBQ2YsdUJsQm95QnFDO0VrQm55QnJDLGlCQUFpQjtFakJtRWYsbUJBdENZO0VpQjNCZCxnQmxCc082QjtFa0JyTzdCLFdsQnhEVztFa0J5RFgsd0NsQnpCYTtFT3JCYixzQlA2TmdDO0FIeTJEcEM7O0FxQm5oRUk7O0VBRUUsU0FBaUM7QXJCc2hFdkM7O0FxQjdqRUk7Ozs7RUE4Q0UsY0FBYztBckJzaEVwQjs7QXFCcGtFSTtFQW9ERSxxQmxCN0NXO0VrQmdEVCxvQ0htQ3dEO0VHbEN4RCw0VUgzQjBFO0VHNEIxRSw0QkFBNEI7RUFDNUIsMkRBQTZEO0VBQzdELGdFSCtCd0Q7QWxCbS9EaEU7O0FxQjdrRUk7RUErREkscUJsQnhEUztFa0J5RFQsZ0RsQnpEUztBSDJrRWpCOztBcUJsbEVJO0VBeUVJLG9DSGlCd0Q7RUdoQnhELGtGSGdCd0Q7QWxCNi9EaEU7O0FxQnZsRUk7RUFpRkUscUJsQjFFVztFa0I2RVQsdUNITXdEO0VHTHhELGtuQkFBOEo7QXJCd2dFdEs7O0FxQjdsRUk7RUF5RkkscUJsQmxGUztFa0JtRlQsZ0RsQm5GUztBSDJsRWpCOztBcUJsbUVJO0VBa0dJLGNsQjNGUztBSCtsRWpCOztBcUJ0bUVJOzs7RUF1R0ksY0FBYztBckJxZ0V0Qjs7QXFCNW1FSTtFQStHSSxjbEJ4R1M7QUh5bUVqQjs7QXFCaG5FSTtFQWtITSxxQmxCM0dPO0FINm1FakI7O0FxQnBuRUk7RUF3SE0scUJBQWtDO0VDbEp4Qyx5QkRtSitDO0FyQmdnRW5EOztBcUJ6bkVJO0VBK0hNLGdEbEJ4SE87QUhzbkVqQjs7QXFCN25FSTtFQW1JTSxxQmxCNUhPO0FIMG5FakI7O0FxQmpvRUk7RUE2SUkscUJsQnRJUztBSDhuRWpCOztBcUJyb0VJO0VBa0pNLHFCbEIzSU87RWtCNElQLGdEbEI1SU87QUhtb0VqQjs7QW1CeDVEQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsbUJBQW1CO0FuQjI1RHJCOztBbUI5NURBO0VBU0ksV0FBVztBbkJ5NURmOztBY3huRUk7RUtzTko7SUFlTSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixnQkFBZ0I7RW5CdzVEcEI7RW1CMTZERjtJQXVCTSxhQUFhO0lBQ2IsY0FBYztJQUNkLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0VuQnM1RHBCO0VtQmo3REY7SUFnQ00scUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxzQkFBc0I7RW5CbzVEMUI7RW1CdDdERjtJQXVDTSxxQkFBcUI7RW5CazVEekI7RW1CejdERjs7SUE0Q00sV0FBVztFbkJpNURmO0VtQjc3REY7SUFrRE0sYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsV0FBVztJQUNYLGVBQWU7RW5CODREbkI7RW1CcDhERjtJQXlETSxrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGFBQWE7SUFDYixxQmhCK0t3QztJZ0I5S3hDLGNBQWM7RW5CODREbEI7RW1CMzhERjtJQWlFTSxtQkFBbUI7SUFDbkIsdUJBQXVCO0VuQjY0RDNCO0VtQi84REY7SUFxRU0sZ0JBQWdCO0VuQjY0RHBCO0FBQ0Y7O0F1Qi90RUE7RUFDRSxxQkFBcUI7RUFFckIsZ0JwQnNSK0I7RW9CclIvQixjcEJNZ0I7RW9CTGhCLGtCQUFrQjtFQUdsQixzQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLDZCQUE2QjtFQUM3Qiw2QkFBMkM7RUN1RjNDLHlCckIyUmtDO0VDcFE5QixlQXRDWTtFb0JpQmhCLGdCckIwTCtCO0VPbFI3QixzQlA2TmdDO0VpQi9OOUIscUlqQmdiNkk7QUhxekRuSjs7QW9CanVFTTtFR2ROO0lIZVEsZ0JBQWdCO0VwQnF1RXRCO0FBQ0Y7O0FLL3VFRTtFa0JVRSxjcEJOYztFb0JPZCxxQkFBcUI7QXZCeXVFekI7O0F1QjF2RUE7RUFzQkksVUFBVTtFQUNWLGdEcEJNYTtBSGt1RWpCOztBdUIvdkVBO0VBNkJJLGFwQmlaNkI7QUhxMURqQzs7QXVCbndFQTtFQWtDSSxlQUFzRDtBdkJxdUUxRDs7QXVCdnRFQTs7RUFFRSxvQkFBb0I7QXZCMHRFdEI7O0F1Qmp0RUU7RUMzREEsV3JCQ2E7RW1CRFgseUJuQjZCYTtFcUIzQmYscUJyQjJCZTtBSHF2RWpCOztBSzV3RUU7RW1CQUUsV3JCTFc7RW1CRFgseUJFRG9GO0VBU3BGLHFCQVR5SDtBeEJ5eEU3SDs7QXdCN3dFRTtFQUVFLFdyQlpXO0VtQkRYLHlCRURvRjtFQWdCcEYscUJBaEJ5SDtFQXFCdkgsZ0RBQWlGO0F4QjJ3RXZGOztBd0J0d0VFO0VBRUUsV3JCMUJXO0VxQjJCWCx5QnJCQ2E7RXFCQWIscUJyQkFhO0FId3dFakI7O0F3Qmp3RUU7O0VBR0UsV3JCdENXO0VxQnVDWCx5QkF6Q3VLO0VBNkN2SyxxQkE3QytNO0F4QjZ5RW5OOztBd0I5dkVJOztFQUtJLGdEQUFpRjtBeEI4dkV6Rjs7QXVCdHZFRTtFQzNEQSxXckJDYTtFbUJEWCx5Qm5CT2M7RXFCTGhCLHFCckJLZ0I7QUhnekVsQjs7QUtqekVFO0VtQkFFLFdyQkxXO0VtQkRYLHlCRURvRjtFQVNwRixxQkFUeUg7QXhCOHpFN0g7O0F3Qmx6RUU7RUFFRSxXckJaVztFbUJEWCx5QkVEb0Y7RUFnQnBGLHFCQWhCeUg7RUFxQnZILGlEQUFpRjtBeEJnekV2Rjs7QXdCM3lFRTtFQUVFLFdyQjFCVztFcUIyQlgseUJyQnJCYztFcUJzQmQscUJyQnRCYztBSG0wRWxCOztBd0J0eUVFOztFQUdFLFdyQnRDVztFcUJ1Q1gseUJBekN1SztFQTZDdksscUJBN0MrTTtBeEJrMUVuTjs7QXdCbnlFSTs7RUFLSSxpREFBaUY7QXhCbXlFekY7O0F1QjN4RUU7RUMzREEsV3JCQ2E7RW1CRFgseUJuQm9DYTtFcUJsQ2YscUJyQmtDZTtBSHd6RWpCOztBS3QxRUU7RW1CQUUsV3JCTFc7RW1CRFgseUJFRG9GO0VBU3BGLHFCQVR5SDtBeEJtMkU3SDs7QXdCdjFFRTtFQUVFLFdyQlpXO0VtQkRYLHlCRURvRjtFQWdCcEYscUJBaEJ5SDtFQXFCdkgsK0NBQWlGO0F4QnExRXZGOztBd0JoMUVFO0VBRUUsV3JCMUJXO0VxQjJCWCx5QnJCUWE7RXFCUGIscUJyQk9hO0FIMjBFakI7O0F3QjMwRUU7O0VBR0UsV3JCdENXO0VxQnVDWCx5QkF6Q3VLO0VBNkN2SyxxQkE3QytNO0F4QnUzRW5OOztBd0J4MEVJOztFQUtJLCtDQUFpRjtBeEJ3MEV6Rjs7QXVCaDBFRTtFQzNEQSxXckJDYTtFbUJEWCx5Qm5Cc0NhO0VxQnBDZixxQnJCb0NlO0FIMjFFakI7O0FLMzNFRTtFbUJBRSxXckJMVztFbUJEWCx5QkVEb0Y7RUFTcEYscUJBVHlIO0F4Qnc0RTdIOztBd0I1M0VFO0VBRUUsV3JCWlc7RW1CRFgseUJFRG9GO0VBZ0JwRixxQkFoQnlIO0VBcUJ2SCxnREFBaUY7QXhCMDNFdkY7O0F3QnIzRUU7RUFFRSxXckIxQlc7RXFCMkJYLHlCckJVYTtFcUJUYixxQnJCU2E7QUg4MkVqQjs7QXdCaDNFRTs7RUFHRSxXckJ0Q1c7RXFCdUNYLHlCQXpDdUs7RUE2Q3ZLLHFCQTdDK007QXhCNDVFbk47O0F3QjcyRUk7O0VBS0ksZ0RBQWlGO0F4QjYyRXpGOztBdUJyMkVFO0VDM0RBLGNyQlVnQjtFbUJWZCx5Qm5CbUNhO0VxQmpDZixxQnJCaUNlO0FIbTRFakI7O0FLaDZFRTtFbUJBRSxjckJJYztFbUJWZCx5QkVEb0Y7RUFTcEYscUJBVHlIO0F4QjY2RTdIOztBd0JqNkVFO0VBRUUsY3JCSGM7RW1CVmQseUJFRG9GO0VBZ0JwRixxQkFoQnlIO0VBcUJ2SCxnREFBaUY7QXhCKzVFdkY7O0F3QjE1RUU7RUFFRSxjckJqQmM7RXFCa0JkLHlCckJPYTtFcUJOYixxQnJCTWE7QUhzNUVqQjs7QXdCcjVFRTs7RUFHRSxjckI3QmM7RXFCOEJkLHlCQXpDdUs7RUE2Q3ZLLHFCQTdDK007QXhCaThFbk47O0F3Qmw1RUk7O0VBS0ksZ0RBQWlGO0F4Qms1RXpGOztBdUIxNEVFO0VDM0RBLFdyQkNhO0VtQkRYLHlCbkJpQ2E7RXFCL0JmLHFCckIrQmU7QUgwNkVqQjs7QUtyOEVFO0VtQkFFLFdyQkxXO0VtQkRYLHlCRURvRjtFQVNwRixxQkFUeUg7QXhCazlFN0g7O0F3QnQ4RUU7RUFFRSxXckJaVztFbUJEWCx5QkVEb0Y7RUFnQnBGLHFCQWhCeUg7RUFxQnZILCtDQUFpRjtBeEJvOEV2Rjs7QXdCLzdFRTtFQUVFLFdyQjFCVztFcUIyQlgseUJyQkthO0VxQkpiLHFCckJJYTtBSDY3RWpCOztBd0IxN0VFOztFQUdFLFdyQnRDVztFcUJ1Q1gseUJBekN1SztFQTZDdksscUJBN0MrTTtBeEJzK0VuTjs7QXdCdjdFSTs7RUFLSSwrQ0FBaUY7QXhCdTdFekY7O0F1Qi82RUU7RUMzREEsY3JCVWdCO0VtQlZkLHlCbkJFYztFcUJBaEIscUJyQkFnQjtBSDgrRWxCOztBSzErRUU7RW1CQUUsY3JCSWM7RW1CVmQseUJFRG9GO0VBU3BGLHFCQVR5SDtBeEJ1L0U3SDs7QXdCMytFRTtFQUVFLGNyQkhjO0VtQlZkLHlCRURvRjtFQWdCcEYscUJBaEJ5SDtFQXFCdkgsaURBQWlGO0F4QnkrRXZGOztBd0JwK0VFO0VBRUUsY3JCakJjO0VxQmtCZCx5QnJCMUJjO0VxQjJCZCxxQnJCM0JjO0FIaWdGbEI7O0F3Qi85RUU7O0VBR0UsY3JCN0JjO0VxQjhCZCx5QkF6Q3VLO0VBNkN2SyxxQkE3QytNO0F4QjJnRm5OOztBd0I1OUVJOztFQUtJLGlEQUFpRjtBeEI0OUV6Rjs7QXVCcDlFRTtFQzNEQSxXckJDYTtFbUJEWCx5Qm5CU2M7RXFCUGhCLHFCckJPZ0I7QUg0Z0ZsQjs7QUsvZ0ZFO0VtQkFFLFdyQkxXO0VtQkRYLHlCRURvRjtFQVNwRixxQkFUeUg7QXhCNGhGN0g7O0F3QmhoRkU7RUFFRSxXckJaVztFbUJEWCx5QkVEb0Y7RUFnQnBGLHFCQWhCeUg7RUFxQnZILDhDQUFpRjtBeEI4Z0Z2Rjs7QXdCemdGRTtFQUVFLFdyQjFCVztFcUIyQlgseUJyQm5CYztFcUJvQmQscUJyQnBCYztBSCtoRmxCOztBd0JwZ0ZFOztFQUdFLFdyQnRDVztFcUJ1Q1gseUJBekN1SztFQTZDdksscUJBN0MrTTtBeEJnakZuTjs7QXdCamdGSTs7RUFLSSw4Q0FBaUY7QXhCaWdGekY7O0F1Qm4vRUU7RUNQQSxjckI3QmU7RXFCOEJmLHFCckI5QmU7QUg0aEZqQjs7QUtuakZFO0VtQndERSxXckI3RFc7RXFCOERYLHlCckJsQ2E7RXFCbUNiLHFCckJuQ2E7QUhraUZqQjs7QXdCNS9FRTtFQUVFLCtDckJ4Q2E7QUhzaUZqQjs7QXdCMy9FRTtFQUVFLGNyQjdDYTtFcUI4Q2IsNkJBQTZCO0F4QjYvRWpDOztBd0IxL0VFOztFQUdFLFdyQmhGVztFcUJpRlgseUJyQnJEYTtFcUJzRGIscUJyQnREYTtBSGtqRmpCOztBd0IxL0VJOztFQUtJLCtDckI3RFM7QUh1akZqQjs7QXVCbmhGRTtFQ1BBLGNyQm5EZ0I7RXFCb0RoQixxQnJCcERnQjtBSGtsRmxCOztBS25sRkU7RW1Cd0RFLFdyQjdEVztFcUI4RFgseUJyQnhEYztFcUJ5RGQscUJyQnpEYztBSHdsRmxCOztBd0I1aEZFO0VBRUUsaURyQjlEYztBSDRsRmxCOztBd0IzaEZFO0VBRUUsY3JCbkVjO0VxQm9FZCw2QkFBNkI7QXhCNmhGakM7O0F3QjFoRkU7O0VBR0UsV3JCaEZXO0VxQmlGWCx5QnJCM0VjO0VxQjRFZCxxQnJCNUVjO0FId21GbEI7O0F3QjFoRkk7O0VBS0ksaURyQm5GVTtBSDZtRmxCOztBdUJuakZFO0VDUEEsY3JCdEJlO0VxQnVCZixxQnJCdkJlO0FIcWxGakI7O0FLbm5GRTtFbUJ3REUsV3JCN0RXO0VxQjhEWCx5QnJCM0JhO0VxQjRCYixxQnJCNUJhO0FIMmxGakI7O0F3QjVqRkU7RUFFRSwrQ3JCakNhO0FIK2xGakI7O0F3QjNqRkU7RUFFRSxjckJ0Q2E7RXFCdUNiLDZCQUE2QjtBeEI2akZqQzs7QXdCMWpGRTs7RUFHRSxXckJoRlc7RXFCaUZYLHlCckI5Q2E7RXFCK0NiLHFCckIvQ2E7QUgybUZqQjs7QXdCMWpGSTs7RUFLSSwrQ3JCdERTO0FIZ25GakI7O0F1Qm5sRkU7RUNQQSxjckJwQmU7RXFCcUJmLHFCckJyQmU7QUhtbkZqQjs7QUtucEZFO0VtQndERSxXckI3RFc7RXFCOERYLHlCckJ6QmE7RXFCMEJiLHFCckIxQmE7QUh5bkZqQjs7QXdCNWxGRTtFQUVFLGdEckIvQmE7QUg2bkZqQjs7QXdCM2xGRTtFQUVFLGNyQnBDYTtFcUJxQ2IsNkJBQTZCO0F4QjZsRmpDOztBd0IxbEZFOztFQUdFLFdyQmhGVztFcUJpRlgseUJyQjVDYTtFcUI2Q2IscUJyQjdDYTtBSHlvRmpCOztBd0IxbEZJOztFQUtJLGdEckJwRFM7QUg4b0ZqQjs7QXVCbm5GRTtFQ1BBLGNyQnZCZTtFcUJ3QmYscUJyQnhCZTtBSHNwRmpCOztBS25yRkU7RW1Cd0RFLGNyQnBEYztFcUJxRGQseUJyQjVCYTtFcUI2QmIscUJyQjdCYTtBSDRwRmpCOztBd0I1bkZFO0VBRUUsK0NyQmxDYTtBSGdxRmpCOztBd0IzbkZFO0VBRUUsY3JCdkNhO0VxQndDYiw2QkFBNkI7QXhCNm5GakM7O0F3QjFuRkU7O0VBR0UsY3JCdkVjO0VxQndFZCx5QnJCL0NhO0VxQmdEYixxQnJCaERhO0FINHFGakI7O0F3QjFuRkk7O0VBS0ksK0NyQnZEUztBSGlyRmpCOztBdUJucEZFO0VDUEEsY3JCekJlO0VxQjBCZixxQnJCMUJlO0FId3JGakI7O0FLbnRGRTtFbUJ3REUsV3JCN0RXO0VxQjhEWCx5QnJCOUJhO0VxQitCYixxQnJCL0JhO0FIOHJGakI7O0F3QjVwRkU7RUFFRSwrQ3JCcENhO0FIa3NGakI7O0F3QjNwRkU7RUFFRSxjckJ6Q2E7RXFCMENiLDZCQUE2QjtBeEI2cEZqQzs7QXdCMXBGRTs7RUFHRSxXckJoRlc7RXFCaUZYLHlCckJqRGE7RXFCa0RiLHFCckJsRGE7QUg4c0ZqQjs7QXdCMXBGSTs7RUFLSSwrQ3JCekRTO0FIbXRGakI7O0F1Qm5yRkU7RUNQQSxjckJ4RGdCO0VxQnlEaEIscUJyQnpEZ0I7QUh1dkZsQjs7QUtudkZFO0VtQndERSxjckJwRGM7RXFCcURkLHlCckI3RGM7RXFCOERkLHFCckI5RGM7QUg2dkZsQjs7QXdCNXJGRTtFQUVFLGlEckJuRWM7QUhpd0ZsQjs7QXdCM3JGRTtFQUVFLGNyQnhFYztFcUJ5RWQsNkJBQTZCO0F4QjZyRmpDOztBd0IxckZFOztFQUdFLGNyQnZFYztFcUJ3RWQseUJyQmhGYztFcUJpRmQscUJyQmpGYztBSDZ3RmxCOztBd0IxckZJOztFQUtJLGlEckJ4RlU7QUhreEZsQjs7QXVCbnRGRTtFQ1BBLGNyQmpEZ0I7RXFCa0RoQixxQnJCbERnQjtBSGd4RmxCOztBS254RkU7RW1Cd0RFLFdyQjdEVztFcUI4RFgseUJyQnREYztFcUJ1RGQscUJyQnZEYztBSHN4RmxCOztBd0I1dEZFO0VBRUUsOENyQjVEYztBSDB4RmxCOztBd0IzdEZFO0VBRUUsY3JCakVjO0VxQmtFZCw2QkFBNkI7QXhCNnRGakM7O0F3QjF0RkU7O0VBR0UsV3JCaEZXO0VxQmlGWCx5QnJCekVjO0VxQjBFZCxxQnJCMUVjO0FIc3lGbEI7O0F3QjF0Rkk7O0VBS0ksOENyQmpGVTtBSDJ5RmxCOztBdUJ4dUZBO0VBQ0UsZ0JwQjRNK0I7RW9CM00vQixjcEJqRGU7RW9Ca0RmLHFCcEIyRjRDO0FIZ3BGOUM7O0FLcHpGRTtFa0I0RUUsY3BCeUY4RDtFb0J4RjlELDBCcEJ5RitDO0FIbXBGbkQ7O0F1Qm52RkE7RUFZSSwwQnBCb0YrQztBSHVwRm5EOztBdUJ2dkZBO0VBaUJJLGNwQnRGYztFb0J1RmQsb0JBQW9CO0F2QjB1RnhCOztBdUIvdEZBO0VDUEUsb0JyQjBTZ0M7RUNuUjVCLGtCQXRDWTtFb0JpQmhCLGdCckIrSCtCO0VPdk43QixxQlA4TitCO0FIcW1GbkM7O0F1Qmx1RkE7RUNYRSx1QnJCcVNpQztFQzlRN0IsbUJBdENZO0VvQmlCaEIsZ0JyQmdJK0I7RU94TjdCLHFCUCtOK0I7QUgybUZuQzs7QXVCaHVGQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0F2Qm11RmI7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RUFDWixnQkFBZ0I7QTlCdXZHcEI7O0E4QnR3R0E7Ozs7Ozs7Ozs7OztFQW9CTSxpQjNCa04yQjtBSCtpR2pDOztBOEJyeEdBOzs7RUE0QkksVUFBVTtBOUIrdkdkOztBOEIzeEdBO0VBaUNJLFVBQVU7QTlCOHZHZDs7QThCL3hHQTs7RXBCMENJLHlCb0JKbUQ7RXBCS25ELDRCb0JMbUQ7QTlCK3ZHdkQ7O0E4QnJ5R0E7RUE0Q0ksYUFBYTtFQUNiLG1CQUFtQjtBOUI2dkd2Qjs7QThCMXlHQTs7RXBCMENJLHlCb0JNc0U7RXBCTHRFLDRCb0JLc0U7QTlCZ3dHMUU7O0E4Qmh6R0E7OztFcEI0QkksMEJvQjJCZ0M7RXBCMUJoQyw2Qm9CMEJnQztBOUJnd0dwQzs7QThCdnpHQTs7O0VwQjRCSSwwQm9CbUNnQztFcEJsQ2hDLDZCb0JrQ2dDO0E5Qit2R3BDOztBOEJudkdBOztFQUVFLGFBQWE7QTlCc3ZHZjs7QThCeHZHQTs7RUFRSSxrQkFBa0I7RUFDbEIsVUFBVTtBOUJxdkdkOztBOEI5dkdBOztFQVlNLFVBQVU7QTlCdXZHaEI7O0E4Qm53R0E7Ozs7Ozs7O0VBb0JJLGlCM0J1STZCO0FIbW5HakM7O0E4QnR2R0E7RUFBdUIsa0IzQm1JVTtBSHVuR2pDOztBOEJ6dkdBO0VBQXNCLGlCM0JrSVc7QUgybkdqQzs7QThCcnZHQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIseUIzQjhRa0M7RTJCN1FsQyxnQkFBZ0I7RTFCU1osZUF0Q1k7RTBCK0JoQixnQjNCdUsrQjtFMkJ0Sy9CLGdCM0IySytCO0UyQjFLL0IsYzNCNUdnQjtFMkI2R2hCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIseUIzQnBIZ0I7RTJCcUhoQix5QjNCbkhnQjtFT09kLHNCUDZOZ0M7QUh3b0dwQzs7QThCcndHQTs7RUFrQkksYUFBYTtBOUJ3dkdqQjs7QThCOXVHQTs7RUFFRSxnQ1p0QjhEO0FsQnV3R2hFOztBOEI5dUdBOzs7Ozs7RUFNRSxvQjNCeVBnQztFQ25SNUIsa0JBdENZO0UwQmtFaEIsZ0IzQjhFK0I7RU92TjdCLHFCUDhOK0I7QUg2cEduQzs7QThCOXVHQTs7RUFFRSxrQ1p2QzhEO0FsQnd4R2hFOztBOEI5dUdBOzs7Ozs7RUFNRSx1QjNCbU9pQztFQzlRN0IsbUJBdENZO0UwQm1GaEIsZ0IzQjhEK0I7RU94TjdCLHFCUCtOK0I7QUg2cUduQzs7QThCOXVHQTs7RUFFRSxzQkFBMEU7QTlCaXZHNUU7O0E4QnR1R0E7Ozs7Ozs7O0VwQjNKSSwwQm9CbUs0QjtFcEJsSzVCLDZCb0JrSzRCO0E5QjB1R2hDOztBOEJ2dUdBOzs7Ozs7RXBCeEpJLHlCb0I4SjJCO0VwQjdKM0IsNEJvQjZKMkI7QTlCMnVHL0I7O0ErQmg3R0E7RUFDRSxrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLGNBQWM7RUFDZCxrQkFBK0M7RUFDL0Msb0JBQXFFO0VBQ3JFLG1CQUFtQjtBL0JtN0dyQjs7QStCaDdHQTtFQUNFLG9CQUFvQjtFQUNwQixrQjVCd2YwQztBSDI3RjVDOztBK0JoN0dBO0VBQ0Usa0JBQWtCO0VBQ2xCLE9BQU87RUFDUCxXQUFXO0VBQ1gsVzVCb2YwQztFNEJuZjFDLGVBQWtGO0VBQ2xGLFVBQVU7QS9CbTdHWjs7QStCejdHQTtFQVNJLFc1QnpCVztFNEIwQlgscUI1QkVhO0VtQjdCYix5Qm5CNkJhO0FIbTdHakI7O0ErQi83R0E7RUFvQk0sZ0Q1QlJXO0FIdTdHakI7O0ErQm44R0E7RUF5QkkscUI1QnFic0U7QUh5L0YxRTs7QStCdjhHQTtFQTZCSSxXNUI3Q1c7RTRCOENYLHlCNUJpZjhFO0U0QmhmOUUscUI1QmdmOEU7QUg4N0ZsRjs7QStCNzhHQTtFQXVDTSxjNUJqRFk7QUgyOUdsQjs7QStCajlHQTtFQTBDUSx5QjVCeERVO0FIbStHbEI7O0ErQmo2R0E7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBRWhCLG1CQUFtQjtBL0JtNkdyQjs7QStCdjZHQTtFQVNJLGtCQUFrQjtFQUNsQixZQUErRTtFQUMvRSxhQUErRDtFQUMvRCxjQUFjO0VBQ2QsVzVCdWJ3QztFNEJ0YnhDLFk1QnNid0M7RTRCcmJ4QyxvQkFBb0I7RUFDcEIsV0FBVztFQUNYLHNCNUJyRlc7RTRCc0ZYLHlCNUIrSTZCO0FIbXhHakM7O0ErQnA3R0E7RUF3Qkksa0JBQWtCO0VBQ2xCLFlBQStFO0VBQy9FLGFBQStEO0VBQy9ELGNBQWM7RUFDZCxXNUJ3YXdDO0U0QnZheEMsWTVCdWF3QztFNEJ0YXhDLFdBQVc7RUFDWCxtQ0FBZ0U7QS9CZzZHcEU7O0ErQnY1R0E7RXJCakdJLHNCUDZOZ0M7QUgreEdwQzs7QStCMzVHQTtFQU9NLGtPYjdENEU7QWxCcTlHbEY7O0ErQi81R0E7RUFhTSxxQjVCN0ZXO0VtQjdCYix5Qm5CNkJhO0FIby9HakI7O0ErQnA2R0E7RUFrQk0sK0tieEU0RTtBbEI4OUdsRjs7QStCeDZHQTtFVDdHSSx3Q25CNkJhO0FINC9HakI7O0ErQjU2R0E7RVQ3R0ksd0NuQjZCYTtBSGdnSGpCOztBK0I1NEdBO0VBR0ksa0I1QnlaK0M7QUhvL0ZuRDs7QStCaDVHQTtFQVFNLDhLYmxHNEU7QWxCOCtHbEY7O0ErQnA1R0E7RVRqSkksd0NuQjZCYTtBSDRnSGpCOztBK0JoNEdBO0VBQ0UscUJBQTJEO0EvQm00RzdEOztBK0JwNEdBO0VBS00sY0FBcUQ7RUFDckQsYzVCaVkrRTtFNEJoWS9FLG1CQUFtQjtFQUVuQixxQjVCK1g0RTtBSG1nR2xGOztBK0IzNEdBO0VBYU0sd0JibEUwRDtFYW1FMUQsMEJibkUwRDtFYW9FMUQsdUJiaEQwRDtFYWlEMUQsd0JiakQwRDtFYWtEMUQseUI1QnBMWTtFNEJzTFoscUI1QnFYNEU7RWlCdmlCNUUseUlqQnlmK0g7QUgyakdySTs7QW9CaGpITTtFVzJKTjtJWDFKUSxnQkFBZ0I7RXBCb2pIdEI7QUFDRjs7QStCMzVHQTtFQTBCTSxzQjVCbE1TO0U0Qm1NVCw4QkFBNEU7QS9CcTRHbEY7O0ErQmg2R0E7RVR6S0ksd0NuQjZCYTtBSGdqSGpCOztBK0J2M0dBO0VBQ0UscUJBQXFCO0VBQ3JCLFdBQVc7RUFDWCxtQ2JyRzhEO0Vhc0c5RCwwQzVCbUtrQztFQ3BROUIsZUF0Q1k7RTJCMEloQixnQjVCNEQrQjtFNEIzRC9CLGdCNUJnRStCO0U0Qi9EL0IsYzVCdk5nQjtFNEJ3TmhCLHNCQUFzQjtFQUN0Qix1TzVCa1crSTtFNEJqVy9JLHlCNUI3TmdCO0VPT2Qsc0JQNk5nQztFNEJKbEMsZ0JBQWdCO0EvQnczR2xCOztBK0J2NEdBO0VBa0JJLHFCNUJ1UHNFO0U0QnRQdEUsVUFBVTtFQUtSLGdENUJqTlc7QUhza0hqQjs7QStCNzRHQTtFQWlDTSxjNUIvT1k7RTRCZ1BaLHNCNUJ2UFM7QUh1bUhmOztBK0JsNUdBO0VBd0NJLFlBQVk7RUFDWixzQjVCOEhnQztFNEI3SGhDLHNCQUFzQjtBL0I4MkcxQjs7QStCeDVHQTtFQThDSSxjNUI3UGM7RTRCOFBkLHlCNUJsUWM7QUhnbkhsQjs7QStCNzVHQTtFQW9ESSxhQUFhO0EvQjYyR2pCOztBK0JqNkdBO0VBeURJLGtCQUFrQjtFQUNsQiwwQjVCeFFjO0FIb25IbEI7O0ErQngyR0E7RUFDRSxrQ2JqSzhEO0Vha0s5RCxvQjVCZ0hrQztFNEIvR2xDLHVCNUIrR2tDO0U0QjlHbEMsb0I1QitHaUM7RUM5UTdCLG1CQXRDWTtBSmlqSGxCOztBK0J4MkdBO0VBQ0UsZ0Nieks4RDtFYTBLOUQsbUI1QjZHaUM7RTRCNUdqQyxzQjVCNEdpQztFNEIzR2pDLGtCNUI0R2dDO0VDblI1QixrQkF0Q1k7QUp5akhsQjs7QStCbjJHQTtFQUNFLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsV0FBVztFQUNYLG1DYnpMOEQ7RWEwTDlELGdCQUFnQjtBL0JzMkdsQjs7QStCbjJHQTtFQUNFLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsV0FBVztFQUNYLG1DYmpNOEQ7RWFrTTlELFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsVUFBVTtBL0JzMkdaOztBK0I3MkdBO0VBVUkscUI1Qm9Lc0U7RTRCbkt0RSxnRDVCL1JhO0FIc29IakI7O0ErQmwzR0E7O0VBaUJJLHlCNUIvVGM7QUhxcUhsQjs7QStCdjNHQTtFQXNCTSxpQjVCMlRRO0FIMGlHZDs7QStCMzNHQTtFQTJCSSwwQkFBMEI7QS9CbzJHOUI7O0ErQmgyR0E7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixPQUFPO0VBQ1AsVUFBVTtFQUNWLG1DYmxPOEQ7RWFtTzlELHlCNUJzQ2tDO0U0QnJDbEMsZ0JBQWdCO0VBRWhCLGdCNUJqRStCO0U0QmtFL0IsZ0I1QjdEK0I7RTRCOEQvQixjNUJwVmdCO0U0QnFWaEIsc0I1QjVWYTtFNEI2VmIseUI1QnpWZ0I7RU9PZCxzQlA2TmdDO0FIdzlHcEM7O0ErQmozR0E7RUFtQkksa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsU0FBUztFQUNULFVBQVU7RUFDVixjQUFjO0VBQ2QsNkJiclA0RDtFYXNQNUQseUI1Qm1CZ0M7RTRCbEJoQyxnQjVCN0U2QjtFNEI4RTdCLGM1QnBXYztFNEJxV2QsaUJBQWlCO0VUN1dqQix5Qm5CR2M7RTRCNFdkLG9CQUFvQjtFckJuV3BCLGtDcUJvV2dGO0EvQmsyR3BGOztBK0J4MUdBO0VBQ0UsV0FBVztFQUNYLGNiM1EyQjtFYTRRM0IsVUFBVTtFQUNWLDZCQUE2QjtFQUM3QixnQkFBZ0I7QS9CMjFHbEI7O0ErQmgyR0E7RUFRSSxVQUFVO0EvQjQxR2Q7O0ErQnAyR0E7RUFZOEIsZ0U1QnpXYjtBSHFzSGpCOztBK0J4MkdBO0VBYThCLGdFNUIxV2I7QUh5c0hqQjs7QStCNTJHQTtFQWM4QixnRTVCM1diO0FINnNIakI7O0ErQmgzR0E7RUFrQkksU0FBUztBL0JrMkdiOztBK0JwM0dBO0VBc0JJLFc1Qm1ONkM7RTRCbE43QyxZNUJrTjZDO0U0QmpON0Msb0JBQXlFO0VUbFp6RSx5Qm5CNkJhO0U0QnVYYixTNUJrTjBDO0VPMWxCMUMsbUJQMmxCNkM7RWlCN2xCM0MsNEdqQnlmK0g7RTRCM0dqSSxnQkFBZ0I7QS9CaTJHcEI7O0FvQjN1SE07RVc0V047SVgzV1EsZ0JBQWdCO0VwQit1SHRCO0FBQ0Y7O0ErQnI0R0E7RVQxWEkseUJuQjJtQjJFO0FId3BHL0U7O0ErQno0R0E7RUFzQ0ksVzVCNExvQztFNEIzTHBDLGM1QjRMcUM7RTRCM0xyQyxrQkFBa0I7RUFDbEIsZTVCMkx1QztFNEIxTHZDLHlCNUJoYWM7RTRCaWFkLHlCQUF5QjtFckJ6WnpCLG1CUG9sQm9DO0FINnFHeEM7O0ErQm41R0E7RUFpREksVzVCd0w2QztFNEJ2TDdDLFk1QnVMNkM7RW1Cbm1CN0MseUJuQjZCYTtFNEJpWmIsUzVCd0wwQztFTzFsQjFDLG1CUDJsQjZDO0VpQjdsQjNDLDRHakJ5ZitIO0U0QmpGakksZ0JBQWdCO0EvQnEyR3BCOztBb0J6d0hNO0VXNFdOO0lYM1dRLGdCQUFnQjtFcEI2d0h0QjtBQUNGOztBK0JuNkdBO0VUMVhJLHlCbkIybUIyRTtBSHNyRy9FOztBK0J2NkdBO0VBZ0VJLFc1QmtLb0M7RTRCaktwQyxjNUJrS3FDO0U0QmpLckMsa0JBQWtCO0VBQ2xCLGU1QmlLdUM7RTRCaEt2Qyx5QjVCMWJjO0U0QjJiZCx5QkFBeUI7RXJCbmJ6QixtQlBvbEJvQztBSDJzR3hDOztBK0JqN0dBO0VBMkVJLFc1QjhKNkM7RTRCN0o3QyxZNUI2SjZDO0U0QjVKN0MsYUFBYTtFQUNiLG9CNUJ0RStCO0U0QnVFL0IsbUI1QnZFK0I7RW1CbFkvQix5Qm5CNkJhO0U0QjhhYixTNUIySjBDO0VPMWxCMUMsbUJQMmxCNkM7RWlCN2xCM0MsNEdqQnlmK0g7RTRCcERqSSxnQkFBZ0I7QS9CeTJHcEI7O0FvQjF5SE07RVc0V047SVgzV1EsZ0JBQWdCO0VwQjh5SHRCO0FBQ0Y7O0ErQnA4R0E7RVQxWEkseUJuQjJtQjJFO0FIdXRHL0U7O0ErQng4R0E7RUE2RkksVzVCcUlvQztFNEJwSXBDLGM1QnFJcUM7RTRCcElyQyxrQkFBa0I7RUFDbEIsZTVCb0l1QztFNEJuSXZDLDZCQUE2QjtFQUM3Qix5QkFBeUI7RUFDekIsb0JBQTRDO0EvQisyR2hEOztBK0JsOUdBO0VBd0dJLHlCNUI5ZGM7RU9RZCxtQlBvbEJvQztBSGl2R3hDOztBK0J2OUdBO0VBNkdJLGtCQUFrQjtFQUNsQix5QjVCcGVjO0VPUWQsbUJQb2xCb0M7QUh1dkd4Qzs7QStCNzlHQTtFQW9ITSx5QjVCeGVZO0FIcTFIbEI7O0ErQmorR0E7RUF3SE0sZUFBZTtBL0I2MkdyQjs7QStCcitHQTtFQTRITSx5QjVCaGZZO0FINjFIbEI7O0ErQnorR0E7RUFnSU0sZUFBZTtBL0I2MkdyQjs7QStCNytHQTtFQW9JTSx5QjVCeGZZO0FIcTJIbEI7O0ErQngyR0E7OztFWHpmTSw0R2pCeWYrSDtBSDgyR3JJOztBb0JuMkhNO0VXcWZOOzs7SVhwZlEsZ0JBQWdCO0VwQnkySHRCO0FBQ0Y7O0FnQzEzSEE7RUFDRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0FoQzYzSGxCOztBZ0MxM0hBO0VBQ0UsY0FBYztFQUNkLG9CN0J5cUJzQztBSG90R3hDOztBSzUzSEU7RTJCR0UscUJBQXFCO0FoQzYzSHpCOztBZ0NuNEhBO0VBV0ksYzdCWGM7RTZCWWQsb0JBQW9CO0VBQ3BCLGVBQWU7QWhDNDNIbkI7O0FnQ3AzSEE7RUFDRSxnQzdCekJnQjtBSGc1SGxCOztBZ0N4M0hBO0VBSUksbUI3QnNNNkI7RTZCck03Qiw2QkFBZ0Q7RXRCWmhELCtCUG9OZ0M7RU9uTmhDLGdDUG1OZ0M7QUhrckhwQzs7QUtqNUhFO0UyQjJCSSxxQzdCakNZO0FIMjVIbEI7O0FnQ240SEE7RUFhTSxjN0JsQ1k7RTZCbUNaLDZCQUE2QjtFQUM3Qix5QkFBeUI7QWhDMDNIL0I7O0FnQ3o0SEE7O0VBcUJJLGM3QnpDYztFNkIwQ2Qsc0I3QmpEVztFNkJrRFgsa0M3QmxEVztBSDI2SGY7O0FnQ2g1SEE7RUE0QkksZ0I3QjhLNkI7RU9qTjdCLHlCc0JxQzRCO0V0QnBDNUIsMEJzQm9DNEI7QWhDdzNIaEM7O0FnQy8ySEE7RXRCdkRJLHNCUDZOZ0M7QUg2c0hwQzs7QWdDbjNIQTs7RUFPSSxXN0J6RVc7RTZCMEVYLHlCN0I5Q2E7QUgrNUhqQjs7QWdDeDJIQTs7RUFHSSxjQUFjO0VBQ2Qsa0JBQWtCO0FoQzAySHRCOztBZ0N0MkhBOztFQUdJLGFBQWE7RUFDYixZQUFZO0VBQ1osa0JBQWtCO0FoQ3cySHRCOztBZ0MvMUhBO0VBRUksYUFB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O0VpQzUvSEc7O0lBc0NLLGlCQUFpQjtFakMwOUh6QjtFaUNoZ0lHO0lBcURLLGlCQUFpQjtFakM4OEh6QjtFaUNuZ0lHO0lBeURLLHdCQUF3QjtJQUd4QixnQkFBZ0I7RWpDMjhIeEI7RWlDdmdJRztJQWdFSyxhQUFhO0VqQzA4SHJCO0FBQ0Y7O0FjM2xJSTtFbUJnRkM7O0lBR0ssZ0JBQWdCO0lBQ2hCLGVBQWU7RWpDOGdJdkI7QUFDRjs7QWNobklJO0VtQjZGQTtJQW9CSSxxQkFBcUI7SUFDckIsMkJBQTJCO0VqQ29nSWpDO0VpQ3poSUc7SUF3QkssbUJBQW1CO0VqQ29nSTNCO0VpQzVoSUc7SUEyQk8sa0JBQWtCO0VqQ29nSTVCO0VpQy9oSUc7SUErQk8scUI5QndoQjZCO0k4QnZoQjdCLG9COUJ1aEI2QjtFSDQrR3ZDO0VpQ25pSUc7O0lBc0NLLGlCQUFpQjtFakNpZ0l6QjtFaUN2aUlHO0lBcURLLGlCQUFpQjtFakNxL0h6QjtFaUMxaUlHO0lBeURLLHdCQUF3QjtJQUd4QixnQkFBZ0I7RWpDay9IeEI7RWlDOWlJRztJQWdFSyxhQUFhO0VqQ2kvSHJCO0FBQ0Y7O0FpQ3ZqSUE7RUF5QlEscUJBQXFCO0VBQ3JCLDJCQUEyQjtBakNraUluQzs7QWlDNWpJQTs7RUFRVSxnQkFBZ0I7RUFDaEIsZUFBZTtBakN5akl6Qjs7QWlDbGtJQTtFQTZCVSxtQkFBbUI7QWpDeWlJN0I7O0FpQ3RrSUE7RUFnQ1ksa0JBQWtCO0FqQzBpSTlCOztBaUMxa0lBO0VBb0NZLHFCOUJ3aEI2QjtFOEJ2aEI3QixvQjlCdWhCNkI7QUhtaEh6Qzs7QWlDL2tJQTs7RUEyQ1UsaUJBQWlCO0FqQ3lpSTNCOztBaUNwbElBO0VBMERVLGlCQUFpQjtBakM4aEkzQjs7QWlDeGxJQTtFQThEVSx3QkFBd0I7RUFHeEIsZ0JBQWdCO0FqQzRoSTFCOztBaUM3bElBO0VBcUVVLGFBQWE7QWpDNGhJdkI7O0FpQy9nSUE7RUFFSSx5QjlCdk5XO0FId3VJZjs7QUt6dUlFO0U0QjJOSSx5QjlCMU5TO0FINHVJZjs7QWlDdmhJQTtFQVdNLHlCOUJoT1M7QUhndklmOztBS2p2SUU7RTRCb09NLHlCOUJuT087QUhvdklmOztBaUMvaElBO0VBa0JRLHlCOUJ2T087QUh3dklmOztBaUNuaUlBOzs7O0VBMEJNLHlCOUIvT1M7QUgrdklmOztBaUMxaUlBO0VBK0JJLHlCOUJwUFc7RThCcVBYLGdDOUJyUFc7QUhvd0lmOztBaUMvaUlBO0VBb0NJLG1SZjdNOEU7QWxCNHRJbEY7O0FpQ25qSUE7RUF3Q0kseUI5QjdQVztBSDR3SWY7O0FpQ3ZqSUE7RUEwQ00seUI5Qi9QUztBSGd4SWY7O0FLanhJRTtFNEJtUU0seUI5QmxRTztBSG94SWY7O0FpQzNnSUE7RUFFSSxXOUJyUlc7QUhreUlmOztBS3p4SUU7RTRCK1FJLFc5QnhSUztBSHN5SWY7O0FpQ25oSUE7RUFXTSwrQjlCOVJTO0FIMHlJZjs7QUtqeUlFO0U0QndSTSxnQzlCalNPO0FIOHlJZjs7QWlDM2hJQTtFQWtCUSxnQzlCclNPO0FIa3pJZjs7QWlDL2hJQTs7OztFQTBCTSxXOUI3U1M7QUh5eklmOztBaUN0aUlBO0VBK0JJLCtCOUJsVFc7RThCbVRYLHNDOUJuVFc7QUg4eklmOztBaUMzaUlBO0VBb0NJLHlSZmpROEU7QWxCNHdJbEY7O0FpQy9pSUE7RUF3Q0ksK0I5QjNUVztBSHMwSWY7O0FpQ25qSUE7RUEwQ00sVzlCN1RTO0FIMDBJZjs7QUtqMElFO0U0QnVUTSxXOUJoVU87QUg4MElmOztBa0NqMUlBO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsWUFBWTtFQUVaLHFCQUFxQjtFQUNyQixzQi9CSmE7RStCS2IsMkJBQTJCO0VBQzNCLHNDL0JJYTtFT0NYLHNCUDZOZ0M7QUhrbklwQzs7QWtDNzFJQTtFQWFJLGVBQWU7RUFDZixjQUFjO0FsQ28xSWxCOztBa0NsMklBO0VBa0JJLG1CQUFtQjtFQUNuQixzQkFBc0I7QWxDbzFJMUI7O0FrQ3YySUE7RUFzQk0sbUJBQW1CO0V4QkNyQiwyQ1FtSDREO0VSbEg1RCw0Q1FrSDREO0FsQm11SWhFOztBa0M3MklBO0VBMkJNLHNCQUFzQjtFeEJVeEIsK0NRcUc0RDtFUnBHNUQsOENRb0c0RDtBbEJ5dUloRTs7QWtDbjNJQTs7RUFvQ0ksYUFBYTtBbENvMUlqQjs7QWtDaDFJQTtFQUdFLGNBQWM7RUFHZCxlQUFlO0VBQ2YsZ0IvQjh3QnlDO0FIaWtIM0M7O0FrQzMwSUE7RUFDRSxzQi9Cd3dCd0M7QUhza0gxQzs7QWtDMzBJQTtFQUNFLHFCQUErQjtFQUMvQixnQkFBZ0I7QWxDODBJbEI7O0FrQzMwSUE7RUFDRSxnQkFBZ0I7QWxDODBJbEI7O0FLbjRJRTtFNkIwREUscUJBQXFCO0FsQzYwSXpCOztBa0MvMElBO0VBTUksb0IvQnV2QnVDO0FIc2xIM0M7O0FrQ3IwSUE7RUFDRSx3Qi9COHVCeUM7RStCN3VCekMsZ0JBQWdCO0VBRWhCLHFDL0JyRWE7RStCc0ViLDZDL0J0RWE7QUg2NElmOztBa0M1MElBO0V4QmhFSSwwRHdCd0U4RTtBbEN3MElsRjs7QWtDcDBJQTtFQUNFLHdCL0JrdUJ5QztFK0JodUJ6QyxxQy9CaEZhO0UrQmlGYiwwQy9CakZhO0FIdTVJZjs7QWtDMTBJQTtFeEI1RUksMERRNEg0RDtBbEI4eEloRTs7QWtDOXpJQTtFQUNFLHVCQUFpQztFQUNqQyx1Qi9CZ3RCd0M7RStCL3NCeEMsc0JBQWdDO0VBQ2hDLGdCQUFnQjtBbENpMElsQjs7QWtDOXpJQTtFQUNFLHVCQUFpQztFQUNqQyxzQkFBZ0M7QWxDaTBJbEM7O0FrQzd6SUE7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixTQUFTO0VBQ1QsT0FBTztFQUNQLGdCL0Iyc0J5QztFTzF6QnZDLGtDUTRINEQ7QWxCb3pJaEU7O0FrQzd6SUE7OztFQUdFLGNBQWM7RUFDZCxXQUFXO0FsQ2cwSWI7O0FrQzd6SUE7O0V4QmpISSwyQ1FtSDREO0VSbEg1RCw0Q1FrSDREO0FsQmkwSWhFOztBa0M5eklBOztFeEJ4R0ksK0NRcUc0RDtFUnBHNUQsOENRb0c0RDtBbEJ1MEloRTs7QWtDNXpJQTtFQUVJLG1CL0JtckJzRDtBSDJvSDFEOztBYzc1SUk7RW9CNkZKO0lBTUksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixtQi9CNnFCc0Q7SStCNXFCdEQsa0IvQjRxQnNEO0VIbXBIeEQ7RWtDeDBJRjtJQWFNLFlBQVk7SUFDWixrQi9CdXFCb0Q7SStCdHFCcEQsZ0JBQWdCO0lBQ2hCLGlCL0JxcUJvRDtFSHlwSHhEO0FBQ0Y7O0FrQ3J6SUE7RUFJSSxtQi9CdXBCc0Q7QUg4cEgxRDs7QWNoN0lJO0VvQnVISjtJQVFJLGFBQWE7SUFDYixtQkFBbUI7RWxDc3pJckI7RWtDL3pJRjtJQWNNLFlBQVk7SUFDWixnQkFBZ0I7RWxDb3pJcEI7RWtDbjBJRjtJQWtCUSxjQUFjO0lBQ2QsY0FBYztFbENveklwQjtFa0N2MElGO0l4QmpKSSwwQndCMEtvQztJeEJ6S3BDLDZCd0J5S29DO0VsQ2t6SXRDO0VrQzMwSUY7O0lBOEJZLDBCQUEwQjtFbENpeklwQztFa0MvMElGOztJQW1DWSw2QkFBNkI7RWxDZ3pJdkM7RWtDbjFJRjtJeEJuSUkseUJ3QjJLbUM7SXhCMUtuQyw0QndCMEttQztFbEMreUlyQztFa0N2MUlGOztJQTZDWSx5QkFBeUI7RWxDOHlJbkM7RWtDMzFJRjs7SUFrRFksNEJBQTRCO0VsQzZ5SXRDO0FBQ0Y7O0FrQ2p5SUE7RUFFSSxzQi9CNGtCc0M7QUh1dEgxQzs7QWMzOUlJO0VvQnNMSjtJQU1JLGUvQnlsQmlDO0krQnhsQmpDLG1CL0J5bEJ1QztJK0J4bEJ2QyxVQUFVO0lBQ1YsU0FBUztFbENveUlYO0VrQzd5SUY7SUFZTSxxQkFBcUI7SUFDckIsV0FBVztFbENveUlmO0FBQ0Y7O0FrQzN4SUE7RUFDRSxxQkFBcUI7QWxDOHhJdkI7O0FrQy94SUE7RUFJSSxnQkFBZ0I7QWxDK3hJcEI7O0FrQ255SUE7RUFPTSxnQkFBZ0I7RXhCdk9sQiw2QndCd09pQztFeEJ2T2pDLDRCd0J1T2lDO0FsQ2l5SXJDOztBa0N6eUlBO0V4QjlPSSx5QndCMFA4QjtFeEJ6UDlCLDBCd0J5UDhCO0FsQ2t5SWxDOztBa0M5eUlBO0V4QnZQSSxnQndCdVEwQjtFQUN4QixtQi9COUMyQjtBSGcxSWpDOztBbUM1akpBO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZixxQmhDaWlDc0M7RWdDaGlDdEMsbUJoQ21pQ3NDO0VnQ2ppQ3RDLGdCQUFnQjtFQUNoQix5QmhDRWdCO0VPU2Qsc0JQNk5nQztBSHUxSXBDOztBbUMzakpBO0VBR0ksb0JoQ3VoQ3FDO0FIcWlIekM7O0FtQy9qSkE7RUFNTSxXQUFXO0VBQ1gscUJoQ21oQ21DO0VnQ2xoQ25DLGNoQ05ZO0VnQ09aLFloQ3doQ3VDO0FIcWlIN0M7O0FtQ3RrSkE7RUFvQkksMEJBQTBCO0FuQ3NqSjlCOztBbUMxa0pBO0VBd0JJLHFCQUFxQjtBbkNzakp6Qjs7QW1DOWtKQTtFQTRCSSxjaEMxQmM7QUhnbEpsQjs7QW9DN2xKQTtFQUNFLGFBQWE7RTdCR2IsZUFBZTtFQUNmLGdCQUFnQjtFR2FkLHNCUDZOZ0M7QUhxM0lwQzs7QW9DOWxKQTtFQUNFLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsdUJqQ2d4QndDO0VpQy93QnhDLGlCakNrTytCO0VpQ2pPL0IsaUJqQ214QnNDO0VpQ2x4QnRDLGNqQ3VCZTtFaUNyQmYsc0JqQ1BhO0VpQ1FiLHlCakNMZ0I7QUhxbUpsQjs7QW9Dem1KQTtFQVlJLFVBQVU7RUFDVixjakM4SjhEO0VpQzdKOUQscUJBQXFCO0VBQ3JCLHlCakNaYztFaUNhZCxxQmpDWmM7QUg2bUpsQjs7QW9Dam5KQTtFQW9CSSxVQUFVO0VBQ1YsVWpDMndCaUM7RWlDMXdCakMsZ0RqQ09hO0FIMGxKakI7O0FvQzdsSkE7RUFHTSxjQUFjO0UxQmFoQiwrQlArTGdDO0VPOUxoQyxrQ1A4TGdDO0FIbzVJcEM7O0FvQ25tSkE7RTFCRUksZ0NQNk1nQztFTzVNaEMsbUNQNE1nQztBSHk1SXBDOztBb0N4bUpBO0VBY0ksVUFBVTtFQUNWLFdqQ3hDVztFaUN5Q1gseUJqQ2JhO0VpQ2NiLHFCakNkYTtBSDRtSmpCOztBb0MvbUpBO0VBcUJJLGNqQ3hDYztFaUN5Q2Qsb0JBQW9CO0VBRXBCLFlBQVk7RUFDWixzQmpDbERXO0VpQ21EWCxxQmpDaERjO0FINm9KbEI7O0FxQ3BwSkU7RUFDRSx1QmxDeXhCc0M7RUM5cEJwQyxrQkF0Q1k7RWlDbkZkLGdCbENtTzZCO0FIbzdJakM7O0FxQ2xwSk07RTNCcUNGLDhCUGdNK0I7RU8vTC9CLGlDUCtMK0I7QUhrN0luQzs7QXFDbHBKTTtFM0JrQkYsK0JQOE0rQjtFTzdNL0Isa0NQNk0rQjtBSHU3SW5DOztBcUNwcUpFO0VBQ0UsdUJsQ3V4QnFDO0VDNXBCbkMsbUJBdENZO0VpQ25GZCxnQmxDb082QjtBSG04SWpDOztBcUNscUpNO0UzQnFDRiw4QlBpTStCO0VPaE0vQixpQ1BnTStCO0FIaThJbkM7O0FxQ2xxSk07RTNCa0JGLCtCUCtNK0I7RU85TS9CLGtDUDhNK0I7QUhzOEluQzs7QXNDbHJKQTtFQUNFLHFCQUFxQjtFQUNyQixxQm5DMDVCc0M7RUN6MUJwQyxjQUFXO0VrQy9EYixnQm5DdVIrQjtFbUN0Ui9CLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLHdCQUF3QjtFNUJLdEIsc0JQNk5nQztFaUIvTjlCLHFJakJnYjZJO0FIb3dJbko7O0FvQmhySk07RWtCZk47SWxCZ0JRLGdCQUFnQjtFcEJvckp0QjtBQUNGOztBSzFySkU7RWlDR0kscUJBQXFCO0F0QzJySjNCOztBc0N6c0pBO0VBb0JJLGFBQWE7QXRDeXJKakI7O0FzQ3BySkE7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztBdEN1ckpYOztBc0NockpBO0VBQ0Usb0JuQyszQnNDO0VtQzkzQnRDLG1CbkM4M0JzQztFT3I1QnBDLG9CUHc1QnFDO0FIbXpIekM7O0FzQzNxSkU7RUNqREEsV3BDTWE7RW9DTGIseUJwQ2lDZTtBSCtySmpCOztBS2x0SkU7RWtDVkksV3BDQ1M7RW9DQVQseUJBQWtDO0F2Q2d1SnhDOztBdUNudUpVO0VBUUosVUFBVTtFQUNWLCtDcENzQlc7QUh5c0pqQjs7QXNDMXJKRTtFQ2pEQSxXcENNYTtFb0NMYix5QnBDV2dCO0FIb3VKbEI7O0FLanVKRTtFa0NWSSxXcENDUztFb0NBVCx5QkFBa0M7QXZDK3VKeEM7O0F1Q2x2SlU7RUFRSixVQUFVO0VBQ1YsaURwQ0FZO0FIOHVKbEI7O0FzQ3pzSkU7RUNqREEsV3BDTWE7RW9DTGIseUJwQ3dDZTtBSHN0SmpCOztBS2h2SkU7RWtDVkksV3BDQ1M7RW9DQVQseUJBQWtDO0F2Qzh2SnhDOztBdUNqd0pVO0VBUUosVUFBVTtFQUNWLCtDcEM2Qlc7QUhndUpqQjs7QXNDeHRKRTtFQ2pEQSxXcENNYTtFb0NMYix5QnBDMENlO0FIbXVKakI7O0FLL3ZKRTtFa0NWSSxXcENDUztFb0NBVCx5QkFBa0M7QXZDNndKeEM7O0F1Q2h4SlU7RUFRSixVQUFVO0VBQ1YsZ0RwQytCVztBSDZ1SmpCOztBc0N2dUpFO0VDakRBLGNwQ2VnQjtFb0NkaEIseUJwQ3VDZTtBSHF2SmpCOztBSzl3SkU7RWtDVkksY3BDVVk7RW9DVFoseUJBQWtDO0F2QzR4SnhDOztBdUMveEpVO0VBUUosVUFBVTtFQUNWLCtDcEM0Qlc7QUgrdkpqQjs7QXNDdHZKRTtFQ2pEQSxXcENNYTtFb0NMYix5QnBDcUNlO0FIc3dKakI7O0FLN3hKRTtFa0NWSSxXcENDUztFb0NBVCx5QkFBa0M7QXZDMnlKeEM7O0F1Qzl5SlU7RUFRSixVQUFVO0VBQ1YsK0NwQzBCVztBSGd4SmpCOztBc0Nyd0pFO0VDakRBLGNwQ2VnQjtFb0NkaEIseUJwQ01nQjtBSG96SmxCOztBSzV5SkU7RWtDVkksY3BDVVk7RW9DVFoseUJBQWtDO0F2QzB6SnhDOztBdUM3ekpVO0VBUUosVUFBVTtFQUNWLGlEcENMWTtBSDh6SmxCOztBc0NweEpFO0VDakRBLFdwQ01hO0VvQ0xiLHlCcENhZ0I7QUg0ekpsQjs7QUszekpFO0VrQ1ZJLFdwQ0NTO0VvQ0FULHlCQUFrQztBdkN5MEp4Qzs7QXVDNTBKVTtFQVFKLFVBQVU7RUFDViw4Q3BDRVk7QUhzMEpsQjs7QXdDcjFKQTtFQUNFLGtCQUFvRDtFQUNwRCxtQnJDdXpCc0M7RXFDcnpCdEMseUJyQ0tnQjtFT1NkLHFCUDhOK0I7QUg0bUpuQzs7QWNoeUpJO0UwQjVESjtJQVFJLGtCckNpekJvQztFSHdpSXRDO0FBQ0Y7O0F3Q3QxSkE7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZTtFOUJJYixnQjhCSHNCO0F4Q3kxSjFCOztBeUNwMkpBO0VBQ0Usa0JBQWtCO0VBQ2xCLHdCdEN1OUJ5QztFc0N0OUJ6QyxtQnRDdTlCc0M7RXNDdDlCdEMsNkJBQTZDO0UvQlUzQyxzQlA2TmdDO0FIaW9KcEM7O0F5Q24ySkE7RUFFRSxjQUFjO0F6Q3EySmhCOztBeUNqMkpBO0VBQ0UsZ0J0QzRRK0I7QUh3bEpqQzs7QXlDNTFKQTtFQUNFLG1CQUFzRDtBekMrMUp4RDs7QXlDaDJKQTtFQUtJLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLFVBQVU7RUFDVix3QnRDdzdCdUM7RXNDdjdCdkMsY0FBYztBekMrMUpsQjs7QXlDcjFKRTtFQy9DQSxjeEJ3R2dFO0VJbkc5RCx5QkptRzhEO0V3QnRHaEUscUJ4QnNHZ0U7QWxCa3lKbEU7O0EwQ3Q0SkU7RUFDRSx5QkFBcUM7QTFDeTRKekM7O0EwQ3Q0SkU7RUFDRSxjQUEwQjtBMUN5NEo5Qjs7QXlDbjJKRTtFQy9DQSxjeEJ3R2dFO0VJbkc5RCx5QkptRzhEO0V3QnRHaEUscUJ4QnNHZ0U7QWxCZ3pKbEU7O0EwQ3A1SkU7RUFDRSx5QkFBcUM7QTFDdTVKekM7O0EwQ3A1SkU7RUFDRSxjQUEwQjtBMUN1NUo5Qjs7QXlDajNKRTtFQy9DQSxjeEJ3R2dFO0VJbkc5RCx5QkptRzhEO0V3QnRHaEUscUJ4QnNHZ0U7QWxCOHpKbEU7O0EwQ2w2SkU7RUFDRSx5QkFBcUM7QTFDcTZKekM7O0EwQ2w2SkU7RUFDRSxjQUEwQjtBMUNxNko5Qjs7QXlDLzNKRTtFQy9DQSxjeEJ3R2dFO0VJbkc5RCx5QkptRzhEO0V3QnRHaEUscUJ4QnNHZ0U7QWxCNDBKbEU7O0EwQ2g3SkU7RUFDRSx5QkFBcUM7QTFDbTdKekM7O0EwQ2g3SkU7RUFDRSxjQUEwQjtBMUNtN0o5Qjs7QXlDNzRKRTtFQy9DQSxjeEJ3R2dFO0VJbkc5RCx5QkptRzhEO0V3QnRHaEUscUJ4QnNHZ0U7QWxCMDFKbEU7O0EwQzk3SkU7RUFDRSx5QkFBcUM7QTFDaThKekM7O0EwQzk3SkU7RUFDRSxjQUEwQjtBMUNpOEo5Qjs7QXlDMzVKRTtFQy9DQSxjeEJ3R2dFO0VJbkc5RCx5QkptRzhEO0V3QnRHaEUscUJ4QnNHZ0U7QWxCdzJKbEU7O0EwQzU4SkU7RUFDRSx5QkFBcUM7QTFDKzhKekM7O0EwQzU4SkU7RUFDRSxjQUEwQjtBMUMrOEo5Qjs7QXlDejZKRTtFQy9DQSxjeEJ3R2dFO0VJbkc5RCx5QkptRzhEO0V3QnRHaEUscUJ4QnNHZ0U7QWxCczNKbEU7O0EwQzE5SkU7RUFDRSx5QkFBcUM7QTFDNjlKekM7O0EwQzE5SkU7RUFDRSxjQUEwQjtBMUM2OUo5Qjs7QXlDdjdKRTtFQy9DQSxjeEJ3R2dFO0VJbkc5RCx5QkptRzhEO0V3QnRHaEUscUJ4QnNHZ0U7QWxCbzRKbEU7O0EwQ3grSkU7RUFDRSx5QkFBcUM7QTFDMitKekM7O0EwQ3grSkU7RUFDRSxjQUEwQjtBMUMyK0o5Qjs7QTJDbi9KRTtFQUNFO0lBQU8sMkJBQXVDO0UzQ3UvSmhEO0UyQ3QvSkU7SUFBSyx3QkFBd0I7RTNDeS9KL0I7QUFDRjs7QTJDdC9KQTtFQUNFLGFBQWE7RUFDYixZeENnK0JzQztFd0MvOUJ0QyxnQkFBZ0I7RUFDaEIsY0FBYztFdkNtSFYsa0JBdENZO0V1QzNFaEIseUJ4Q0xnQjtFT1NkLHNCUDZOZ0M7QUh5eEpwQzs7QTJDci9KQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtFQUNoQixXeENqQmE7RXdDa0JiLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIseUJ4Q1FlO0VpQm5CWCwyQmpCaytCNEM7QUhraUlsRDs7QW9CaGdLTTtFdUJETjtJdkJFUSxnQkFBZ0I7RXBCb2dLdEI7QUFDRjs7QTJDMy9KQTtFckJZRSxxTUFBNkk7RXFCVjdJLDBCeEN5OEJzQztBSHFqSXhDOztBMkMxL0pFO0VBQ0Usa0RBQThEO0EzQzYvSmxFOztBMkMxL0pNO0VBSko7SUFLTSxlQUFlO0UzQzgvSnJCO0FBQ0Y7O0E0Q3ppS0E7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0E1QzRpS3pCOztBNEN6aUtBO0VBQ0UsT0FBTztBNUM0aUtUOztBNkM5aUtBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUd0QixlQUFlO0VBQ2YsZ0JBQWdCO0VuQ1FkLHNCUDZOZ0M7QUgyMEpwQzs7QTZDdGlLQTtFQUNFLFdBQVc7RUFDWCxjMUNSZ0I7RTBDU2hCLG1CQUFtQjtBN0N5aUtyQjs7QUtoaktFO0V3Q1dFLFVBQVU7RUFDVixjMUNkYztFMENlZCxxQkFBcUI7RUFDckIseUIxQ3RCYztBSCtqS2xCOztBNkNuaktBO0VBY0ksYzFDbEJjO0UwQ21CZCx5QjFDMUJjO0FIbWtLbEI7O0E2Q2hpS0E7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLHdCMUMrOEJ5QztFMEM1OEJ6QyxzQjFDM0NhO0UwQzRDYixzQzFDbENhO0FIbWtLZjs7QTZDeGlLQTtFbkNqQkksK0JtQzJCa0M7RW5DMUJsQyxnQ21DMEJrQztBN0NtaUt0Qzs7QTZDN2lLQTtFbkNISSxtQ21DaUJxQztFbkNoQnJDLGtDbUNnQnFDO0E3Q29pS3pDOztBNkNsaktBO0VBbUJJLGMxQ2xEYztFMENtRGQsb0JBQW9CO0VBQ3BCLHNCMUMxRFc7QUg2bEtmOztBNkN4aktBO0VBMEJJLFVBQVU7RUFDVixXMUNoRVc7RTBDaUVYLHlCMUNyQ2E7RTBDc0NiLHFCMUN0Q2E7QUh3a0tqQjs7QTZDL2pLQTtFQWlDSSxtQkFBbUI7QTdDa2lLdkI7O0E2Q25rS0E7RUFvQ00sZ0IxQzRKMkI7RTBDM0ozQixxQjFDMkoyQjtBSHc0SmpDOztBNkNyaEtJO0VBQ0UsbUJBQW1CO0E3Q3doS3pCOztBNkN6aEtJO0VuQ3RCQSxrQ1BzS2dDO0VPbExoQywwQm1Dd0N3QztBN0N3aEs1Qzs7QTZDOWhLSTtFbkNsQ0EsZ0NQa0xnQztFT3RLaEMsNEJtQ2lDMEM7QTdDd2hLOUM7O0E2Q25pS0k7RUFlTSxhQUFhO0E3Q3doS3ZCOztBNkN2aUtJO0VBbUJNLHFCMUMwSHVCO0UwQ3pIdkIsb0JBQW9CO0E3Q3doSzlCOztBNkM1aUtJO0VBdUJRLGlCMUNzSHFCO0UwQ3JIckIsc0IxQ3FIcUI7QUhvNkpqQzs7QWNwbEtJO0UrQm1DQTtJQUNFLG1CQUFtQjtFN0Nxakt2QjtFNkN0aktFO0luQ3RCQSxrQ1BzS2dDO0lPbExoQywwQm1Dd0N3QztFN0NvaksxQztFNkMxaktFO0luQ2xDQSxnQ1BrTGdDO0lPdEtoQyw0Qm1DaUMwQztFN0Ntaks1QztFNkM5aktFO0lBZU0sYUFBYTtFN0NraktyQjtFNkNqa0tFO0lBbUJNLHFCMUMwSHVCO0kwQ3pIdkIsb0JBQW9CO0U3Q2lqSzVCO0U2Q3JrS0U7SUF1QlEsaUIxQ3NIcUI7STBDckhyQixzQjFDcUhxQjtFSDQ3Si9CO0FBQ0Y7O0FjN21LSTtFK0JtQ0E7SUFDRSxtQkFBbUI7RTdDOGtLdkI7RTZDL2tLRTtJbkN0QkEsa0NQc0tnQztJT2xMaEMsMEJtQ3dDd0M7RTdDNmtLMUM7RTZDbmxLRTtJbkNsQ0EsZ0NQa0xnQztJT3RLaEMsNEJtQ2lDMEM7RTdDNGtLNUM7RTZDdmxLRTtJQWVNLGFBQWE7RTdDMmtLckI7RTZDMWxLRTtJQW1CTSxxQjFDMEh1QjtJMEN6SHZCLG9CQUFvQjtFN0Mwa0s1QjtFNkM5bEtFO0lBdUJRLGlCMUNzSHFCO0kwQ3JIckIsc0IxQ3FIcUI7RUhxOUovQjtBQUNGOztBY3RvS0k7RStCbUNBO0lBQ0UsbUJBQW1CO0U3Q3VtS3ZCO0U2Q3htS0U7SW5DdEJBLGtDUHNLZ0M7SU9sTGhDLDBCbUN3Q3dDO0U3Q3NtSzFDO0U2QzVtS0U7SW5DbENBLGdDUGtMZ0M7SU90S2hDLDRCbUNpQzBDO0U3Q3FtSzVDO0U2Q2huS0U7SUFlTSxhQUFhO0U3Q29tS3JCO0U2Q25uS0U7SUFtQk0scUIxQzBIdUI7STBDekh2QixvQkFBb0I7RTdDbW1LNUI7RTZDdm5LRTtJQXVCUSxpQjFDc0hxQjtJMENySHJCLHNCMUNxSHFCO0VIOCtKL0I7QUFDRjs7QWMvcEtJO0UrQm1DQTtJQUNFLG1CQUFtQjtFN0Nnb0t2QjtFNkNqb0tFO0luQ3RCQSxrQ1BzS2dDO0lPbExoQywwQm1Dd0N3QztFN0MrbksxQztFNkNyb0tFO0luQ2xDQSxnQ1BrTGdDO0lPdEtoQyw0Qm1DaUMwQztFN0M4bks1QztFNkN6b0tFO0lBZU0sYUFBYTtFN0M2bktyQjtFNkM1b0tFO0lBbUJNLHFCMUMwSHVCO0kwQ3pIdkIsb0JBQW9CO0U3QzRuSzVCO0U2Q2hwS0U7SUF1QlEsaUIxQ3NIcUI7STBDckhyQixzQjFDcUhxQjtFSHVnSy9CO0FBQ0Y7O0E2Qy9tS0E7RW5DbkhJLGdCbUNvSHNCO0E3Q2tuSzFCOztBNkNubktBO0VBSUkscUIxQ21HNkI7QUhnaEtqQzs7QTZDdm5LQTtFQU9NLHNCQUFzQjtBN0Nvbks1Qjs7QThDN3ZLRTtFQUNFLGM1QnFHOEQ7RTRCcEc5RCx5QjVCb0c4RDtBbEI0cEtsRTs7QUtydktFO0V5Q1BNLGM1QmdHMEQ7RTRCL0YxRCx5QkFBeUM7QTlDZ3dLakQ7O0E4Q3Z3S0U7RUFXTSxXM0NQTztFMkNRUCx5QjVCMEYwRDtFNEJ6RjFELHFCNUJ5RjBEO0FsQnVxS2xFOztBOEM3d0tFO0VBQ0UsYzVCcUc4RDtFNEJwRzlELHlCNUJvRzhEO0FsQjRxS2xFOztBS3J3S0U7RXlDUE0sYzVCZ0cwRDtFNEIvRjFELHlCQUF5QztBOUNneEtqRDs7QThDdnhLRTtFQVdNLFczQ1BPO0UyQ1FQLHlCNUIwRjBEO0U0QnpGMUQscUI1QnlGMEQ7QWxCdXJLbEU7O0E4Qzd4S0U7RUFDRSxjNUJxRzhEO0U0QnBHOUQseUI1Qm9HOEQ7QWxCNHJLbEU7O0FLcnhLRTtFeUNQTSxjNUJnRzBEO0U0Qi9GMUQseUJBQXlDO0E5Q2d5S2pEOztBOEN2eUtFO0VBV00sVzNDUE87RTJDUVAseUI1QjBGMEQ7RTRCekYxRCxxQjVCeUYwRDtBbEJ1c0tsRTs7QThDN3lLRTtFQUNFLGM1QnFHOEQ7RTRCcEc5RCx5QjVCb0c4RDtBbEI0c0tsRTs7QUtyeUtFO0V5Q1BNLGM1QmdHMEQ7RTRCL0YxRCx5QkFBeUM7QTlDZ3pLakQ7O0E4Q3Z6S0U7RUFXTSxXM0NQTztFMkNRUCx5QjVCMEYwRDtFNEJ6RjFELHFCNUJ5RjBEO0FsQnV0S2xFOztBOEM3ektFO0VBQ0UsYzVCcUc4RDtFNEJwRzlELHlCNUJvRzhEO0FsQjR0S2xFOztBS3J6S0U7RXlDUE0sYzVCZ0cwRDtFNEIvRjFELHlCQUF5QztBOUNnMEtqRDs7QThDdjBLRTtFQVdNLFczQ1BPO0UyQ1FQLHlCNUIwRjBEO0U0QnpGMUQscUI1QnlGMEQ7QWxCdXVLbEU7O0E4QzcwS0U7RUFDRSxjNUJxRzhEO0U0QnBHOUQseUI1Qm9HOEQ7QWxCNHVLbEU7O0FLcjBLRTtFeUNQTSxjNUJnRzBEO0U0Qi9GMUQseUJBQXlDO0E5Q2cxS2pEOztBOEN2MUtFO0VBV00sVzNDUE87RTJDUVAseUI1QjBGMEQ7RTRCekYxRCxxQjVCeUYwRDtBbEJ1dktsRTs7QThDNzFLRTtFQUNFLGM1QnFHOEQ7RTRCcEc5RCx5QjVCb0c4RDtBbEI0dktsRTs7QUtyMUtFO0V5Q1BNLGM1QmdHMEQ7RTRCL0YxRCx5QkFBeUM7QTlDZzJLakQ7O0E4Q3YyS0U7RUFXTSxXM0NQTztFMkNRUCx5QjVCMEYwRDtFNEJ6RjFELHFCNUJ5RjBEO0FsQnV3S2xFOztBOEM3MktFO0VBQ0UsYzVCcUc4RDtFNEJwRzlELHlCNUJvRzhEO0FsQjR3S2xFOztBS3IyS0U7RXlDUE0sYzVCZ0cwRDtFNEIvRjFELHlCQUF5QztBOUNnM0tqRDs7QThDdjNLRTtFQVdNLFczQ1BPO0UyQ1FQLHlCNUIwRjBEO0U0QnpGMUQscUI1QnlGMEQ7QWxCdXhLbEU7O0ErQ2g0S0E7RUFDRSxZQUFZO0UzQzhIUixpQkF0Q1k7RTJDdEZoQixnQjVDNlIrQjtFNEM1Ui9CLGNBQWM7RUFDZCxXNUNZYTtFNENYYix5QjVDQ2E7RTRDQWIsV0FBVztBL0NtNEtiOztBSzkzS0U7RTBDREUsVzVDTVc7RTRDTFgscUJBQXFCO0EvQ200S3pCOztBSy8zS0U7RTBDQ0ksWUFBWTtBL0NrNEtsQjs7QStDdjNLQTtFQUNFLFVBQVU7RUFDViw2QkFBNkI7RUFDN0IsU0FBUztBL0MwM0tYOztBK0NwM0tBO0VBQ0Usb0JBQW9CO0EvQ3UzS3RCOztBZ0Q3NUtBO0VBR0UsaUI3Q3k0QnVDO0U2Q3g0QnZDLGdCN0N3NEJ1QztFQzd3Qm5DLG1CQXRDWTtFNENsRmhCLDJDN0NBYTtFNkNDYiw0QkFBNEI7RUFDNUIsb0M3QzA0Qm1EO0U2Q3o0Qm5ELGdEN0NPYTtFNkNOYixVQUFVO0V0Q09SLHNCUGs0QnNDO0FIcWhKMUM7O0FnRHo2S0E7RUFlSSxzQjdDODNCc0M7QUhnaUoxQzs7QWdENzZLQTtFQW1CSSxVQUFVO0FoRDg1S2Q7O0FnRGo3S0E7RUF1QkksY0FBYztFQUNkLFVBQVU7QWhEODVLZDs7QWdEdDdLQTtFQTRCSSxhQUFhO0FoRDg1S2pCOztBZ0QxNUtBO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix3QjdDMDJCd0M7RTZDejJCeEMsYzdDdkJnQjtFNkN3QmhCLDJDN0M5QmE7RTZDK0JiLDRCQUE0QjtFQUM1Qiw0QzdDazNCb0Q7RU85M0JsRCwyQ1FtSDREO0VSbEg1RCw0Q1FrSDREO0FsQnd6S2hFOztBZ0QzNUtBO0VBQ0UsZ0I3Q2kyQndDO0FINmpKMUM7O0FpRHA4S0E7RUFFRSxnQkFBZ0I7QWpEczhLbEI7O0FpRHg4S0E7RUFLSSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FqRHU4S3BCOztBaURsOEtBO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsYTlDMnBCc0M7RThDMXBCdEMsYUFBYTtFQUNiLFdBQVc7RUFDWCxZQUFZO0VBQ1osZ0JBQWdCO0VBR2hCLFVBQVU7QWpEbThLWjs7QWlENTdLQTtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsYzlDKzRCdUM7RThDNzRCdkMsb0JBQW9CO0FqRDg3S3RCOztBaUQzN0tFO0U3QjNCSSxtQ2pCbzhCb0Q7RThDdjZCdEQsOEI5Q3E2Qm1EO0FIeWhKdkQ7O0FvQnY5S007RTZCdUJKO0k3QnRCTSxnQkFBZ0I7RXBCMjlLdEI7QUFDRjs7QWlEbDhLRTtFQUNFLGU5Q202Qm9DO0FIa2lKeEM7O0FpRGo4S0U7RUFDRSxzQjlDZzZCMkM7QUhvaUovQzs7QWlEaDhLQTtFQUNFLGFBQWE7RUFDYiw2Qi9CbUY4RDtBbEJnM0to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QWdCSSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGEvQyswQnFDO0UrQzkwQnJDLGMvQyswQnFDO0FIMjFKekM7O0FrRDdyTEE7RUFzQk0sa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCx5QkFBeUI7RUFDekIsbUJBQW1CO0FsRDJxTHpCOztBa0R0cUxBO0VBQ0UsaUJBQWdDO0FsRHlxTGxDOztBa0QxcUxBO0VBSUksU0FBUztBbEQwcUxiOztBa0Q5cUxBO0VBT00sTUFBTTtFQUNOLDZCQUFnRTtFQUNoRSxzQi9DdkJTO0FIa3NMZjs7QWtEdHFMQTtFQUNFLGlCL0NxekJ1QztBSG8zSnpDOztBa0QxcUxBO0VBSUksT0FBTztFQUNQLGEvQ2l6QnFDO0UrQ2h6QnJDLGMvQyt5QnFDO0FIMjNKekM7O0FrRGhyTEE7RUFTTSxRQUFRO0VBQ1Isb0NBQTJGO0VBQzNGLHdCL0N2Q1M7QUhrdExmOztBa0R0cUxBO0VBQ0UsaUJBQWdDO0FsRHlxTGxDOztBa0QxcUxBO0VBSUksTUFBTTtBbEQwcUxWOztBa0Q5cUxBO0VBT00sU0FBUztFQUNULDZCL0M4eEJtQztFK0M3eEJuQyx5Qi9DckRTO0FIZ3VMZjs7QWtEdHFMQTtFQUNFLGlCL0N1eEJ1QztBSGs1SnpDOztBa0QxcUxBO0VBSUksUUFBUTtFQUNSLGEvQ214QnFDO0UrQ2x4QnJDLGMvQ2l4QnFDO0FIeTVKekM7O0FrRGhyTEE7RUFTTSxPQUFPO0VBQ1Asb0MvQzh3Qm1DO0UrQzd3Qm5DLHVCL0NyRVM7QUhndkxmOztBa0R0cExBO0VBQ0UsZ0IvQzZ1QnVDO0UrQzV1QnZDLHVCL0NrdkJ1QztFK0NqdkJ2QyxXL0N2R2E7RStDd0diLGtCQUFrQjtFQUNsQixzQi9DL0ZhO0VPQ1gsc0JQNk5nQztBSDJoTHBDOztBb0Qxd0xBO0VBQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsYWpENnFCc0M7RWlENXFCdEMsY0FBYztFQUNkLGdCakQ2MkJ1QztFZ0RsM0J2QyxxTmhEbVJvTztFZ0RqUnBPLGtCQUFrQjtFQUNsQixnQmhEMlIrQjtFZ0QxUi9CLGdCaEQrUitCO0VnRDlSL0IsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixxQkFBcUI7RUFDckIsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0UvQ2dIWixtQkF0Q1k7RWdEN0VoQixxQkFBcUI7RUFDckIsc0JqRE5hO0VpRE9iLDRCQUE0QjtFQUM1QixvQ2pERWE7RU9DWCxxQlA4TitCO0FIdWpMbkM7O0FvRHZ5TEE7RUFvQkksa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxXakQ2MkJvQztFaUQ1MkJwQyxjakQ2MkJxQztFaUQ1MkJyQyxnQmpEd04rQjtBSCtqTG5DOztBb0QveUxBO0VBNEJNLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsV0FBVztFQUNYLHlCQUF5QjtFQUN6QixtQkFBbUI7QXBEdXhMekI7O0FvRGx4TEE7RUFDRSxxQmpEODFCdUM7QUh1N0p6Qzs7QW9EdHhMQTtFQUlJLDJCbENxRzREO0FsQmlyTGhFOztBb0QxeExBO0VBT00sU0FBUztFQUNULDZCQUFnRTtFQUNoRSxxQ2pEeTFCaUU7QUg4N0p2RTs7QW9EaHlMQTtFQWFNLFdqRDBMMkI7RWlEekwzQiw2QkFBZ0U7RUFDaEUsc0JqRDdDUztBSG8wTGY7O0FvRGx4TEE7RUFDRSxtQmpEMDBCdUM7QUgyOEp6Qzs7QW9EdHhMQTtFQUlJLHlCbENpRjREO0VrQ2hGNUQsYWpEczBCcUM7RWlEcjBCckMsWWpEbzBCb0M7RWlEbjBCcEMsZ0JBQWdDO0FwRHN4THBDOztBb0Q3eExBO0VBVU0sT0FBTztFQUNQLG9DQUEyRjtFQUMzRix1Q2pEazBCaUU7QUhxOUp2RTs7QW9EbnlMQTtFQWdCTSxTakRtSzJCO0VpRGxLM0Isb0NBQTJGO0VBQzNGLHdCakRwRVM7QUgyMUxmOztBb0RseExBO0VBQ0Usa0JqRG16QnVDO0FIaytKekM7O0FvRHR4TEE7RUFJSSx3QmxDMEQ0RDtBbEI0dExoRTs7QW9EMXhMQTtFQU9NLE1BQU07RUFDTixvQ0FBMkY7RUFDM0Ysd0NqRDh5QmlFO0FIeStKdkU7O0FvRGh5TEE7RUFhTSxRakQrSTJCO0VpRDlJM0Isb0NBQTJGO0VBQzNGLHlCakR4RlM7QUgrMkxmOztBb0R0eUxBO0VBcUJJLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sU0FBUztFQUNULGNBQWM7RUFDZCxXakQweEJvQztFaUR6eEJwQyxvQkFBc0M7RUFDdEMsV0FBVztFQUNYLGdDakQ4d0J1RDtBSHVnSzNEOztBb0RqeExBO0VBQ0Usb0JqRG14QnVDO0FIaWdLekM7O0FvRHJ4TEE7RUFJSSwwQmxDMEI0RDtFa0N6QjVELGFqRCt3QnFDO0VpRDl3QnJDLFlqRDZ3Qm9DO0VpRDV3QnBDLGdCQUFnQztBcERxeExwQzs7QW9ENXhMQTtFQVVNLFFBQVE7RUFDUixvQ2pEeXdCbUM7RWlEeHdCbkMsc0NqRDJ3QmlFO0FIMmdLdkU7O0FvRGx5TEE7RUFnQk0sVWpENEcyQjtFaUQzRzNCLG9DakRtd0JtQztFaURsd0JuQyx1QmpEM0hTO0FIaTVMZjs7QW9EaHdMQTtFQUNFLHVCakRvdUJ3QztFaURudUJ4QyxnQkFBZ0I7RWhEM0JaLGVBdENZO0VnRG9FaEIseUJqRDZ0QnlEO0VpRDV0QnpELGdDQUF5RTtFMUNuSXZFLDBDUW1INEQ7RVJsSDVELDJDUWtINEQ7QWxCb3hMaEU7O0FvRDF3TEE7RUFVSSxhQUFhO0FwRG93TGpCOztBb0Rod0xBO0VBQ0UsdUJqRHN0QndDO0VpRHJ0QnhDLGNqRHhKZ0I7QUgyNUxsQjs7QXFEOTVMQTtFQUNFLGtCQUFrQjtBckRpNkxwQjs7QXFEOTVMQTtFQUNFLG1CQUFtQjtBckRpNkxyQjs7QXFEOTVMQTtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsZ0JBQWdCO0FyRGk2TGxCOztBc0R4N0xFO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCxXQUFXO0F0RDI3TGY7O0FxRG42TEE7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLFdBQVc7RUFDWCxXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLDJCQUEyQjtFakNsQnZCLHNDakJ5akNrRjtBSGc0SnhG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Q2xCLFVBQVU7RUFDViw0Q0FBNEM7QXZEa21NOUM7O0F1RC9sTUE7RUFDRSxXcEQ2aEM0QjtFb0Q1aEM1QixZcEQ0aEM0QjtBSHNrSzlCOztBdUQ5bE1FO0VBQ0U7O0lBRUUsd0JBQXdCO0V2RGltTTVCO0FBQ0Y7O0F3RDdwTUE7RUFBcUIsbUNBQW1DO0F4RGlxTXhEOztBd0RocU1BO0VBQXFCLDhCQUE4QjtBeERvcU1uRDs7QXdEbnFNQTtFQUFxQixpQ0FBaUM7QXhEdXFNdEQ7O0F3RHRxTUE7RUFBcUIsaUNBQWlDO0F4RDBxTXREOztBd0R6cU1BO0VBQXFCLHNDQUFzQztBeEQ2cU0zRDs7QXdENXFNQTtFQUFxQixtQ0FBbUM7QXhEZ3JNeEQ7O0F5RGxyTUU7RUFDRSxvQ0FBbUM7QXpEcXJNdkM7O0FLM3FNRTs7O0VvRExJLG9DQUFnRDtBekRzck10RDs7QXlENXJNRTtFQUNFLG9DQUFtQztBekQrck12Qzs7QUtyck1FOzs7RW9ETEksb0NBQWdEO0F6RGdzTXREOztBeUR0c01FO0VBQ0Usb0NBQW1DO0F6RHlzTXZDOztBSy9yTUU7OztFb0RMSSxvQ0FBZ0Q7QXpEMHNNdEQ7O0F5RGh0TUU7RUFDRSxvQ0FBbUM7QXpEbXRNdkM7O0FLenNNRTs7O0VvRExJLG9DQUFnRDtBekRvdE10RDs7QXlEMXRNRTtFQUNFLG9DQUFtQztBekQ2dE12Qzs7QUtudE1FOzs7RW9ETEksb0NBQWdEO0F6RDh0TXREOztBeURwdU1FO0VBQ0Usb0NBQW1DO0F6RHV1TXZDOztBSzd0TUU7OztFb0RMSSxvQ0FBZ0Q7QXpEd3VNdEQ7O0F5RDl1TUU7RUFDRSxvQ0FBbUM7QXpEaXZNdkM7O0FLdnVNRTs7O0VvRExJLG9DQUFnRDtBekRrdk10RDs7QXlEeHZNRTtFQUNFLG9DQUFtQztBekQydk12Qzs7QUtqdk1FOzs7RW9ETEksb0NBQWdEO0F6RDR2TXREOztBMEQzdk1BO0VBQ0UsaUNBQW1DO0ExRDh2TXJDOztBMEQzdk1BO0VBQ0Usd0NBQXdDO0ExRDh2TTFDOztBMkR6d01BO0VBQWtCLG9DQUFvRDtBM0Q2d010RTs7QTJENXdN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cU5yRTs7QThEcHFOSTtFQUFpQywrQkFBK0I7QTlEd3FOcEU7O0E4RHRxTkk7RUFBa0Msb0NBQW9DO0E5RDBxTjFFOztBOER6cU5JO0VBQWtDLGtDQUFrQztBOUQ2cU54RTs7QThENXFOSTtFQUFrQyxnQ0FBZ0M7QTlEZ3JOdEU7O0E4RC9xTkk7RUFBa0MsdUNBQXVDO0E5RG1yTjdFOztBOERsck5JO0VBQWtDLHNDQUFzQztBOURzck41RTs7QThEcnJOSTtFQUFrQyxpQ0FBaUM7QTlEeXJOdkU7O0E4RHZyTkk7RUFBZ0MsMkJBQTJCO0E5RDJyTi9EOztBOEQxck5JO0VBQWdDLGlDQUFpQztBOUQ4ck5yRTs7QThEN3JOSTtFQUFnQywrQkFBK0I7QTlEaXNObkU7O0E4RGhzTkk7RUFBZ0MsNkJBQTZCO0E5RG9zTmpFOztBOERuc05JO0VBQWdDLCtCQUErQjtBOUR1c05uRTs7QThEdHNOSTtFQUFnQyw4QkFBOEI7QTlEMHNObEU7O0FjOXJOSTtFZ0RsREE7SUFBZ0MsOEJBQThCO0U5RHF2TmhFO0U4RHB2TkU7SUFBZ0MsaUNBQWlDO0U5RHV2Tm5FO0U4RHR2TkU7SUFBZ0Msc0NBQXNDO0U5RHl2TnhFO0U4RHh2TkU7SUFBZ0MseUNBQXlDO0U5RDJ2TjNFO0U4RHp2TkU7SUFBOEIsMEJBQTBCO0U5RDR2TjFEO0U4RDN2TkU7SUFBOEIsNEJBQTRCO0U5RDh2TjVEO0U4RDd2TkU7SUFBOEIsa0NBQWtDO0U5RGd3TmxFO0U4RC92TkU7SUFBOEIseUJBQXlCO0U5RGt3TnpEO0U4RGp3TkU7SUFBOEIsdUJBQXVCO0U5RG93TnZEO0U4RG53TkU7SUFBOEIsdUJBQXVCO0U5RHN3TnZEO0U4RHJ3TkU7SUFBOEIseUJBQXlCO0U5RHd3TnpEO0U4RHZ3TkU7SUFBOEIseUJBQXlCO0U5RDB3TnpEO0U4RHh3TkU7SUFBb0Msc0NBQXNDO0U5RDJ3TjVFO0U4RDF3TkU7SUFBb0Msb0NBQW9DO0U5RDZ3TjFFO0U4RDV3TkU7SUFBb0Msa0NBQWtDO0U5RCt3TnhFO0U4RDl3TkU7SUFBb0MseUNBQXlDO0U5RGl4Ti9FO0U4RGh4TkU7SUFBb0Msd0NBQXdDO0U5RG14TjlFO0U4RGp4TkU7SUFBaUMsa0NBQWtDO0U5RG94TnJFO0U4RG54TkU7SUFBaUMsZ0NBQWdDO0U5RHN4Tm5FO0U4RHJ4TkU7SUFBaUMsOEJBQThCO0U5RHd4TmpFO0U4RHZ4TkU7SUFBaUMsZ0NBQWdDO0U5RDB4Tm5FO0U4RHp4TkU7SUFBaUMsK0JBQStCO0U5RDR4TmxFO0U4RDF4TkU7SUFBa0Msb0NBQW9DO0U5RDZ4TnhFO0U4RDV4TkU7SUFBa0Msa0NBQWtDO0U5RCt4TnRFO0U4RDl4TkU7SUFBa0MsZ0NBQWdDO0U5RGl5TnBFO0U4RGh5TkU7SUFBa0MsdUNBQXVDO0U5RG15TjNFO0U4RGx5TkU7SUFBa0Msc0NBQXNDO0U5RHF5TjFFO0U4RHB5TkU7SUFBa0MsaUNBQWlDO0U5RHV5TnJFO0U4RHJ5TkU7SUFBZ0MsMkJBQTJCO0U5RHd5TjdEO0U4RHZ5TkU7SUFBZ0MsaUNBQWlDO0U5RDB5Tm5FO0U4RHp5TkU7SUFBZ0MsK0JBQStCO0U5RDR5TmpFO0U4RDN5TkU7SUFBZ0MsNkJBQTZCO0U5RDh5Ti9EO0U4RDd5TkU7SUFBZ0MsK0JBQStCO0U5RGd6TmpFO0U4RC95TkU7SUFBZ0MsOEJBQThCO0U5RGt6TmhFO0FBQ0Y7O0FjdnlOSTtFZ0RsREE7SUFBZ0MsOEJBQThCO0U5RDgxTmhFO0U4RDcxTkU7SUFBZ0MsaUNBQWlDO0U5RGcyTm5FO0U4RC8xTkU7SUFBZ0Msc0NBQXNDO0U5RGsyTnhFO0U4RGoyTkU7SUFBZ0MseUNBQXlDO0U5RG8yTjNFO0U4RGwyTkU7SUFBOEIsMEJBQTBCO0U5RHEyTjFEO0U4RHAyTkU7SUFBOEIsNEJBQTRCO0U5RHUyTjVEO0U4RHQyTkU7SUFBOEIsa0NBQWtDO0U5RHkyTmxFO0U4RHgyTkU7SUFBOEIseUJBQXlCO0U5RDIyTnpEO0U4RDEyTkU7SUFBOEIsdUJBQXVCO0U5RDYyTnZEO0U4RDUyTkU7SUFBOEIsdUJBQXVCO0U5RCsyTnZEO0U4RDkyTkU7SUFBOEIseUJBQXlCO0U5RGkzTnpEO0U4RGgzTkU7SUFBOEIseUJBQXlCO0U5RG0zTnpEO0U4RGozTkU7SUFBb0Msc0NBQXNDO0U5RG8zTjVFO0U4RG4zTkU7SUFBb0Msb0NBQW9DO0U5RHMzTjFFO0U4RHIzTkU7SUFBb0Msa0NBQWtDO0U5RHczTnhFO0U4RHYzTkU7SUFBb0MseUNBQXlDO0U5RDAzTi9FO0U4RHozTkU7SUFBb0Msd0NBQXdDO0U5RDQzTjlFO0U4RDEzTkU7SUFBaUMsa0NBQWtDO0U5RDYzTnJFO0U4RDUzTkU7SUFBaUMsZ0NBQWdDO0U5RCszTm5FO0U4RDkzTkU7SUFBaUMsOEJBQThCO0U5RGk0TmpFO0U4RGg0TkU7SUFBaUMsZ0NBQWdDO0U5RG00Tm5FO0U4RGw0TkU7SUFBaUMsK0JBQStCO0U5RHE0TmxFO0U4RG40TkU7SUFBa0Msb0NBQW9DO0U5RHM0TnhFO0U4RHI0TkU7SUFBa0Msa0NBQWtDO0U5RHc0TnRFO0U4RHY0TkU7SUFBa0MsZ0NBQWdDO0U5RDA0TnBFO0U4RHo0TkU7SUFBa0MsdUNBQXVDO0U5RDQ0TjNFO0U4RDM0TkU7SUFBa0Msc0NBQXNDO0U5RDg0TjFFO0U4RDc0TkU7SUFBa0MsaUNBQWlDO0U5RGc1TnJFO0U4RDk0TkU7SUFBZ0MsMkJBQTJCO0U5RGk1TjdEO0U4RGg1TkU7SUFBZ0MsaUNBQWlDO0U5RG01Tm5FO0U4RGw1TkU7SUFBZ0MsK0JBQStCO0U5RHE1TmpFO0U4RHA1TkU7SUFBZ0MsNkJBQTZCO0U5RHU1Ti9EO0U4RHQ1TkU7SUFBZ0MsK0JBQStCO0U5RHk1TmpFO0U4RHg1TkU7SUFBZ0MsOEJBQThCO0U5RDI1TmhFO0FBQ0Y7O0FjaDVOSTtFZ0RsREE7SUFBZ0MsOEJBQThCO0U5RHU4TmhFO0U4RHQ4TkU7SUFBZ0MsaUNBQWlDO0U5RHk4Tm5FO0U4RHg4TkU7SUFBZ0Msc0NBQXNDO0U5RDI4TnhFO0U4RDE4TkU7SUFBZ0MseUNBQXlDO0U5RDY4TjNFO0U4RDM4TkU7SUFBOEIsMEJBQTBCO0U5RDg4TjFEO0U4RDc4TkU7SUFBOEIsNEJBQTRCO0U5RGc5TjVEO0U4RC84TkU7SUFBOEIsa0NBQWtDO0U5RGs5TmxFO0U4RGo5TkU7SUFBOEIseUJBQXlCO0U5RG85TnpEO0U4RG45TkU7SUFBOEIsdUJBQXVCO0U5RHM5TnZEO0U4RHI5TkU7SUFBOEIsdUJBQXVCO0U5RHc5TnZEO0U4RHY5TkU7SUFBOEIseUJBQXlCO0U5RDA5TnpEO0U4RHo5TkU7SUFBOEIseUJBQXlCO0U5RDQ5TnpEO0U4RDE5TkU7SUFBb0Msc0NBQXNDO0U5RDY5TjVFO0U4RDU5TkU7SUFBb0Msb0NBQW9DO0U5RCs5TjFFO0U4RDk5TkU7SUFBb0Msa0NBQWtDO0U5RGkrTnhFO0U4RGgrTkU7SUFBb0MseUNBQXlDO0U5RG0rTi9FO0U4RGwrTkU7SUFBb0Msd0NBQXdDO0U5RHErTjlFO0U4RG4rTkU7SUFBaUMsa0NBQWtDO0U5RHMrTnJFO0U4RHIrTkU7SUFBaUMsZ0NBQWdDO0U5RHcrTm5FO0U4RHYrTkU7SUFBaUMsOEJBQThCO0U5RDArTmpFO0U4RHorTkU7SUFBaUMsZ0NBQWdDO0U5RDQrTm5FO0U4RDMrTkU7SUFBaUMsK0JBQStCO0U5RDgrTmxFO0U4RDUrTkU7SUFBa0Msb0NBQW9DO0U5RCsrTnhFO0U4RDkrTkU7SUFBa0Msa0NBQWtDO0U5RGkvTnRFO0U4RGgvTkU7SUFBa0MsZ0NBQWdDO0U5RG0vTnBFO0U4RGwvTkU7SUFBa0MsdUNBQXVDO0U5RHEvTjNFO0U4RHAvTkU7SUFBa0Msc0NBQXNDO0U5RHUvTjFFO0U4RHQvTkU7SUFBa0MsaUNBQWlDO0U5RHkvTnJFO0U4RHYvTkU7SUFBZ0MsMkJBQTJCO0U5RDAvTjdEO0U4RHovTkU7SUFBZ0MsaUNBQWlDO0U5RDQvTm5FO0U4RDMvTkU7SUFBZ0MsK0JBQStCO0U5RDgvTmpFO0U4RDcvTkU7SUFBZ0MsNkJBQTZCO0U5RGdnTy9EO0U4RC8vTkU7SUFBZ0MsK0JBQStCO0U5RGtnT2pFO0U4RGpnT0U7SUFBZ0MsOEJBQThCO0U5RG9nT2hFO0FBQ0Y7O0Fjei9OSTtFZ0RsREE7SUFBZ0MsOEJBQThCO0U5RGdqT2hFO0U4RC9pT0U7SUFBZ0MsaUNBQWlDO0U5RGtqT25FO0U4RGpqT0U7SUFBZ0Msc0NBQXNDO0U5RG9qT3hFO0U4RG5qT0U7SUFBZ0MseUNBQXlDO0U5RHNqTzNFO0U4RHBqT0U7SUFBOEIsMEJBQTBCO0U5RHVqTzFEO0U4RHRqT0U7SUFBOEIsNEJBQTRCO0U5RHlqTzVEO0U4RHhqT0U7SUFBOEIsa0NBQWtDO0U5RDJqT2xFO0U4RDFqT0U7SUFBOEIseUJBQXlCO0U5RDZqT3pEO0U4RDVqT0U7SUFBOEIsdUJBQXVCO0U5RCtqT3ZEO0U4RDlqT0U7SUFBOEIsdUJBQXVCO0U5RGlrT3ZEO0U4RGhrT0U7SUFBOEIseUJBQXlCO0U5RG1rT3pEO0U4RGxrT0U7SUFBOEIseUJBQXlCO0U5RHFrT3pEO0U4RG5rT0U7SUFBb0Msc0NBQXNDO0U5RHNrTzVFO0U4RHJrT0U7SUFBb0Msb0NBQW9DO0U5RHdrTzFFO0U4RHZrT0U7SUFBb0Msa0NBQWtDO0U5RDBrT3hFO0U4RHprT0U7SUFBb0MseUNBQXlDO0U5RDRrTy9FO0U4RDNrT0U7SUFBb0Msd0NBQXdDO0U5RDhrTzlFO0U4RDVrT0U7SUFBaUMsa0NBQWtDO0U5RCtrT3JFO0U4RDlrT0U7SUFBaUMsZ0NBQWdDO0U5RGlsT25FO0U4RGhsT0U7SUFBaUMsOEJBQThCO0U5RG1sT2pFO0U4RGxsT0U7SUFBaUMsZ0NBQWdDO0U5RHFsT25FO0U4RHBsT0U7SUFBaUMsK0JBQStCO0U5RHVsT2xFO0U4RHJsT0U7SUFBa0Msb0NBQW9DO0U5RHdsT3hFO0U4RHZsT0U7SUFBa0Msa0NBQWtDO0U5RDBsT3RFO0U4RHpsT0U7SUFBa0MsZ0NBQWdDO0U5RDRsT3BFO0U4RDNsT0U7SUFBa0MsdUNBQXVDO0U5RDhsTzNFO0U4RDdsT0U7SUFBa0Msc0NBQXNDO0U5RGdtTzFFO0U4RC9sT0U7SUFBa0MsaUNBQWlDO0U5RGttT3JFO0U4RGhtT0U7SUFBZ0MsMkJBQTJCO0U5RG1tTzdEO0U4RGxtT0U7SUFBZ0MsaUNBQWlDO0U5RHFtT25FO0U4RHBtT0U7SUFBZ0MsK0JBQStCO0U5RHVtT2pFO0U4RHRtT0U7SUFBZ0MsNkJBQTZCO0U5RHltTy9EO0U4RHhtT0U7SUFBZ0MsK0JBQStCO0U5RDJtT2pF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O0F0RXUyTzFDOztBc0VyMk9BO0VBQVUsdUJBQXVCO0F0RXkyT2pDOztBc0V4Mk9BO0VBQVUsd0JBQXdCO0F0RTQyT2xDOztBdUVyM09RO0VBQWdDLG9CQUE0QjtBdkV5M09wRTs7QXVFeDNPUTs7RUFFRSx3QkFBb0M7QXZFMjNPOUM7O0F1RXozT1E7O0VBRUUsMEJBQXdDO0F2RTQzT2xEOztBdUUxM09ROztFQUVFLDJCQUEwQztBdkU2M09wRDs7QXVFMzNPUTs7RUFFRSx5QkFBc0M7QXZFODNPaEQ7O0F1RTc0T1E7RUFBZ0MsMEJBQTRCO0F2RWk1T3BFOztBdUVoNU9ROztFQUVFLDhCQUFvQztBdkVtNU85Qzs7QXVFajVPUTs7RUFFRSxnQ0FBd0M7QXZFbzVPbEQ7O0F1RWw1T1E7O0VBRUUsaUNBQTBDO0F2RXE1T3BEOztBdUVuNU9ROztFQUVFLCtCQUFzQztBdkVzNU9oRDs7QXVFcjZPUTtFQUFnQyx5QkFBNEI7QXZFeTZPcEU7O0F1RXg2T1E7O0VBRUUsNkJBQW9DO0F2RTI2TzlDOztBdUV6Nk9ROztFQUVFLCtCQUF3QztBdkU0Nk9sRDs7QXVFMTZPUTs7RUFFRSxnQ0FBMEM7QXZFNjZPcEQ7O0F1RTM2T1E7O0VBRUUsOEJBQXNDO0F2RTg2T2hEOztBdUU3N09RO0VBQWdDLHVCQUE0QjtBdkVpOE9wRTs7QXVFaDhPUTs7RUFFRSwyQkFBb0M7QXZFbThPOUM7O0F1RWo4T1E7O0VBRUUsNkJBQXdDO0F2RW84T2xEOztBdUVsOE9ROztFQUVFLDhCQUEwQztBdkVxOE9wRDs7QXVFbjhPUTs7RUFFRSw0QkFBc0M7QXZFczhPaEQ7O0F1RXI5T1E7RUFBZ0MseUJBQTRCO0F2RXk5T3BFOztBdUV4OU9ROztFQUVFLDZCQUFvQztBdkUyOU85Qzs7QXVFejlPUTs7RUFFRSwrQkFBd0M7QXZFNDlPbEQ7O0F1RTE5T1E7O0VBRUUsZ0NBQTBDO0F2RTY5T3BEOztBdUUzOU9ROztFQUVFLDhCQUFzQztBdkU4OU9oRDs7QXVFNytPUTtFQUFnQyx1QkFBNEI7QXZFaS9PcEU7O0F1RWgvT1E7O0VBRUUsMkJBQW9DO0F2RW0vTzlDOztBdUVqL09ROztFQUVFLDZCQUF3QztBdkVvL09sRDs7QXVFbC9PUTs7RUFFRSw4QkFBMEM7QXZFcS9PcEQ7O0F1RW4vT1E7O0VBRUUsNEJBQXNDO0F2RXMvT2hEOztBdUVyZ1BRO0VBQWdDLHFCQUE0QjtBdkV5Z1BwRTs7QXVFeGdQUTs7RUFFRSx5QkFBb0M7QXZFMmdQOUM7O0F1RXpnUFE7O0VBRUUsMkJBQXdDO0F2RTRnUGxEOztBdUUxZ1BROztFQUVFLDRCQUEwQztBdkU2Z1BwRDs7QXVFM2dQUTs7RUFFRSwwQkFBc0M7QXZFOGdQaEQ7O0F1RTdoUFE7RUFBZ0MsMkJBQTRCO0F2RWlpUHBFOztBdUVoaVBROztFQUVFLCtCQUFvQztBdkVtaVA5Qzs7QXVFamlQUTs7RUFFRSxpQ0FBd0M7QXZFb2lQbEQ7O0F1RWxpUFE7O0VBRUUsa0NBQTBDO0F2RXFpUHBEOztBdUVuaVBROztFQUVFLGdDQUFzQztBdkVzaVBoRDs7QXVFcmpQUTtFQUFnQywwQkFBNEI7QXZFeWpQcEU7O0F1RXhqUFE7O0VBRUUsOEJBQW9DO0F2RTJqUDlDOztBdUV6alBROztFQUVFLGdDQUF3QztBdkU0alBsRDs7QXVFMWpQUTs7RUFFRSxpQ0FBMEM7QXZFNmpQcEQ7O0F1RTNqUFE7O0VBRUUsK0JBQXNDO0F2RThqUGhEOztBdUU3a1BRO0VBQWdDLHdCQUE0QjtBdkVpbFBwRTs7QXVFaGxQUTs7RUFFRSw0QkFBb0M7QXZFbWxQOUM7O0F1RWpsUFE7O0VBRUUsOEJBQXdDO0F2RW9sUGxEOztBdUVsbFBROztFQUVFLCtCQUEwQztBdkVxbFBwRDs7QXVFbmxQUTs7RUFFRSw2QkFBc0M7QXZFc2xQaEQ7O0F1RXJtUFE7RUFBZ0MsMEJBQTRCO0F2RXltUHBFOztBdUV4bVBROztFQUVFLDhCQUFvQztBdkUybVA5Qzs7QXVFem1QUTs7RUFFRSxnQ0FBd0M7QXZFNG1QbEQ7O0F1RTFtUFE7O0VBRUUsaUNBQTBDO0F2RTZtUHBEOztBdUUzbVBROztFQUVFLCtCQUFzQztBdkU4bVBoRDs7QXVFN25QUTtFQUFnQyx3QkFBNEI7QXZFaW9QcEU7O0F1RWhvUFE7O0VBRUUsNEJBQW9DO0F2RW1vUDlDOztBdUVqb1BROztFQUVFLDhCQUF3QztBdkVvb1BsRDs7QXVFbG9QUTs7RUFFRSwrQkFBMEM7QXZFcW9QcEQ7O0F1RW5vUFE7O0VBRUUsNkJBQXNDO0F2RXNvUGhEOztBdUU5blBRO0VBQXdCLDJCQUEyQjtBdkVrb1AzRDs7QXVFam9QUTs7RUFFRSwrQkFBK0I7QXZFb29QekM7O0F1RWxvUFE7O0VBRUUsaUNBQWlDO0F2RXFvUDNDOztBdUVub1BROztFQUVFLGtDQUFrQztBdkVzb1A1Qzs7QXVFcG9QUTs7RUFFRSxnQ0FBZ0M7QXZFdW9QMUM7O0F1RXRwUFE7RUFBd0IsMEJBQTJCO0F2RTBwUDNEOztBdUV6cFBROztFQUVFLDhCQUErQjtBdkU0cFB6Qzs7QXVFMXBQUTs7RUFFRSxnQ0FBaUM7QXZFNnBQM0M7O0F1RTNwUFE7O0VBRUUsaUNBQWtDO0F2RThwUDVDOztBdUU1cFBROztFQUVFLCtCQUFnQztBdkUrcFAxQzs7QXVFOXFQUTtFQUF3Qix3QkFBMkI7QXZFa3JQM0Q7O0F1RWpyUFE7O0VBRUUsNEJBQStCO0F2RW9yUHpDOztBdUVsclBROztFQUVFLDhCQUFpQztBdkVxclAzQzs7QXVFbnJQUTs7RUFFRSwrQkFBa0M7QXZFc3JQNUM7O0F1RXByUFE7O0VBRUUsNkJBQWdDO0F2RXVyUDFDOztBdUV0c1BRO0VBQXdCLDBCQUEyQjtBdkUwc1AzRDs7QXVFenNQUTs7RUFFRSw4QkFBK0I7QXZFNHNQekM7O0F1RTFzUFE7O0VBRUUsZ0NBQWlDO0F2RTZzUDNDOztBdUUzc1BROztFQUVFLGlDQUFrQztBdkU4c1A1Qzs7QXVFNXNQUTs7RUFFRSwrQkFBZ0M7QXZFK3NQMUM7O0F1RTl0UFE7RUFBd0Isd0JBQTJCO0F2RWt1UDNEOztBdUVqdVBROztFQUVFLDRCQUErQjtBdkVvdVB6Qzs7QXVFbHVQUTs7RUFFRSw4QkFBaUM7QXZFcXVQM0M7O0F1RW51UFE7O0VBRUUsK0JBQWtDO0F2RXN1UDVDOztBdUVwdVBROztFQUVFLDZCQUFnQztBdkV1dVAxQzs7QXVFanVQSTtFQUFtQix1QkFBdUI7QXZFcXVQOUM7O0F1RXB1UEk7O0VBRUUsMkJBQTJCO0F2RXV1UGpDOztBdUVydVBJOztFQUVFLDZCQUE2QjtBdkV3dVBuQzs7QXVFdHVQSTs7RUFFRSw4QkFBOEI7QXZFeXVQcEM7O0F1RXZ1UEk7O0VBRUUsNEJBQTRCO0F2RTB1UGxDOztBY252UEk7RXlEbERJO0lBQWdDLG9CQUE0QjtFdkUweVBsRTtFdUV6eVBNOztJQUVFLHdCQUFvQztFdkUyeVA1QztFdUV6eVBNOztJQUVFLDBCQUF3QztFdkUyeVBoRDtFdUV6eVBNOztJQUVFLDJCQUEwQztFdkUyeVBsRDtFdUV6eVBNOztJQUVFLHlCQUFzQztFdkUyeVA5QztFdUUxelBNO0lBQWdDLDBCQUE0QjtFdkU2elBsRTtFdUU1elBNOztJQUVFLDhCQUFvQztFdkU4elA1QztFdUU1elBNOztJQUVFLGdDQUF3QztFdkU4elBoRDtFdUU1elBNOztJQUVFLGlDQUEwQztFdkU4elBsRDtFdUU1elBNOztJQUVFLCtCQUFzQztFdkU4elA5QztFdUU3MFBNO0lBQWdDLHlCQUE0QjtFdkVnMVBsRTtFdUUvMFBNOztJQUVFLDZCQUFvQztFdkVpMVA1QztFdUUvMFBNOztJQUVFLCtCQUF3QztFdkVpMVBoRDtFdUUvMFBNOztJQUVFLGdDQUEwQztFdkVpMVBsRDtFdUUvMFBNOztJQUVFLDhCQUFzQztFdkVpMVA5QztFdUVoMlBNO0lBQWdDLHVCQUE0QjtFdkVtMlBsRTtFdUVsMlBNOztJQUVFLDJCQUFvQztFdkVvMlA1QztFdUVsMlBNOztJQUVFLDZCQUF3QztFdkVvMlBoRDtFdUVsMlBNOztJQUVFLDhCQUEwQztFdkVvMlBsRDtFdUVsMlBNOztJQUVFLDRCQUFzQztFdkVvMlA5QztFdUVuM1BNO0lBQWdDLHlCQUE0QjtFdkVzM1BsRTtFdUVyM1BNOztJQUVFLDZCQUFvQztFdkV1M1A1QztFdUVyM1BNOztJQUVFLCtCQUF3QztFdkV1M1BoRDtFdUVyM1BNOztJQUVFLGdDQUEwQztFdkV1M1BsRDtFdUVyM1BNOztJQUVFLDhCQUFzQztFdkV1M1A5QztFdUV0NFBNO0lBQWdDLHVCQUE0QjtFdkV5NFBsRTtFdUV4NFBNOztJQUVFLDJCQUFvQztFdkUwNFA1QztFdUV4NFBNOztJQUVFLDZCQUF3QztFdkUwNFBoRDtFdUV4NFBNOztJQUVFLDhCQUEwQztFdkUwNFBsRDtFdUV4NFBNOztJQUVFLDRCQUFzQztFdkUwNFA5QztFdUV6NVBNO0lBQWdDLHFCQUE0QjtFdkU0NVBsRTtFdUUzNVBNOztJQUVFLHlCQUFvQztFdkU2NVA1QztFdUUzNVBNOztJQUVFLDJCQUF3QztFdkU2NVBoRDtFdUUzNVBNOztJQUVFLDRCQUEwQztFdkU2NVBsRDtFdUUzNVBNOztJQUVFLDBCQUFzQztFdkU2NVA5QztFdUU1NlBNO0lBQWdDLDJCQUE0QjtFdkUrNlBsRTtFdUU5NlBNOztJQUVFLCtCQUFvQztFdkVnN1A1QztFdUU5NlBNOztJQUVFLGlDQUF3QztFdkVnN1BoRDtFdUU5NlBNOztJQUVFLGtDQUEwQztFdkVnN1BsRDtFdUU5NlBNOztJQUVFLGdDQUFzQztFdkVnN1A5QztFdUUvN1BNO0lBQWdDLDBCQUE0QjtFdkVrOFBsRTtFdUVqOFBNOztJQUVFLDhCQUFvQztFdkVtOFA1QztFdUVqOFBNOztJQUVFLGdDQUF3QztFdkVtOFBoRDtFdUVqOFBNOztJQUVFLGlDQUEwQztFdkVtOFBsRDtFdUVqOFBNOztJQUVFLCtCQUFzQztFdkVtOFA5QztFdUVsOVBNO0lBQWdDLHdCQUE0QjtFdkVxOVBsRTtFdUVwOVBNOztJQUVFLDRCQUFvQztFdkVzOVA1QztFdUVwOVBNOztJQUVFLDhCQUF3QztFdkVzOVBoRDtFdUVwOVBNOztJQUVFLCtCQUEwQztFdkVzOVBsRDtFdUVwOVBNOztJQUVFLDZCQUFzQztFdkVzOVA5QztFdUVyK1BNO0lBQWdDLDBCQUE0QjtFdkV3K1BsRTtFdUV2K1BNOztJQUVFLDhCQUFvQztFdkV5K1A1QztFdUV2K1BNOztJQUVFLGdDQUF3QztFdkV5K1BoRDtFdUV2K1BNOztJQUVFLGlDQUEwQztFdkV5K1BsRDtFdUV2K1BNOztJQUVFLCtCQUFzQztFdkV5K1A5QztFdUV4L1BNO0lBQWdDLHdCQUE0QjtFdkUyL1BsRTtFdUUxL1BNOztJQUVFLDRCQUFvQztFdkU0L1A1QztFdUUxL1BNOztJQUVFLDhCQUF3QztFdkU0L1BoRDtFdUUxL1BNOztJQUVFLCtCQUEwQztFdkU0L1BsRDtFdUUxL1BNOztJQUVFLDZCQUFzQztFdkU0L1A5QztFdUVwL1BNO0lBQXdCLDJCQUEyQjtFdkV1L1B6RDtFdUV0L1BNOztJQUVFLCtCQUErQjtFdkV3L1B2QztFdUV0L1BNOztJQUVFLGlDQUFpQztFdkV3L1B6QztFdUV0L1BNOztJQUVFLGtDQUFrQztFdkV3L1AxQztFdUV0L1BNOztJQUVFLGdDQUFnQztFdkV3L1B4QztFdUV2Z1FNO0lBQXdCLDBCQUEyQjtFdkUwZ1F6RDtFdUV6Z1FNOztJQUVFLDhCQUErQjtFdkUyZ1F2QztFdUV6Z1FNOztJQUVFLGdDQUFpQztFdkUyZ1F6QztFdUV6Z1FNOztJQUVFLGlDQUFrQztFdkUyZ1ExQztFdUV6Z1FNOztJQUVFLCtCQUFnQztFdkUyZ1F4QztFdUUxaFFNO0lBQXdCLHdCQUEyQjtFdkU2aFF6RDtFdUU1aFFNOztJQUVFLDRCQUErQjtFdkU4aFF2QztFdUU1aFFNOztJQUVFLDhCQUFpQztFdkU4aFF6QztFdUU1aFFNOztJQUVFLCtCQUFrQztFdkU4aFExQztFdUU1aFFNOztJQUVFLDZCQUFnQztFdkU4aFF4QztFdUU3aVFNO0lBQXdCLDBCQUEyQjtFdkVnalF6RDtFdUUvaVFNOztJQUVFLDhCQUErQjtFdkVpalF2QztFdUUvaVFNOztJQUVFLGdDQUFpQztFdkVpalF6QztFdUUvaVFNOztJQUVFLGlDQUFrQztFdkVpalExQztFdUUvaVFNOztJQUVFLCtCQUFnQztFdkVpalF4QztFdUVoa1FNO0lBQXdCLHdCQUEyQjtFdkVta1F6RDtFdUVsa1FNOztJQUVFLDRCQUErQjtFdkVva1F2QztFdUVsa1FNOztJQUVFLDhCQUFpQztFdkVva1F6QztFdUVsa1FNOztJQUVFLCtCQUFrQztFdkVva1ExQztFdUVsa1FNOztJQUVFLDZCQUFnQztFdkVva1F4QztFdUU5alFFO0lBQW1CLHVCQUF1QjtFdkVpa1E1QztFdUVoa1FFOztJQUVFLDJCQUEyQjtFdkVra1EvQjtFdUVoa1FFOztJQUVFLDZCQUE2QjtFdkVra1FqQztFdUVoa1FFOztJQUVFLDhCQUE4QjtFdkVra1FsQztFdUVoa1FFOztJQUVFLDRCQUE0QjtFdkVra1FoQztBQUNGOztBYzVrUUk7RXlEbERJO0lBQWdDLG9CQUE0QjtFdkVtb1FsRTtFdUVsb1FNOztJQUVFLHdCQUFvQztFdkVvb1E1QztFdUVsb1FNOztJQUVFLDBCQUF3QztFdkVvb1FoRDtFdUVsb1FNOztJQUVFLDJCQUEwQztFdkVvb1FsRDtFdUVsb1FNOztJQUVFLHlCQUFzQztFdkVvb1E5QztFdUVucFFNO0lBQWdDLDBCQUE0QjtFdkVzcFFsRTtFdUVycFFNOztJQUVFLDhCQUFvQztFdkV1cFE1QztFdUVycFFNOztJQUVFLGdDQUF3QztFdkV1cFFoRDtFdUVycFFNOztJQUVFLGlDQUEwQztFdkV1cFFsRDtFdUVycFFNOztJQUVFLCtCQUFzQztFdkV1cFE5QztFdUV0cVFNO0lBQWdDLHlCQUE0QjtFdkV5cVFsRTtFdUV4cVFNOztJQUVFLDZCQUFvQztFdkUwcVE1QztFdUV4cVFNOztJQUVFLCtCQUF3QztFdkUwcVFoRDtFdUV4cVFNOztJQUVFLGdDQUEwQztFdkUwcVFsRDtFdUV4cVFNOztJQUVFLDhCQUFzQztFdkUwcVE5QztFdUV6clFNO0lBQWdDLHVCQUE0QjtFdkU0clFsRTtFdUUzclFNOztJQUVFLDJCQUFvQztFdkU2clE1QztFdUUzclFNOztJQUVFLDZCQUF3QztFdkU2clFoRDtFdUUzclFNOztJQUVFLDhCQUEwQztFdkU2clFsRDtFdUUzclFNOztJQUVFLDRCQUFzQztFdkU2clE5QztFdUU1c1FNO0lBQWdDLHlCQUE0QjtFdkUrc1FsRTtFdUU5c1FNOztJQUVFLDZCQUFvQztFdkVndFE1QztFdUU5c1FNOztJQUVFLCtCQUF3QztFdkVndFFoRDtFdUU5c1FNOztJQUVFLGdDQUEwQztFdkVndFFsRDtFdUU5c1FNOztJQUVFLDhCQUFzQztFdkVndFE5QztFdUUvdFFNO0lBQWdDLHVCQUE0QjtFdkVrdVFsRTtFdUVqdVFNOztJQUVFLDJCQUFvQztFdkVtdVE1QztFdUVqdVFNOztJQUVFLDZCQUF3QztFdkVtdVFoRDtFdUVqdVFNOztJQUVFLDhCQUEwQztFdkVtdVFsRDtFdUVqdVFNOztJQUVFLDRCQUFzQztFdkVtdVE5QztFdUVsdlFNO0lBQWdDLHFCQUE0QjtFdkVxdlFsRTtFdUVwdlFNOztJQUVFLHlCQUFvQztFdkVzdlE1QztFdUVwdlFNOztJQUVFLDJCQUF3QztFdkVzdlFoRDtFdUVwdlFNOztJQUVFLDRCQUEwQztFdkVzdlFsRDtFdUVwdlFNOztJQUVFLDBCQUFzQztFdkVzdlE5QztFdUVyd1FNO0lBQWdDLDJCQUE0QjtFdkV3d1FsRTtFdUV2d1FNOztJQUVFLCtCQUFvQztFdkV5d1E1QztFdUV2d1FNOztJQUVFLGlDQUF3QztFdkV5d1FoRDtFdUV2d1FNOztJQUVFLGtDQUEwQztFdkV5d1FsRDtFdUV2d1FNOztJQUVFLGdDQUFzQztFdkV5d1E5QztFdUV4eFFNO0lBQWdDLDBCQUE0QjtFdkUyeFFsRTtFdUUxeFFNOztJQUVFLDhCQUFvQztFdkU0eFE1QztFdUUxeFFNOztJQUVFLGdDQUF3QztFdkU0eFFoRDtFdUUxeFFNOztJQUVFLGlDQUEwQztFdkU0eFFsRDtFdUUxeFFNOztJQUVFLCtCQUFzQztFdkU0eFE5QztFdUUzeVFNO0lBQWdDLHdCQUE0QjtFdkU4eVFsRTtFdUU3eVFNOztJQUVFLDRCQUFvQztFdkUreVE1QztFdUU3eVFNOztJQUVFLDhCQUF3QztFdkUreVFoRDtFdUU3eVFNOztJQUVFLCtCQUEwQztFdkUreVFsRDtFdUU3eVFNOztJQUVFLDZCQUFzQztFdkUreVE5QztFdUU5elFNO0lBQWdDLDBCQUE0QjtFdkVpMFFsRTtFdUVoMFFNOztJQUVFLDhCQUFvQztFdkVrMFE1QztFdUVoMFFNOztJQUVFLGdDQUF3QztFdkVrMFFoRDtFdUVoMFFNOztJQUVFLGlDQUEwQztFdkVrMFFsRDtFdUVoMFFNOztJQUVFLCtCQUFzQztFdkVrMFE5QztFdUVqMVFNO0lBQWdDLHdCQUE0QjtFdkVvMVFsRTtFdUVuMVFNOztJQUVFLDRCQUFvQztFdkVxMVE1QztFdUVuMVFNOztJQUVFLDhCQUF3QztFdkVxMVFoRDtFdUVuMVFNOztJQUVFLCtCQUEwQztFdkVxMVFsRDtFdUVuMVFNOztJQUVFLDZCQUFzQztFdkVxMVE5QztFdUU3MFFNO0lBQXdCLDJCQUEyQjtFdkVnMVF6RDtFdUUvMFFNOztJQUVFLCtCQUErQjtFdkVpMVF2QztFdUUvMFFNOztJQUVFLGlDQUFpQztFdkVpMVF6QztFdUUvMFFNOztJQUVFLGtDQUFrQztFdkVpMVExQztFdUUvMFFNOztJQUVFLGdDQUFnQztFdkVpMVF4QztFdUVoMlFNO0lBQXdCLDBCQUEyQjtFdkVtMlF6RDtFdUVsMlFNOztJQUVFLDhCQUErQjtFdkVvMlF2QztFdUVsMlFNOztJQUVFLGdDQUFpQztFdkVvMlF6QztFdUVsMlFNOztJQUVFLGlDQUFrQztFdkVvMlExQztFdUVsMlFNOztJQUVFLCtCQUFnQztFdkVvMlF4QztFdUVuM1FNO0lBQXdCLHdCQUEyQjtFdkVzM1F6RDtFdUVyM1FNOztJQUVFLDRCQUErQjtFdkV1M1F2QztFdUVyM1FNOztJQUVFLDhCQUFpQztFdkV1M1F6QztFdUVyM1FNOztJQUVFLCtCQUFrQztFdkV1M1ExQztFdUVyM1FNOztJQUVFLDZCQUFnQztFdkV1M1F4QztFdUV0NFFNO0lBQXdCLDBCQUEyQjtFdkV5NFF6RDtFdUV4NFFNOztJQUVFLDhCQUErQjtFdkUwNFF2QztFdUV4NFFNOztJQUVFLGdDQUFpQztFdkUwNFF6QztFdUV4NFFNOztJQUVFLGlDQUFrQztFdkUwNFExQztFdUV4NFFNOztJQUVFLCtCQUFnQztFdkUwNFF4QztFdUV6NVFNO0lBQXdCLHdCQUEyQjtFdkU0NVF6RDtFdUUzNVFNOztJQUVFLDRCQUErQjtFdkU2NVF2QztFdUUzNVFNOztJQUVFLDhCQUFpQztFdkU2NVF6QztFdUUzNVFNOztJQUVFLCtCQUFrQztFdkU2NVExQztFdUUzNVFNOztJQUVFLDZCQUFnQztFdkU2NVF4QztFdUV2NVFFO0lBQW1CLHVCQUF1QjtFdkUwNVE1QztFdUV6NVFFOztJQUVFLDJCQUEyQjtFdkUyNVEvQjtFdUV6NVFFOztJQUVFLDZCQUE2QjtFdkUyNVFqQztFdUV6NVFFOztJQUVFLDhCQUE4QjtFdkUyNVFsQztFdUV6NVFFOztJQUVFLDRCQUE0QjtFdkUyNVFoQztBQUNGOztBY3I2UUk7RXlEbERJO0lBQWdDLG9CQUE0QjtFdkU0OVFsRTtFdUUzOVFNOztJQUVFLHdCQUFvQztFdkU2OVE1QztFdUUzOVFNOztJQUVFLDBCQUF3QztFdkU2OVFoRDtFdUUzOVFNOztJQUVFLDJCQUEwQztFdkU2OVFsRDtFdUUzOVFNOztJQUVFLHlCQUFzQztFdkU2OVE5QztFdUU1K1FNO0lBQWdDLDBCQUE0QjtFdkUrK1FsRTtFdUU5K1FNOztJQUVFLDhCQUFvQztFdkVnL1E1QztFdUU5K1FNOztJQUVFLGdDQUF3QztFdkVnL1FoRDtFdUU5K1FNOztJQUVFLGlDQUEwQztFdkVnL1FsRDtFdUU5K1FNOztJQUVFLCtCQUFzQztFdkVnL1E5QztFdUUvL1FNO0lBQWdDLHlCQUE0QjtFdkVrZ1JsRTtFdUVqZ1JNOztJQUVFLDZCQUFvQztFdkVtZ1I1QztFdUVqZ1JNOztJQUVFLCtCQUF3QztFdkVtZ1JoRDtFdUVqZ1JNOztJQUVFLGdDQUEwQztFdkVtZ1JsRDtFdUVqZ1JNOztJQUVFLDhCQUFzQztFdkVtZ1I5QztFdUVsaFJNO0lBQWdDLHVCQUE0QjtFdkVxaFJsRTtFdUVwaFJNOztJQUVFLDJCQUFvQztFdkVzaFI1QztFdUVwaFJNOztJQUVFLDZCQUF3QztFdkVzaFJoRDtFdUVwaFJNOztJQUVFLDhCQUEwQztFdkVzaFJsRDtFdUVwaFJNOztJQUVFLDRCQUFzQztFdkVzaFI5QztFdUVyaVJNO0lBQWdDLHlCQUE0QjtFdkV3aVJsRTtFdUV2aVJNOztJQUVFLDZCQUFvQztFdkV5aVI1QztFdUV2aVJNOztJQUVFLCtCQUF3QztFdkV5aVJoRDtFdUV2aVJNOztJQUVFLGdDQUEwQztFdkV5aVJsRDtFdUV2aVJNOztJQUVFLDhCQUFzQztFdkV5aVI5QztFdUV4alJNO0lBQWdDLHVCQUE0QjtFdkUyalJsRTtFdUUxalJNOztJQUVFLDJCQUFvQztFdkU0alI1QztFdUUxalJNOztJQUVFLDZCQUF3QztFdkU0alJoRDtFdUUxalJNOztJQUVFLDhCQUEwQztFdkU0alJsRDtFdUUxalJNOztJQUVFLDRCQUFzQztFdkU0alI5QztFdUUza1JNO0lBQWdDLHFCQUE0QjtFdkU4a1JsRTtFdUU3a1JNOztJQUVFLHlCQUFvQztFdkUra1I1QztFdUU3a1JNOztJQUVFLDJCQUF3QztFdkUra1JoRDtFdUU3a1JNOztJQUVFLDRCQUEwQztFdkUra1JsRDtFdUU3a1JNOztJQUVFLDBCQUFzQztFdkUra1I5QztFdUU5bFJNO0lBQWdDLDJCQUE0QjtFdkVpbVJsRTtFdUVobVJNOztJQUVFLCtCQUFvQztFdkVrbVI1QztFdUVobVJNOztJQUVFLGlDQUF3QztFdkVrbVJoRDtFdUVobVJNOztJQUVFLGtDQUEwQztFdkVrbVJsRDtFdUVobVJNOztJQUVFLGdDQUFzQztFdkVrbVI5QztFdUVqblJNO0lBQWdDLDBCQUE0QjtFdkVvblJsRTtFdUVublJNOztJQUVFLDhCQUFvQztFdkVxblI1QztFdUVublJNOztJQUVFLGdDQUF3QztFdkVxblJoRDtFdUVublJNOztJQUVFLGlDQUEwQztFdkVxblJsRDtFdUVublJNOztJQUVFLCtCQUFzQztFdkVxblI5QztFdUVwb1JNO0lBQWdDLHdCQUE0QjtFdkV1b1JsRTtFdUV0b1JNOztJQUVFLDRCQUFvQztFdkV3b1I1QztFdUV0b1JNOztJQUVFLDhCQUF3QztFdkV3b1JoRDtFdUV0b1JNOztJQUVFLCtCQUEwQztFdkV3b1JsRDtFdUV0b1JNOztJQUVFLDZCQUFzQztFdkV3b1I5QztFdUV2cFJNO0lBQWdDLDBCQUE0QjtFdkUwcFJsRTtFdUV6cFJNOztJQUVFLDhCQUFvQztFdkUycFI1QztFdUV6cFJNOztJQUVFLGdDQUF3QztFdkUycFJoRDtFdUV6cFJNOztJQUVFLGlDQUEwQztFdkUycFJsRDtFdUV6cFJNOztJQUVFLCtCQUFzQztFdkUycFI5QztFdUUxcVJNO0lBQWdDLHdCQUE0QjtFdkU2cVJsRTtFdUU1cVJNOztJQUVFLDRCQUFvQztFdkU4cVI1QztFdUU1cVJNOztJQUVFLDhCQUF3QztFdkU4cVJoRDtFdUU1cVJNOztJQUVFLCtCQUEwQztFdkU4cVJsRDtFdUU1cVJNOztJQUVFLDZCQUFzQztFdkU4cVI5QztFdUV0cVJNO0lBQXdCLDJCQUEyQjtFdkV5cVJ6RDtFdUV4cVJNOztJQUVFLCtCQUErQjtFdkUwcVJ2QztFdUV4cVJNOztJQUVFLGlDQUFpQztFdkUwcVJ6QztFdUV4cVJNOztJQUVFLGtDQUFrQztFdkUwcVIxQztFdUV4cVJNOztJQUVFLGdDQUFnQztFdkUwcVJ4QztFdUV6clJNO0lBQXdCLDBCQUEyQjtFdkU0clJ6RDtFdUUzclJNOztJQUVFLDhCQUErQjtFdkU2clJ2QztFdUUzclJNOztJQUVFLGdDQUFpQztFdkU2clJ6QztFdUUzclJNOztJQUVFLGlDQUFrQztFdkU2clIxQztFdUUzclJNOztJQUVFLCtCQUFnQztFdkU2clJ4QztFdUU1c1JNO0lBQXdCLHdCQUEyQjtFdkUrc1J6RDtFdUU5c1JNOztJQUVFLDRCQUErQjtFdkVndFJ2QztFdUU5c1JNOztJQUVFLDhCQUFpQztFdkVndFJ6QztFdUU5c1JNOztJQUVFLCtCQUFrQztFdkVndFIxQztFdUU5c1JNOztJQUVFLDZCQUFnQztFdkVndFJ4QztFdUUvdFJNO0lBQXdCLDBCQUEyQjtFdkVrdVJ6RDtFdUVqdVJNOztJQUVFLDhCQUErQjtFdkVtdVJ2QztFdUVqdVJNOztJQUVFLGdDQUFpQztFdkVtdVJ6QztFdUVqdVJNOztJQUVFLGlDQUFrQztFdkVtdVIxQztFdUVqdVJNOztJQUVFLCtCQUFnQztFdkVtdVJ4QztFdUVsdlJNO0lBQXdCLHdCQUEyQjtFdkVxdlJ6RDtFdUVwdlJNOztJQUVFLDRCQUErQjtFdkVzdlJ2QztFdUVwdlJNOztJQUVFLDhCQUFpQztFdkVzdlJ6QztFdUVwdlJNOztJQUVFLCtCQUFrQztFdkVzdlIxQztFdUVwdlJNOztJQUVFLDZCQUFnQztFdkVzdlJ4QztFdUVodlJFO0lBQW1CLHVCQUF1QjtFdkVtdlI1QztFdUVsdlJFOztJQUVFLDJCQUEyQjtFdkVvdlIvQjtFdUVsdlJFOztJQUVFLDZCQUE2QjtFdkVvdlJqQztFdUVsdlJFOztJQUVFLDhCQUE4QjtFdkVvdlJsQztFdUVsdlJFOztJQUVFLDRCQUE0QjtFdkVvdlJoQztBQUNGOztBYzl2Ukk7RXlEbERJO0lBQWdDLG9CQUE0QjtFdkVxelJsRTtFdUVwelJNOztJQUVFLHdCQUFvQztFdkVzelI1QztFdUVwelJNOztJQUVFLDBCQUF3QztFdkVzelJoRDtFdUVwelJNOztJQUVFLDJCQUEwQztFdkVzelJsRDtFdUVwelJNOztJQUVFLHlCQUFzQztFdkVzelI5QztFdUVyMFJNO0lBQWdDLDBCQUE0QjtFdkV3MFJsRTtFdUV2MFJNOztJQUVFLDhCQUFvQztFdkV5MFI1QztFdUV2MFJNOztJQUVFLGdDQUF3QztFdkV5MFJoRDtFdUV2MFJNOztJQUVFLGlDQUEwQztFdkV5MFJsRDtFdUV2MFJNOztJQUVFLCtCQUFzQztFdkV5MFI5QztFdUV4MVJNO0lBQWdDLHlCQUE0QjtFdkUyMVJsRTtFdUUxMVJNOztJQUVFLDZCQUFvQztFdkU0MVI1QztFdUUxMVJNOztJQUVFLCtCQUF3QztFdkU0MVJoRDtFdUUxMVJNOztJQUVFLGdDQUEwQztFdkU0MVJsRDtFdUUxMVJNOztJQUVFLDhCQUFzQztFdkU0MVI5QztFdUUzMlJNO0lBQWdDLHVCQUE0QjtFdkU4MlJsRTtFdUU3MlJNOztJQUVFLDJCQUFvQztFdkUrMlI1QztFdUU3MlJNOztJQUVFLDZCQUF3QztFdkUrMlJoRDtFdUU3MlJNOztJQUVFLDhCQUEwQztFdkUrMlJsRDtFdUU3MlJNOztJQUVFLDRCQUFzQztFdkUrMlI5QztFdUU5M1JNO0lBQWdDLHlCQUE0QjtFdkVpNFJsRTtFdUVoNFJNOztJQUVFLDZCQUFvQztFdkVrNFI1QztFdUVoNFJNOztJQUVFLCtCQUF3QztFdkVrNFJoRDtFdUVoNFJNOztJQUVFLGdDQUEwQztFdkVrNFJsRDtFdUVoNFJNOztJQUVFLDhCQUFzQztFdkVrNFI5QztFdUVqNVJNO0lBQWdDLHVCQUE0QjtFdkVvNVJsRTtFdUVuNVJNOztJQUVFLDJCQUFvQztFdkVxNVI1QztFdUVuNVJNOztJQUVFLDZCQUF3QztFdkVxNVJoRDtFdUVuNVJNOztJQUVFLDhCQUEwQztFdkVxNVJsRDtFdUVuNVJNOztJQUVFLDRCQUFzQztFdkVxNVI5QztFdUVwNlJNO0lBQWdDLHFCQUE0QjtFdkV1NlJsRTtFdUV0NlJNOztJQUVFLHlCQUFvQztFdkV3NlI1QztFdUV0NlJNOztJQUVFLDJCQUF3QztFdkV3NlJoRDtFdUV0NlJNOztJQUVFLDRCQUEwQztFdkV3NlJsRDtFdUV0NlJNOztJQUVFLDBCQUFzQztFdkV3NlI5QztFdUV2N1JNO0lBQWdDLDJCQUE0QjtFdkUwN1JsRTtFdUV6N1JNOztJQUVFLCtCQUFvQztFdkUyN1I1QztFdUV6N1JNOztJQUVFLGlDQUF3QztFdkUyN1JoRDtFdUV6N1JNOztJQUVFLGtDQUEwQztFdkUyN1JsRDtFdUV6N1JNOztJQUVFLGdDQUFzQztFdkUyN1I5QztFdUUxOFJNO0lBQWdDLDBCQUE0QjtFdkU2OFJsRTtFdUU1OFJNOztJQUVFLDhCQUFvQztFdkU4OFI1QztFdUU1OFJNOztJQUVFLGdDQUF3QztFdkU4OFJoRDtFdUU1OFJNOztJQUVFLGlDQUEwQztFdkU4OFJsRDtFdUU1OFJNOztJQUVFLCtCQUFzQztFdkU4OFI5QztFdUU3OVJNO0lBQWdDLHdCQUE0QjtFdkVnK1JsRTtFdUUvOVJNOztJQUVFLDRCQUFvQztFdkVpK1I1QztFdUUvOVJNOztJQUVFLDhCQUF3QztFdkVpK1JoRDtFdUUvOVJNOztJQUVFLCtCQUEwQztFdkVpK1JsRDtFdUUvOVJNOztJQUVFLDZCQUFzQztFdkVpK1I5QztFdUVoL1JNO0lBQWdDLDBCQUE0QjtFdkVtL1JsRTtFdUVsL1JNOztJQUVFLDhCQUFvQztFdkVvL1I1QztFdUVsL1JNOztJQUVFLGdDQUF3QztFdkVvL1JoRDtFdUVsL1JNOztJQUVFLGlDQUEwQztFdkVvL1JsRDtFdUVsL1JNOztJQUVFLCtCQUFzQztFdkVvL1I5QztFdUVuZ1NNO0lBQWdDLHdCQUE0QjtFdkVzZ1NsRTtFdUVyZ1NNOztJQUVFLDRCQUFvQztFdkV1Z1M1QztFdUVyZ1NNOztJQUVFLDhCQUF3QztFdkV1Z1NoRDtFdUVyZ1NNOztJQUVFLCtCQUEwQztFdkV1Z1NsRDtFdUVyZ1NNOztJQUVFLDZCQUFzQztFdkV1Z1M5QztFdUUvL1JNO0lBQXdCLDJCQUEyQjtFdkVrZ1N6RDtFdUVqZ1NNOztJQUVFLCtCQUErQjtFdkVtZ1N2QztFdUVqZ1NNOztJQUVFLGlDQUFpQztFdkVtZ1N6QztFdUVqZ1NNOztJQUVFLGtDQUFrQztFdkVtZ1MxQztFdUVqZ1NNOztJQUVFLGdDQUFnQztFdkVtZ1N4QztFdUVsaFNNO0lBQXdCLDBCQUEyQjtFdkVxaFN6RDtFdUVwaFNNOztJQUVFLDhCQUErQjtFdkVzaFN2QztFdUVwaFNNOztJQUVFLGdDQUFpQztFdkVzaFN6QztFdUVwaFNNOztJQUVFLGlDQUFrQztFdkVzaFMxQztFdUVwaFNNOztJQUVFLCtCQUFnQztFdkVzaFN4QztFdUVyaVNNO0lBQXdCLHdCQUEyQjtFdkV3aVN6RDtFdUV2aVNNOztJQUVFLDRCQUErQjtFdkV5aVN2QztFdUV2aVNNOztJQUVFLDhCQUFpQztFdkV5aVN6QztFdUV2aVNNOztJQUVFLCtCQUFrQztFdkV5aVMxQztFdUV2aVNNOztJQUVFLDZCQUFnQztFdkV5aVN4QztFdUV4alNNO0lBQXdCLDBCQUEyQjtFdkUyalN6RDtFdUUxalNNOztJQUVFLDhCQUErQjtFdkU0alN2QztFdUUxalNNOztJQUVFLGdDQUFpQztFdkU0alN6QztFdUUxalNNOztJQUVFLGlDQUFrQztFdkU0alMxQztFdUUxalNNOztJQUVFLCtCQUFnQztFdkU0alN4QztFdUUza1NNO0lBQXdCLHdCQUEyQjtFdkU4a1N6RDtFdUU3a1NNOztJQUVFLDRCQUErQjtFdkUra1N2QztFdUU3a1NNOztJQUVFLDhCQUFpQztFdkUra1N6QztFdUU3a1NNOztJQUVFLCtCQUFrQztFdkUra1MxQztFdUU3a1NNOztJQUVFLDZCQUFnQztFdkUra1N4QztFdUV6a1NFO0lBQW1CLHVCQUF1QjtFdkU0a1M1QztFdUUza1NFOztJQUVFLDJCQUEyQjtFdkU2a1MvQjtFdUUza1NFOztJQUVFLDZCQUE2QjtFdkU2a1NqQztFdUUza1NFOztJQUVFLDhCQUE4QjtFdkU2a1NsQztFdUUza1NFOztJQUVFLDRCQUE0QjtFdkU2a1NoQztBQUNGOztBd0Uvb1NBO0VBRUksa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsU0FBUztFQUNULE9BQU87RUFDUCxVQUFVO0VBRVYsb0JBQW9CO0VBQ3BCLFdBQVc7RUFFWCxrQ0FBa0M7QXhFK29TdEM7O0F5RXpwU0E7RUFBa0IsNEdBQThDO0F6RTZwU2hFOztBeUV6cFNBO0VBQWlCLDhCQUE4QjtBekU2cFMvQzs7QXlFNXBTQTtFQUFpQiw4QkFBOEI7QXpFZ3FTL0M7O0F5RS9wU0E7RUFBaUIsOEJBQThCO0F6RW1xUy9DOztBeUVscVNBO0VDVEUsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixtQkFBbUI7QTFFK3FTckI7O0F5RWhxU0k7RUFBd0IsMkJBQTJCO0F6RW9xU3ZEOztBeUVucVNJO0VBQXdCLDRCQUE0QjtBekV1cVN4RDs7QXlFdHFTSTtFQUF3Qiw2QkFBNkI7QXpFMHFTekQ7O0Fjcm9TSTtFMkR2Q0E7SUFBd0IsMkJBQTJCO0V6RWlyU3JEO0V5RWhyU0U7SUFBd0IsNEJBQTRCO0V6RW1yU3REO0V5RWxyU0U7SUFBd0IsNkJBQTZCO0V6RXFyU3ZEO0FBQ0Y7O0FjanBTSTtFMkR2Q0E7SUFBd0IsMkJBQTJCO0V6RTZyU3JEO0V5RTVyU0U7SUFBd0IsNEJBQTRCO0V6RStyU3REO0V5RTlyU0U7SUFBd0IsNkJBQTZCO0V6RWlzU3ZEO0FBQ0Y7O0FjN3BTSTtFMkR2Q0E7SUFBd0IsMkJBQTJCO0V6RXlzU3JEO0V5RXhzU0U7SUFBd0IsNEJBQTRCO0V6RTJzU3REO0V5RTFzU0U7SUFBd0IsNkJBQTZCO0V6RTZzU3ZEO0FBQ0Y7O0FjenFTSTtFMkR2Q0E7SUFBd0IsMkJBQTJCO0V6RXF0U3JEO0V5RXB0U0U7SUFBd0IsNEJBQTRCO0V6RXV0U3REO0V5RXR0U0U7SUFBd0IsNkJBQTZCO0V6RXl0U3ZEO0FBQ0Y7O0F5RXB0U0E7RUFBbUIsb0NBQW9DO0F6RXd0U3ZEOztBeUV2dFNBO0VBQW1CLG9DQUFvQztBekUydFN2RDs7QXlFMXRTQTtFQUFtQixxQ0FBcUM7QXpFOHRTeEQ7O0F5RTF0U0E7RUFBdUIsMkJBQTBDO0F6RTh0U2pFOztBeUU3dFNBO0VBQXVCLCtCQUE0QztBekVpdVNuRTs7QXlFaHVTQTtFQUF1QiwyQkFBMkM7QXpFb3VTbEU7O0F5RW51U0E7RUFBdUIsMkJBQXlDO0F6RXV1U2hFOztBeUV0dVNBO0VBQXVCLDhCQUEyQztBekUwdVNsRTs7QXlFenVTQTtFQUF1Qiw2QkFBNkI7QXpFNnVTcEQ7O0F5RXp1U0E7RUFBYyxzQkFBd0I7QXpFNnVTdEM7O0EyRXB4U0U7RUFDRSx5QkFBd0I7QTNFdXhTNUI7O0FLN3dTRTtFc0VMTSx5QkFBMEU7QTNFc3hTbEY7O0EyRTV4U0U7RUFDRSx5QkFBd0I7QTNFK3hTNUI7O0FLcnhTRTtFc0VMTSx5QkFBMEU7QTNFOHhTbEY7O0EyRXB5U0U7RUFDRSx5QkFBd0I7QTNFdXlTNUI7O0FLN3hTRTtFc0VMTSx5QkFBMEU7QTNFc3lTbEY7O0EyRTV5U0U7RUFDRSx5QkFBd0I7QTNFK3lTNUI7O0FLcnlTRTtFc0VMTSx5QkFBMEU7QTNFOHlTbEY7O0EyRXB6U0U7RUFDRSx5QkFBd0I7QTNFdXpTNUI7O0FLN3lTRTtFc0VMTSx5QkFBMEU7QTNFc3pTbEY7O0EyRTV6U0U7RUFDRSx5QkFBd0I7QTNFK3pTNUI7O0FLcnpTRTtFc0VMTSx5QkFBMEU7QTNFOHpTbEY7O0EyRXAwU0U7RUFDRSx5QkFBd0I7QTNFdTBTNUI7O0FLN3pTRTtFc0VMTSx5QkFBMEU7QTNFczBTbEY7O0EyRTUwU0U7RUFDRSx5QkFBd0I7QTNFKzBTNUI7O0FLcjBTRTtFc0VMTSx5QkFBMEU7QTNFODBTbEY7O0F5RXZ5U0E7RUFBYSx5QkFBNkI7QXpFMnlTMUM7O0F5RTF5U0E7RUFBYyx5QkFBNkI7QXpFOHlTM0M7O0F5RTV5U0E7RUFBaUIsb0NBQWtDO0F6RWd6U25EOztBeUUveVNBO0VBQWlCLDBDQUFrQztBekVtelNuRDs7QXlFL3lTQTtFR3ZERSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQiw2QkFBNkI7RUFDN0IsU0FBUztBNUUwMlNYOztBeUVuelNBO0VBQXdCLGdDQUFnQztBekV1elN4RDs7QXlFcnpTQTtFQUNFLGlDQUFpQztFQUNqQyxnQ0FBZ0M7QXpFd3pTbEM7O0F5RW56U0E7RUFBYyx5QkFBeUI7QXpFdXpTdkM7O0E2RXgzU0E7RUFDRSw4QkFBOEI7QTdFMjNTaEM7O0E2RXgzU0E7RUFDRSw2QkFBNkI7QTdFMjNTL0I7O0E4RTMzU0U7RTVFT0Y7OztJNEVETSw0QkFBNEI7SUFFNUIsMkJBQTJCO0U5RTIzUy9CO0U4RXgzU0U7SUFFSSwwQkFBMEI7RTlFeTNTaEM7RThFaDNTRTtJQUNFLDZCQUE2QjtFOUVrM1NqQztFRXByU0Y7STRFL0tNLGdDQUFnQztFOUVzMlNwQztFOEVwMlNFOztJQUVFLHlCM0V6Q1k7STJFMENaLHdCQUF3QjtFOUVzMlM1QjtFOEU5MVNFO0lBQ0UsMkJBQTJCO0U5RWcyUy9CO0U4RTcxU0U7O0lBRUUsd0JBQXdCO0U5RSsxUzVCO0U4RTUxU0U7OztJQUdFLFVBQVU7SUFDVixTQUFTO0U5RTgxU2I7RThFMzFTRTs7SUFFRSx1QkFBdUI7RTlFNjFTM0I7RThFcjFTRTtJQUNFLFEzRStoQ2dDO0VId3pRcEM7RUVuNFNGO0k0RStDTSwyQkFBMkM7RTlFdTFTL0M7RThFcjFTRTtJQUNFLDJCQUEyQztFOUV1MVMvQztFaUNyNlNGO0k2Q21GTSxhQUFhO0U5RXExU2pCO0VzQ3A3U0Y7SXdDa0dNLHNCM0V0RlM7RUgyNlNiO0VnQng3U0Y7SThEdUdNLG9DQUFvQztFOUVvMVN4QztFOEVyMVNFOztJQUtJLGlDQUFtQztFOUVvMVN6QztFZ0J2NVNGOztJOEQwRVEsb0NBQXNDO0U5RWkxUzVDO0VnQnQwU0Y7SThETk0sY0FBYztFOUUrMFNsQjtFaUJyOFNBOzs7O0k2RDRITSxxQjNFdkhVO0VIczhTaEI7RWdCajJTRjtJOER1Qk0sY0FBYztJQUNkLHFCM0U3SFk7RUgwOFNoQjtBQUNGOztBK0VyOVNBOzs7OztDL0U0OVNDO0ErRS84U0Q7QUFtQkE7QUFzQ0E7QUFRQTtBQVNBO0FBQ0E7RUFDSSxXQUFXO0VBQ1gsWUFBWTtFQUNaLFFBQU87RUFDUCxlQUFlO0VBQ2YsY0FBYztFQUNkLGdCQUFnQjtBL0UyNFNwQjs7QStFajVTQTtFQVFRLGtCQUFrQjtFQUNsQixzQkFBc0I7RUFDdEIsdUJBQXVCO0EvRTY0Uy9COztBZ0YvK1NBOzs7OztDaEZzL1NDO0FnRmgvU0Q7Ozs7Ozs7Ozs7O0VoRjQvU0U7QWdGaC9TRjs7bUJoRm0vU21CO0FnRi8rU25CO0VBQ0ksYUFBYTtBaEZpL1NqQjs7QUUzOVNBO0U4RWxCSSxnQkNmWTtFRGdCWixnQ0RuQjBCO0VDb0IxQixTQUFTO0VBQ1Qsa0JBQWtCO0VBQ2xCLFdDOUJXO0VEK0JYLGdCQUFnQjtBaEZpL1NwQjs7QUV6L1NBO0U4RVlJLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsbUJEaUNXO0EvRWc5U2Y7O0FnRi8rU0E7RUFDSSxxQkFBcUI7QWhGay9TekI7O0FnRmgvU0E7RUFDSSxjQzFDaUI7QWpGNmhUckI7O0FnRnAvU0E7RUFHUSxjQzFDWTtBakYraFRwQjs7QUV4OVNBO0U4RXpCSSxxQkMzQ29CO0FqRmdpVHhCOztBZ0ZuL1NBO0VBQ0ksV0FBVztFQUNYLFlBQVk7RUFDWixxQkFBcUI7QWhGcy9TekI7O0FnRnAvU0E7RUFDSSxrQkQyQlE7QS9FNDlTWjs7QWdGci9TQTtFQUNJLG9CQUFvQjtBaEZ3L1N4Qjs7QWdGdC9TQTs7bUJoRjAvU21CO0FFOTlTbkI7RThFbEJJLGNDdkVpQjtFRHdFakIsZ0NEaEU2QjtFQ2lFN0IsZ0JBQWdCO0FoRm0vU3BCOztBZ0ZoL1NBO0VBQ0ksaUJBQWlCO0VBQ2pCLGVBQ0o7QWhGay9TQTs7QWdGaC9TQTtFQUNJLGlCQUFpQjtFQUNqQixlQUNKO0FoRmsvU0E7O0FnRmgvU0E7RUFDSSxpQkFBaUI7RUFDakIsZUFDSjtBaEZrL1NBOztBZ0ZoL1NBO0VBQ0ksaUJBQWlCO0VBQ2pCLGVBQ0o7QWhGay9TQTs7QWdGaC9TQTtFQUNJLGlCQUFpQjtFQUNqQixlQUFlO0VBQ2YsZ0JBQWdCO0FoRm0vU3BCOztBZ0ZoL1NBO0VBQ0ksaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixnQkFBZ0I7QWhGbS9TcEI7O0FnRmovU0E7RUFDSSxlQUFjO0FoRm8vU2xCOztBZ0ZsL1NBO0VBQ0ksZUFBYztBaEZxL1NsQjs7QWdGbi9TQTtFQUNJLGtCRC9CUTtFQ2dDUixhQUFhO0FoRnMvU2pCOztBZ0ZwL1NBO0VBRUkscUJBQXFCO0FoRnMvU3pCOztBZ0Z4L1NBO0VBS0ksY0FBYztBaEZ1L1NsQjs7QWdGcC9TQTtFQUVRLG1CQUFtQjtBaEZzL1MzQjs7QWdGbi9TQTs7bUJoRnUvU21CO0FnRm4vU25CO0VBQ0ksOEJDcklnQjtFRHNJaEIsMkNEekQ4QjtFQzBEOUIsYUFBYTtBaEZxL1NqQjs7QWdGbC9TQTtFQUNJLFdBQVc7QWhGcS9TZjs7QWdGbi9TQTtFQUNJLGFBQWE7QWhGcy9TakI7O0FnRm4vU0E7O21CaEZ1L1NtQjtBZ0ZwL1NuQjtFQUVJLFlBQVk7QWhGcS9TaEI7O0FnRnYvU0E7RUFNSSxhQUFhO0FoRnEvU2pCOztBZ0YzL1NBO0VBVUksYUFBYTtBaEZxL1NqQjs7QWdGLy9TQTtFQWNJLGFBQWE7QWhGcS9TakI7O0FnRm5nVEE7RUFrQkksaUJBQWlCO0FoRnEvU3JCOztBZ0Z2Z1RBO0VBc0JJLGtCQUFrQjtBaEZxL1N0Qjs7QWdGM2dUQTtFQTBCSSxrQkFBa0I7QWhGcS9TdEI7O0FnRi9nVEE7RUE4Qkksa0JBQWtCO0FoRnEvU3RCOztBZ0ZuaFRBO0VBa0NJLG1CQUFtQjtBaEZxL1N2Qjs7QWdGdmhUQTtFQXNDSSxtQkFBbUI7QWhGcS9TdkI7O0FnRjNoVEE7RUEwQ0ksbUJBQW1CO0FoRnEvU3ZCOztBZ0YvaFRBO0VBOENJLG1CQUFtQjtBaEZxL1N2Qjs7QWdGbmlUQTtFQWtESSxnQkFBZ0I7QWhGcS9TcEI7O0FnRnZpVEE7RUFzREksaUJBQWlCO0FoRnEvU3JCOztBZ0YzaVRBO0VBMERJLGlCQUFpQjtBaEZxL1NyQjs7QWdGL2lUQTtFQThESSxpQkFBaUI7QWhGcS9TckI7O0FnRm5qVEE7RUFrRUksbUJBQW1CO0FoRnEvU3ZCOztBZ0Z2alRBO0VBc0VJLG1CQUFtQjtBaEZxL1N2Qjs7QWdGM2pUQTtFQTBFSSxvQkFBb0I7QWhGcS9TeEI7O0FnRi9qVEE7RUE4RUksb0JBQW9CO0FoRnEvU3hCOztBZ0Zua1RBO0VBa0ZJLG9CQUFvQjtBaEZxL1N4Qjs7QWdGdmtUQTtFQXNGSSxvQkFBb0I7QWhGcS9TeEI7O0FnRmovU0E7O21CaEZxL1NtQjtBZ0ZsL1NuQjtFQUVJLFdBQVc7QWhGbS9TZjs7QWdGci9TQTtFQU1JLGdCQUFnQjtBaEZtL1NwQjs7QWdGei9TQTtFQVVJLGlCQUFpQjtBaEZtL1NyQjs7QWdGNy9TQTtFQWNJLGlCQUFpQjtBaEZtL1NyQjs7QWdGamdUQTtFQWtCSSxpQkFBaUI7QWhGbS9TckI7O0FnRnJnVEE7RUFzQkksaUJBQWlCO0FoRm0vU3JCOztBZ0Z6Z1RBO0VBMEJJLGlCQUFpQjtBaEZtL1NyQjs7QWdGN2dUQTtFQThCSSxpQkFBaUI7QWhGbS9TckI7O0FnRmpoVEE7RUFrQ0ksa0JBQWtCO0FoRm0vU3RCOztBZ0ZyaFRBO0VBc0NJLGtCQUFrQjtBaEZtL1N0Qjs7QWdGemhUQTtFQTBDSSxrQkFBa0I7QWhGbS9TdEI7O0FnRjdoVEE7RUE4Q0ksa0JBQWtCO0FoRm0vU3RCOztBZ0ZqaVRBO0VBa0RJLGtCQUFrQjtBaEZtL1N0Qjs7QWdGcmlUQTtFQXNESSxlQUFlO0FoRm0vU25COztBZ0Z6aVRBO0VBMERJLGVBQWU7QWhGbS9TbkI7O0FnRjdpVEE7RUE4REksZ0JBQWdCO0FoRm0vU3BCOztBZ0ZqalRBO0VBa0VJLGdCQUFnQjtBaEZtL1NwQjs7QWdGcmpUQTtFQXNFSSxnQkFBZ0I7QWhGbS9TcEI7O0FnRnpqVEE7RUEwRUksZ0JBQWdCO0FoRm0vU3BCOztBZ0Y3alRBO0VBOEVJLGdCQUFnQjtBaEZtL1NwQjs7QWdGamtUQTtFQWtGSSxrQkFBa0I7QWhGbS9TdEI7O0FnRnJrVEE7RUFzRkksa0JBQWtCO0FoRm0vU3RCOztBZ0Z6a1RBO0VBMEZJLG1CQUFtQjtBaEZtL1N2Qjs7QWdGN2tUQTtFQThGSSxtQkFBbUI7QWhGbS9TdkI7O0FnRmpsVEE7RUFrR0ksbUJBQW1CO0FoRm0vU3ZCOztBZ0ZybFRBO0VBc0dJLG1CQUFvQjtBaEZtL1N4Qjs7QWdGemxUQTtFQTBHSSxtQkFBbUI7QWhGbS9TdkI7O0FnRi8rU0E7O21CaEZtL1NtQjtBZ0ZoL1NuQjtFQUVJLG1CQUFtQjtBaEZpL1N2Qjs7QWdGbi9TQTtFQU1JLHNCQUFzQjtBaEZpL1MxQjs7QWdGdi9TQTtFQVVJLHNCQUFzQjtBaEZpL1MxQjs7QWdGOStTQTs7bUJoRmsvU21CO0FnRi8rU25CO0VBQ0ksWUFBWTtBaEZpL1NoQjs7QWdGLytTQTs7bUJoRm0vU21CO0FnRmgvU25CO0VBRUksZ0JBQWdCO0FoRmkvU3BCOztBZ0ZuL1NBO0VBTUksbUJBQW1CO0FoRmkvU3ZCOztBZ0Z2L1NBO0VBVUksZ0JBQWdCO0FoRmkvU3BCOztBZ0YzL1NBO0VBYUksZ0JBQWdCO0FoRmsvU3BCOztBZ0YvL1NBO0VBZ0JJLGVBQWU7QWhGbS9TbkI7O0FnRm5nVEE7RUFtQkksZUFBZTtBaEZvL1NuQjs7QWdGdmdUQTtFQXNCSSxlQUFlO0FoRnEvU25COztBZ0YzZ1RBO0VBeUJJLGVBQWU7QWhGcy9TbkI7O0FnRi9nVEE7RUE0QkksZUFBZTtBaEZ1L1NuQjs7QWdGcC9TQTs7bUJoRncvU21CO0FnRnIvU25CO0VBRUksWUFBVztBaEZzL1NmOztBZ0Z4L1NBO0VBS0ksaUREbFY4QjtBL0V5MFRsQzs7QWdGNS9TQTtFQVFJLGdERHJWOEI7QS9FNjBUbEM7O0FnRmhnVEE7RUFXSSxrRER4VjhCO0EvRWkxVGxDOztBZ0ZwZ1RBO0VBY0ksK0NEM1Y4QjtBL0VxMVRsQzs7QWdGeGdUQTtFQWlCSSwyQ0Q5VjhCO0EvRXkxVGxDOztBZ0Z4L1NBOzttQmhGNC9TbUI7QWdGeC9TbkI7RUFDSSxZQUFZO0VBQ1osV0FBVztBaEYwL1NmOztBZ0Z2L1NBO0VBQ0ksWUFBWTtFQUNaLFdBQVc7QWhGMC9TZjs7QWdGdi9TQTtFQUNJLFlBQVk7RUFDWixXQUFXO0FoRjAvU2Y7O0FnRngvU0E7RUFDSSxhQUFhO0FoRjIvU2pCOztBZ0Z6L1NBO0VBQ0ksbUJBQW1CO0FoRjQvU3ZCOztBZ0YxL1NBO0VBQ0ksa0JEdFhRO0EvRW0zVFo7O0FnRjMvU0E7O21CaEYrL1NtQjtBeUVoNlRuQjtFT3FhSSx5QkFBdUI7QWhGOC9TM0I7O0EyRTE4VEU7RUtnZEUseUJBQXdCO0FoRjgvUzVCOztBeUVoNlRBO0VPc2FJLHlCQUF1QjtBaEY4L1MzQjs7QTJFbDlURTtFS3dkRSx5QkFBeUI7QWhGOC9TN0I7O0EyRXQ5VEU7RUs0ZEUseUJBQXlCO0FoRjgvUzdCOztBMkUxOVRFO0VLZ2VFLHlCQUFzQjtBaEY4L1MxQjs7QWdGMy9TQTtFQUNJLHlCQUF5QjtBaEY4L1M3Qjs7QWdGNS9TQTtFQUVJLGNEbGFVO0EvRWc2VGQ7O0FnRmhnVEE7RUFNSSxjRHZhWTtBL0VxNlRoQjs7QWdGcGdUQTtFQVVJLGNDcGRhO0FqRms5VGpCOztBZ0Z4Z1RBO0VBY0ksY0Q3YVc7QS9FMjZUZjs7QWdGNWdUQTtFQWtCSSxXQzVmVztBakYwL1RmOztBZ0ZoaFRBO0VBcUJJLGNDNWZnQjtBakYyL1RwQjs7QWdGNS9TQTs7bUJoRmdnVG1CO0F5RDkvVGpCO0V1Qm1nQkUsb0NBQXFDO0FoRjgvU3pDOztBeURqZ1VFO0V1QnVnQkUsb0NBQXFDO0FoRjgvU3pDOztBeURyZ1VFO0V1QjJnQkUsb0NBQWtDO0FoRjgvU3RDOztBeUR6Z1VFO0V1QitnQkUsb0NBQXFDO0FoRjgvU3pDOztBeUQ3Z1VFO0V1Qm1oQkUsb0NBQW9DO0FoRjgvU3hDOztBZ0Y1L1NBO0VBRUkseUJEaGRXO0EvRTg4VGY7O0FnRmhnVEE7RUFLSSx5QkMzaEJnQjtBakYwaFVwQjs7QWdGcGdUQTtFQVNJLHlCQ2hnQmE7QWpGKy9UakI7O0FnRnhnVEE7RUFhSSx5QkQ3ZFk7QS9FNDlUaEI7O0FnRjVnVEE7RUFpQkkseUJEdmdCbUI7QS9Fc2dVdkI7O0FnRmhoVEE7RUFxQkkseUJEN2dCbUI7QS9FNGdVdkI7O0FnRnBoVEE7RUF5QkkseUJEOWdCZ0I7QS9FNmdVcEI7O0FnRnhoVEE7RUE0QkkseUJDL2dCaUI7QWpGK2dVckI7O0FnRjVoVEE7RUFnQ0kseUJEdmhCbUI7QS9FdWhVdkI7O0FnRmhpVEE7RUFvQ0kseUJEN2hCa0I7QS9FNmhVdEI7O0FnRnBpVEE7RUF3Q0kseUJENWhCbUI7QS9FNGhVdkI7O0FnRnhpVEE7RUEyQ0kseUJDL2hCVztBakZnaVVmOztBZ0Y1aVRBO0VBOENJLHlCRGpnQlc7QS9FbWdVZjs7QWdGLy9TQTs7bUJoRm1nVG1CO0FnRmhnVG5CO0VBQ0ksaUJBQWdCO0VBQ2hCLGNEemdCVztFQzBnQlgsV0FBVztFQUNYLFlBQVk7RUFDWixxQkFBcUI7RUFDckIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsbUJDcmpCVTtBakZ1alVkOztBZ0YzZ1RBO0VBV1EsbUJBQW1CO0FoRm9nVDNCOztBZ0ZqZ1RBO0VBQ0ksaUJBQWdCO0VBQ2hCLFdBQVc7RUFDWCxZQUFZO0VBQ1osZUFBYztBaEZvZ1RsQjs7QWdGbGdUQTtFQUNJLG1CQ2prQlU7QWpGc2tVZDs7QWdGbmdUQTtFQUNJLG1CQ3RrQmE7QWpGNGtVakI7O0FnRnBnVEE7RUFDSSxtQkMza0JZO0FqRmtsVWhCOztBZ0ZyZ1RBO0VBQ0ksbUJDN2tCYTtBakZxbFVqQjs7QWdGdGdUQTtFQUNJLG1CQzlrQmE7QWpGdWxVakI7O0FnRnZnVEE7O21CaEYyZ1RtQjtBZ0Z2Z1RuQjtFQUNJLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsY0RqakJXO0VDa2pCWCxnQkFBZ0I7RUFDaEIsa0JEcmlCUTtFQ3NpQlIsY0FBYztBaEZ5Z1RsQjs7QWdGdGdUQTtFQUNJLG1CQUFtQjtBaEZ5Z1R2Qjs7QWdGdGdUQTtFQUNJLHlCRHZqQlc7QS9FZ2tVZjs7QWdGdGdUQTtFQUNJLHlCQ3htQmE7QWpGaW5VakI7O0FnRnRnVEE7RUFDSSx5QkN6bUJVO0FqRmtuVWQ7O0FnRnRnVEE7RUFDSSx5QkMvbUJhO0FqRnduVWpCOztBZ0Z0Z1RBO0VBQ0kseUJDcm5CWTtBakY4blVoQjs7QWdGdGdUQTtFQUNJLHlCRDNrQlc7QS9Fb2xVZjs7QWdGdGdUQTtFQUNJLHlCQzFuQmE7QWpGbW9VakI7O0FnRnRnVEE7RUFDSSx5QkRybEJZO0EvRThsVWhCOztBZ0Z0Z1RBO0VBQ0kseUJEM2xCUztBL0VvbVViOztBZ0Z0Z1RBO0VBQ0kseUJDcG9CYTtBakY2b1VqQjs7QWdGdGdUQTtFQUNJLHlCQ3JvQlc7QWpGOG9VZjs7QWdGdGdUQTtFQUNJLHlCRHhtQlc7QS9FaW5VZjs7QWdGcmdUQTtFQUNJLHlCRGxwQm1CO0VDbXBCbkIsY0N0cEJhO0FqRjhwVWpCOztBZ0ZyZ1RBO0VBQ0kseUJEcHBCZ0I7RUNxcEJoQixjQ3hwQlU7QWpGZ3FVZDs7QWdGcmdUQTtFQUNJLHlCRDNwQm1CO0VDNHBCbkIsY0MvcEJhO0FqRnVxVWpCOztBZ0ZyZ1RBO0VBQ0kseUJEbHFCa0I7RUNtcUJsQixjQ3RxQlk7QWpGOHFVaEI7O0FnRnJnVEE7RUFDSSx5QkRqcUJpQjtFQ2txQmpCLGNEN25CVztBL0Vxb1VmOztBZ0ZyZ1RBO0VBQ0kseUJEenFCbUI7RUMwcUJuQixjQzdxQmE7QWpGcXJVakI7O0FnRnJnVEE7RUFDSSx5QkQ1cUJtQjtFQzZxQm5CLGNDaHJCYTtBakZ3clVqQjs7QWdGcmdUQTs7bUJoRnlnVG1CO0FnRnJnVG5COztFQUVJLDhCRHZvQlE7RUN3b0JSLDJCRHhvQlE7QS9FK29VWjs7QWdGcGdUQTs7RUFFSSwrQkQ3b0JRO0VDOG9CUiw0QkQ5b0JRO0EvRXFwVVo7O0FnRnBnVEE7O0VBRUksY0Nuc0JVO0FqRjBzVWQ7O0FnRnBnVEE7Ozs7RUFJSSx5QkN6c0JXO0FqRmd0VWY7O0FnRnBnVEE7RUFDSSxnQkFBZ0I7RUFDaEIscUJBQXFCO0FoRnVnVHpCOztB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QXNCO0FoRmtnVDlCOztBZ0Z2Z1RBO0VBUVEscUJBQXFCO0VBQ3JCLGVBQWM7QWhGbWdUdEI7O0FnRjVnVEE7RUFZUSxxQkFBb0I7RUFDcEIsZUFBYztBaEZvZ1R0Qjs7QWdGamhUQTtFQWdCUSxrQkFBaUI7RUFDakIsZUFBZTtBaEZxZ1R2Qjs7QWdGamdUQTs7RUFFSSxpSUQ5L0JxSDtFQysvQnJILHdCQUF3QjtBaEZvZ1Q1Qjs7QWdGdmdUQTs7RUFLUSxtSURoZ0N5SDtBL0V1Z1ZqSTs7QWdGNWdUQTs7O0VBU1EsbUlEcGdDeUg7QS9FNmdWakk7O0FnRnJnVEE7O0VBRUksbUJDN2lDYTtFRDhpQ2IseUJDOWlDYTtFRCtpQ2IsOEhEaGhDa0g7RUNpaENsSCx3QkFBd0I7QWhGd2dUNUI7O0FnRjdnVEE7O0VBT1EsbUJDbGpDUztFRG1qQ1QsaUlEbmhDdUg7RUNvaEN2SCx5QkNwakNTO0FqRitqVmpCOztBZ0ZwaFRBOzs7RUFZUSxtQkQxaUNjO0VDMmlDZCxpSUR4aEN1SDtBL0VzaVYvSDs7QWdGM2dUQTs7RUFFSSxtQkMxbENnQjtFRDJsQ2hCLGNEeGhDVztFQ3loQ1gseUJDNWxDZ0I7QWpGMG1WcEI7O0FnRmxoVEE7O0VBTVEsbUJDOWxDWTtFRCtsQ1osWUFBWTtFQUNaLHlCQ2htQ1k7QWpGaW5WcEI7O0FnRnpoVEE7OztFQVdRLG1CQ2xtQ2lCO0FqRnNuVnpCOztBZ0ZoaFRBOztFQUVJLG1CQzlrQ2E7RUQra0NiLHlCQy9rQ2E7RURnbENiLDhIRGxqQ2tIO0VDbWpDbEgsd0JBQXdCO0FoRm1oVDVCOztBZ0Z4aFRBOztFQU9RLG1CQ25sQ1M7RURvbENULGlJRHJqQ3VIO0VDc2pDdkgseUJDcmxDUztBakYybVZqQjs7QWdGL2hUQTs7O0VBWVEsbUJEM2tDYztFQzRrQ2QsaUlEMWpDdUg7QS9FbWxWL0g7O0FnRnJoVEE7O0VBRUksbUJDNWxDVTtFRDZsQ1YseUJDN2xDVTtFRDhsQ1YsOEhENWtDZ0g7RUM2a0NoSCx3QkFBd0I7QWhGd2hUNUI7O0FnRjdoVEE7O0VBT1EsbUJDam1DTTtFRGttQ04seUJDbG1DTTtFRG1tQ04saUlEaGxDb0g7QS9FMm1WNUg7O0FnRnBpVEE7OztFQVlRLG1CRHpsQ1c7RUMwbENYLGlJRHBsQ29IO0EvRWtuVjVIOztBZ0YxaFRBOztFQUVJLG1CQy9tQ2E7RURnbkNiLDJIRHpsQytHO0VDMGxDL0cseUJDam5DYTtFRGtuQ2Isd0JBQXdCO0FoRjZoVDVCOztBZ0ZsaVRBOztFQU9RLG1CQ3BuQ1M7RURxbkNULCtIRDdsQ3FIO0VDOGxDckgseUJDdG5DUztBakZzcFZqQjs7QWdGemlUQTs7O0VBWVEsbUJENW1DYztFQzZtQ2QsK0hEbG1DcUg7QS9FcW9WN0g7O0FnRi9oVEE7O0VBRUksbUJDbG9DWTtFRG1vQ1oseUJDbm9DWTtFRG9vQ1osMkhEeG1DOEc7RUN5bUM5Ryx3QkFBd0I7QWhGa2lUNUI7O0FnRnZpVEE7O0VBT1EsbUJDdm9DUTtFRHdvQ1IsK0hEM21Db0g7RUM0bUNwSCx5QkN6b0NRO0FqRjhxVmhCOztBZ0Y5aVRBOzs7RUFZUSxtQkQvbkNhO0VDZ29DYiwrSERobkNvSDtBL0V3cFY1SDs7QWdGcmlUQTs7RUFFSSxtQkM3b0NhO0VEOG9DYix5QkM5b0NhO0VEK29DWixjRDNtQ1U7QS9FbXBWZjs7QWdGNWlUQTs7RUFNUSxtQkNqcENTO0VEa3BDVCxZQUFZO0VBQ1osY0QvbUNPO0VDZ25DUCx5QkNwcENTO0FqRityVmpCOztBZ0ZwalRBOzs7RUFZUSxtQkR6b0NjO0VDMG9DZCxjRHBuQ087QS9Fa3FWZjs7QWdGM2lUQTs7RUFFSSxtQkR4bkNTO0VDeW5DVCx5QkR6bkNTO0VDMG5DVCxjRDNuQ1c7QS9FeXFWZjs7QWdGbGpUQTs7RUFNUSxZQUFZO0VBQ1oseUJEN25DSztFQzhuQ0wsbUJEOW5DSztBL0UrcVZiOztBZ0Z6alRBOzs7RUFXUSxtQkQ5cENhO0EvRWt0VnJCOztBdUJ0clZFO0V5RHVvQ0UseUJEdm9DVztFQ3dvQ1gsaUlENW9DcUg7RUM2b0NySCx3QkFBd0I7QWhGbWpUNUI7O0FnRnRqVEE7RUFPUSxtSURocEN5SDtBL0Vtc1ZqSTs7QWdGMWpUQTtFQVVRLG1JRG5wQ3lIO0EvRXVzVmpJOztBdUJwc1ZFO0V5RHFwQ0UsY0MzckNhO0VENHJDYix5QkR0cENXO0VDdXBDWCxxQkM3ckNhO0VEOHJDYiw4SEQvcENrSDtFQ2dxQ2xILHdCQUF3QjtBaEZtalQ1Qjs7QWdGeGpUQTtFQVNRLG1CQ25zQ1M7RURvc0NULGlJRHBxQ3VIO0VDcXFDdkgsY0QvcENPO0VDZ3FDUCxxQkN0c0NTO0FqRnl2VmpCOztBZ0YvalRBO0VBZVEsaUlEenFDdUg7QS9FNnRWL0g7O0F1QnZ0VkU7RXlEd3FDRSxjQ2h0Q2E7RURpdENiLDZCQUE2QjtFQUM3QixxQkNsdENhO0VEbXRDYiw4SERyckNrSDtFQ3NyQ2xILHdCQUF3QjtBaEZtalQ1Qjs7QWdGeGpUQTtFQVNRLG1CQ3h0Q1M7RUR5dENULHFCQ3p0Q1M7RUQwdENULGNEbHJDTztFQ21yQ1AsaUlENXJDdUg7QS9FK3VWL0g7O0FnRi9qVEE7RUFlUSxpSUQvckN1SDtBL0VtdlYvSDs7QXVCMXVWRTtFeUQyckNFLGNDaHVDVTtFRGl1Q1YsNkJBQTZCO0VBQzdCLHFCQ2x1Q1U7RURtdUNWLDhIRGp0Q2dIO0VDa3RDaEgsd0JBQXdCO0FoRm1qVDVCOztBZ0Z4alRBO0VBU1EsbUJDeHVDTTtFRHl1Q04scUJDenVDTTtFRDB1Q04sY0Ryc0NPO0VDc3NDUCxpSUR4dENvSDtBL0Uyd1Y1SDs7QWdGL2pUQTtFQWVRLGlJRDN0Q29IO0EvRSt3VjVIOztBdUI3dlZFO0V5RDhzQ0UsY0NydkNhO0VEc3ZDYiw2QkFBNkI7RUFDN0IscUJDdnZDYTtFRHd2Q2IsMkhEanVDK0c7RUNrdUMvRyx3QkFBd0I7QWhGbWpUNUI7O0FnRnhqVEE7RUFTUSxtQkM3dkNTO0VEOHZDVCxxQkM5dkNTO0VEK3ZDVCxjRHh0Q087RUN5dENQLCtIRHh1Q3FIO0EvRTJ4VjdIOztBZ0YvalRBO0VBZVEsK0hEM3VDcUg7QS9FK3hWN0g7O0F1Qmh4VkU7RXlEaXVDRSxjQzF3Q1k7RUQyd0NaLDZCQUE2QjtFQUM3QixxQkM1d0NZO0VENndDWiwySERqdkM4RztFQ2t2QzlHLHdCQUF3QjtBaEZtalQ1Qjs7QWdGeGpUQTtFQVNRLG1CQ2x4Q1E7RURteENSLHFCQ254Q1E7RURveENSLGNEM3VDTztFQzR1Q1AsK0hEeHZDb0g7QS9FMnlWNUg7O0FnRi9qVEE7RUFlUSwrSEQzdkNvSDtBL0UreVY1SDs7QWdGampUQTtFQUNJLGNEbHZDUztFQ212Q1QsNkJBQTZCO0VBQzdCLHFCRHB2Q1M7QS9Fd3lWYjs7QWdGdmpUQTtFQU9RLG1CRHh2Q0s7RUN5dkNMLHFCRHp2Q0s7RUMwdkNMLGNEM3ZDTztFQzR2Q1AsK0hEeHdDb0g7QS9FNHpWNUg7O0FnRjlqVEE7RUFhUSwrSEQzd0NvSDtBL0VnMFY1SDs7QWdGbGpUQTtFQUNJLGNDdnlDYTtFRHd5Q2IsNkJBQTZCO0VBQzdCLHFCQ3p5Q2E7QWpGODFWakI7O0FnRnhqVEE7RUFPUSxtQkM3eUNTO0VEOHlDVCxxQkM5eUNTO0VEK3lDVCxjRDN3Q087QS9FZzBWZjs7QWdGbGpUQTs7Ozs7Ozs7Ozs7RUFXSSx5QkRsekNrQjtFQ216Q2xCLHlCRG56Q2tCO0EvRXcyVnRCOztBZ0ZsalRBOzs7Ozs7Ozs7OztFQVdJLHlCRG4wQ2tCO0VDbzBDbEIseUJEcDBDa0I7QS9FeTNWdEI7O0FnRmxqVEE7Ozs7Ozs7Ozs7O0VBV0kseUJELzBDZTtFQ2cxQ2YseUJEaDFDZTtBL0VxNFZuQjs7QWdGbGpUQTs7Ozs7Ozs7Ozs7RUFXSSx5QkRoMkNrQjtFQ2kyQ2xCLHlCRGoyQ2tCO0EvRXM1VnRCOztBZ0ZsalRBOzs7Ozs7Ozs7OztFQVdJLHlCRGozQ2lCO0VDazNDakIseUJEbDNDaUI7QS9FdTZWckI7O0FnRmxqVEE7Ozs7Ozs7OztFQVNJLHlCRHgzQ2tCO0VDeTNDbEIseUJEejNDa0I7QS9FODZWdEI7O0FnRmpqVEE7Ozs7Ozs7OztFQVNJLHlCRHY0Q2M7RUN3NENkLHlCRHg0Q2M7RUN5NENkLGNEbDNDVztBL0VzNlZmOztBZ0ZqalRBO0VBQ0kscUJBQXFCO0FoRm9qVHpCOztBZ0YvaVRBO0VBQ0ksK0JBQStCO0VBQy9CLHFCQUFxQjtFQUNyQiw0QkFBNEI7RUFDNUIs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QTtJQUNFLG1CQUFtQjtFbEZ5d1dyQjtFa0Z0d1dBO0lBQ0UsbUJBQW1CO0VsRnd3V3JCO0VrRnJ3V0E7SUFDRSxVQUFVO0VsRnV3V1o7RWtGcHdXQTtJQUNFLG1CQUFtQjtFbEZzd1dyQjtFa0Zud1dBO0lBQ0UsbUJBQW1CO0VsRnF3V3JCO0VrRmx3V0E7SUFDRSxVQUFVO0VsRm93V1o7RWtGandXQTtJQUNFLG1CQUFtQjtFbEZtd1dyQjtFa0Zod1dBO0lBQ0Usa0JBQWtCO0VsRmt3V3BCO0VrRi92V0E7SUFDRSxXQUFXO0VsRml3V2I7RWtGOXZXQTtJQUNFLFVBQVU7RWxGZ3dXWjtFa0Y3dldBO0lBQ0Usa0JBQWtCO0VsRit2V3BCO0VrRjV2V0E7SUFDRSxrQkFBa0I7RWxGOHZXcEI7RWtGM3ZXQTtJQUNFLFNBQVM7RWxGNnZXWDtFa0YxdldBO0lBQ0Usa0JBQWtCO0VsRjR2V3BCO0VrRnp2V0E7SUFDRSxrQkFBa0I7RWxGMnZXcEI7RWtGeHZXQTtJQUNFLFNBQVM7RWxGMHZXWDtFa0Z2dldBO0lBQ0Usa0JBQWtCO0VsRnl2V3BCO0VrRnR2V0E7SUFDRSxrQkFBa0I7RWxGd3ZXcEI7RWtGcnZXQTtJQUNFLFNBQVM7RWxGdXZXWDtFa0ZwdldBO0lBQ0Usa0JBQWtCO0VsRnN2V3BCO0VrRm52V0E7SUFDRSxpQkFBaUI7RWxGcXZXbkI7RWtGbHZXQTtJQUNFLFVBQVU7RWxGb3ZXWjtFa0ZqdldBO0lBQ0UsaUJBQWlCO0VsRm12V25CO0VrRmh2V0E7SUFDRSx5QkFBeUI7RWxGa3ZXM0I7RWtGL3VXQTtJQUNFLHlCQUF5QjtFbEZpdlczQjtFa0Y5dVdBO0lBQ0UsZ0JBQWdCO0VsRmd2V2xCO0VrRjd1V0E7SUFDRSx5QkFBeUI7RWxGK3VXM0I7RWtGNXVXQTtJQUNFLHlCQUF5QjtFbEY4dVczQjtFa0YzdVdBO0lBQ0UsZ0JBQWdCO0VsRjZ1V2xCO0VrRjF1V0E7SUFDRSx5QkFBeUI7RWxGNHVXM0I7RWtGenVXQTtJQUNFLHlCQUF5QjtFbEYydVczQjtFa0Z4dVdBO0lBQ0UsZ0JBQWdCO0VsRjB1V2xCO0Vr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Z0I7QXBGd3JYNUI7O0FvRi9yWEE7RUFVWSxjQUFjO0VBQ2QsV0FBVztFQUNYLHFDTHgrQnNCO0EvRWlxWmxDOztBb0Zyc1hBO0VBZVksa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxXSDdqQ0c7QWpGdXZaZjs7QW9GM3NYQTtFQW1CZ0IsY0g1akNJO0FqRnd2WnBCOztBb0Yvc1hBO0VBc0JnQixZTHAvQkw7QS9FaXJaWDs7QW9GdnJYQTtFQUNJLHNCQUFxQjtBcEYwclh6Qjs7QW9GdnJYQTs7O0VBR0ksY0FBYztBcEYwclhsQjs7QW9GcHJYQTs7bUJwRndyWG1CO0FFbnJabkI7RWtGZ2dDRSxzQkFBMkI7QXBGc3JYN0I7O0FtRjd3WkE7RUMybENJLG1CSHpsQ1k7QWpGK3daaEI7O0FvRnZyWEE7RUFHUSwrQkFBK0I7QXBGd3JYdkM7O0FvRjNyWEE7RUFNUSxhQUFhO0FwRnlyWHJCOztBbUZ6eFpBO0VDbW1DUSxxQkFBcUI7RUFDckIsK0JBQStCO0FwRjByWHZDOztBb0Zwc1hBO0VBY1kseUJBQXVCO0FwRjByWG5DOztBb0Z4c1hBO0VBaUJnQiwwQ0FBeUM7QXBGMnJYekQ7O0FvRnByWEE7O21CcEZ3clhtQjtBOEV4eFpmO0VNb21DQSxzQkFBMEI7QXBGdXJYOUI7O0FvRnhyWEE7RUFJUSx5QkFBMkI7QXBGd3JYbkM7O0FLenlaRTtFK0VzbkNFLGNIbG5DbUI7QWpGeXladkI7O0FnRjl3WkE7RUk2bENRLHlCQUE0QjtBcEZxclhwQzs7QWlEbnRaQTtFbUNtaUNJLGlDQUF1QztBcEZvclgzQzs7QW9GanJYQTtFQUNJLG9DQUF3QztBcEZvclg1Qzs7QWdCajBaQTtFb0VpcENJLFdIcHBDVztBakZ3MFpmOztBZ0JyMFpBOztFb0VvcENJLHFDQUEyQztBcEZzclgvQzs7QW9GbnJYQTtFQUNJLGlDQUF1QztBcEZzclgzQzs7QWdCendaQTtFb0V1bENJLG9DQUE2QztBcEZzclhqRDs7QWdGcGxZQTs7Ozs7O0VJdWFJLHlCSHJxQ2dCO0VHc3FDaEIscUJIdHFDZ0I7QWpGNDFacEI7O0FvRjV0WkE7RUEyaUNRLG1CSDNxQ1k7QWpGZzJacEI7O0FvRmpyWEE7RUFJWSw4QkhuckNRO0FqRm8yWnBCOztBb0Y1cVhBO0VBQ0kseUJBQTRCO0FwRitxWGhDOztBb0ZuNFlBOztFQTR0QmdCLGdDSGpzQ0k7RUdrc0NKLGNIbHNDSTtBakY4MlpwQjs7QW9GejRZQTs7RUFndUJnQixjSHJzQ0k7QWpGbTNacEI7O0FvRnZxWEE7O21CcEYycVhtQjtBZ0YveFhuQjs7RUkwSEksbUJIbHRDZ0I7RUdtdENoQixjTGhwQ1c7RUtpcENYLHlCSHB0Q2dCO0FqRjYzWnBCOztBZ0ZyeVhBOztFSThIUSxtQkh0dENZO0VHdXRDWixZQUFZO0VBQ1oseUJIeHRDWTtBakZvNFpwQjs7QWdGNXlYQTs7O0VJb0lRLG1CSDN0Q2lCO0FqRnk0WnpCOztBb0Z6cVhBOzttQnBGNnFYbUI7QW9GenFYbkI7RUFDSSxnQkgzdENVO0FqRnM0WmQ7O0FvRjVxWEE7RUFLZ0Isc0JBQStCO0FwRjJxWC9DOztBb0ZoclhBO0VBUW9CLHlCQUFnQztBcEY0cVhwRDs7QW9GcHJYQTtFQVdvQixjSC9zQ047QWpGNDNaZDs7QW9GeHJYQTtFQWVnQixjSHB0Q0Q7QWpGaTRaZjs7QW9GNXJYQTs7RUFzQlksY0x4ckNHO0VLeXJDSCxtQkg5dUNZO0FqRnk1WnhCOztBb0Zsc1hBOztFQXlCZ0IsY0wzckNEO0EvRXkyWmY7O0FvRnZzWEE7O0VBNEJnQixxQkw5ckNEO0EvRTgyWmY7O0FvRjVzWEE7RUFvQ2dCLGNIdHdDUTtBakZrN1p4Qjs7QW9GaHRYQTtFQXdDWSxjSDV2Q1c7QWpGdzZadkI7O0FvRnB0WEE7RUEyQ1ksZ0JBQWdCO0VBQ2hCLG1CTDlzQ0c7RUsrc0NILGNIbHhDUTtBakYrN1pwQjs7QWtDLzdaQTtFa0R3eENJLHNCSC93Q1k7QWpGMDdaaEI7O0FnRjN5V0E7RUl6WGdCLGNMNXRDRDtFSzZ0Q0MsbUJIN3hDUTtBakZxOFp4Qjs7QW9GN3FYQTtFQU9vQixjTC90Q0w7QS9FeTRaZjs7QW9GanJYQTtFQVVvQixxQkxsdUNMO0EvRTY0WmY7O0FnQ2w3WkE7O0VvRGl4Q0ksc0JBQStCO0VBQy9CLGdCQUFnQjtFQUNoQix5Qkg5eENZO0VHK3hDWixxQkgveENZO0FqRnE4WmhCOztBcUY1OVpBOzs7OztDckZtK1pDO0FxRjc5WkQ7O2lFckZnK1ppRTtBcUY1OVpqRTtFQUNJO0lBQ0UsZUFBYztFckY4OVpsQjtFcUY1OVpFO0lBQ0ksd0JBQXVCO0VyRjg5WjdCO0FBQ0Y7O0FxRjU5WkE7O2lFckZnK1ppRTtBcUY1OVpqRTtFQVhJO0lBYUUsZUFBYztFckY4OVpsQjtBQUNGOztBcUYxOVpBOztpRXJGODlaaUU7QXFGMTlaakU7RURKQTtJQ01RLGtCQUFpQjtFckY0OVp2QjtFb0YxeVpGO0lDOUtZLFdBQVc7RXJGMjlackI7QUFDRjs7QXFGdjlaQTtFRGZBO0lDaUJRLGlCQUFnQjtJQUNoQix3QkFBd0I7RXJGMDlaOUI7RW9GcHpaRjtJQ25LWSxVQUFVO0VyRjA5WnBCO0VxRmpnYUU7SUEwQ0ksZUFBYztFckYwOVpwQjtFb0Y3aFlGO0lDMTdCUSxZQUFZO0VyRjA5WmxCO0FBQ0Y7O0FxRnQ5WkE7O2lFckYwOVppRTtBcUZ0OVpqRTtFQUNJO0lBQ0ksWUFBWTtJQUNaLGNBQWE7RXJGdzlabkI7RXFGMTlaRTtJQUlRLGdCQUFnQjtFckZ5OVoxQjtFcUZ0OVpFO0lBQ0ksVUFBVTtJQUNWLGFBQWE7SUFDYixxQkFBcUI7SUFDckIsaUJBQWlCO0VyRnc5WnZCO0VxRnQ5WkM7SUFFUyxpQkFBZ0I7RXJGdTlaMUI7RXFGejlaQztJQUtTLFVBQVU7RXJGdTlacEI7RThENWhhRTtJdUJ5RUksNEJBQTBCO0lBQzFCLDRCQUEwQjtFckZzOVpoQztBQUNGOztBcUZsOVpBOztpRXJGczlaaUU7QXFGbDlaakU7RUFFSTtFRmhHSjtJRWtHUSxlQUFlO0lBQ2YsV0FBVztFckZtOVpqQjtFbUZ0amFGO0lFcUdZLG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsbUJBQW1CO0VyRm85WjdCO0VxRjc5WkU7SUFXWSxhQUFhO0lBQ2IsV0FBVztFckZxOVp6QjtFcUZqK1pFO0lBZVksbUJBQW1CO0VyRnE5WmpDO0VtRnJrYUY7SUVrSG9CLGdCQUFnQjtFckZzOVpsQztFcUZ2K1pFO0lBbUJvQixXQUFXO0lBQ1gsZUFBZTtFckZ1OVpyQztFbUY1a2FGO0lFeUhvQixvQkFBb0I7SUFDcEIscUJBQXFCO0VyRnM5WnZDO0VxRi8rWkU7SUE0QmdCLGtCQUFrQjtFckZzOVpwQztFcUZqOVpFO0lBRVEsYUFBYTtJQUNiLGNBQWM7RXJGazlaeEI7RXFGLzhaRTtFQTdERDtJQStESyxnQkFBZTtJQUNmLGlCQUFpQjtFckZpOVp2QjtFcUYvOFpFO0lBR1ksY0FBYztJQUNkLGVBQWU7RXJGKzhaN0I7RXFGMThaRTtJQUNJLFdBQVc7RXJGNDhaakI7RXFGMThaRTtFRHdESjtJQ3REWSxTQUFTO0VyRjQ4Wm5CO0VxRmxpYUU7SUF5RkksV0FBVztFckY0OFpqQjtFcUYxOFpFO0lBRVEsZUFBZTtJQUNmLFdBQVc7SUFDWCxXQUFXO0VyRjI4WnJCO0VvRnQrWUY7SUNqZVEsa0JBQWtCO0lBQ2xCLG9CQUFvQjtFckYwOFoxQjtFb0Y5OVlGO0lDemVRLGdCQUFnQjtFckYwOFp0QjtFb0ZqK1lGO0lDdmVjLGdCQUFlO0lBQ2YsZ0JBQWU7SUFDZixrQkFBaUI7RXJGMjhaN0I7RW9GMTNZRjtJQzdrQlEsa0JBQWtCO0lBQ2xCLGdCQUFnQjtFckYwOFp0QjtFb0ZwM1lGO0lDbmxCUSxVQUFVO0VyRjA4WmhCO0VvRnIyWUY7SUNqbUJRLGNBQWM7RXJGeThacEI7RW9GeDJZRjtJQy9sQlksa0JBQWtCO0VyRjA4WjVCO0VxRnQ4WkU7RURtc0JKO0lDanNCUSxZQUFZO0lBQ1osa0JBQWtCO0lBRWxCLHdCQUF3QjtJQUN4QixtQk5ySU87RS9FNGthYjtFcUY1OFpFO0lBT1EsU0FBUztFckZ3OFpuQjtFb0Y3d1lGO0lDeHJCWSxjQUFjO0VyRnc4WnhCO0VvRmh4WUY7SUNwckJRLFdBQVc7RXJGdThaakI7RXFGcjhaRTtFQUNBO0lBQ0ksVUFBVTtFckZ1OFpoQjtFcUZyOFpF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Qix5QkFBeUI7RUFDekIsOEJBQThCO0VBQzlCLHlCQUF5QjtBdkY0a2I3Qjs7QXVGemtiQTtFQUNJLFNBQVM7QXZGNGtiYjs7QXVGemtiQTtFQUNJLFVBQVU7QXZGNGtiZDs7QXVGemtiQTs7RUFFSSxVQUFVO0F2RjRrYmQ7O0F1RnprYkE7RUFDSSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFlBQVk7RUFDWixRQUFRO0VBQ1IsT0FBTztFQUNQLG9CQUFvQjtFQUNwQixZQUFZO0F2RjRrYmhCOztBdUZ6a2JBOztFQUVJLGVBQWU7QXZGNGtibkI7O0F1RnprYkE7O0VBRUksZUFBZTtBdkY0a2JuQjs7QXVGemtiQTs7RUFFSSxtQk41TGE7QWpGd3diakI7O0F1RnprYkE7O0VBRUksbUJObE1hO0FqRjh3YmpCOztBdUZ6a2JBOztFQUVJLG1CTnhNWTtBakZveGJoQjs7QXVGemtiQTs7RUFFSSxjTjNNYTtBakZ1eGJqQjs7QXVGemtiQTs7RUFFSSxjTmpOYTtBakY2eGJqQjs7QXVGemtiQTs7RUFFSSxjTnZOWTtBakZteWJoQjs7QXVGemtiQTtFQUNJLE1BQU07QXZGNGtiVjs7QXVGemtiQTs7O0VBR0kseUJOak9ZO0FqRjZ5YmhCOztBdUZ6a2JBOzs7RUFHSSx5Qk50T2E7QWpGa3piakI7O0F1RnprYkE7RUFFUSxZQUFZO0VBQ1osY043T1E7QWpGd3piaEI7O0F1RjlrYkE7RUFNWSxnQkFBZ0I7QXZGNGtiNUI7O0F1RnZrYkE7RUFFUSxZQUFZO0VBQ1osY050UFM7QWpGK3piakI7O0F1RjVrYkE7RUFNWSxnQkFBZ0I7QXZGMGtiNUI7O0F1RnJrYkE7RUFFUSxpQkFBaUI7QXZGdWtiekI7O0F1RnprYkE7RUFNUSxzQk54UlE7RU15UlIsWUFBWTtBdkZ1a2JwQjs7QXVGOWtiQTtFQVVZLFdOdlNHO0VNd1NILDRCQUE0QjtBdkZ3a2J4Qzs7QXVGbmxiQTtFQWdCUSxXTjdTTztFTThTUCxzQk5uU1E7QWpGMDJiaEI7O0F1RmxrYkE7O2tCdkZza2JrQjtBdUZsa2JsQjtFQUNJLDBCUm5PYztBL0V1eWJsQjs7QXVG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MEJFLGNBQWM7QXpGaTliaEI7O0F5Rjk4YkE7RUFDRTtJQUNFLGdEQUFnRDtJQUNoRCx3Q0FBd0M7SUFDeEMsVUFBVTtJQUNWLHFDQUFxQztJQUNyQyw2QkFBNkI7RXpGaTliL0I7RXlGOThiQTtJQUNFLGlEQUFpRDtJQUNqRCx5Q0FBeUM7SUFDekMsVUFBVTtJQUNWLHFDQUFxQztJQUNyQyw2QkFBNkI7RXpGZzliL0I7RXlGNzhiQTtJQUNFLGlEQUFpRDtJQUNqRCx5Q0FBeUM7SUFDekMsVUFBVTtJQUNWLHFDQUFxQztJQUNyQyw2QkFBNkI7RXpGKzhiL0I7QUFDRjs7QXlGMzhiQTtFQUNFO0lBQ0UsZ0RBQWdEO0lBQ2hELHdDQUF3QztJQUN4QyxVQUFVO0lBQ1YscUNBQXFDO0lBQ3JDLDZCQUE2QjtFekY4OGIvQjtFeUYzOGJBO0lBQ0UsaURBQWlEO0lBQ2pELHlDQUF5QztJQUN6QyxVQUFVO0lBQ1YscUNBQXFDO0lBQ3JDLDZCQUE2QjtFekY2OGIvQjtFeUYxOGJBO0lBQ0UsaURBQWlEO0lBQ2pELHlDQUF5QztJQUN6QyxVQUFVO0lBQ1YscUNBQXFDO0lBQ3JDLDZCQUE2QjtFekY0OGIvQjtBQUNGOztBeUZ6OGJBOzttQnpGNjhibUI7QXlGMThibkI7RUFDRTtJQUNFLCtCQUErQjtFekY0OGJqQztFeUZ6OGJBO0lBQ0UsaUNBQWlDO0V6RjI4Ym5DO0FBQ0Y7O0F5RnY4YkE7RUFDRTtJQUNFLDRCQUE0QjtFekYwOGI5QjtFeUZ2OGJBO0lBQ0UsOEJBQThCO0V6Rnk4YmhDO0FBQ0Y7O0F5RnI4YkE7RUFDRTtJQUNFLCtCQUErQjtJQUMvQix1QkFBdUI7RXpGdzhiekI7RXlGcjhiQTtJQUNFLGlDQUFpQztJQUNqQyx5QkFBeUI7RXpGdThiM0I7QUFDRiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBCb290c3RyYXAgdjQuNi4wIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAyMSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMjEgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKi9cblxuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInJvb3RcIjtcbkBpbXBvcnQgXCJyZWJvb3RcIjtcbkBpbXBvcnQgXCJ0eXBlXCI7XG5AaW1wb3J0IFwiaW1hZ2VzXCI7XG5AaW1wb3J0IFwiY29kZVwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcbkBpbXBvcnQgXCJmb3Jtc1wiO1xuQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCJ0cmFuc2l0aW9uc1wiO1xuQGltcG9ydCBcImRyb3Bkb3duXCI7XG5AaW1wb3J0IFwiYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJjdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJuYXZcIjtcbkBpbXBvcnQgXCJuYXZiYXJcIjtcbkBpbXBvcnQgXCJjYXJkXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcInBhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJiYWRnZVwiO1xuQGltcG9ydCBcImp1bWJvdHJvblwiO1xuQGltcG9ydCBcImFsZXJ0XCI7XG5AaW1wb3J0IFwicHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCJtZWRpYVwiO1xuQGltcG9ydCBcImxpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJjbG9zZVwiO1xuQGltcG9ydCBcInRvYXN0c1wiO1xuQGltcG9ydCBcIm1vZGFsXCI7XG5AaW1wb3J0IFwidG9vbHRpcFwiO1xuQGltcG9ydCBcInBvcG92ZXJcIjtcbkBpbXBvcnQgXCJjYXJvdXNlbFwiO1xuQGltcG9ydCBcInNwaW5uZXJzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzXCI7XG5AaW1wb3J0IFwicHJpbnRcIjtcbiIsIkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwXCI7XG5AaW1wb3J0ICdpbXBvcnRzL21hdGVyaWFsL3ZhcmlhYmxlJztcbkBpbXBvcnQgJ2ltcG9ydHMvbWF0ZXJpYWwvY29sb3JzL2JsdWUnO1xuLy8gQGltcG9ydCAnaW1wb3J0cy9tYXRlcmlhbC9jb2xvcnMvZGFyayc7XG5AaW1wb3J0ICdpbXBvcnRzL21hdGVyaWFsL2FwcCc7XG5AaW1wb3J0ICdpbXBvcnRzL21hdGVyaWFsL2dyaWQnO1xuQGltcG9ydCAnaW1wb3J0cy9tYXRlcmlhbC9uYXZpZ2F0aW9uJztcbkBpbXBvcnQgJ2ltcG9ydHMvbWF0ZXJpYWwvcGFnZXMnO1xuQGltcG9ydCAnaW1wb3J0cy9tYXRlcmlhbC9yZXNwb25zaXZlJztcbkBpbXBvcnQgJ2ltcG9ydHMvbWF0ZXJpYWwvc2lkZWJhcic7XG5AaW1wb3J0ICdpbXBvcnRzL21hdGVyaWFsL2Zvcm1zJztcbkBpbXBvcnQgJ2ltcG9ydHMvbWF0ZXJpYWwvdGFibGVzJztcbkBpbXBvcnQgJ2ltcG9ydHMvbWF0ZXJpYWwvYW5pbWF0aW9ucyc7IiwiOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gMS4gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cbi8vIDIuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMuXG4vLyAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4vLyA0LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbi8vIDUuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG59XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMlxuICBsaW5lLWhlaWdodDogMS4xNTsgLy8gM1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDVcbn1cblxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2Vycylcbi8vIFRPRE86IHJlbW92ZSBpbiB2NVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZVxuLy8gICAgdGhlIGBpbmhlcml0YCB2YWx1ZSBvbiB0aGluZ3MgbGlrZSBgPHRoPmAgZWxlbWVudHMuXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZzsgLy8gMlxufVxuXG4vLyBGdXR1cmUtcHJvb2YgcnVsZTogaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IDpmb2N1cy12aXNpYmxlLCBzdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZVxuLy8gb24gZWxlbWVudHMgdGhhdCBwcm9ncmFtbWF0aWNhbGx5IHJlY2VpdmUgZm9jdXMgYnV0IHdvdWxkbid0IG5vcm1hbGx5IHNob3cgYSB2aXNpYmxlXG4vLyBmb2N1cyBvdXRsaW5lLiBJbiBnZW5lcmFsLCB0aGlzIHdvdWxkIG1lYW4gdGhhdCB0aGUgb3V0bGluZSBpcyBvbmx5IGFwcGxpZWQgaWYgdGhlXG4vLyBpbnRlcmFjdGlvbiB0aGF0IGxlZCB0byB0aGUgZWxlbWVudCByZWNlaXZpbmcgcHJvZ3JhbW1hdGljIGZvY3VzIHdhcyBhIGtleWJvYXJkIGludGVyYWN0aW9uLFxuLy8gb3IgdGhlIGJyb3dzZXIgaGFzIHNvbWVob3cgZGV0ZXJtaW5lZCB0aGF0IHRoZSB1c2VyIGlzIHByaW1hcmlseSBhIGtleWJvYXJkIHVzZXIgYW5kL29yXG4vLyB3YW50cyBmb2N1cyBvdXRsaW5lcyB0byBhbHdheXMgYmUgcHJlc2VudGVkLlxuLy9cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOmZvY3VzLXZpc2libGVcbi8vIGFuZCBodHRwczovL2RldmVsb3Blci5wYWNpZWxsb2dyb3VwLmNvbS9ibG9nLzIwMTgvMDMvZm9jdXMtdmlzaWJsZS1hbmQtYmFja3dhcmRzLWNvbXBhdGliaWxpdHkvXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gNS4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gNVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDgwJSk7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDc1JSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZikuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8vIERpc2FibGUgYXV0by1oaWRpbmcgc2Nyb2xsYmFyIGluIElFICYgbGVnYWN5IEVkZ2UgdG8gYXZvaWQgb3ZlcmxhcCxcbiAgLy8gbWFraW5nIGl0IGltcG9zc2libGUgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgY29udGVudFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcbi8vXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG59XG5cbnN2ZyB7XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBTVkcgb3ZlcmZsb3cgYnVnIGluIElFMTAvMTEgaXMgc3RpbGwgcmVxdWlyZWQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI2ODc4XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cbi8vIDEuIFJlbW92ZXMgZm9udC13ZWlnaHQgYm9sZCBieSBpbmhlcml0aW5nXG4vLyAyLiBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGB0ZXh0LWFsaWduYC5cbi8vIDMuIEZpeCBhbGlnbm1lbnQgZm9yIFNhZmFyaVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiAkdGFibGUtdGgtZm9udC13ZWlnaHQ7IC8vIDFcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gMlxuICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDsgLy8gM1xufVxuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxubGFiZWwge1xuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRsYWJlbC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cbkBpZiAkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zIHtcbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBAaW5jbHVkZSBmb250LXNpemUoMS41cmVtKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICksXG4gICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6ICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAvIDIpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjogICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNmwyLjk3NCAyLjk5TDggMi4xOTN6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNCcgdmlld0JveD0nMCAwIDQgNCc+PHBhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMS43NSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAvIDIgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBzdWJ0cmFjdCgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNCkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgIGVzY2FwZS1zdmcoJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yKSByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZSBuby1yZXBlYXQgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogYWRkKDFlbSAqIC43NSwgKDIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKiAuNzUpICsgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PScwIDAgMTIgMTInPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICAgICksXG4gICAgXCJpbnZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICApLFxuICApLFxuICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtc2Nyb2xsLW1heC1oZWlnaHQ6ICAgICAgNzV2aCAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc206ICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiAhZGVmYXVsdDtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4gIWRlZmF1bHQ7XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcbiR1c2VyLXNlbGVjdHM6IGFsbCwgYXV0bywgbm9uZSAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgZm9udC1yZXNpemluZ1xuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnNcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG4vLyBSZXNpemUgZm9udC1zaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udC1zaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gVmFyaWFibGVzIGZvciBzdG9yaW5nIHN0YXRpYyBhbmQgZmx1aWQgcmVzY2FsaW5nXG4gICAgJHJmcy1zdGF0aWM6IG51bGw7XG4gICAgJHJmcy1mbHVpZDogbnVsbDtcblxuICAgIC8vIFJlbW92ZSBweC11bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250LXNpemVcbiAgICBAaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0ge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzIC8gJHJmcy1yZW0tdmFsdWV9cmVtI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcHgge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzfXB4I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGFkZCBtZWRpYSBxdWVyeSBpZiBmb250LXNpemUgaXMgYmlnZ2VyIGFzIHRoZSBtaW5pbXVtIGZvbnQtc2l6ZVxuICAgIC8vIElmICRyZnMtZmFjdG9yID09IDEsIG5vIHJlc2NhbGluZyB3aWxsIHRha2UgcGxhY2VcbiAgICBAaWYgJGZzID4gJHJmcy1iYXNlLWZvbnQtc2l6ZSBhbmQgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgJG1pbi13aWR0aDogbnVsbDtcbiAgICAgICR2YXJpYWJsZS11bml0OiBudWxsO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArICgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplKSAvICRyZnMtZmFjdG9yO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGdpdmVuIGZvbnQtc2l6ZSBhbmQgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHVuaXQgaXMgdmFsaWQsIGJlY2F1c2Ugd2UgZGlkIHRoYXQgYmVmb3JlXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3skZnMtbWluIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBJZiB0d28tZGltZW5zaW9uYWwsIHVzZSBzbWFsbGVzdCBvZiBzY3JlZW4gd2lkdGggYW5kIGhlaWdodFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3skZnMtZGlmZiAqIDEwMCAvICRyZnMtYnJlYWtwb2ludH0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZS5cbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyaW5nXG4gICAgQGlmICRyZnMtZmx1aWQgPT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlbmRlciBzdGF0aWMgZm9udC1zaXplIGlmIG5vIGZsdWlkIGZvbnQtc2l6ZSBpcyBhdmFpbGFibGVcbiAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRtcS12YWx1ZTogbnVsbDtcblxuICAgICAgLy8gUkZTIGJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgQGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IGVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0ID09IHJlbSB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnQgLyAkcmZzLXJlbS12YWx1ZX0jeyRyZnMtYnJlYWtwb2ludC11bml0fTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4IHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludH1weDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAgICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSxcbiAgICAgICAgLy8gd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAgICAgJixcbiAgICAgICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW4gdXNlcyBSRlMgdG8gcmVzY2FsZSBmb250IHNpemVzXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cygpIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpOyB9XG5oMiwgLmgyIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpOyB9XG5oMywgLmgzIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpOyB9XG5oNCwgLmg0IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpOyB9XG5oNSwgLmg1IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpOyB9XG5oNiwgLmg2IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpOyB9XG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkxLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTItc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5My1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXk0LXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg5MCUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemUpO1xuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQoKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAvIDI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCgpIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tL2Nzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbWctcmV0aW5hKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbiIsIi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIC8vIFN0cmVhbWxpbmUgdGhlIHN0eWxlIHdoZW4gaW5zaWRlIGFuY2hvcnMgdG8gYXZvaWQgYnJva2VuIHVuZGVybGluZSBhbmQgbW9yZVxuICBhID4gJiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGtiZC1mb250LXNpemUpO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGtiZC1ib3gtc2hhZG93KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEwMCUpO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6ICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIsXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzYCBtaXhpblwiLCBcInY0LjUuMlwiLCBcInY1XCIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlIC8gJGNvdW50O1xuICAgIG1heC13aWR0aDogMTAwJSAvICRjb3VudDtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6ICR0YWJsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgY29sb3I6ICR0YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJvcmRlci1sZXZlbCkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXIgIT0gbnVsbCB7XG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCBvciB1bml0KCRudW0pID09IFwiJVwiIG9yIHVuaXQoJHByZXYtbnVtKSA9PSBcIiVcIiB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gVXNlZCB0byBlbnN1cmUgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwLCAkbWFwLW5hbWU6IFwiJGdyaWQtYnJlYWtwb2ludHNcIikge1xuICBAaWYgbGVuZ3RoKCRtYXApID4gMCB7XG4gICAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluICN7JG1hcC1uYW1lfSBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gU2VlIGh0dHBzOi8vY29kZXBlbi5pby9rZXZpbndlYmVyL3Blbi9kWFdvUndcbi8vXG4vLyBSZXF1aXJlcyB0aGUgdXNlIG9mIHF1b3RlcyBhcm91bmQgZGF0YSBVUklzLlxuXG5AZnVuY3Rpb24gZXNjYXBlLXN2Zygkc3RyaW5nKSB7XG4gIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJkYXRhOmltYWdlL3N2Zyt4bWxcIikge1xuICAgIEBlYWNoICRjaGFyLCAkZW5jb2RlZCBpbiAkZXNjYXBlZC1jaGFyYWN0ZXJzIHtcbiAgICAgIC8vIERvIG5vdCBlc2NhcGUgdGhlIHVybCBicmFja2V0c1xuICAgICAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcInVybChcIikgPT0gMSB7XG4gICAgICAgICRzdHJpbmc6IHVybChcIiN7c3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsIDYsIC0zKSwgJGNoYXIsICRlbmNvZGVkKX1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cblxuLy8gUmV0dXJuIHZhbGlkIGNhbGNcbkBmdW5jdGlvbiBhZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIHN1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHNlbGVjdCBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRpbnB1dC1jb2xvcjtcbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCxcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIH1cbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmW3NpemVdLFxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxuICA+IC5jb2wsXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCBmb3Igd29ya2Fyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4vL1xuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xuLy8gcHJpbWFyaWx5IGZvciBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIHZpYSBzY29wZWQgYDppbnZhbGlkYCBhbmQgYDp2YWxpZGBcbi8vIHBzZXVkby1jbGFzc2VzIGJ1dCBhbHNvIGluY2x1ZGVzIGAuaXMtaW52YWxpZGAgYW5kIGAuaXMtdmFsaWRgIGNsYXNzZXMgZm9yXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxuXG5AZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgbWFwLWdldCgkZGF0YSwgY29sb3IpLCBtYXAtZ2V0KCRkYXRhLCBpY29uKSk7XG59XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLFxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmb3JtLWNvbnRyb2wtZm9jdXMoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG4vLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzE1NTdcbiAgICAvLyBBbGlnbiB0b29sdGlwIHRvIGZvcm0gZWxlbWVudHNcbiAgICAuZm9ybS1yb3cgPiAuY29sID4gJixcbiAgICAuZm9ybS1yb3cgPiBbY2xhc3MqPVwiY29sLVwiXSA+ICYge1xuICAgICAgbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCwgJGN1c3RvbS1zZWxlY3QtYmcgZXNjYXBlLXN2ZygkaWNvbikgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZSBuby1yZXBlYXQ7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24tcGFkZGluZy14O1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZHJvcGRvd24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIFBvcHBlciBpcyBlbmFibGVkLCByZXNldCB0aGUgYmFzaWMgZHJvcGRvd24gcG9zaXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uZHJvcGRvd24tbWVudSB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcsICRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15LCB0cnVlKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIC8vIFByZXZlbnQgZHJvcGRvd24gb3ZlcmZsb3cgaWYgdGhlcmUncyBubyBwYWRkaW5nXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yNzcwM1xuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1hY3RpdmUtYmcpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93bigpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCkge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXksICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG5hdi1kaXZpZGVyKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MjQ3MTQwL3doeS1kb250LWZsZXgtaXRlbXMtc2hyaW5rLXBhc3QtY29udGVudC1zaXplXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgLmZvcm0tY29udHJvbCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjdXN0b20gZmlsZSBpbnB1dCBhYm92ZSB0aGUgbGFiZWxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAvLyBDdXN0b20gZmlsZSBpbnB1dHMgaGF2ZSBtb3JlIGNvbXBsZXggbWFya3VwLCB0aHVzIHJlcXVpcmluZyBkaWZmZXJlbnRcbiAgLy8gYm9yZGVyLXJhZGl1cyBvdmVycmlkZXMuXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtdmFsaWRhdGlvbiB7XG4gICAgPiAuZm9ybS1jb250cm9sOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tZmlsZTpudGgtbGFzdC1jaGlsZChuICsgMykgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHsgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuLmlucHV0LWdyb3VwLWFwcGVuZCB7IG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kIHJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmlucHV0LWdyb3VwLWFwcGVuZDpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuYnRuLFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmlucHV0LWdyb3VwLWFwcGVuZDpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbiIsIi8vIEVtYmVkZGVkIGljb25zIGZyb20gT3BlbiBJY29uaWMuXG4vLyBSZWxlYXNlZCB1bmRlciBNSVQgYW5kIGNvcHlyaWdodCAyMDE0IFdheWJ1cnkuXG4vLyBodHRwczovL3VzZWljb25pYy5jb20vb3BlblxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEJhc2UgY2xhc3MgdGFrZXMgY2FyZSBvZiBhbGwgdGhlIGtleSBiZWhhdmlvcmFsIGFzcGVjdHMuXG5cbi5jdXN0b20tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGNvbG9yLWFkanVzdDogZXhhY3Q7IC8vIEtlZXAgdGhlbWVkIGFwcGVhcmFuY2UgZm9yIHByaW50XG59XG5cbi5jdXN0b20tY29udHJvbC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBoZWlnaHQ6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3Igc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IDUwJSAvICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplfSBuby1yZXBlYXQ7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJhZGlvc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciByYWRpb3MuXG5cbi5jdXN0b20tcmFkaW8ge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzd2l0Y2hlc1xuLy9cbi8vIFR3ZWFrIGEgZmV3IHRoaW5ncyBmb3Igc3dpdGNoZXNcblxuLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtd2lkdGg7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiBhZGQoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDIsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpIC8gMjsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIEVkZ2Ugc3BlY2lmaWNcbiAgICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgbWFyZ2luLWxlZnQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgIC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyAvLyBhcmJpdHJhcnk/XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuLmN1c3RvbS1maWxlLWxhYmVsLFxuLmN1c3RvbS1zZWxlY3Qge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdi1waWxscy1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBDb250ZW50c1xuLy9cbi8vIE5hdmJhclxuLy8gTmF2YmFyIGJyYW5kXG4vLyBOYXZiYXIgbmF2XG4vLyBOYXZiYXIgdGV4dFxuLy8gTmF2YmFyIGRpdmlkZXJcbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vLyBOYXZiYXIgcG9zaXRpb25cbi8vIE5hdmJhciB0aGVtZXNcblxuXG4vLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuY29udGFpbmVyLFxuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItYnJhbmQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVudGF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogNTAlIC8gMTAwJSAxMDAlIG5vLXJlcGVhdDtcbn1cblxuLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgbWF4LWhlaWdodDogJG5hdmJhci1uYXYtc2Nyb2xsLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yIG5lc3RpbmcgY29udGFpbmVycywgaGF2ZSB0byByZWRlY2xhcmUgZm9yIGFsaWdubWVudCBwdXJwb3Nlc1xuICAgICAgICAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgLy8gQ2hhbmdlcyBmbGV4LWJhc2VzIHRvIGF1dG8gYmVjYXVzZSBvZiBhbiBJRTEwIGJ1Z1xuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGl0ZSBsaW5rcyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kXG4ubmF2YmFyLWRhcmsge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogJGNhcmQtaGVpZ2h0O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAvLyBEdWUgdG8gc3BlY2lmaWNpdHkgb2YgdGhlIGFib3ZlIHNlbGVjdG9yIChgLmNhcmQgPiAubGlzdC1ncm91cGApLCB3ZSBtdXN0XG4gIC8vIHVzZSBhIGNoaWxkIHNlbGVjdG9yIGhlcmUgdG8gcHJldmVudCBkb3VibGUgYm9yZGVycy5cbiAgPiAuY2FyZC1oZWFkZXIgKyAubGlzdC1ncm91cCxcbiAgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgaW1hZ2Ugc2l6ZSBidWcgaW4gSUVcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yODg1NVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY29sb3I7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSRjYXJkLXNwYWNlci15IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIG1hcmdpbi1ib3R0b206IC0kY2FyZC1zcGFjZXIteTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6ICRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgZmxleC1zaHJpbms6IDA7IC8vIEZvciBJRTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTM5NlxuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuLmNhcmQtZGVjayB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZ3JvdXAtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb2x1bW5zXG4vL1xuXG4uY2FyZC1jb2x1bW5zIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWNvbHVtbnMtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcbiAgICBjb2x1bW4tZ2FwOiAkY2FyZC1jb2x1bW5zLWdhcDtcbiAgICBvcnBoYW5zOiAxO1xuICAgIHdpZG93czogMTtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlaXIgd2lkdGggY2hhbmdlXG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEFjY29yZGlvblxuLy9cblxuLmFjY29yZGlvbiB7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcblxuICA+IC5jYXJkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICAgIH1cblxuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICA+IC5jYXJkLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICBjb250ZW50OiBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIElFOS0xMSBoYWNrIHRvIHByb3Blcmx5IGhhbmRsZSBoeXBlcmxpbmsgdW5kZXJsaW5lcyBmb3IgYnJlYWRjcnVtYnMgYnVpbHRcbiAgLy8gd2l0aG91dCBgPHVsPmBzLiBUaGUgYDo6YmVmb3JlYCBwc2V1ZG8tZWxlbWVudCBnZW5lcmF0ZXMgYW4gZWxlbWVudFxuICAvLyAqd2l0aGluKiB0aGUgLmJyZWFkY3J1bWItaXRlbSBhbmQgdGhlcmVieSBpbmhlcml0cyB0aGUgYHRleHQtZGVjb3JhdGlvbmAuXG4gIC8vXG4gIC8vIFRvIHRyaWNrIElFIGludG8gc3VwcHJlc3NpbmcgdGhlIHVuZGVybGluZSwgd2UgZ2l2ZSB0aGUgcHNldWRvLWVsZW1lbnQgYW5cbiAgLy8gdW5kZXJsaW5lIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlbW92ZSBpdC5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhZGdlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhZGdlLXRyYW5zaXRpb24pO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYmFkZ2UtZm9jdXMtd2lkdGggcmdiYSgkYmcsIC41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogJGFsZXJ0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxlcnQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmFsZXJ0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCh0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJvcmRlci1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWNvbG9yLWxldmVsKSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHByb2dyZXNzLWhlaWdodCAwOyB9XG4gICAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBsaW5lLWhlaWdodDogMDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmcgcHJvZ3Jlc3MtYmFyLXN0cmlwZXM7XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmICsgJiB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci13aWR0aDogMCAwICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjbG9zZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6ICRjbG9zZS10ZXh0LXNoYWRvdztcbiAgb3BhY2l0eTogLjU7XG5cbiAgLy8gT3ZlcnJpZGUgPGE+J3MgaG92ZXIgc3R5bGVcbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIG9wYWNpdHk6IC43NTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBidXR0b24gdmVyc2lvblxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5hLmNsb3NlLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIudG9hc3Qge1xuICAvLyBQcmV2ZW50cyBmcm9tIHNocmlua2luZyBpbiBJRTExLCB3aGVuIGluIGEgZmxleCBjb250YWluZXJcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgzNDFcbiAgZmxleC1iYXNpczogJHRvYXN0LW1heC13aWR0aDtcbiAgbWF4LXdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvYXN0LWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkdG9hc3QtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWJvcmRlci1jb2xvcjtcbiAgYm94LXNoYWRvdzogJHRvYXN0LWJveC1zaGFkb3c7XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvYXN0LWJvcmRlci1yYWRpdXMpO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHRvYXN0LXBhZGRpbmcteDtcbiAgfVxuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteSAkdG9hc3QtcGFkZGluZy14O1xuICBjb2xvcjogJHRvYXN0LWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhzdWJ0cmFjdCgkdG9hc3QtYm9yZGVyLXJhZGl1cywgJHRvYXN0LWJvcmRlci13aWR0aCkpO1xufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXg7IC8vIGFwcGx5IHRvIGJvdGggdmVydGljYWwgYW5kIGhvcml6b250YWxcbn1cbiIsIi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi5tb2RhbC1vcGVuIHtcbiAgLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLm1vZGFsIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbjtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgZGlzcGxheTogZmxleDsgLy8gSUUxMC8xMVxuICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTsgLy8gSUUxMC8xMVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC8vIEVuc3VyZSBgbW9kYWwtZGlhbG9nLWNlbnRlcmVkYCBleHRlbmRzIHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgdmlldyAoSUUxMC8xMSlcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgLy8gSUUxMFxuICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDsgLy8gUmVzZXQgaGVpZ2h0IHRvIDAgZXhjZXB0IG9uIElFXG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC8vIEVuc3VyZSBgLm1vZGFsLWJvZHlgIHNob3dzIHNjcm9sbGJhciAoSUUxMC8xMSlcbiAgJi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6ICRtb2RhbC1jb250ZW50LWNvbG9yO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLy8gc28gdGhlIGNsb3NlIGJ0biBhbHdheXMgc3RheXMgb24gdGhlIHVwcGVyIHJpZ2h0IGNvcm5lclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIFB1dCBtb2RhbCBoZWFkZXIgZWxlbWVudHMgKHRpdGxlIGFuZCBkaXNtaXNzKSBvbiBvcHBvc2l0ZSBlbmRzXG4gIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC5jbG9zZSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICAgIC8vIGF1dG8gb24gdGhlIGxlZnQgZm9yY2UgaWNvbiB0byB0aGUgcmlnaHQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIC5tb2RhbC10aXRsZVxuICAgIG1hcmdpbjogKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteCkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmcgLSAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuIC8gMjtcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAvIDI7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7IG1heC13aWR0aDogJG1vZGFsLXhsOyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvb2x0aXAtZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3Age1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXJpZ2h0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWxlZnQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtbGVmdDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcG9wb3Zlci1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHBvcG92ZXItYm94LXNoYWRvdyk7XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIG1hcmdpbjogMCAkcG9wb3Zlci1ib3JkZXItcmFkaXVzO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICBtYXJnaW4tYm90dG9tOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGJvdHRvbTogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgdG9wOiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItbGVmdDtcbiAgfVxufVxuXG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6ICRwb3BvdmVyLWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItaGVhZGVyLWJnO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgZGFya2VuKCRwb3BvdmVyLWhlYWRlci1iZywgNSUpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteSAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteDtcbiAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7XG59XG4iLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tcmlnaHQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDI7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vXG4vLyBSb3RhdGluZyBib3JkZXJcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJvcmRlcjogJHNwaW5uZXItYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ib3JkZXI7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG4gIGJvcmRlci13aWR0aDogJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtO1xufVxuXG4vL1xuLy8gR3Jvd2luZyBjaXJjbGVcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uc3Bpbm5lci1ncm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbjogLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ncm93O1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbn1cblxuQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNwaW5uZXItYm9yZGVyLFxuICAgIC5zcGlubmVyLWdyb3cge1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5hbGlnbi1iYXNlbGluZSAgICB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9IC8vIEJyb3dzZXIgZGVmYXVsdFxuLmFsaWduLXRvcCAgICAgICAgIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4uYWxpZ24tbWlkZGxlICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1ib3R0b20gICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LXRvcCAgICB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLXZhcmlhbnRgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctZ3JhZGllbnQtdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC41LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIEJvcmRlclxuLy9cblxuLmJvcmRlciAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AgICAgIHsgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQgICB7IGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tICB7IGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQgICAgeyBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYm9yZGVyLSN7JGNvbG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLy9cbi8vIEJvcmRlci1yYWRpdXNcbi8vXG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc20gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcmlnaHQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGcge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkLXBpbGwgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciBjb21tb24gYGRpc3BsYXlgIHZhbHVlc1xuLy9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgICAuZCN7JGluZml4fS0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIHRvZ2dsaW5nIGBkaXNwbGF5YCBpbiBwcmludFxuLy9cblxuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgLmQtcHJpbnQtI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgaWZyYW1lLFxuICBlbWJlZCxcbiAgb2JqZWN0LFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbkBlYWNoICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbyBpbiAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zIHtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXg6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDEpO1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teTogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMik7XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtI3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teH1ieSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXl9IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXkgLyAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWZpbGwgICAgICAgICB7IGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTAgICAgICAgeyBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTAgICAgIHsgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0xICAgICB7IGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LW5vbmUgIHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICR1c2VyLXNlbGVjdHMge1xuICAudXNlci1zZWxlY3QtI3skdmFsdWV9IHsgdXNlci1zZWxlY3Q6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICRvdmVyZmxvd3Mge1xuICAub3ZlcmZsb3ctI3skdmFsdWV9IHsgb3ZlcmZsb3c6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29tbW9uIHZhbHVlc1xuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xuICAucG9zaXRpb24tI3skcG9zaXRpb259IHsgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5KCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSgpIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5zaGFkb3ctc20geyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbSAhaW1wb3J0YW50OyB9XG4uc2hhZG93IHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3cgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1sZyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbm9uZSB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLy8gVmlld3BvcnQgYWRkaXRpb25hbCBoZWxwZXJzXG5cbi5taW4tdnctMTAwIHsgbWluLXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4ubWluLXZoLTEwMCB7IG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuLnZ3LTEwMCB7IHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4udmgtMTAwIHsgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgJHNpemUgIT0gMCB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gRGVwcmVjYXRlZCwgYnV0IGF2b2lkcyBpc3N1ZXMgd2l0aCBmbGV4IGNvbnRhaW5lcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIFVzZWQgaW5zdGVhZCBvZiBgb3ZlcmZsb3ctd3JhcGAgZm9yIElFICYgRWRnZSBMZWdhY3lcbn1cblxuLy8gUmVzZXRcblxuLnRleHQtcmVzZXQgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoKWBcIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL21haW4uY3NzL2Jsb2IvbWFzdGVyL3NyYy9fcHJpbnQuY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxODA4MTUxNTA5MzQvaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAgLy9cblxuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiIsIi8qXG5UZW1wbGF0ZSBOYW1lOiBNYXRlcmlhbCBQcm8gQWRtaW5cbkF1dGhvcjogVGhlbWVkZXNpZ25lclxuRW1haWw6IG5pcmF2am9zaGk4N0BnbWFpbC5jb21cbkZpbGU6IHNjc3NcbiovXG4vLyBWYXJpYWJsZXNcbi8vIEBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UG9wcGluczozMDAsNDAwLDUwMCw2MDAsNzAwJyk7XG5cbiRib2R5Zm9udDogJ0FyaWFsJywgc2Fucy1zZXJpZjtcbiRoZWFkaW5nZm9udDogJ0FyaWFsJywgc2Fucy1zZXJpZjsgXG5cblxuLypUaGVtZSBDb2xvcnMqL1xuXG4kbGlnaHQtdGV4dDogI2E2YjdiZjtcbi8vICR0aGVtZWNvbG9yOiAjMDA5ZWZiO1xuLy8gJHRoZW1lY29sb3ItYWx0OiAjMjZjNmRhO1xuLy8gJHRoZW1lY29sb3ItZGFyazogIzAyOGVlMTtcblxuLy8gLypib290c3RyYXAgQ29sb3IqL1xuLy8gJGRhbmdlcjogI2ZjNGI2Yztcbi8vICRzdWNjZXNzOiAjMjZjNmRhO1xuLy8gJHdhcm5pbmc6ICNmZmIyMmI7XG4vLyAkcHJpbWFyeTogIzc0NjBlZTtcbi8vICRpbmZvOiAjMWU4OGU1O1xuLy8gJGludmVyc2U6ICMyZjNkNGE7XG4vLyAkbXV0ZWQ6ICM5OWFiYjQ7XG4vLyAkZGFyazogIzI2MzIzODtcbi8vICRsaWdodDogI2YyZjRmODtcbi8vICRleHRyYS1saWdodDogI2ViZjNmNTtcblxuLypMaWdodCBjb2xvcnMqL1xuJGxpZ2h0LWRhbmdlcjogI2Y5ZTdlYjtcbiRsaWdodC1zdWNjZXNzOiAjZThmZGViO1xuJGxpZ2h0LXdhcm5pbmc6ICNmZmY4ZWM7XG4kbGlnaHQtcHJpbWFyeTogI2YxZWZmZDtcbiRsaWdodC1pbmZvOiAjY2ZlY2ZlO1xuJGxpZ2h0LWludmVyc2U6ICNmNmY2ZjY7XG4kbGlnaHQtbWVnbmE6ICNlMGYyZjQ7IFxuXG5cblxuJGRhbmdlci1kYXJrOiAjZTYyOTRiO1xuJHN1Y2Nlc3MtZGFyazogIzFlYWNiZTtcbiR3YXJuaW5nLWRhcms6ICNlOWFiMmU7XG4kcHJpbWFyeS1kYXJrOiAjNjM1MmNlO1xuJGluZm8tZGFyazogIzAyOGVlMTtcbiRyZWQtZGFyazogI2Q2MWYxZjtcbiRpbnZlcnNlLWRhcms6ICMyMzJhMzc7XG4kZGFyay10cmFuc3BhcmVudDpyZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXG4kaW5mby1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoNjYsMTY1LDI0NSwuMTQpLCAwIDNweCAxcHggLTJweCByZ2JhKDY2LDE2NSwyNDUsLjIpLCAwIDFweCA1cHggMCByZ2JhKDY2LDE2NSwyNDUsLjEyKTtcbiRpbmZvLXNoYWRvdy1ob3ZlcjowIDE0cHggMjZweCAtMTJweCByZ2JhKDIzLDEwNSwyNTUsLjQyKSwgMCA0cHggMjNweCAwIHJnYmEoMCwwLDAsLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMjMsMTA1LDI1NSwuMik7XG5cbiR3YXJuaW5nLXNoYWRvdzowIDJweCAycHggMCByZ2JhKDI0OCwxOTQsMCwuMTQpLCAwIDNweCAxcHggLTJweCByZ2JhKDI0OCwxOTQsMCwuMiksIDAgMXB4IDVweCAwIHJnYmEoMjQ4LDE5NCwwLC4xMik7XG4kd2FybmluZy1zaGFkb3ctaG92ZXI6MCAxNHB4IDI2cHggLTEycHggcmdiYSgyNDgsMTk0LDAsLjQyKSwgMCA0cHggMjNweCAwIHJnYmEoMCwwLDAsLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMjQ4LDE5NCwwLC4yKTtcblxuJGRhbmdlci1zaGFkb3c6MCAycHggMnB4IDAgcmdiYSgyMzksODMsODAsLjE0KSwgMCAzcHggMXB4IC0ycHggcmdiYSgyMzksODMsODAsLjIpLCAwIDFweCA1cHggMCByZ2JhKDIzOSw4Myw4MCwuMTIpO1xuJGRhbmdlci1zaGFkb3ctaG92ZXI6MCAxNHB4IDI2cHggLTEycHggcmdiYSgyMzksODMsODAsLjQyKSwgMCA0cHggMjNweCAwIHJnYmEoMCwwLDAsLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMjM5LDgzLDgwLC4yKTtcblxuJHN1Y2Nlc3Mtc2hhZG93OjAgMnB4IDJweCAwIHJnYmEoNDAsMTkwLDE4OSwuMTQpLCAwIDNweCAxcHggLTJweCByZ2JhKDQwLDE5MCwxODksLjIpLCAwIDFweCA1cHggMCByZ2JhKDQwLDE5MCwxODksLjEyKTtcbiRzdWNjZXNzLXNoYWRvdy1ob3ZlcjowIDE0cHggMjZweCAtMTJweCByZ2JhKDQwLDE5MCwxODksLjQyKSwgMCA0cHggMjNweCAwIHJnYmEoMCwwLDAsLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoNDAsMTkwLDE4OSwuMik7XG4gICAgXG4kcHJpbWFyeS1zaGFkb3c6MCAycHggMnB4IDAgcmdiYSgxMTYsOTYsMjM4LC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMTE2LDk2LDIzOCwuMiksIDAgMXB4IDVweCAwIHJnYmEoMTE2LDk2LDIzOCwuMTIpO1xuJHByaW1hcnktc2hhZG93LWhvdmVyOjAgMTRweCAyNnB4IC0xMnB4IHJnYmEoMTE2LDk2LDIzOCwuNDIpLCAwIDRweCAyM3B4IDAgcmdiYSgwLDAsMCwuMTIpLCAwIDhweCAxMHB4IC01cHggcmdiYSgxMTYsOTYsMjM4LC4yKTtcblxuJGRlZmF1bHQtc2hhZG93OjAgMnB4IDJweCAwIHJnYmEoMTY5LDE2OSwxNjksLjE0KSwgMCAzcHggMXB4IC0ycHggcmdiYSgxNjksMTY5LDE2OSwuMiksIDAgMXB4IDVweCAwIHJnYmEoMTY5LDE2OSwxNjksLjEyKTtcbiRkZWZhdWx0LXNoYWRvdy1ob3ZlcjowIDE0cHggMjZweCAtMTJweCByZ2JhKDE2OSwxNjksMTY5LC40MiksIDAgNHB4IDIzcHggMCByZ2JhKDAsMCwwLC4xMiksIDAgOHB4IDEwcHggLTVweCByZ2JhKDE2OSwxNjksMTY5LC4yKTtcblxuLypOb3JtYWwgQ29sb3IqL1xuJHdoaXRlOiAjZmZmZmZmO1xuJHJlZDogI2ZiM2EzYTtcbiR5ZWxsb3c6ICNhMGFlYzQ7XG4kcHVycGxlOiAjNzQ2MGVlO1xuJGJsdWU6ICMwMmJlYzk7XG4kbWVnbmE6ICMwMDg5N2I7XG5cbi8qRXh0cmEgVmFyaWFibGUqL1xuJHJndDogcmlnaHQ7XG4kbGZ0OiBsZWZ0O1xuJGJvcmRlcjogcmdiYSgxMjAsIDEzMCwgMTQwLCAwLjEzKTtcbiR0YWJsZS1ib3JkZXI6I2YzZjFmMTtcbiRjYXJkLWJyZDojZDdkZmUzO1xuJGRhcmstdGV4dDogIzg0OGE5NjtcbiRyYWRpdXM6IDRweDtcbiRmb3JtLWJyZDogI2Q5ZDlkOTtcbi8qUHJlbG9hZGVyKi9cbi5wcmVsb2FkZXJ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDowcHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5OTk5O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgLmNzc2xvYWQtc3BlZWRpbmctd2hlZWx7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDMuNXB4KTtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzLjVweCk7XG4gICAgfVxufVxuXG4iLCIvKlxuVGVtcGxhdGUgTmFtZTogTWF0ZXJpYWwgUHJvIEFkbWluXG5BdXRob3I6IFRoZW1lZGVzaWduZXJcbkVtYWlsOiBuaXJhdmpvc2hpODdAZ21haWwuY29tXG5GaWxlOiBzY3NzXG4qL1xuLyoqXG4gKiBUYWJsZSBPZiBDb250ZW50XG4gKlxuICogXHQxLiBHbG9iYWxzXG4gKlx0Mi4gSGVhZGVyc1xuICpcdDMuIE5hdmlnYXRpb25zXG4gKlx0NC4gQmFubmVyc1xuICpcdDUuIEZvb3RlcnNcbiAqXHQ2LiBQb3N0c1xuICpcdDcuIFdpZGdldHNcbiAqXHQ4LiBDdXN0b20gVGVtcGxhdGVzXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqIFxuR2xvYmFsIFN0eWxlcyBcbioqKioqKioqKioqKioqKioqKiovXG5cbioge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbmJvZHkge1xuICAgIGJhY2tncm91bmQ6ICRib2R5Y29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5Zm9udDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIGNvbG9yOiAkYm9keXRleHQ7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuaHRtbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xufVxuYTpob3ZlciwgYTpmb2N1c3tcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5hLmxpbmt7XG4gICAgY29sb3I6JGhlYWRpbmd0ZXh0O1xuICAgICY6aG92ZXIsICY6Zm9jdXN7XG4gICAgICAgIGNvbG9yOiR0aGVtZWNvbG9yO1xuICAgIH1cbn1cbmhye1xuICAgIGJvcmRlci1jb2xvcjogJHRoZW1lY29sb3ItYWx0O1xufVxuLmltZy1yZXNwb25zaXZle1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uaW1nLXJvdW5kZWR7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cbmh0bWwgYm9keSAubWRpOmJlZm9yZSwgaHRtbCBib2R5IC5tZGktc2V0e1xuICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xufVxuLyoqKioqKioqKioqKioqKioqKipcbkhlYWRpbmdzXG4qKioqKioqKioqKioqKioqKioqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICAgIGNvbG9yOiAkaGVhZGluZ3RleHQ7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nZm9udDtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG5oMSB7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgZm9udC1zaXplOiAzNnB4XG59XG5cbmgyIHtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICBmb250LXNpemU6IDI0cHhcbn1cblxuaDMge1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMjFweFxufVxuXG5oNCB7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgZm9udC1zaXplOiAxOHB4XG59XG5cbmg1IHtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuaDYge1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuLmRpc3BsYXktNXtcbiAgICBmb250LXNpemU6M3JlbTtcbn1cbi5kaXNwbGF5LTZ7XG4gICAgZm9udC1zaXplOjM2cHg7XG59XG4uYm94e1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgcGFkZGluZzogMTBweDtcbn1cbmh0bWwgYm9keSB7XG4uZGx7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmRie1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxufSAgICBcbi5uby13cmFwe1xuICAgIHRkLCB0aHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG59XG4vKioqKioqKioqKioqKioqKioqKlxuQmxvY2txdW90ZVxuKioqKioqKioqKioqKioqKioqKi9cblxuaHRtbCBib2R5IGJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJHRoZW1lY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgICBwYWRkaW5nOiAxNXB4O1xufVxuXG4uY2xlYXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxub2wgbGl7XG4gICAgbWFyZ2luOiA1cHggMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKipcblBhZGRpbmdzXG4qKioqKioqKioqKioqKioqKioqL1xuaHRtbCBib2R5IHtcbi5wLTAge1xuICAgIHBhZGRpbmc6IDBweDtcbn1cblxuLnAtMTAge1xuICAgIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5wLTIwIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuXG4ucC0zMCB7XG4gICAgcGFkZGluZzogMzBweDtcbn1cblxuLnAtbC0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbn1cblxuLnAtbC0xMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4ucC1sLTIwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5wLXItMCB7XG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xufVxuXG4ucC1yLTEwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4ucC1yLTIwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4ucC1yLTMwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xufVxuXG4ucC1yLTQwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xufVxuXG4ucC10LTAge1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG59XG5cbi5wLXQtMTAge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG4ucC10LTIwIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLnAtdC0zMCB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG59XG5cbi5wLWItMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbn1cblxuLnAtYi01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuXG4ucC1iLTEwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLnAtYi0yMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cbi5wLWItMzAge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xufVxuXG4ucC1iLTQwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cbn1cblxuLyoqKioqKioqKioqKioqKioqKipcbk1hcmdpblxuKioqKioqKioqKioqKioqKioqKi9cbmh0bWwgYm9keSB7XG4ubS0wIHtcbiAgICBtYXJnaW46IDBweDtcbn1cblxuLm0tbC01IHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4ubS1sLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLm0tbC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG5cbi5tLWwtMjAge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG4ubS1sLTMwIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbn1cblxuLm0tbC00MCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG59XG5cbi5tLXItNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5tLXItMTAge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLm0tci0xNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4ubS1yLTIwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5tLXItMzAge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbn1cblxuLm0tci00MCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xufVxuXG4ubS10LTAge1xuICAgIG1hcmdpbi10b3A6IDBweDtcbn1cblxuLm0tdC01IHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5tLXQtMTAge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5tLXQtMTUge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5tLXQtMjAge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5tLXQtMzAge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi5tLXQtNDAge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5tLWItMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xufVxuXG4ubS1iLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLm0tYi0xMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLm0tYi0xNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLm0tYi0yMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm0tYi0zMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweCA7XG59XG5cbi5tLWItNDAge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG59XG5cbi8qKioqKioqKioqKioqKioqKioqXG52ZXJ0aWNhbCBhbGlnbm1lbnRcbioqKioqKioqKioqKioqKioqKiovXG5odG1sIGJvZHkge1xuLnZ0IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4udm0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi52YiB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgXG59XG59ICAgIFxuLyoqKioqKioqKioqKioqKioqKipcbk9wYWNpdHlcbioqKioqKioqKioqKioqKioqKiovXG4ub3AtNXtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG4vKioqKioqKioqKioqKioqKioqKlxuZm9udCB3ZWlnaHRcbioqKioqKioqKioqKioqKioqKiovXG5odG1sIGJvZHkge1xuLmZvbnQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmZvbnQtbm9ybWFsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uZm9udC1saWdodCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi5mb250LW1lZGl1bSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5mb250LTE2IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG59XG4uZm9udC0xNCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuLmZvbnQtMTAge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cbi5mb250LTE4IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG59XG4uZm9udC0yMCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqXG5Cb3JkZXJcbioqKioqKioqKioqKioqKioqKiovXG5odG1sIGJvZHkge1xuLmItMHtcbiAgICBib3JkZXI6bm9uZTtcbn1cbi5iLXJ7XG4gICAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAkYm9yZGVyO1xufVxuLmItbHtcbiAgICBib3JkZXItbGVmdDoxcHggc29saWQgJGJvcmRlcjtcbn1cbi5iLWJ7XG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGJvcmRlcjtcbn1cbi5iLXR7XG4gICAgYm9yZGVyLXRvcDoxcHggc29saWQgJGJvcmRlcjtcbn1cbi5iLWFsbHtcbiAgICBib3JkZXI6MXB4IHNvbGlkICRib3JkZXI7XG59XG59XG4vKioqKioqKioqKioqKioqKioqKlxuVGh1bWIgc2l6ZVxuKioqKioqKioqKioqKioqKioqKi9cblxuLnRodW1iLXNtIHtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgd2lkdGg6IDMycHg7XG59XG5cbi50aHVtYi1tZCB7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHdpZHRoOiA0OHB4O1xufVxuXG4udGh1bWItbGcge1xuICAgIGhlaWdodDogODhweDtcbiAgICB3aWR0aDogODhweDtcbn1cbi5oaWRle1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uaW1nLWNpcmNsZXtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuLnJhZGl1c3tcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuLyoqKioqKioqKioqKioqKioqKipcblRleHQgQ29sb3JzXG4qKioqKioqKioqKioqKioqKioqL1xuLnRleHQtd2hpdGUge1xuICAgIGNvbG9yOiAkd2hpdGUhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kYW5nZXIge1xuICAgIGNvbG9yOiAkZGFuZ2VyIWltcG9ydGFudDtcbn1cblxuLnRleHQtbXV0ZWQge1xuICAgIGNvbG9yOiAkbXV0ZWQhaW1wb3J0YW50O1xufVxuXG4udGV4dC13YXJuaW5nIHtcbiAgICBjb2xvcjogJHdhcm5pbmchaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgICBjb2xvcjogJHN1Y2Nlc3MhaW1wb3J0YW50O1xufVxuXG4udGV4dC1pbmZvIHtcbiAgICBjb2xvcjogJGluZm8haW1wb3J0YW50O1xufVxuXG4udGV4dC1pbnZlcnNlIHtcbiAgICBjb2xvcjogJGludmVyc2UhaW1wb3J0YW50O1xufVxuaHRtbCBib2R5IHtcbi50ZXh0LWJsdWUge1xuICAgIGNvbG9yOiAkYmx1ZTtcbn1cblxuLnRleHQtcHVycGxlIHtcbiAgICBjb2xvcjogJHB1cnBsZTtcbn1cblxuLnRleHQtcHJpbWFyeSB7XG4gICAgY29sb3I6ICRwcmltYXJ5O1xufVxuXG4udGV4dC1tZWduYSB7XG4gICAgY29sb3I6ICRtZWduYTtcbn1cblxuLnRleHQtZGFyayB7XG4gICAgY29sb3I6ICRib2R5dGV4dDtcbn1cbi50ZXh0LXRoZW1lY29sb3Ige1xuICAgIGNvbG9yOiAkdGhlbWVjb2xvcjtcbn1cbiAgICB9XG4vKioqKioqKioqKioqKioqKioqKlxuQmFja2dyb3VuZCBDb2xvcnNcbioqKioqKioqKioqKioqKioqKiovXG5cbi5iZy1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xufVxuXG4uYmctc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3MgIWltcG9ydGFudDtcbn1cblxuLmJnLWluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbmZvICFpbXBvcnRhbnQ7XG59XG5cbi5iZy13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZyAhaW1wb3J0YW50O1xufVxuXG4uYmctZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFuZ2VyICFpbXBvcnRhbnQ7XG59XG5odG1sIGJvZHkge1xuLmJnLW1lZ25hIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVnbmE7XG59XG4uYmctdGhlbWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZWNvbG9yO1xufVxuXG4uYmctaW52ZXJzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2U7XG59XG5cbi5iZy1wdXJwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XG59XG5cbi5iZy1saWdodC1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtcHJpbWFyeTtcbn1cblxuLmJnLWxpZ2h0LXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1zdWNjZXNzO1xufVxuXG4uYmctbGlnaHQtaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWluZm87XG59XG4uYmctbGlnaHQtZXh0cmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRleHRyYS1saWdodDtcbn1cblxuLmJnLWxpZ2h0LXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC13YXJuaW5nO1xufVxuXG4uYmctbGlnaHQtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZGFuZ2VyO1xufVxuXG4uYmctbGlnaHQtaW52ZXJzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWludmVyc2U7XG59XG4uYmctbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcbn1cbi5iZy13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuICAgIH1cbi8qKioqKioqKioqKioqKioqKioqXG5Sb3VuZHNcbioqKioqKioqKioqKioqKioqKiovXG4ucm91bmR7XG4gICAgbGluZS1oZWlnaHQ6NDhweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkaW5mbztcbiAgICBpbWd7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgfVxufVxuLnJvdW5kLWxne1xuICAgIGxpbmUtaGVpZ2h0OjY1cHg7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGZvbnQtc2l6ZTozMHB4O1xufVxuLnJvdW5kLnJvdW5kLWluZm97XG4gICAgYmFja2dyb3VuZDogJGluZm87XG59XG4ucm91bmQucm91bmQtd2FybmluZ3tcbiAgICBiYWNrZ3JvdW5kOiAkd2FybmluZztcbn1cbi5yb3VuZC5yb3VuZC1kYW5nZXJ7XG4gICAgYmFja2dyb3VuZDogJGRhbmdlcjtcbn1cbi5yb3VuZC5yb3VuZC1zdWNjZXNze1xuICAgIGJhY2tncm91bmQ6ICRzdWNjZXNzO1xufVxuLnJvdW5kLnJvdW5kLXByaW1hcnl7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG59XG4vKioqKioqKioqKioqKioqKioqKlxuTGFiZWxzXG4qKioqKioqKioqKioqKioqKioqL1xuXG4ubGFiZWwge1xuICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogNzUlO1xufVxuXG4ubGFiZWwtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogNjBweDtcbn1cblxuLmxhYmVsLWN1c3RvbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZ25hO1xufVxuXG4ubGFiZWwtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3M7XG59XG5cbi5sYWJlbC1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5mbztcbn1cblxuLmxhYmVsLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nO1xufVxuXG4ubGFiZWwtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFuZ2VyO1xufVxuXG4ubGFiZWwtbWVnbmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWduYTtcbn1cblxuLmxhYmVsLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xufVxuXG4ubGFiZWwtcHVycGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlO1xufVxuXG4ubGFiZWwtcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xufVxuXG4ubGFiZWwtaW52ZXJzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2U7XG59XG5cbi5sYWJlbC1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XG59XG5cbi5sYWJlbC13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG5cbi5sYWJlbC1saWdodC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtc3VjY2VzcztcbiAgICBjb2xvcjokc3VjY2Vzcztcbn1cblxuLmxhYmVsLWxpZ2h0LWluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1pbmZvO1xuICAgIGNvbG9yOiRpbmZvO1xufVxuXG4ubGFiZWwtbGlnaHQtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXdhcm5pbmc7XG4gICAgY29sb3I6JHdhcm5pbmc7XG59XG5cbi5sYWJlbC1saWdodC1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1kYW5nZXI7XG4gICAgY29sb3I6JGRhbmdlcjtcbn1cblxuLmxhYmVsLWxpZ2h0LW1lZ25hIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtbWVnbmE7XG4gICAgY29sb3I6JG1lZ25hO1xufVxuXG4ubGFiZWwtbGlnaHQtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXByaW1hcnk7XG4gICAgY29sb3I6JHByaW1hcnk7XG59XG5cbi5sYWJlbC1saWdodC1pbnZlcnNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtaW52ZXJzZTtcbiAgICBjb2xvcjokaW52ZXJzZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKipcblBhZ2luYXRpb25cbioqKioqKioqKioqKioqKioqKiovXG5cbi5wYWdpbmF0aW9uID4gbGk6Zmlyc3QtY2hpbGQgPiBhLFxuLnBhZ2luYXRpb24gPiBsaTpmaXJzdC1jaGlsZCA+IHNwYW4ge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cblxuLnBhZ2luYXRpb24gPiBsaTpsYXN0LWNoaWxkID4gYSxcbi5wYWdpbmF0aW9uID4gbGk6bGFzdC1jaGlsZCA+IHNwYW4ge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xufVxuXG4ucGFnaW5hdGlvbiA+IGxpID4gYSxcbi5wYWdpbmF0aW9uID4gbGkgPiBzcGFuIHtcbiAgICBjb2xvcjogJGRhcms7XG59XG5cbi5wYWdpbmF0aW9uID4gbGkgPiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gPiBsaSA+IHNwYW46aG92ZXIsXG4ucGFnaW5hdGlvbiA+IGxpID4gYTpmb2N1cyxcbi5wYWdpbmF0aW9uID4gbGkgPiBzcGFuOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XG59XG5cbi5wYWdpbmF0aW9uLXNwbGl0IGxpIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyBmbG9hdDogJGxmdDtcbn1cblxuLnBhZ2luYXRpb24tc3BsaXQgbGk6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ucGFnaW5hdGlvbi1zcGxpdCBsaSBhIHtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhLFxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbixcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBzcGFuOmhvdmVyLFxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYTpmb2N1cyxcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW46Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJHRoZW1lY29sb3I7XG59XG5cbi5wYWdlciBsaSA+IGEsXG4ucGFnZXIgbGkgPiBzcGFuIHtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkZGFyaztcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKlxuVGFibGUgQ2VsbFxuKioqKioqKioqKioqKioqKioqKi9cblxuLnRhYmxlLWJveCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4udGFibGUubm8tYm9yZGVye1xuICAgIHRib2R5e1xuICAgICAgICB0ZHtcbiAgICAgICAgICAgIGJvcmRlcjowcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4uY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnRhYmxlIHRkLCAudGFibGUgdGh7XG4gICAgYm9yZGVyLWNvbG9yOiR0YWJsZS1ib3JkZXI7IFxufVxuLnRhYmxlIHRoZWFkIHRoLCAudGFibGUgdGh7XG4gICAgZm9udC13ZWlnaHQ6NTAwO1xufVxuLnRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVye1xuICAgIGJhY2tncm91bmQ6JGxpZ2h0O1xufVxuXG4udi1taWRkbGV7XG4gICAgdGQsIHRoe1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuV2F2ZSBFZmZlY3RzXG4qKioqKioqKioqKioqKioqKioqL1xuXG4ud2F2ZXMtZWZmZWN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1vdXQ7XG4gICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjdzIGVhc2Utb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjdzIGVhc2Utb3V0O1xuICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC43cyBlYXNlLW91dDtcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjdzIGVhc2Utb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC43cyBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAtby10cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG4ud2F2ZXMtZWZmZWN0LndhdmVzLWxpZ2h0IHtcbiAgICAud2F2ZXMtcmlwcGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ1KTtcbiAgICB9XG59XG5cbi53YXZlcy1lZmZlY3Qud2F2ZXMtcmVkIHtcbiAgICAud2F2ZXMtcmlwcGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDQsIDY3LCA1NCwgMC43KTtcbiAgICB9XG59XG5cbi53YXZlcy1lZmZlY3Qud2F2ZXMteWVsbG93IHtcbiAgICAud2F2ZXMtcmlwcGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDIzNSwgNTksIDAuNyk7XG4gICAgfVxufVxuXG4ud2F2ZXMtZWZmZWN0LndhdmVzLW9yYW5nZSB7XG4gICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxNTIsIDAsIDAuNyk7XG4gICAgfVxufVxuXG4ud2F2ZXMtZWZmZWN0LndhdmVzLXB1cnBsZSB7XG4gICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTU2LCAzOSwgMTc2LCAwLjcpO1xuICAgIH1cbn1cblxuLndhdmVzLWVmZmVjdC53YXZlcy1ncmVlbiB7XG4gICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzYsIDE3NSwgODAsIDAuNyk7XG4gICAgfVxufVxuXG4ud2F2ZXMtZWZmZWN0LndhdmVzLXRlYWwge1xuICAgIC53YXZlcy1yaXBwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE1MCwgMTM2LCAwLjcpO1xuICAgIH1cbn1cblxuaHRtbCBib2R5IC53YXZlcy1ub3RyYW5zaXRpb24ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgLW1vei10cmFuc2l0aW9uOiBub25lO1xuICAgIC1vLXRyYW5zaXRpb246IG5vbmU7XG4gICAgLW1zLXRyYW5zaXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLndhdmVzLWNpcmNsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDIuNWVtO1xuICAgIGhlaWdodDogMi41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAvLyBtYXNrLWltYWdlOiBub25lO1xufVxuXG4ud2F2ZXMtaW5wdXQtd3JhcHBlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yZW07XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAud2F2ZXMtYnV0dG9uLWlucHV0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4ud2F2ZXMtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKkJhZGdlKi9cbi5iYWRnZXtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuLmJhZGdlLXhzIHtcbiAgICBmb250LXNpemU6IDlweDtcbn1cblxuLmJhZGdlLXhzLFxuLmJhZGdlLXNtIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMnB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTJweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTJweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTJweCk7XG59XG4uYmFkZ2Utc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3M7XG59XG5cbi5iYWRnZS1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5mbztcbn1cbi5iYWRnZS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbn1cbi5iYWRnZS13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZztcbn1cblxuLmJhZGdlLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhbmdlcjtcbn1cblxuLmJhZGdlLXB1cnBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTtcbn1cblxuLmJhZGdlLXJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbn1cblxuLmJhZGdlLWludmVyc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqXG5CdXR0b25zXG4qKioqKioqKioqKioqKioqKiovXG4uYnRue1xuICAgIHBhZGRpbmc6IDdweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgXG59XG4uYnRuLWdyb3Vwe1xuICAgIGxhYmVse1xuICAgICAgIGNvbG9yOiR3aGl0ZSFpbXBvcnRhbnQ7XG4gICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAmLmJ0bi1zZWNvbmRhcnl7XG4gICAgICAgICAgICBjb2xvcjokYm9keXRleHQhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgIH1cbn0gICAgXG4uYnRuLWxne1xuICAgIHBhZGRpbmc6Ljc1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG59XG4uYnRuLW1ke1xuICAgIHBhZGRpbmc6MTJweCA1NXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cbi5idG4tY2lyY2xle1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgXG59XG4uYnRuLWNpcmNsZS5idG4tc217XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIHBhZGRpbmc6OHB4IDEwcHg7XG4gICAgZm9udC1zaXplOjE0cHg7XG59XG4uYnRuLWNpcmNsZS5idG4tbGd7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmc6MTRweCAxNXB4O1xuICAgIGZvbnQtc2l6ZToxOHB4O1xufVxuLmJ0bi1jaXJjbGUuYnRuLXhse1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBwYWRkaW5nOjE0cHggMTVweDtcbiAgICBmb250LXNpemU6MjRweDtcbn1cbi5idG4tc217XG4gICAgcGFkZGluZzouMjVyZW0gLjVyZW07XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuLmJ0bi14c3tcbiAgICBwYWRkaW5nOi4yNXJlbSAuNXJlbTtcbiAgICBmb250LXNpemU6IDEwcHg7XG59XG4uYnV0dG9uLWxpc3QgYnV0dG9uLCAuYnV0dG9uLWxpc3QgYSB7XG4gICAgbWFyZ2luOiA1cHggMTJweCA1cHggMDtcbn1cbi5idG4tb3V0bGluZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcbn1cblxuLmJ0bi1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiA2MHB4O1xuICAgIHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIFxuICAgICYuYnRuLWxne1xuICAgICAgICBwYWRkaW5nOiAuNzVyZW0gMS41cmVtO1xuICAgIH1cbiAgICAmLmJ0bi1zbXtcbiAgICAgICAgcGFkZGluZzogLjI1cmVtIC41cmVtO1xuICAgICAgICBmb250LXNpemU6MTJweDtcbiAgICB9XG4gICAgJi5idG4teHN7XG4gICAgICAgIHBhZGRpbmc6LjI1cmVtIC41cmVtO1xuICAgICAgICBmb250LXNpemU6MTBweDtcbiAgICB9XG4gICAgJi5idG4tbWR7XG4gICAgICAgIHBhZGRpbmc6MTJweCAzNXB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxufVxuXG4uYnRuLXNlY29uZGFyeSxcbi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkIHtcbiAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1zaGFkb3c7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluO1xuICAgICY6aG92ZXJ7XG4gICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0LXNoYWRvdy1ob3ZlcjtcbiAgICAgICAgXG4gICAgfVxuICAgICYuYWN0aXZlLCAmOmZvY3Vze1xuICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1zaGFkb3ctaG92ZXI7XG4gICAgfVxufVxuXG4uYnRuLXByaW1hcnksXG4uYnRuLXByaW1hcnkuZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5O1xuICAgIGJveC1zaGFkb3c6ICRwcmltYXJ5LXNoYWRvdztcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW47XG4gICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgICAgIGJveC1zaGFkb3c6ICRwcmltYXJ5LXNoYWRvdy1ob3ZlcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnk7XG4gICAgfVxuICAgICYuYWN0aXZlLCAmOmZvY3Vze1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1kYXJrO1xuICAgICAgICBib3gtc2hhZG93OiAkcHJpbWFyeS1zaGFkb3ctaG92ZXI7XG4gICAgfVxufVxuLmJ0bi10aGVtZWNvbG9yLFxuLmJ0bi10aGVtZWNvbG9yLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGhlbWVjb2xvcjtcbiAgICBjb2xvcjokd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHRoZW1lY29sb3I7XG4gICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDogJHRoZW1lY29sb3I7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRoZW1lY29sb3I7XG4gICAgfVxuICAgICYuYWN0aXZlLCAmOmZvY3Vze1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGhlbWVjb2xvci1kYXJrO1xuICAgIH1cbiAgICBcbn1cbi5idG4tc3VjY2Vzcyxcbi5idG4tc3VjY2Vzcy5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogJHN1Y2Nlc3M7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHN1Y2Nlc3M7XG4gICAgYm94LXNoYWRvdzogJHN1Y2Nlc3Mtc2hhZG93O1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbjtcbiAgICAmOmhvdmVye1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc3VjY2VzcztcbiAgICAgICAgYm94LXNoYWRvdzogJHN1Y2Nlc3Mtc2hhZG93LWhvdmVyO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc3VjY2VzcztcbiAgICB9XG4gICAgJi5hY3RpdmUsICY6Zm9jdXN7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzdWNjZXNzLWRhcms7XG4gICAgICAgIGJveC1zaGFkb3c6ICRzdWNjZXNzLXNoYWRvdy1ob3ZlcjtcbiAgICB9XG59XG5cbi5idG4taW5mbyxcbi5idG4taW5mby5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogJGluZm87XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGluZm87XG4gICAgYm94LXNoYWRvdzogJGluZm8tc2hhZG93O1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbjtcbiAgICAmOmhvdmVye1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW5mbztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGluZm87XG4gICAgICAgIGJveC1zaGFkb3c6ICRpbmZvLXNoYWRvdy1ob3ZlcjtcbiAgICB9XG4gICAgJi5hY3RpdmUsICY6Zm9jdXN7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbmZvLWRhcms7XG4gICAgICAgIGJveC1zaGFkb3c6ICRpbmZvLXNoYWRvdy1ob3ZlcjtcbiAgICB9XG59XG5cbi5idG4td2FybmluZyxcbi5idG4td2FybmluZy5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogJHdhcm5pbmc7XG4gICAgYm94LXNoYWRvdzogJHdhcm5pbmctc2hhZG93O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR3YXJuaW5nO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbjtcbiAgICAmOmhvdmVye1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2FybmluZztcbiAgICAgICAgYm94LXNoYWRvdzogJHdhcm5pbmctc2hhZG93LWhvdmVyO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2FybmluZztcbiAgICB9XG4gICAgJi5hY3RpdmUsICY6Zm9jdXN7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3YXJuaW5nLWRhcms7XG4gICAgICAgIGJveC1zaGFkb3c6ICR3YXJuaW5nLXNoYWRvdy1ob3ZlcjtcbiAgICB9XG59XG5cbi5idG4tZGFuZ2VyLFxuLmJ0bi1kYW5nZXIuZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICRkYW5nZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGRhbmdlcjtcbiAgICBib3gtc2hhZG93OiAkZGFuZ2VyLXNoYWRvdztcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW47XG4gICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDogJGRhbmdlcjtcbiAgICAgICAgYm94LXNoYWRvdzogJGRhbmdlci1zaGFkb3ctaG92ZXI7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYW5nZXI7XG4gICAgfVxuICAgICYuYWN0aXZlLCAmOmZvY3Vze1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFuZ2VyLWRhcms7XG4gICAgICAgIGJveC1zaGFkb3c6ICRkYW5nZXItc2hhZG93LWhvdmVyO1xuICAgIH1cbn1cbi5idG4taW52ZXJzZSxcbi5idG4taW52ZXJzZS5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogJGludmVyc2U7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGludmVyc2U7XG4gICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2U7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGludmVyc2U7XG4gICAgfVxuICAgICYuYWN0aXZlLCAmOmZvY3Vze1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS1kYXJrO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cbi5idG4tcmVkLFxuLmJ0bi1yZWQuZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHJlZDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgfVxuICAgICYuYWN0aXZlLCAmOmZvY3Vze1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFuZ2VyLWRhcms7XG4gICAgfVxufVxuXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogJGRlZmF1bHQtc2hhZG93O1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0LXNoYWRvdy1ob3ZlcjtcbiAgICB9XG4gICAgJi5hY3RpdmUsICY6Zm9jdXN7XG4gICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0LXNoYWRvdy1ob3ZlcjtcbiAgICB9XG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjokcHJpbWFyeTtcbiAgICBib3gtc2hhZG93OiAkcHJpbWFyeS1zaGFkb3c7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgICAgIGJveC1zaGFkb3c6ICRwcmltYXJ5LXNoYWRvdy1ob3ZlcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiRwcmltYXJ5O1xuICAgIH1cbiAgICAmLmFjdGl2ZSwgJjpmb2N1c3tcbiAgICAgICAgYm94LXNoYWRvdzogJHByaW1hcnktc2hhZG93LWhvdmVyO1xuICAgIH1cbn1cblxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAkc3VjY2VzcztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6JHN1Y2Nlc3M7XG4gICAgYm94LXNoYWRvdzogJHN1Y2Nlc3Mtc2hhZG93O1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzdWNjZXNzO1xuICAgICAgICBib3JkZXItY29sb3I6JHN1Y2Nlc3M7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJveC1zaGFkb3c6ICRzdWNjZXNzLXNoYWRvdy1ob3ZlcjtcbiAgICB9XG4gICAgJi5hY3RpdmUsICY6Zm9jdXN7XG4gICAgICAgIGJveC1zaGFkb3c6ICRzdWNjZXNzLXNoYWRvdy1ob3ZlcjtcbiAgICB9XG59XG5cbi5idG4tb3V0bGluZS1pbmZvIHtcbiAgICBjb2xvcjogJGluZm87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiRpbmZvO1xuICAgIGJveC1zaGFkb3c6ICRpbmZvLXNoYWRvdztcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW47XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW5mbztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiRpbmZvO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OiAkaW5mby1zaGFkb3ctaG92ZXI7XG4gICAgfVxuICAgICYuYWN0aXZlLCAmOmZvY3Vze1xuICAgICAgICBib3gtc2hhZG93OiAkaW5mby1zaGFkb3ctaG92ZXI7XG4gICAgfVxufVxuXG4uYnRuLW91dGxpbmUtd2FybmluZyB7XG4gICAgY29sb3I6ICR3YXJuaW5nO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjokd2FybmluZztcbiAgICBib3gtc2hhZG93OiAkd2FybmluZy1zaGFkb3c7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdhcm5pbmc7XG4gICAgICAgIGJvcmRlci1jb2xvcjokd2FybmluZztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogJHdhcm5pbmctc2hhZG93LWhvdmVyO1xuICAgIH1cbiAgICAmLmFjdGl2ZSwgJjpmb2N1c3tcbiAgICAgICAgYm94LXNoYWRvdzogJHdhcm5pbmctc2hhZG93LWhvdmVyO1xuICAgIH1cbn1cblxuLmJ0bi1vdXRsaW5lLWRhbmdlciB7XG4gICAgY29sb3I6ICRkYW5nZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiRkYW5nZXI7XG4gICAgYm94LXNoYWRvdzogJGRhbmdlci1zaGFkb3c7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhbmdlcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiRkYW5nZXI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJveC1zaGFkb3c6ICRkYW5nZXItc2hhZG93LWhvdmVyO1xuICAgIH1cbiAgICAmLmFjdGl2ZSwgJjpmb2N1c3tcbiAgICAgICAgYm94LXNoYWRvdzogJGRhbmdlci1zaGFkb3ctaG92ZXI7XG4gICAgfVxufVxuLmJ0bi1vdXRsaW5lLXJlZCB7XG4gICAgY29sb3I6ICRyZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiRyZWQ7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICBib3JkZXItY29sb3I6JHJlZDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogJGRhbmdlci1zaGFkb3ctaG92ZXI7XG4gICAgfVxuICAgICYuYWN0aXZlLCAmOmZvY3Vze1xuICAgICAgICBib3gtc2hhZG93OiAkZGFuZ2VyLXNoYWRvdy1ob3ZlcjtcbiAgICB9XG59XG4uYnRuLW91dGxpbmUtaW52ZXJzZSB7XG4gICAgY29sb3I6ICRpbnZlcnNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjokaW52ZXJzZTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlO1xuICAgICAgICBib3JkZXItY29sb3I6JGludmVyc2U7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cyxcbi5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsXG4uYnRuLXByaW1hcnkuYWN0aXZlOmhvdmVyLFxuLmJ0bi1wcmltYXJ5LmZvY3VzOmFjdGl2ZSxcbi5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsXG4uYnRuLXByaW1hcnk6YWN0aXZlOmhvdmVyLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5LmZvY3VzLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5OmZvY3VzLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5OmhvdmVyLFxuLmJ0bi1wcmltYXJ5LmZvY3VzLFxuLmJ0bi1wcmltYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1kYXJrIDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1kYXJrO1xufVxuXG4uYnRuLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLFxuLmJ0bi1zdWNjZXNzLmFjdGl2ZTpmb2N1cyxcbi5idG4tc3VjY2Vzcy5hY3RpdmU6aG92ZXIsXG4uYnRuLXN1Y2Nlc3MuZm9jdXM6YWN0aXZlLFxuLmJ0bi1zdWNjZXNzOmFjdGl2ZTpmb2N1cyxcbi5idG4tc3VjY2VzczphY3RpdmU6aG92ZXIsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3MuZm9jdXMsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3M6Zm9jdXMsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3M6aG92ZXIsXG4uYnRuLXN1Y2Nlc3MuZm9jdXMsXG4uYnRuLXN1Y2Nlc3M6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzLWRhcms7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHN1Y2Nlc3MtZGFyaztcbn1cblxuLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cyxcbi5idG4taW5mby5hY3RpdmU6Zm9jdXMsXG4uYnRuLWluZm8uYWN0aXZlOmhvdmVyLFxuLmJ0bi1pbmZvLmZvY3VzOmFjdGl2ZSxcbi5idG4taW5mbzphY3RpdmU6Zm9jdXMsXG4uYnRuLWluZm86YWN0aXZlOmhvdmVyLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZvLmZvY3VzLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZvOmZvY3VzLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZvOmhvdmVyLFxuLmJ0bi1pbmZvLmZvY3VzLFxuLmJ0bi1pbmZvOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5mby1kYXJrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbmZvLWRhcms7XG59XG5cbi5idG4td2FybmluZy5hY3RpdmUuZm9jdXMsXG4uYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLFxuLmJ0bi13YXJuaW5nLmFjdGl2ZTpob3Zlcixcbi5idG4td2FybmluZy5mb2N1czphY3RpdmUsXG4uYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLFxuLmJ0bi13YXJuaW5nOmFjdGl2ZTpob3Zlcixcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZy5mb2N1cyxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZzpmb2N1cyxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZzpob3Zlcixcbi5idG4td2FybmluZy5mb2N1cyxcbi5idG4td2FybmluZzpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdhcm5pbmctZGFyaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkd2FybmluZy1kYXJrO1xufVxuXG4uYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMsXG4uYnRuLWRhbmdlci5hY3RpdmU6Zm9jdXMsXG4uYnRuLWRhbmdlci5hY3RpdmU6aG92ZXIsXG4uYnRuLWRhbmdlci5mb2N1czphY3RpdmUsXG4uYnRuLWRhbmdlcjphY3RpdmU6Zm9jdXMsXG4uYnRuLWRhbmdlcjphY3RpdmU6aG92ZXIsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhbmdlci5mb2N1cyxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyOmZvY3VzLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXI6aG92ZXIsXG4uYnRuLWRhbmdlci5mb2N1cyxcbi5idG4tZGFuZ2VyOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFuZ2VyLWRhcms7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGRhbmdlci1kYXJrO1xufVxuXG4uYnRuLWludmVyc2U6aG92ZXIsXG4uYnRuLWludmVyc2U6Zm9jdXMsXG4uYnRuLWludmVyc2U6YWN0aXZlLFxuLmJ0bi1pbnZlcnNlLmFjdGl2ZSxcbi5idG4taW52ZXJzZS5mb2N1cyxcbi5idG4taW52ZXJzZTphY3RpdmUsXG4uYnRuLWludmVyc2U6Zm9jdXMsXG4uYnRuLWludmVyc2U6aG92ZXIsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWludmVyc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRhcms7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGludmVyc2UtZGFyaztcbiAgIFxufVxuXG4uYnRuLXJlZDpob3Zlcixcbi5idG4tcmVkOmZvY3VzLFxuLmJ0bi1yZWQ6YWN0aXZlLFxuLmJ0bi1yZWQuYWN0aXZlLFxuLmJ0bi1yZWQuZm9jdXMsXG4uYnRuLXJlZDphY3RpdmUsXG4uYnRuLXJlZDpmb2N1cyxcbi5idG4tcmVkOmhvdmVyLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1yZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQtZGFyaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcmVkLWRhcms7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmJ1dHRvbi1ib3ggLmJ0biB7XG4gICAgbWFyZ2luOiAwIDhweCA4cHggMHB4O1xufVxuXG5cblxuLmJ0bi1sYWJlbCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAtNnB4IDEycHggLTZweCAtMTRweDtcbiAgICBwYWRkaW5nOiA3cHggMTVweDtcbn1cblxuLmJ0bi1mYWNlYm9vayB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I1OTk4O1xufVxuXG4uYnRuLXR3aXR0ZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1YWNlZTtcbn1cblxuLmJ0bi1saW5rZWRpbiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmI2O1xufVxuXG4uYnRuLWRyaWJiYmxlIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYTRjODk7XG59XG5cbi5idG4tZ29vZ2xlcGx1cyB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGQ0YjM5O1xufVxuXG4uYnRuLWluc3RhZ3JhbSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y3MjliO1xufVxuXG4uYnRuLXBpbnRlcmVzdCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2IyMDI3O1xufVxuXG4uYnRuLWRyb3Bib3gge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2VlNTtcbn1cblxuLmJ0bi1mbGlja3Ige1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDA4NDtcbn1cblxuLmJ0bi10dW1ibHIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMyNTA2ZDtcbn1cblxuLmJ0bi1za3lwZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhZmYwO1xufVxuXG4uYnRuLXlvdXR1YmUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JiMDAwMDtcbn1cblxuLmJ0bi1naXRodWIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MTUxNTtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKlxuTm90aWZ5XG4qKioqKioqKioqKioqKioqKioqL1xuXG4ubm90aWZ5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMjVweDtcbiAgICByaWdodDotN3B4O1xuICAgIC5oZWFydGJpdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgICAgcmlnaHQ6IC00cHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBib3JkZXI6IDVweCBzb2xpZCAkZGFuZ2VyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA3MHB4O1xuICAgICAgICAtbW96LWFuaW1hdGlvbjogaGVhcnRiaXQgMXMgZWFzZS1vdXQ7XG4gICAgICAgIC1tb3otYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgIC1vLWFuaW1hdGlvbjogaGVhcnRiaXQgMXMgZWFzZS1vdXQ7XG4gICAgICAgIC1vLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgICBhbmltYXRpb246IGhlYXJ0Yml0IDFzIGVhc2Utb3V0O1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgfVxuICAgIC5wb2ludCB7XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDZweDtcbiAgICAgICAgdG9wOiAtMTBweDtcbiAgICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBoZWFydGJpdCB7XG4gICAgMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIG9wYWNpdHk6IDAuMDtcbiAgICB9XG4gICAgMjUlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuMSk7XG4gICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgb3BhY2l0eTogMC4wO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBoZWFydGJpdCB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICBvcGFjaXR5OiAwLjA7XG4gICAgfVxuICAgIDI1JSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKTtcbiAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAwLjA7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuZHJvcGRvd24taXRlbVxuKioqKioqKioqKioqKioqKioqL1xuLmRyb3Bkb3duLWl0ZW17XG4gICAgcGFkZGluZzo4cHggMXJlbTtcbiAgICBjb2xvcjokYm9keXRleHQ7XG59XG4vKioqKioqKioqKioqKioqKioqKlxuQ3VzdG9tLXNlbGVjdFxuKioqKioqKioqKioqKioqKioqL1xuLmN1c3RvbS1zZWxlY3R7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2NvcnBvcmF0ZS5vZmZsaW1pdHMuY28vaW1hZ2VzL3RoZW1lL2N1c3RvbS1zZWxlY3QucG5nJykgcmlnaHQgLjc1cmVtIGNlbnRlciBuby1yZXBlYXQ7XG59XG4vKioqKioqKioqKioqKioqKioqKlxudGV4dGFyZWFcbioqKioqKioqKioqKioqKioqKi9cbnRleHRhcmVhe1xuICAgIHJlc2l6ZTogbm9uZTsgXG59XG4vKioqKioqKioqKioqKioqKioqKlxuRm9ybS1jb250cm9sXG4qKioqKioqKioqKioqKioqKiovXG4uZm9ybS1jb250cm9se1xuICAgIGNvbG9yOiAkYm9keXRleHQ7XG4gICAgbWluLWhlaWdodDogMzhweDtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xufVxuLmZvcm0tY29udHJvbC1zbXtcbiAgICBtaW4taGVpZ2h0OiAyMHB4O1xufVxuLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmZvcm0tY29udHJvbFtyZWFkb25seV17XG4gICAgb3BhY2l0eTogMC43O1xufVxuLmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3Vzfi5jdXN0b20tY29udHJvbC1pbmRpY2F0b3J7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1pbmRpY2F0b3J7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3M7XG59XG5mb3JtIGxhYmVse1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uZm9ybS1ncm91cHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuLmZvcm0taG9yaXpvbnRhbCBsYWJlbHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgXG59XG4uZm9ybS1jb250cm9sLXN0YXRpY3tcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xufVxuLmZvcm0tYm9yZGVyZWQgLmZvcm0tZ3JvdXAge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuLyoqKioqKioqKioqKioqKioqKipcbkxheW91dHNcbioqKioqKioqKioqKioqKioqKi9cblxuLypDYXJkLW5vYm9yZGVycyovXG4uY2FyZC1uby1ib3JkZXJ7XG4gICAgLmNhcmR7XG4gICAgICAgIGJvcmRlci1jb2xvcjokY2FyZC1icmQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA1cHggMjBweCByZ2JhKDAsMCwwLDAuMDUpO1xuICAgIH1cbiAgICAuc2lkZWJhci1mb290ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6JHNpZGViYXItYWx0O1xuXG4gICAgfVxuICAgIFxuICAgIC5zaWRlYmFyLW5hdj51bD5saT5hLmFjdGl2ZXtcbiAgICAgICAgYmFja2dyb3VuZDokd2hpdGU7XG4gICAgfVxufVxuLmNhcmQtbm8tYm9yZGVyIC5zaGFkb3ctbm9uZXtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuLmNhcmQtb3V0bGluZS1kYW5nZXIsIC5jYXJkLW91dGxpbmUtaW5mbywgLmNhcmQtb3V0bGluZS13YXJuaW5nLCAuY2FyZC1vdXRsaW5lLXN1Y2Nlc3MsIC5jYXJkLW91dGxpbmUtcHJpbWFyeXtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG59XG4uY2FyZC1mdWxsc2NyZWVue1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6MHB4O1xuICAgIGxlZnQ6MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuLmNhcmQgLmNhcmQtaGVhZGVye1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXItYm90dG9tOiAwcHg7XG59XG4vKioqKioqKioqKioqKioqKioqKi9cbi8qd2lkZ2V0cyAtYXBwKi9cbi8qKioqKioqKioqKioqKioqKioqL1xuLmNzcy1iYXI6YWZ0ZXJ7XG4gICAgei1pbmRleDoxO1xufVxuLmNzcy1iYXIgPiBpe1xuICAgIHotaW5kZXg6MTA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqL1xuLypzaW5nbGUgY29sdW1uKi9cbi8qKioqKioqKioqKioqKioqKioqL1xuLnNpbmdsZS1jb2x1bW57XG4gICAgLmxlZnQtc2lkZWJhcntcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnBhZ2Utd3JhcHBlcntcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICB9XG59XG5cbi5maXgtd2lkdGh7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMTcwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59IiwiJGJvZHljb2xvcjogI2ZmZjtcbiRib2R5dGV4dDogIzMzMzsgXG4kaGVhZGluZ3RleHQ6ICM0NTVhNjQ7XG5cbiR0aGVtZWNvbG9yOiAjMWU4OGU1O1xuJHRoZW1lY29sb3ItZGFyazogIzJjMmUzODtcbiR0b3BiYXI6ICMxZTg4ZTU7XG4kdGhlbWVjb2xvci1hbHQ6ICMyNmM2ZGE7XG5cbiR0aGVtZWxpbms6ICMxZTg4ZTU7XG4kdGhlbWVsaW5raG92ZXI6ICM1RDJCRkY7XG5cbiRib2R5Y29sb3I6ICNmZmY7XG4kY2FyZGNvbG9yOiAjZmZmO1xuXG4kc2lkZWJhcjogbm9uZTtcbiRzaWRlYmFyLXdoaXRlOiAjZTVlZGVmO1xuJHNpZGViYXItYWx0OiNmMmY2Zjg7XG4kc2lkZWJhci1hY3RpdmU6ICMxZTg4ZTU7XG4kc2lkZWJhci1hY3RpdmUtdGV4dDogI2ZmZjtcbiRzaWRlYmFyLXRleHQ6ICNjY2M7XG4kc2lkZWJhci1pY29uczogIzFlODhlNTtcblxuJG5hdnRhYjogIzFlODhlNTtcbiRuYXZ0YWItY29sb3I6ICNmZmY7XG5cbiRib3JkZXItY29sb3I6ICM2MDdkOGI7XG5cbiR0YWJsZS1hY2NlbnQtYmc6ICNkM2Q5ZGM7XG5cbiRkYW5nZXI6ICNmYzRiNmM7XG4kc3VjY2VzczogIzE5OWMzNTtcbiR3YXJuaW5nOiAjZmZiMjJiO1xuJHByaW1hcnk6ICMxZTg4ZTU7XG4kaW5mbzogIzFlODhlNTtcbiRpbnZlcnNlOiAjMmYzZDRhO1xuJG11dGVkOiAjOTlhYmI0O1xuJGRhcms6ICMyNjMyMzg7XG4kbGlnaHQ6ICNmMmY0Zjg7XG4kZXh0cmEtbGlnaHQ6ICNlYmYzZjU7XG5cbiRmb3JtLWNvbnRyb2w6ICNmZmY7XG4iLCIvKlxuVGVtcGxhdGUgTmFtZTogTWF0ZXJpYWwgUHJvIEFkbWluXG5BdXRob3I6IFRoZW1lZGVzaWduZXJcbkVtYWlsOiBuaXJhdmpvc2hpODdAZ21haWwuY29tXG5GaWxlOiBzY3NzXG4qL1xuQG1lZGlhIChtaW4td2lkdGg6MTYwMHB4KSB7XG4gIC5jb2wteGxnLTEsLmNvbC14bGctMTAsLmNvbC14bGctMTEsLmNvbC14bGctMTIsLmNvbC14bGctMiwuY29sLXhsZy0zLC5jb2wteGxnLTQsLmNvbC14bGctNSwuY29sLXhsZy02LC5jb2wteGxnLTcsLmNvbC14bGctOCwuY29sLXhsZy05IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5jb2wteGxnLTEyIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgIFxuICB9XG5cbiAgLmNvbC14bGctMTEge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgOTEuNjY2NjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjY2NjclO1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NyU7ICBcbiAgfVxuXG4gIC5jb2wteGxnLTEwIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDgzLjMzMzMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzMzMzJTtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMlOyAgICBcbiAgfVxuXG4gIC5jb2wteGxnLTkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNzUlO1xuICAgIC1tcy1mbGV4OiAwIDAgNzUlO1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7ICAgIFxuICB9XG5cbiAgLmNvbC14bGctOCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA2Ni42NjY2NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NjY2NyU7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY3JTsgICBcbiAgfVxuXG4gIC5jb2wteGxnLTcge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNTguMzMzMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMyU7ICAgXG4gIH1cblxuICAuY29sLXhsZy02IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyAgXG4gIH1cblxuICAuY29sLXhsZy01IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjclOyAgICBcbiAgfVxuXG4gIC5jb2wteGxnLTQge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMzMzMlO1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMyU7ICBcbiAgfVxuXG4gIC5jb2wteGxnLTMge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMjUlO1xuICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cblxuICAuY29sLXhsZy0yIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDE2LjY2NjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjclOyAgXG4gIH1cblxuICAuY29sLXhsZy0xIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDguMzMzMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMzMzMyU7XG4gICAgZmxleDogMCAwIDguMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMzMzMyU7ICBcbiAgfVxuXG4gIC5jb2wteGxnLXB1bGwtMTIge1xuICAgIHJpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmNvbC14bGctcHVsbC0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1bGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXhsZy1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7XG4gIH1cblxuICAuY29sLXhsZy1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXhsZy1wdWxsLTcge1xuICAgIHJpZ2h0OiA1OC4zMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXhsZy1wdWxsLTYge1xuICAgIHJpZ2h0OiA1MCU7XG4gIH1cblxuICAuY29sLXhsZy1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXhsZy1wdWxsLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXhsZy1wdWxsLTMge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cblxuICAuY29sLXhsZy1wdWxsLTIge1xuICAgIHJpZ2h0OiAxNi42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXhsZy1wdWxsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuY29sLXhsZy1wdXNoLTEyIHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5cbiAgLmNvbC14bGctcHVzaC0xMSB7XG4gICAgbGVmdDogOTEuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14bGctcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14bGctcHVzaC05IHtcbiAgICBsZWZ0OiA3NSU7XG4gIH1cblxuICAuY29sLXhsZy1wdXNoLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14bGctcHVzaC02IHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cblxuICAuY29sLXhsZy1wdXNoLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14bGctcHVzaC0zIHtcbiAgICBsZWZ0OiAyNSU7XG4gIH1cblxuICAuY29sLXhsZy1wdXNoLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wteGxnLXB1c2gtMSB7XG4gICAgbGVmdDogOC4zMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXhsZy1wdXNoLTAge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAub2Zmc2V0LXhsZy0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7XG4gIH1cblxuICAub2Zmc2V0LXhsZy0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQteGxnLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC14bGctOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuXG4gIC5vZmZzZXQteGxnLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LXhsZy03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC14bGctNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuXG4gIC5vZmZzZXQteGxnLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LXhsZy00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC14bGctMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuXG4gIC5vZmZzZXQteGxnLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LXhsZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LXhsZy0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uY29sLXhsZy0xLC5jb2wteGxnLTEwLC5jb2wteGxnLTExLC5jb2wteGxnLTEyLC5jb2wteGxnLTIsLmNvbC14bGctMywuY29sLXhsZy00LC5jb2wteGxnLTUsLmNvbC14bGctNiwuY29sLXhsZy03LC5jb2wteGxnLTgsLmNvbC14bGctOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5tb2RhbC14bHtcbiAgd2lkdGg6IDgwJTtcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG59IiwiLyoqKioqKioqKioqKioqKioqKipcbiBUb3BiYXJcbioqKioqKioqKioqKioqKioqKiovXG5cbi50b3BiYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1MDtcbiAgICBib3gtc2hhZG93OiA1cHggMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuXG4gICAgLnRvcC1uYXZiYXIge1xuICAgICAgICBtaW4taGVpZ2h0OiA3MHB4O1xuICAgICAgICBwYWRkaW5nOiAwcHggMTVweCAwIDA7XG5cbiAgICAgICAgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItaGVhZGVyIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2NXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAubmF2YmFyLWJyYW5kIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG5cbiAgICAgICAgICAgICAgICAubGlnaHQtbG9nbyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYiB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1uYXY+Lm5hdi1pdGVtPi5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IC43NXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IC43NXJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1uYXY+Lm5hdi1pdGVtLnNob3cge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmstdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZmlsZS1waWMge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDEycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgM3B4IDEycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICAgICAgIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bC5kcm9wZG93bi11c2VyIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICB3aWR0aDogMjcwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuXG4gICAgICAgICAgICAmLmRpdmlkZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogOXB4IDA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZHctdXNlci1ib3gge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcblxuICAgICAgICAgICAgICAgIC51LWltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnUtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhbmdlci1kYXJrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJvZHl0ZXh0O1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VhcmNoLWJveCB7XG4gICAgLmFwcC1zZWFyY2gge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgei1pbmRleDogMTEwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICBib3gtc2hhZG93OiAycHggMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBsZWZ0OiAwcHg7XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDQwcHggMzVweCAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC41cyBlYXNlLWluO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNyaC1idG4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgLy8gYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1ldGlzbWVudSB7XG4gICAgbGkge1xuICAgICAgICAuYXBwLXNlYXJjaCB7XG4gICAgICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgei1pbmRleDogMTEwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAycHggMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMnB4IDBweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggNDBweCAyNXB4IDIwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW47XG4gICAgICAgICAgICAgICAgLW8tdHJhbnNpdGlvbjogMC41cyBlYXNlLWluO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZS1pbjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hbHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zcmgtYnRuIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxNnB4O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWluaS1zaWRlYmFyIC50b3AtbmF2YmFyIHtcbiAgICAubmF2YmFyLWhlYWRlciB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4ubG9nby1jZW50ZXIge1xuICAgIC50b3AtbmF2YmFyIHtcbiAgICAgICAgLm5hdmJhci1oZWFkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuVGVtcGxhdGUgTmFtZTogTWF0ZXJpYWwgUHJvIEFkbWluXG5BdXRob3I6IFRoZW1lZGVzaWduZXJcbkVtYWlsOiBuaXJhdmpvc2hpODdAZ21haWwuY29tXG5GaWxlOiBzY3NzXG4qL1xuXG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gXG4gRm9yIGFsbCBwYWdlcyBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jbWFpbi13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmJveGVkICNtYWluLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJveC1zaGFkb3c6IDAgMCA2MHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAuc2lkZWJhci1mb290ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnBhZ2Utd3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogOTIuNXZoO1xuICAgIGJhY2tncm91bmQ6ICR0aGVtZWNvbG9yLWRhcms7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG59XG5cbi5jb250YWluZXItZmx1aWQge1xuICAgIHBhZGRpbmc6IDAgMzBweCAyNXB4IDMwcHg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqXG4gQnJlYWRjcnVtYiBhbmQgcGFnZSB0aXRsZVxuKioqKioqKioqKioqKioqKioqKi9cblxuLnBhZ2UtdGl0bGVzIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgbWFyZ2luOiAwIC0zMHB4IDMwcHg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBib3gtc2hhZG93OiAxcHggMCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxuICAgIC5icmVhZGNydW1iIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmJyZWFkY3J1bWItaXRlbSsuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU2NDlcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB0aGVtaWZ5O1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodC10ZXh0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICB9XG4gICAgICAgIC5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKipcbiBSaWdodCBzaWRlIHRvZ2dsZVxuKioqKioqKioqKioqKioqKioqKi9cblxuQGtleWZyYW1lcyByb3RhdGUge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgZnJvbSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuLnJpZ2h0LXNpZGUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5yaWdodC1zaWRlLXRvZ2dsZSBpIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAtbW96LXRyYW5zZm9ybTtcbiAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDFzO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxcztcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZTtcbiAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gICAgLW1vei1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE4cHg7XG4gICAgbGVmdDogMThweDtcbn1cblxuLnJpZ2h0LXNpZGViYXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogLTI0MHB4O1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHotaW5kZXg6IDExMDA7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHRvcDogMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2hhZG93OiA1cHggMXB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgLnJwYW5lbC10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDIwcHg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHRoZW1lY29sb3I7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuci1wYW5lbC1ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNody1yc2lkZSB7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB3aWR0aDogMjQwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jaGF0b25saW5lIHtcbiAgICBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICB9XG4gICAgbGkgYSB7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keXRleHQ7XG4gICAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuIHBhZ2UgdGl0bGVcbioqKioqKioqKioqKioqKioqKiovXG5cbi5wYWdlLXRpdGxlcyB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cblxuXG4vKioqKioqKioqKioqKioqKioqKlxuIEZvb3RlclxuKioqKioqKioqKioqKioqKioqKi9cblxuLmZvb3RlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiAkYm9keXRleHQ7XG4gICAgbGVmdDogMHB4O1xuICAgIHBhZGRpbmc6IDE3cHggMTVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqXG4gQ2FyZCB0aXRsZVxuKioqKioqKioqKioqKioqKioqKi9cblxuLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgLmNhcmQtc3VidGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBjb2xvcjogJG11dGVkO1xuICAgIH1cbn1cblxuLmNhcmQtaW52ZXJzZSAuY2FyZC1ibG9ja3F1b3RlIC5ibG9ja3F1b3RlLWZvb3Rlcixcbi5jYXJkLWludmVyc2UgLmNhcmQtbGluayxcbi5jYXJkLWludmVyc2UgLmNhcmQtc3VidGl0bGUsXG4uY2FyZC1pbnZlcnNlIC5jYXJkLXRleHQge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC42NSk7XG59XG5cbi5jYXJkLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICRzdWNjZXNzICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkc3VjY2VzcyAhaW1wb3J0YW50O1xufVxuXG4uY2FyZC1kYW5nZXIge1xuICAgIGJhY2tncm91bmQ6ICRkYW5nZXIgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICRkYW5nZXIgIWltcG9ydGFudDtcbn1cblxuLmNhcmQtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogJHdhcm5pbmcgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICR3YXJuaW5nICFpbXBvcnRhbnQ7XG59XG5cbi5jYXJkLWluZm8ge1xuICAgIGJhY2tncm91bmQ6ICRpbmZvICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5mbyAhaW1wb3J0YW50O1xufVxuXG4uY2FyZC1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcbn1cblxuLmNhcmQtZGFyayB7XG4gICAgYmFja2dyb3VuZDogJGludmVyc2UgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICRpbnZlcnNlICFpbXBvcnRhbnQ7XG59XG5cbi5jYXJkLW1lZ25hIHtcbiAgICBiYWNrZ3JvdW5kOiAkbWVnbmEgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICRtZWduYSAhaW1wb3J0YW50O1xufVxuXG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gXG4gQnV0dG9ucyBwYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJ1dHRvbi1ncm91cCB7XG4gICAgLmJ0biB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxufVxuXG4ubm8tYnV0dG9uLWdyb3VwIHtcbiAgICAuYnRuIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICB9XG59XG5cbi5idG4ge1xuICAgIC50ZXh0LWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICYuYWN0aXZlIC50ZXh0LWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgJi5hY3RpdmUgLnRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBcbkJyZWFkY3J1bWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYmMtY29sb3JlZCB7XG4gICAgLmJyZWFkY3J1bWItaXRlbSxcbiAgICAuYnJlYWRjcnVtYi1pdGVtIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJyZWFkY3J1bWItaXRlbSsuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgIH1cbn1cblxuLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFxuIFVpLWJvb3RzdHJhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbnVsLmxpc3QtaWNvbnMge1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW47XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRib2R5dGV4dDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWVjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxudWwubGlzdC1pbmxpbmUge1xuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICB9XG59XG5cbnVsLnR3by1wYXJ0IHtcbiAgICBtYXJnaW46IDBweDtcbiAgICBsaSB7XG4gICAgICAgIHdpZHRoOiA0OC44JTtcbiAgICB9XG59XG5cblxuLypBY2NvcmRpb24qL1xuXG5odG1sIGJvZHkgLmFjY29yZGlvbiB7XG4gICAgLmNhcmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFxuRmlsZSB1cGxvYWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnRuLWZpbGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgPiBpbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIH1cbn1cblxuLmZpbGVpbnB1dCB7XG4gICAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlcjtcbiAgICB9XG59XG5cbi5maWxlaW5wdXQgLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZy10b3A6IDdweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjdXJzb3I6IHRleHQ7XG59XG5cbi5maWxlaW5wdXQgLnRodW1ibmFpbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmlsZWlucHV0IC50aHVtYm5haWwgPiBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG59XG5cbi5maWxlaW5wdXQgLmJ0biB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmZpbGVpbnB1dC1leGlzdHMgLmZpbGVpbnB1dC1uZXcsXG4uZmlsZWlucHV0LW5ldyAuZmlsZWlucHV0LWV4aXN0cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZpbGVpbnB1dC1pbmxpbmUgLmZpbGVpbnB1dC1jb250cm9scyB7XG4gICAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uZmlsZWlucHV0LWZpbGVuYW1lIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZm9ybS1jb250cm9sIC5maWxlaW5wdXQtZmlsZW5hbWUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi5maWxlaW5wdXQuaW5wdXQtZ3JvdXAgPiAqIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbn1cblxuLmZpbGVpbnB1dC5pbnB1dC1ncm91cCA+IC5idG4tZmlsZSB7XG4gICAgei1pbmRleDogMTtcbn1cblxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFxud2lkZ2V0LWNoYXJ0LXBhZ2UgcHJvZHVjdCByZXZpZXdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvZHVjdC1yZXZpZXcge1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAuZm9udCxcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNvY2lhbC1wcm9maWxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogcmdiYSg3LCAxMCwgNDMsIDAuOCk7XG59XG5cbi5wcm9maWxlLXRhYixcbi5jdXN0b210YWIge1xuICAgIGxpIHtcbiAgICAgICAgYS5uYXYtbGluayB7XG4gICAgICAgICAgICBib3JkZXI6IDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keXRleHQ7XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR0aGVtZWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWVjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWVjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKipcblRhYmxlLSByZXNwb25zaXZlXG4qKioqKioqKioqKioqKioqKiovXG5cbi50YWJsZXNhdy1iYXIgLmJ0bi1ncm91cCBsYWJlbCB7XG4gICAgY29sb3I6ICRib2R5dGV4dCFpbXBvcnRhbnQ7XG59XG5cbi5kdHItZGV0YWlsc3tcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqXG5UYWJsZS0gZWRpdGFibGUgdGFibGVcbioqKioqKioqKioqKioqKioqKi9cblxuLmR0LWJvb3RzdHJhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqXG5EYXRlIHBhZ2luYXRvciBwYWdlXG4qKioqKioqKioqKioqKioqKiovXG5cbi5kcC1zZWxlY3RlZFtzdHlsZV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZWNvbG9yIWltcG9ydGFudDtcbn1cblxuLmRhdGVwYWdpbmF0b3Itc20sXG4uZGF0ZXBhZ2luYXRvci1sZyxcbi5kYXRlcGFnaW5hdG9yIHtcbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKlxuc3dlZXQgYWxlcnQgcGFnZVxuKioqKioqKioqKioqKioqKioqL1xuXG4ubW9kZWxfaW1nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKipcbkdyaWQgcGFnZVxuKioqKioqKioqKioqKioqKioqL1xuXG4uc2hvdy1ncmlkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMTVweFxufVxuXG4uc2hvdy1ncmlkIFtjbGFzc149Y29sLV0ge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRmb3JtLWJyZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XG59XG5cblxuXG5cbkBrZXlmcmFtZXMgbXlhbmltYXRpb24ge1xuICAgIGZyb20ge1xuICAgICAgICB3aWR0aDogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbXlhbmltYXRpb24ge1xuICAgIGZyb20ge1xuICAgICAgICB3aWR0aDogMDtcbiAgICB9XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKipcbmxpc3QgYW5kIG1lZGlhXG4qKioqKioqKioqKioqKioqKiovXG5cbi5saXN0LWdyb3VwIGEubGlzdC1ncm91cC1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQ7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlLFxuLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR0aGVtZWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJHRoZW1lY29sb3I7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbXV0ZWQ7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0O1xufVxuXG4ubWVkaWEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiAxNXB4O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuc2Vzc2lvbiBpZGVhbCB0aW1lb3V0IHBhZ2VcbioqKioqKioqKioqKioqKioqKi9cblxuI2lkbGV0aW1lb3V0IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGhlbWVjb2xvcjtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAkdGhlbWVjb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jaWRsZXRpbWVvdXQgYSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXdlaWdodDogYm9sZFxufVxuXG4jaWRsZXRpbWVvdXQgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKlxuRXJyb3IgUGFnZVxuKioqKioqKioqKioqKioqKioqL1xuXG4uZXJyb3ItYm94IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLmZvb3RlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgfVxufVxuXG4uZXJyb3ItYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDUlO1xuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAyMTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxMHB4O1xuICAgIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKlxuZ29vZ2xlIG1hcCBQYWdlXG4qKioqKioqKioqKioqKioqKiovXG5cbi5nbWFwcyxcbi5nbWFwcy1wYW5hcm9tYSB7XG4gICAgaGVpZ2h0OiAzMDBweDtcbn1cblxuLmdtYXBzLFxuLmdtYXBzLXBhbmFyb21hIHtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIGJhY2tncm91bmQ6ICRsaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5nbWFwcy1vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbn1cblxuLmdtYXBzLW92ZXJsYXlfYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmdtYXBzLW92ZXJsYXlfYXJyb3cuYWJvdmUge1xuICAgIGJvdHRvbTogLTE1cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDE2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDE2cHggc29saWQgJHByaW1hcnk7XG59XG5cbi5nbWFwcy1vdmVybGF5X2Fycm93LmJlbG93IHtcbiAgICB0b3A6IC0xNXB4O1xuICAgIGJvcmRlci1sZWZ0OiAxNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMTZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxNnB4IHNvbGlkICRwcmltYXJ5O1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqXG52ZWN0b3IgbWFwIFBhZ2VcbioqKioqKioqKioqKioqKioqKi9cblxuLmp2ZWN0b3JtYXAtem9vbWluLFxuLmp2ZWN0b3JtYXAtem9vbW91dCB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xufVxuXG4uanZlY3Rvcm1hcC16b29tb3V0IHtcbiAgICB0b3A6IDQwcHg7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKipcblNlYWNoIGxpc3RpbmcgUGFnZVxuKioqKioqKioqKioqKioqKioqL1xuXG4uc2VhcmNoLWxpc3Rpbmcge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW46IDBweDtcbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXI7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRpbmZvO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHN1Y2Nlc3M7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKipcbkxvZ2luIHJlZ2lzdGVyIGFuZCByZWNvdmVyIHBhc3N3b3JkIFBhZ2VcbioqKioqKioqKioqKioqKioqKi9cblxuLmxvZ2luLXJlZ2lzdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTAlIDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4ubG9naW4tYm94IHtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgLmZvb3RlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgfVxuICAgIC5zb2NpYWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG59XG5cbiNyZWNvdmVyZm9ybSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxvZ2luLXNpZGViYXIge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgLmxvZ2luLWJveCB7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKlxuRkFRcyBQYWdlXG4qKioqKioqKioqKioqKioqKiovXG5cbi5taW5pbWFsLWZhcSB7XG4gICAgLmNhcmQge1xuICAgICAgICBib3JkZXI6IDBweDtcbiAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQtYmxvY2sge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKipcblByaWNpbmcgUGFnZVxuKioqKioqKioqKioqKioqKioqL1xuXG4ucHJpY2luZy1ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmZlYXR1cmVkLXBsYW4ge1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAucHJpY2luZy1ib2R5IHtcbiAgICAgICAgcGFkZGluZzogNjBweCAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZXh0cmEtbGlnaHQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgfVxuICAgIC5wcmljZS10YWJsZS1jb250ZW50IC5wcmljZS1yb3cge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjAsIDEzMCwgMTQwLCAwLjEzKTtcbiAgICB9XG59XG5cbi5wcmljaW5nLWJvZHkge1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjAsIDEzMCwgMTQwLCAwLjEzKTtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgcmdiYSgxMjAsIDEzMCwgMTQwLCAwLjEzKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcmljaW5nLWJvZHkgaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDU2cHg7XG4gICAgbWFyZ2luOiAyMHB4IDAgMTBweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4XG4gICAgfVxufVxuXG4ucHJpY2UtdGFibGUtY29udGVudCB7XG4gICAgLnByaWNlLXJvdyB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTIwLCAxMzAsIDE0MCwgMC4xMyk7XG4gICAgfVxufVxuXG4ucHJpY2luZy1wbGFuIHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgLm5vLXBhZGRpbmcge1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgfVxufVxuXG4ucHJpY2UtbGFibGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHJpZ2h0OiAwcHg7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKipcbmNoYXQgYXBwbGljYXRpb24gUGFnZVxuKioqKioqKioqKioqKioqKioqL1xuXG4uY2hhdC1tYWluLWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLmNoYXQtbGVmdC1hc2lkZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRib3JkZXI7XG4gICAgICAgIC5vcGVuLXBhbmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAxcHgpO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMXB4IDAgM3B4IHJnYmEoMCwgMCwgMCwgLjIpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMXB4IDAgM3B4IHJnYmEoMCwgMCwgMCwgLjIpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAxMDBweCAxMDBweCAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDhweCAxNXB4IDRweDtcbiAgICAgICAgfVxuICAgICAgICAuY2hhdC1sZWZ0LWlubmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdHlsZS1ub25lIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRleHRyYS1saWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2hhdC1yaWdodC1hc2lkZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNTBweCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAuY2hhdC1saXN0IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgICAgICAgIC5jaGF0LXRleHQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2VuZC1jaGF0LWJveCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXI7XG4gICAgICAgICAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxODBweDtcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jdXN0b20tc2VuZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAuY3N0LWljb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJvZHl0ZXh0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqXG5FbWFpbCBpbmJveCBQYWdlXG4qKioqKioqKioqKioqKioqKiovXG5cbi5pbmJveC1wYW5lbCB7XG4gICAgLmxpc3QtZ3JvdXAge1xuICAgICAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYm9keXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICR0aGVtZWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gJjpob3ZlciB7fVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaW5ib3gtY2VudGVyIHtcbiAgICAudW5yZWFkIHRkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG4gICAgdGQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICAvLyAubWF4LXRleHRzIHt9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYm9keXRleHQ7XG4gICAgICAgIHBhZGRpbmc6IDJweCAwIDNweCAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICAuY2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTNweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKlxuQ29udGFjdCBhcHAgUGFnZVxuKioqKioqKioqKioqKioqKioqL1xuXG5cbi8qbGVmdC1hc2lkZS1jb2x1bW4qL1xuXG4uY29udGFjdC1wYWdlLWFzaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sZWZ0LWFzaWRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlcjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5yaWdodC1hc2lkZSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG59XG5cbi5jb250YWN0LWxpc3Qge1xuICAgIHRkIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcGFkZGluZzogMjVweCAxMHB4O1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5saXN0LXN0eWxlLW5vbmUge1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAmLmJveC1sYWJlbCBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5kaXZpZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGJvZHl0ZXh0O1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6ICRyZ3Q7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGltU2Nyb2xsQmFyIHtcbiAgICB6LWluZGV4OiAxMCFpbXBvcnRhbnQ7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2LFxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG5cblxuLyoqKioqKioqKioqKioqKioqKipcbi8qVG9wIGJhclxuKioqKioqKioqKioqKioqKioqKi9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGNvbG9yOiAkYm9keXRleHQgIWltcG9ydGFudDtcbn1cblxuLnRvcGJhciB7XG4gICAgYmFja2dyb3VuZDogJHRvcGJhcjtcbiAgICAubmF2YmFyLWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgfVxuICAgIC50b3AtbmF2YmFyIC5uYXZiYXItaGVhZGVyIC5uYXZiYXItYnJhbmQgLmRhcmstbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC50b3AtbmF2YmFyIC5uYXZiYXItaGVhZGVyIC5uYXZiYXItYnJhbmQgLmxpZ2h0LWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgfVxuICAgIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1pdGVtID4ge1xuICAgICAgICBhLm5hdi1saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqXG4vKkdlbmVyYWwgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKiovXG5hOm5vdCguYnRuKXtcbiAgICBjb2xvcjogJGJvZHl0ZXh0IWltcG9ydGFudDtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJHRoZW1lbGluayFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4udGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXJ7XG4gICAgY29sb3I6ICRzaWRlYmFyLXdoaXRlO1xufVxuXG5hLmxpbmsge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWVjb2xvciFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubW9kYWwtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHljb2xvciAhaW1wb3J0YW50O1xufVxuXG4uYmctdGhlbWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi50YWJsZXtcbiAgICBjb2xvcjogJGJvZHl0ZXh0O1xufVxuLnRhYmxlIHRoLCAudGFibGUgdGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9keWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY2NlbnQtYmcgIWltcG9ydGFudDtcbn1cblxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYSxcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW4sXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbjpob3Zlcixcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6Zm9jdXMsXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBzcGFuOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWVjb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICR0aGVtZWNvbG9yO1xufVxuXG4ucmlnaHQtc2lkZWJhciB7XG4gICAgLnJwYW5lbC10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0aGVtZWNvbG9yO1xuICAgIH1cbn1cblxuLnN0eWxpc2gtdGFibGUge1xuICAgIHRib2R5IHRyIHtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkdGhlbWVjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRleHQtdGhlbWVjb2xvciB7XG4gICAgY29sb3I6ICR0aGVtZWNvbG9yIWltcG9ydGFudDtcbn1cblxuLnByb2ZpbGUtdGFiLFxuLmN1c3RvbXRhYiB7XG4gICAgbGkge1xuICAgICAgICBhLm5hdi1saW5rIHtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHRoZW1lY29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqXG4vKkJ1dHRvbnNcbioqKioqKioqKioqKioqKioqKiovXG5cbi5idG4tdGhlbWVjb2xvcixcbi5idG4tdGhlbWVjb2xvci5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogJHRoZW1lY29sb3I7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkdGhlbWVjb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHRoZW1lY29sb3I7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRoZW1lY29sb3I7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGhlbWVjb2xvci1kYXJrO1xuICAgIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKlxuLypzaWRlYmFyIG5hdmlnYXRpb25cbioqKioqKioqKioqKioqKioqKiovXG5cbi5zaWRlYmFyLW5hdiB7XG4gICAgYmFja2dyb3VuZDogJHNpZGViYXI7XG4gICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItdGV4dCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbnMgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5uYXYtc21hbGwtY2FwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgID4gdWwgPiBsaSB7XG4gICAgICAgICYuYWN0aXZlID4gYSxcbiAgICAgICAgJi5hY3RpdmU6aG92ZXIgPiBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhci1hY3RpdmU7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICYuYWN0aXZlLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWVjb2xvci1hbHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbnM7XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWVjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmR7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmRjb2xvcjtcbn1cblxuLmNhcmQtbm8tYm9yZGVyIHtcbiAgICAuc2lkZWJhci1uYXYge1xuICAgICAgICA+IHVsID4gbGkgPmEge1xuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRoZW1lY29sb3ItYWx0O1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2LXRhYnMge1xuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2dGFiLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2dGFiO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdnRhYjtcbiAgfVxufSIsIi8qXG5UZW1wbGF0ZSBOYW1lOiBNYXRlcmlhbCBQcm8gQWRtaW5cbkF1dGhvcjogVGhlbWVkZXNpZ25lclxuRW1haWw6IG5pcmF2am9zaGk4N0BnbWFpbC5jb21cbkZpbGU6IHNjc3NcbiovXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFxuIEZvciBMYXB0b3AgJiBhYm92ZSBhbGwgKDE2NTBweCkgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhKG1pbi13aWR0aDoxNjUwcHgpIHtcbiAgICAud2lkZ2V0LWFwcC1jb2x1bW5zIHtcbiAgICAgIGNvbHVtbi1jb3VudDozOyBcbiAgICB9IFxuICAgIC5jYW1wYWlnbntcbiAgICAgICAgaGVpZ2h0OiAzNjVweCFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBcbiBGb3IgTGFwdG9wICYgYWJvdmUgYWxsICgxMzcwcHgpIFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYShtYXgtd2lkdGg6MTM3MHB4KSB7XG4gICAgLndpZGdldC1hcHAtY29sdW1ucyB7XG4gICAgICBjb2x1bW4tY291bnQ6MjtcbiAgICB9ICBcbn1cblxuXG4vKi0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFxuIFNtYWxsIERlc2t0b3AgJiBhYm92ZSBhbGwgKDEwMjRweCkgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhKG1pbi13aWR0aDoxMDI0cHgpIHtcbiAgIC5wYWdlLXdyYXBwZXJ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjI0MHB4O1xuICAgICAgICBcbiAgICB9ICBcbiAgIC5mb290ZXJ7XG4gICAgICAgICAgICBsZWZ0OiAyNDBweDtcbiAgICAgIH0gXG4gICAgXG59XG5cbkBtZWRpYShtYXgtd2lkdGg6MTAyM3B4KSB7XG4gICAucGFnZS13cmFwcGVye1xuICAgICAgICBtYXJnaW4tbGVmdDo2MHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW47XG4gICAgfSAgXG4gICAuZm9vdGVye1xuICAgICAgICAgICAgbGVmdDogNjBweDtcbiAgICAgIH1cbiAgICAud2lkZ2V0LWFwcC1jb2x1bW5zIHtcbiAgICAgICAgY29sdW1uLWNvdW50OjE7XG4gICAgfVxuICAgIC5pbmJveC1jZW50ZXIgYSB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICB9XG59XG5cblxuLyotLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBcbiBJcGFkICYgYWJvdmUgYWxsKDc2OHB4KSBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEobWluLXdpZHRoOjc2OHB4KSB7XG4gICAgLm5hdmJhci1oZWFkZXIge1xuICAgICAgICB3aWR0aDogMjQwcHg7XG4gICAgICAgIGZsZXgtc2hyaW5rOjA7XG4gICAgICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWF0ZXJpYWwtaWNvbi1saXN0LWRlbW8gLmljb25zIGRpdiB7XG4gICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgfVxuICAgLm1pbmktc2lkZWJhciB7XG4gICAgICAgIC5wYWdlLXdyYXBwZXJ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDo2MHB4O1xuICAgICAgICB9XG4gICAgICAgIC5mb290ZXJ7XG4gICAgICAgICAgICBsZWZ0OiA2MHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mbGV4LXdyYXB7XG4gICAgICAgIGZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuLyotLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBcbiBQaG9uZSBhbmQgYmVsb3cgaXBhZCg3NjdweCkgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xuICAgIFxuICAgIC8qSGVhZGVyKi9cbiAgICAudG9wYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLnRvcC1uYXZiYXIge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgIGJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgICAgICAgICBib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgID4gLm5hdi1pdGVtLnNob3cge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogLjUwcmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNTByZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubWVnYS1kcm9wZG93biB7XG4gICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIGhlaWdodDogNDgwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKlNpZGViYXIgYW5kIHdyYXBwZXIqL1xuICAgIC5taW5pLXNpZGViYXIgLnBhZ2Utd3JhcHBlcntcbiAgICAgICAgbWFyZ2luLWxlZnQ6MHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICB9XG4gICAgLmNvbW1lbnQtdGV4dHtcbiAgICAgICAgLmNvbW1lbnQtZm9vdGVye1xuICAgICAgICAgICAgLmFjdGlvbi1pY29ucyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAudnRhYnMgLnRhYnMtdmVydGljYWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgLypGb290ZXIqL1xuICAgIC5mb290ZXJ7XG4gICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIH1cbiAgICAubWF0ZXJpYWwtaWNvbi1saXN0LWRlbW8gLmljb25zIGRpdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuZXJyb3ItcGFnZXtcbiAgICAgICAgLmZvb3RlcntcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmVycm9yLWJveHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICB9XG4gICAgLmVycm9yLWJvZHl7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMCU7XG4gICAgICAgICAgIGgxe1xuICAgICAgICAgICAgICBmb250LXNpemU6MTAwcHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6MTAwcHg7XG4gICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIC5sb2dpbi1yZWdpc3RlcntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAubG9naW4tYm94e1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBcbiAgICB9XG4gICAgLmxvZ2luLXNpZGViYXJ7XG4gICAgICAgIHBhZGRpbmc6IDEwJSAwO1xuICAgICAgICAubG9naW4tYm94e1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8qVGhpcyBpcyBmb3IgY2hhdCBwYWdlKi9cbiAgICAuY2hhdC1tYWluLWJveCAuY2hhdC1sZWZ0LWFzaWRlIHtcbiAgICAgICAgbGVmdDogLTI1MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIFxuICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW47XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgJi5vcGVuLXBubCB7XG4gICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLm9wZW4tcGFuZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNoYXQtbWFpbi1ib3ggLmNoYXQtcmlnaHQtYXNpZGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLypUaW1lbGluZSovXG4gICAgdWwudGltZWxpbmU6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogNDBweDtcbiAgICB9XG4gICAgdWwudGltZWxpbmU+bGk+LnRpbWVsaW5lLXBhbmVsIHtcbiAgICAgICAgd2lkdGg6XCJjYWxjKDEwMCUgLSA5MHB4KVwiO1xuICAgICAgICB3aWR0aDpcImNhbGMoMTAwJSAtIDkwcHgpXCI7XG4gICAgICAgIHdpZHRoOlwiY2FsYygxMDAlIC0gOTBweClcIjtcbiAgICB9XG4gICAgdWwudGltZWxpbmU+bGk+LnRpbWVsaW5lLWJhZGdlIHtcbiAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgdWwudGltZWxpbmU+bGk+LnRpbWVsaW5lLXBhbmVsIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICB1bC50aW1lbGluZT5saT4udGltZWxpbmUtcGFuZWw6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IC0xNXB4O1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDE1cHg7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIH1cbiAgICB1bC50aW1lbGluZT5saT4udGltZWxpbmUtcGFuZWw6YWZ0ZXIge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogLTE0cHg7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMTRweDtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgfVxuICAgIFxuICAgIC8qQ29udGFjdCBhcHAgcGFnZSovXG4gICAgLmxlZnQtYXNpZGV7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlcjowcHg7XG4gICAgfVxuICAgIC5yaWdodC1hc2lkZXtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICB9XG4gICAgLmZsZXgtd3JhcHtcbiAgICAgICAgZmxleC13cmFwOndyYXAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jaGF0LWxpc3QgbGkgLmNoYXQtY29udGVudHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgIH1cbn0iLCIvKlxuVGVtcGxhdGUgTmFtZTogTWF0ZXJpYWwgUHJvIEFkbWluXG5BdXRob3I6IFRoZW1lZGVzaWduZXJcbkVtYWlsOiBuaXJhdmpvc2hpODdAZ21haWwuY29tXG5GaWxlOiBzY3NzXG4qL1xuXG5cbi8qKioqKioqKioqKioqKioqKioqXG5NYWluIHNpZGViYXJcbioqKioqKioqKioqKioqKioqKi9cblxuLmxlZnQtc2lkZWJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwcHg7XG4gICAgei1pbmRleDogMjA7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogJHNpZGViYXI7XG4gICAgYm94LXNoYWRvdzogMXB4IDBweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2RhaG1uMHA5MmEwZnguY2xvdWRmcm9udC5uZXQvbGl2ZS9jb21iaW5lZC9pbWFnZXMvZnJhbWV3b3JrL2xpZ2h0LXJlcGVhdGVyLmpwZycpO1xufVxuXG4uZml4LXNpZGViYXIgLmxlZnQtc2lkZWJhcntcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG59XG4vKioqKioqKioqKioqKioqKioqKlxudXNlIHByb2ZpbGUgc2VjdGlvblxuKioqKioqKioqKioqKioqKioqL1xuXG4udXNlci1wcm9maWxlIHtcbiAgICBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2RhaG1uMHA5MmEwZnguY2xvdWRmcm9udC5uZXQvbGl2ZS9jb21iaW5lZC9pbWFnZXMvZnJhbWV3b3JrL2xvZ29zL25vcm1hbC9vZmYtbGltaXRzLWxvZ28ucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOmluaXRpYWw7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgXG4gICAgLnByb2ZpbGUtaW1nIHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAzNXB4IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogMi41cyBibG93IDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogMi41cyBibG93IDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICB0b3A6IDM1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGJsb3cge1xuICAgICAgICAgICAgMCUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAwLjUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAwLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgNTAlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDAuNSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDAuNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDAuNSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDAuNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGtleWZyYW1lcyBibG93IHtcbiAgICAgICAgICAgIDAlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMC41KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMC41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDUwJSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAwLjUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAwLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAwLjUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAwLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByb2ZpbGUtdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggMzBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdG9wOjIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqXG5zaWRlYmFyIGZvb3RlclxuKioqKioqKioqKioqKioqKioqL1xuXG4uc2lkZWJhci1mb290ZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBib3R0b206IDBweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgdHJhbnNpdGlvbjowLjJzIGVhc2Utb3V0O1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlcjtcbiAgICBhIHtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzNyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKipcbnNpZGViYXIgbmF2aWdhdGlvblxuKioqKioqKioqKioqKioqKioqL1xuXG4uc2Nyb2xsLXNpZGViYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIFxufVxuXG4uY29sbGFwc2UuaW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2lkZWJhci1uYXYge1xuICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItdGV4dDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMzVweCA4cHggMTVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lY29sb3ItYWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7IFxuICAgICAgICAgICAgICAgIGxpIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDM1cHggMTBweCAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5uYXYtc21hbGwtY2FwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMTRweCAxNHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrOyBcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5uYXYtZGV2aWRlcntcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYm9yZGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgID4gdWwgPiBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhci1hY3RpdmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1hY3RpdmUtdGV4dCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWVjb2xvci1hbHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgIFxuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWVjb2xvci1hbHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaSB7XG4gICAgICAgICAgICB3aWR0aDogMjdweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbnM7XG4gICAgICAgIH1cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZWNvbG9yLWFsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNpZGViYXItbmF2IC5oYXMtYXJyb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAuNTVlbTtcbiAgICAgICAgaGVpZ2h0OiAuNTVlbTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2lkZWJhci10ZXh0O1xuICAgICAgICByaWdodDogMWVtO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gICAgICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgICAgICB0b3A6IDQ3JTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0O1xuICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0O1xuICAgIH1cbn1cblxuLnNpZGViYXItbmF2IC5hY3RpdmUgPiAuaGFzLWFycm93OjphZnRlcixcbi5zaWRlYmFyLW5hdiBsaSA+IC5oYXMtYXJyb3cuYWN0aXZlOjphZnRlcixcbi5zaWRlYmFyLW5hdiAuaGFzLWFycm93W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOjphZnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdG9wOiA0NSU7XG4gICAgd2lkdGg6IC41OGVtO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZSgwLCAtNTAlKTtcbn1cblxuXG4vKioqKioqKioqKioqKioqKlxuV2hlbiBjbGljayBvbiBzaWRlYmFyIHRvZ2dsZXIgYW5kIGFsc28gZm9yIHRhYmxldFxuKioqKioqKioqKioqKioqKiovXG5cbkBtZWRpYShtaW4td2lkdGg6NzY4cHgpIHtcbiAgICAubWluaS1zaWRlYmFyIC5zaWRlYmFyLW5hdiAjc2lkZWJhcm5hdiBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLm1pbmktc2lkZWJhciAuc2lkZWJhci1uYXYgI3NpZGViYXJuYXYgPiBsaSA+IHVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA2MHB4O1xuICAgICAgICB0b3A6IDQ1cHg7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgei1pbmRleDogMTAwMTtcbiAgICAgICAgYmFja2dyb3VuZDogJHNpZGViYXItYWx0O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcbiAgICB9XG4gICAgLm1pbmktc2lkZWJhciAuc2lkZWJhci1uYXYge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgfVxuICAgIC5taW5pLXNpZGViYXIgLnNpZGViYXItbmF2ICNzaWRlYmFybmF2ID4gbGk6aG92ZXIgPiB1bCB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICAgIC5taW5pLXNpZGViYXIgLnNpZGViYXItbmF2ICNzaWRlYmFybmF2ID4gbGk6aG92ZXIgPiB1bCxcbiAgICAubWluaS1zaWRlYmFyIC5zaWRlYmFyLW5hdiAjc2lkZWJhcm5hdiA+IGxpOmhvdmVyID4gdWwuY29sbGFwc2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLm1pbmktc2lkZWJhciAuc2lkZWJhci1uYXYgI3NpZGViYXJuYXYgPiBsaSA+IGEuaGFzLWFycm93OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm1pbmktc2lkZWJhciB7XG4gICAgICAgIC5sZWZ0LXNpZGViYXIge1xuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnVzZXItcHJvZmlsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgICAgICAgLnByb2ZpbGUtaW1ne1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCAwIDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwcHggMCAwIDZweDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgdG9wOjE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zY3JvbGwtc2lkZWJhcntcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgICAgLmhpZGUtbWVudSxcbiAgICAgICAgLm5hdi1zbWFsbC1jYXAsXG4gICAgICAgIC5zaWRlYmFyLWZvb3RlcixcbiAgICAgICAgLnVzZXItcHJvZmlsZSAucHJvZmlsZS10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLm5hdi1kZXZpZGVye1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIC5zaWRlYmFyLW5hdnsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7fVxuICAgICAgICAuc2lkZWJhci1uYXYgI3NpZGViYXJuYXYgPiBsaSA+IGF7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICB9XG4gICAgICAgIC5zaWRlYmFyLW5hdiAjc2lkZWJhcm5hdiA+IGxpOmhvdmVyID4gYSB7XG4gICAgICAgICAgICB3aWR0aDogMjYwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGhlbWVjb2xvci1hbHQ7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGhlbWVjb2xvcjtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaGlkZS1tZW51IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNpZGViYXItbmF2ICNzaWRlYmFybmF2ID4gbGkuYWN0aXZlID4gYXtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjokdGhlbWVjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbkBtZWRpYShtYXgtd2lkdGg6NzY3cHgpIHtcbiAgICAubWluaS1zaWRlYmFye1xuICAgICAgICAubGVmdC1zaWRlYmFye3Bvc2l0aW9uOiBmaXhlZDt9XG4gICAgICAgIC5sZWZ0LXNpZGViYXIsIC5zaWRlYmFyLWZvb3RlcntcbiAgICAgICAgICAgIGxlZnQ6LTI0MHB4O1xuICAgICAgICB9XG4gICAgICAgICYuc2hvdy1zaWRlYmFye1xuICAgICAgICAgICAubGVmdC1zaWRlYmFyLCAuc2lkZWJhci1mb290ZXJ7XG4gICAgICAgICAgICAgICAgbGVmdDowcHg7XG4gICAgICAgICAgICB9IFxuICAgICAgICB9XG4gICAgfVxuICAgIFxufVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBcbkZvcm0gYWRkb25zIHBhZ2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5mb3JtLWdyb3Vwe1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5kaXNhYmxlZHtcbiAgICBwb2ludGVyLWV2ZW50czpub25lXG59XG4vKkJvb3RzdHJhcCBzZWxlY3QqL1xuXG4uYm9vdHN0cmFwLXNlbGVjdDpub3QoW2NsYXNzKj1jb2wtXSk6bm90KFtjbGFzcyo9Zm9ybS1jb250cm9sXSk6bm90KC5pbnB1dC1ncm91cC1idG4pIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmJvb3RzdHJhcC1zZWxlY3Qge1xuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAyMHB4O1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG4gICAgICAgICAgICBjb2xvcjogJGJvZHl0ZXh0O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJvb3RzdHJhcC10b3VjaHNwaW4gLmlucHV0LWdyb3VwLWJ0bi12ZXJ0aWNhbD4uYnRuIHtcbiAgICBwYWRkaW5nOiA5cHggMTBweDtcbn1cblxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFxuRm9ybSBNYXRlcmlhbCBwYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKk1hdGVyaWFsIGlucHV0cyovXG5cbi5mb3JtLW1hdGVyaWFsIC5mb3JtLWdyb3VwIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZm9ybS1tYXRlcmlhbCAuZm9ybS1jb250cm9sIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b20sIGNlbnRlciBjYWxjKDEwMCUgLSAxcHgpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwIDJweCwgMTAwJSAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDBzIGVhc2Utb3V0IDBzO1xufVxuXG4uZm9ybS1tYXRlcmlhbCAuZm9ybS1jb250cm9sLFxuLmZvcm0tbWF0ZXJpYWwgLmZvcm0tY29udHJvbC5mb2N1cyxcbi5mb3JtLW1hdGVyaWFsIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkdGhlbWVjb2xvciwgJHRoZW1lY29sb3IpLCBsaW5lYXItZ3JhZGllbnQoJGZvcm0tYnJkLCAkZm9ybS1icmQpO1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBmbG9hdDogbm9uZTtcbn1cblxuLmZvcm0tbWF0ZXJpYWwgLmZvcm0tY29udHJvbC5mb2N1cyxcbi5mb3JtLW1hdGVyaWFsIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAycHgsIDEwMCUgMXB4O1xuICAgIG91dGxpbmU6IDAgbm9uZTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jb250cm9sO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJvZHljb2xvciwgMTApO1xuICAgICAgICBjb2xvcjogJGJvZHl0ZXh0O1xuICAgIH1cbn1cblxuLmZvcm0tY29udHJvbDpkaXNhYmxlZCxcbi5mb3JtLWNvbnRyb2xbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWVjb2xvci1kYXJrO1xufVxuXG4uZm9ybS1jb250cm9sLWxpbmUgLmZvcm0tZ3JvdXAge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mb3JtLWNvbnRyb2wtbGluZSAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXI6IDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRmb3JtLWJyZDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRoZW1lY29sb3I7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKi9cblxuXG4vKkZsb2F0aW5nIExhYmVsKi9cblxuXG4vKioqKioqKioqKioqKioqKioqKi9cblxuLmZsb2F0aW5nLWxhYmVscyAuZm9ybS1ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmxvYXRpbmctbGFiZWxzIC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keWZvbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZm9ybS1icmQ7XG59XG5cbi5mbG9hdGluZy1sYWJlbHMgc2VsZWN0LmZvcm0tY29udHJvbD5vcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmZsb2F0aW5nLWxhYmVscyAuaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGFuZ2VyO1xufVxuXG4uZmxvYXRpbmctbGFiZWxzIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdhcm5pbmc7XG59XG5cbi5mbG9hdGluZy1sYWJlbHMgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc3VjY2Vzcztcbn1cblxuLmZsb2F0aW5nLWxhYmVscyAuZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmZsb2F0aW5nLWxhYmVscyBsYWJlbCB7XG4gICAgY29sb3I6ICRib2R5dGV4dDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIHRvcDogNXB4O1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZSBhbGw7XG4gICAgLW1vei10cmFuc2l0aW9uOiAwLjJzIGVhc2UgYWxsO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZSBhbGw7XG59XG5cbi5mbG9hdGluZy1sYWJlbHMgLmZvcm0tY29udHJvbDpmb2N1c35sYWJlbCxcbi5mbG9hdGluZy1sYWJlbHMgLmZvcm0tY29udHJvbDp2YWxpZH5sYWJlbCB7XG4gICAgdG9wOiAtMjBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICRkYXJrO1xufVxuXG4uZmxvYXRpbmctbGFiZWxzIC5iYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZsb2F0aW5nLWxhYmVscyAuYmFyOmJlZm9yZSxcbi5mbG9hdGluZy1sYWJlbHMgLmJhcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDA7XG4gICAgYm90dG9tOiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICR0aGVtZWNvbG9yO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZSBhbGw7XG4gICAgLW1vei10cmFuc2l0aW9uOiAwLjJzIGVhc2UgYWxsO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZSBhbGw7XG59XG5cbi5mbG9hdGluZy1sYWJlbHMgLmJhcjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbn1cblxuLmZsb2F0aW5nLWxhYmVscyAuYmFyOmFmdGVyIHtcbiAgICByaWdodDogNTAlO1xufVxuXG4uZmxvYXRpbmctbGFiZWxzIC5mb3JtLWNvbnRyb2w6Zm9jdXN+LmJhcjpiZWZvcmUsXG4uZmxvYXRpbmctbGFiZWxzIC5mb3JtLWNvbnRyb2w6Zm9jdXN+LmJhcjphZnRlciB7XG4gICAgd2lkdGg6IDUwJTtcbn1cblxuLmZsb2F0aW5nLWxhYmVscyAuaGlnaGxpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiA2MCU7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIHRvcDogMjUlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xufVxuXG4uZmxvYXRpbmctbGFiZWxzIC5pbnB1dC1sZ35sYWJlbCxcbi5mbG9hdGluZy1sYWJlbHMgLmlucHV0LWxnIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG59XG5cbi5mbG9hdGluZy1sYWJlbHMgLmlucHV0LXNtfmxhYmVsLFxuLmZsb2F0aW5nLWxhYmVscyAuaW5wdXQtc20ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmhhcy13YXJuaW5nIC5iYXI6YmVmb3JlLFxuLmhhcy13YXJuaW5nIC5iYXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICR3YXJuaW5nO1xufVxuXG4uaGFzLXN1Y2Nlc3MgLmJhcjpiZWZvcmUsXG4uaGFzLXN1Y2Nlc3MgLmJhcjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHN1Y2Nlc3M7XG59XG5cbi5oYXMtZXJyb3IgLmJhcjpiZWZvcmUsXG4uaGFzLWVycm9yIC5iYXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRkYW5nZXI7XG59XG5cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sOmZvY3VzfmxhYmVsLFxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2w6dmFsaWR+bGFiZWwge1xuICAgIGNvbG9yOiAkd2FybmluZztcbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6Zm9jdXN+bGFiZWwsXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbDp2YWxpZH5sYWJlbCB7XG4gICAgY29sb3I6ICRzdWNjZXNzO1xufVxuXG4uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2w6Zm9jdXN+bGFiZWwsXG4uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2w6dmFsaWR+bGFiZWwge1xuICAgIGNvbG9yOiAkZGFuZ2VyO1xufVxuXG4uaGFzLWZlZWRiYWNrIGxhYmVsfi50LTAge1xuICAgIHRvcDogMDtcbn1cblxuLmZvcm0tZ3JvdXAuZXJyb3IgaW5wdXQsXG4uZm9ybS1ncm91cC5lcnJvciBzZWxlY3QsXG4uZm9ybS1ncm91cC5lcnJvciB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGRhbmdlcjtcbn1cblxuLmZvcm0tZ3JvdXAudmFsaWRhdGUgaW5wdXQsXG4uZm9ybS1ncm91cC52YWxpZGF0ZSBzZWxlY3QsXG4uZm9ybS1ncm91cC52YWxpZGF0ZSB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHN1Y2Nlc3M7XG59XG5cbi5mb3JtLWdyb3VwLmVycm9yIC5oZWxwLWJsb2NrIHtcbiAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgY29sb3I6ICRkYW5nZXI7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0tZ3JvdXAuaXNzdWUgLmhlbHAtYmxvY2sge1xuICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBjb2xvcjogJHdhcm5pbmc7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHtcbiAgICAuc2VsZWN0MTItcmVzdWx0c19fb3B0aW9ucyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHljb2xvcjtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuXG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgICAgICAgY29sb3I6ICRib2R5dGV4dDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1kcm9wZG93biB7XG4gICAgICAgIGNvbG9yOiAkYm9keXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5Y29sb3I7XG4gICAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqXG5Gb3JtIERyb3B6b25lXG4qKioqKioqKioqKioqKioqKiovXG5cbi5kcm9wem9uZSB7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICRmb3JtLWJyZDtcblxuICAgIC5kei1tZXNzYWdlIHtcbiAgICAgICAgcGFkZGluZzogNSUgMDtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqXG5Gb3JtIFBpY2tlcnNcbioqKioqKioqKioqKioqKioqKi9cblxuLmFzQ29sb3JQaWNrZXItZHJvcGRvd24ge1xuICAgIG1heC13aWR0aDogMjYwcHg7XG59XG5cbi5hc0NvbG9yUGlja2VyLXRyaWdnZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0zNXB4O1xuICAgIGhlaWdodDogMzhweDtcbiAgICB3aWR0aDogMzdweDtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5hc0NvbG9yUGlja2VyLWNsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICByaWdodDogMTBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbnRhYmxlIHRoIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uZGF0ZXJhbmdlcGlja2VyIHRkLmFjdGl2ZSxcbi5kYXRlcmFuZ2VwaWNrZXIgdGQuYWN0aXZlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWVjb2xvcjtcbn1cblxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXksXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR0aGVtZWNvbG9yO1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5kYXRlcGlja2VyIHRkLFxuLmRhdGVwaWNrZXIgdGgge1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuRm9ybSBzdW1tZXJub3RlXG4qKioqKioqKioqKioqKioqKiovXG5cbi5ub3RlLXBvcG92ZXIsXG4ubm90ZS1pY29uLWNhcmV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZvcm0tYnJkO1xuXG4gICAgLnBhbmVsLWhlYWRpbmcge1xuICAgICAgICBwYWRkaW5nOiA2cHggMTBweCAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlcjtcbiAgICB9XG59XG5cbi5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuIiwiLnBhZ2luYXRpb257XG4gICAgLnBhZ2UtaXRlbXtcbiAgICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWVjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWN0aXZle1xuICAgICAgICBhe1xuICAgICAgICAgICAgY29sb3I6ICRib2R5Y29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRoZW1lY29sb3ItYWx0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWVjb2xvci1hbHQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKioqKioqKioqKioqKioqKioqKlxuV2F2ZSBFZmZlY3RzXG4qKioqKioqKioqKioqKioqKioqL1xuXG4ud2F2ZXMtZWZmZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogMTtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1vdXQ7XG5cbiAgLndhdmVzLXJpcHBsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuN3MgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC43cyBlYXNlLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC43cyBlYXNlLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuN3MgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuN3MgZWFzZS1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYud2F2ZXMtbGlnaHQgLndhdmVzLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ1KTtcbiAgfVxuXG4gICYud2F2ZXMtcmVkIC53YXZlcy1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ0LCA2NywgNTQsIDAuNyk7XG4gIH1cblxuICAmLndhdmVzLXllbGxvdyAud2F2ZXMtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjM1LCA1OSwgMC43KTtcbiAgfVxuXG4gICYud2F2ZXMtb3JhbmdlIC53YXZlcy1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxNTIsIDAsIDAuNyk7XG4gIH1cblxuICAmLndhdmVzLXB1cnBsZSAud2F2ZXMtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1NiwgMzksIDE3NiwgMC43KTtcbiAgfVxuXG4gICYud2F2ZXMtZ3JlZW4gLndhdmVzLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3NiwgMTc1LCA4MCwgMC43KTtcbiAgfVxuXG4gICYud2F2ZXMtdGVhbCAud2F2ZXMtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE1MCwgMTM2LCAwLjcpO1xuICB9XG59XG5cbmh0bWwgYm9keSAud2F2ZXMtbm90cmFuc2l0aW9uIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICAtbW96LXRyYW5zaXRpb246IG5vbmU7XG4gIC1vLXRyYW5zaXRpb246IG5vbmU7XG4gIC1tcy10cmFuc2l0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ud2F2ZXMtY2lyY2xlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMi41ZW07XG4gIGhlaWdodDogMi41ZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ud2F2ZXMtaW5wdXQtd3JhcHBlciB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXG4gIC53YXZlcy1idXR0b24taW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG5cbi53YXZlcy1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxvdyB7XG4gIDAlIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDAuNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDAuNSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAwLjUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAwLjUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDAuNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDAuNSk7XG4gIH1cbn1cblxuXG5Aa2V5ZnJhbWVzIGJsb3cge1xuICAwJSB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAwLjUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAwLjUpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMC41KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMC41KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAwLjUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAwLjUpO1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqXG4gUmlnaHQgc2lkZSB0b2dnbGVcbioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuXG5ALW1vei1rZXlmcmFtZXMgcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn0iXSwic291cmNlUm9vdCI6IiJ9*/