body.bootstrap {
  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; }

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

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

.bootstrap html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

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

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

.bootstrap [tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important; }

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

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

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

.bootstrap abbr[title],
.bootstrap abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none; }

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

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

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

.bootstrap dt {
  font-weight: 700; }

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

.bootstrap blockquote {
  margin: 0 0 1rem; }

.bootstrap b,
.bootstrap strong {
  font-weight: bolder; }

.bootstrap small {
  font-size: 80%; }

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

.bootstrap sub {
  bottom: -.25em; }

.bootstrap sup {
  top: -.5em; }

.bootstrap a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent; }
  .bootstrap a:hover {
    color: #0056b3;
    text-decoration: underline; }

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

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

.bootstrap pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar; }

.bootstrap figure {
  margin: 0 0 1rem; }

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

.bootstrap svg {
  overflow: hidden;
  vertical-align: middle; }

.bootstrap table {
  border-collapse: collapse; }

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

.bootstrap th {
  text-align: inherit;
  text-align: -webkit-match-parent; }

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

.bootstrap button {
  border-radius: 0; }

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

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

.bootstrap button,
.bootstrap input {
  overflow: visible; }

.bootstrap button,
.bootstrap select {
  text-transform: none; }

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

.bootstrap select {
  word-wrap: normal; }

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

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

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

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

.bootstrap textarea {
  overflow: auto;
  resize: vertical; }

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

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

.bootstrap progress {
  vertical-align: baseline; }

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

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

.bootstrap [type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

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

.bootstrap output {
  display: inline-block; }

.bootstrap summary {
  display: list-item;
  cursor: pointer; }

.bootstrap template {
  display: none; }

.bootstrap [hidden] {
  display: none !important; }

.bootstrap h1, .bootstrap h2, .bootstrap h3, .bootstrap h4, .bootstrap h5, .bootstrap h6,
.bootstrap .h1, .bootstrap .h2, .bootstrap .h3, .bootstrap .h4, .bootstrap .h5, .bootstrap .h6 {
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .list-inline-item {
  display: inline-block; }
  .bootstrap .list-inline-item:not(:last-child) {
    margin-right: 0.5rem; }

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

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

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

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

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

.bootstrap .figure {
  display: inline-block; }

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

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

.bootstrap code {
  font-size: 87.5%;
  color: #e83e8c;
  word-wrap: break-word; }
  a > .bootstrap code {
    color: inherit; }

.bootstrap kbd {
  padding: 0.2rem 0.4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #212529;
  border-radius: 0.2rem; }
  .bootstrap kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: 700; }

.bootstrap pre {
  display: block;
  font-size: 87.5%;
  color: #212529; }
  .bootstrap pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal; }

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

.bootstrap .container,
.bootstrap .container-fluid,
.bootstrap .container-sm,
.bootstrap .container-md,
.bootstrap .container-lg,
.bootstrap .container-xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .order-first {
  order: -1; }

.bootstrap .order-last {
  order: 13; }

.bootstrap .order-0 {
  order: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .table {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529; }
  .bootstrap .table th,
  .bootstrap .table td {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #dee2e6; }
  .bootstrap .table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #dee2e6; }
  .bootstrap .table tbody + tbody {
    border-top: 2px solid #dee2e6; }

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

.bootstrap .table-bordered {
  border: 1px solid #dee2e6; }
  .bootstrap .table-bordered th,
  .bootstrap .table-bordered td {
    border: 1px solid #dee2e6; }
  .bootstrap .table-bordered thead th,
  .bootstrap .table-bordered thead td {
    border-bottom-width: 2px; }

.bootstrap .table-borderless th,
.bootstrap .table-borderless td,
.bootstrap .table-borderless thead th,
.bootstrap .table-borderless tbody + tbody {
  border: 0; }

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

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

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

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

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

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

.bootstrap .table-secondary th,
.bootstrap .table-secondary td,
.bootstrap .table-secondary thead th,
.bootstrap .table-secondary tbody + tbody {
  border-color: #b3b7bb; }

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

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

.bootstrap .table-success th,
.bootstrap .table-success td,
.bootstrap .table-success thead th,
.bootstrap .table-success tbody + tbody {
  border-color: #8fd19e; }

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

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

.bootstrap .table-info th,
.bootstrap .table-info td,
.bootstrap .table-info thead th,
.bootstrap .table-info tbody + tbody {
  border-color: #86cfda; }

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

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

.bootstrap .table-warning th,
.bootstrap .table-warning td,
.bootstrap .table-warning thead th,
.bootstrap .table-warning tbody + tbody {
  border-color: #ffdf7e; }

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

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

.bootstrap .table-danger th,
.bootstrap .table-danger td,
.bootstrap .table-danger thead th,
.bootstrap .table-danger tbody + tbody {
  border-color: #ed969e; }

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

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

.bootstrap .table-light th,
.bootstrap .table-light td,
.bootstrap .table-light thead th,
.bootstrap .table-light tbody + tbody {
  border-color: #fbfcfc; }

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

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

.bootstrap .table-dark th,
.bootstrap .table-dark td,
.bootstrap .table-dark thead th,
.bootstrap .table-dark tbody + tbody {
  border-color: #95999c; }

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

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

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

.bootstrap .table .thead-dark th {
  color: #fff;
  background-color: #343a40;
  border-color: #454d55; }

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

.bootstrap .table-dark {
  color: #fff;
  background-color: #343a40; }
  .bootstrap .table-dark th,
  .bootstrap .table-dark td,
  .bootstrap .table-dark thead th {
    border-color: #454d55; }
  .bootstrap .table-dark.table-bordered {
    border: 0; }
  .bootstrap .table-dark.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05); }
  .bootstrap .table-dark.table-hover tbody tr:hover {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.075); }

@media (max-width: 575.98px) {
  .bootstrap .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .bootstrap .table-responsive-sm > .table-bordered {
      border: 0; } }

@media (max-width: 767.98px) {
  .bootstrap .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .bootstrap .table-responsive-md > .table-bordered {
      border: 0; } }

@media (max-width: 991.98px) {
  .bootstrap .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .bootstrap .table-responsive-lg > .table-bordered {
      border: 0; } }

@media (max-width: 1199.98px) {
  .bootstrap .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .bootstrap .table-responsive-xl > .table-bordered {
      border: 0; } }

.bootstrap .table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }
  .bootstrap .table-responsive > .table-bordered {
    border: 0; }

.bootstrap .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) {
    .bootstrap .form-control {
      transition: none; } }
  .bootstrap .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .bootstrap .form-control:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #495057; }
  .bootstrap .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); }
  .bootstrap .form-control::-webkit-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap .form-control::-moz-placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap .form-control::-ms-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap .form-control::placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap .form-control:disabled, .bootstrap .form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1; }

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

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

.bootstrap .form-control-file,
.bootstrap .form-control-range {
  display: block;
  width: 100%; }

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

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

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

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

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

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

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

.bootstrap textarea.form-control {
  height: auto; }

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

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

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

.bootstrap .form-check {
  position: relative;
  display: block;
  padding-left: 1.25rem; }

.bootstrap .form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem; }
  .bootstrap .form-check-input[disabled] ~ .form-check-label,
  .bootstrap .form-check-input:disabled ~ .form-check-label {
    color: #6c757d; }

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

.bootstrap .form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem; }
  .bootstrap .form-check-inline .form-check-input {
    position: static;
    margin-top: 0;
    margin-right: 0.3125rem;
    margin-left: 0; }

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

.bootstrap .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 > .bootstrap .valid-tooltip,
  .form-row > [class*="col-"] > .bootstrap .valid-tooltip {
    left: 5px; }

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

.bootstrap .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); }
  .bootstrap .form-control.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

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

.bootstrap .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; }
  .bootstrap .custom-select.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

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

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

.bootstrap .custom-control-input.is-valid ~ .custom-control-label {
  color: #28a745; }
  .bootstrap .custom-control-input.is-valid ~ .custom-control-label::before {
    border-color: #28a745; }

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

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

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

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

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

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

.bootstrap .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 > .bootstrap .invalid-tooltip,
  .form-row > [class*="col-"] > .bootstrap .invalid-tooltip {
    left: 5px; }

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

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

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

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

.bootstrap .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545; }

.bootstrap .form-check-input.is-invalid ~ .invalid-feedback,
.bootstrap .form-check-input.is-invalid ~ .invalid-tooltip {
  display: block; }

.bootstrap .custom-control-input.is-invalid ~ .custom-control-label {
  color: #dc3545; }
  .bootstrap .custom-control-input.is-invalid ~ .custom-control-label::before {
    border-color: #dc3545; }

.bootstrap .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #e4606d;
  background-color: #e4606d; }

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

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

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

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

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

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

.bootstrap .was-validated .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 > .bootstrap .was-validated .valid-tooltip,
  .form-row > [class*="col-"] > .bootstrap .was-validated .valid-tooltip {
    left: 5px; }

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

.bootstrap .was-validated .form-control:valid, .bootstrap .was-validated .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); }
  .bootstrap .was-validated .form-control:valid:focus, .bootstrap .was-validated .form-control.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

.bootstrap .was-validated textarea.form-control:valid, .bootstrap .was-validated 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); }

.bootstrap .was-validated .custom-select:valid, .bootstrap .was-validated .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; }
  .bootstrap .was-validated .custom-select:valid:focus, .bootstrap .was-validated .custom-select.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

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

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

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

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

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

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

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

.bootstrap .was-validated .custom-file-input:valid:focus ~ .custom-file-label, .bootstrap .was-validated .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); }

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

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

.bootstrap .was-validated .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 > .bootstrap .was-validated .invalid-tooltip,
  .form-row > [class*="col-"] > .bootstrap .was-validated .invalid-tooltip {
    left: 5px; }

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

.bootstrap .was-validated .form-control:invalid, .bootstrap .was-validated .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); }
  .bootstrap .was-validated .form-control:invalid:focus, .bootstrap .was-validated .form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

.bootstrap .was-validated textarea.form-control:invalid, .bootstrap .was-validated 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); }

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

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

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

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

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

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

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

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

.bootstrap .was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .bootstrap .was-validated .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); }

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

.bootstrap .btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          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) {
    .bootstrap .btn {
      transition: none; } }
  .bootstrap .btn:hover {
    color: #212529;
    text-decoration: none; }
  .bootstrap .btn:focus, .bootstrap .btn.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .bootstrap .btn.disabled, .bootstrap .btn:disabled {
    opacity: 0.65; }
  .bootstrap .btn:not(:disabled):not(.disabled) {
    cursor: pointer; }

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

.bootstrap .btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff; }
  .bootstrap .btn-primary:hover {
    color: #fff;
    background-color: #0069d9;
    border-color: #0062cc; }
  .bootstrap .btn-primary:focus, .bootstrap .btn-primary.focus {
    color: #fff;
    background-color: #0069d9;
    border-color: #0062cc;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }
  .bootstrap .btn-primary.disabled, .bootstrap .btn-primary:disabled {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
  .bootstrap .btn-primary:not(:disabled):not(.disabled):active, .bootstrap .btn-primary:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #0062cc;
    border-color: #005cbf; }
    .bootstrap .btn-primary:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-primary:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-primary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }

.bootstrap .btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d; }
  .bootstrap .btn-secondary:hover {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62; }
  .bootstrap .btn-secondary:focus, .bootstrap .btn-secondary.focus {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62;
    box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }
  .bootstrap .btn-secondary.disabled, .bootstrap .btn-secondary:disabled {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
  .bootstrap .btn-secondary:not(:disabled):not(.disabled):active, .bootstrap .btn-secondary:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: #545b62;
    border-color: #4e555b; }
    .bootstrap .btn-secondary:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-secondary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }

.bootstrap .btn-success {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745; }
  .bootstrap .btn-success:hover {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34; }
  .bootstrap .btn-success:focus, .bootstrap .btn-success.focus {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34;
    box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }
  .bootstrap .btn-success.disabled, .bootstrap .btn-success:disabled {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
  .bootstrap .btn-success:not(:disabled):not(.disabled):active, .bootstrap .btn-success:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #1e7e34;
    border-color: #1c7430; }
    .bootstrap .btn-success:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-success:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-success.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }

.bootstrap .btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8; }
  .bootstrap .btn-info:hover {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b; }
  .bootstrap .btn-info:focus, .bootstrap .btn-info.focus {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b;
    box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }
  .bootstrap .btn-info.disabled, .bootstrap .btn-info:disabled {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
  .bootstrap .btn-info:not(:disabled):not(.disabled):active, .bootstrap .btn-info:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #117a8b;
    border-color: #10707f; }
    .bootstrap .btn-info:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-info:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-info.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }

.bootstrap .btn-warning {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107; }
  .bootstrap .btn-warning:hover {
    color: #212529;
    background-color: #e0a800;
    border-color: #d39e00; }
  .bootstrap .btn-warning:focus, .bootstrap .btn-warning.focus {
    color: #212529;
    background-color: #e0a800;
    border-color: #d39e00;
    box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }
  .bootstrap .btn-warning.disabled, .bootstrap .btn-warning:disabled {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
  .bootstrap .btn-warning:not(:disabled):not(.disabled):active, .bootstrap .btn-warning:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-warning.dropdown-toggle {
    color: #212529;
    background-color: #d39e00;
    border-color: #c69500; }
    .bootstrap .btn-warning:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-warning:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-warning.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }

.bootstrap .btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545; }
  .bootstrap .btn-danger:hover {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130; }
  .bootstrap .btn-danger:focus, .bootstrap .btn-danger.focus {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130;
    box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }
  .bootstrap .btn-danger.disabled, .bootstrap .btn-danger:disabled {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
  .bootstrap .btn-danger:not(:disabled):not(.disabled):active, .bootstrap .btn-danger:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #bd2130;
    border-color: #b21f2d; }
    .bootstrap .btn-danger:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-danger:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-danger.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }

.bootstrap .btn-light {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa; }
  .bootstrap .btn-light:hover {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #dae0e5; }
  .bootstrap .btn-light:focus, .bootstrap .btn-light.focus {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #dae0e5;
    box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }
  .bootstrap .btn-light.disabled, .bootstrap .btn-light:disabled {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
  .bootstrap .btn-light:not(:disabled):not(.disabled):active, .bootstrap .btn-light:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-light.dropdown-toggle {
    color: #212529;
    background-color: #dae0e5;
    border-color: #d3d9df; }
    .bootstrap .btn-light:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-light:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-light.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }

.bootstrap .btn-dark {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40; }
  .bootstrap .btn-dark:hover {
    color: #fff;
    background-color: #23272b;
    border-color: #1d2124; }
  .bootstrap .btn-dark:focus, .bootstrap .btn-dark.focus {
    color: #fff;
    background-color: #23272b;
    border-color: #1d2124;
    box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }
  .bootstrap .btn-dark.disabled, .bootstrap .btn-dark:disabled {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
  .bootstrap .btn-dark:not(:disabled):not(.disabled):active, .bootstrap .btn-dark:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-dark.dropdown-toggle {
    color: #fff;
    background-color: #1d2124;
    border-color: #171a1d; }
    .bootstrap .btn-dark:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-dark:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-dark.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }

.bootstrap .btn-outline-primary {
  color: #007bff;
  border-color: #007bff; }
  .bootstrap .btn-outline-primary:hover {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
  .bootstrap .btn-outline-primary:focus, .bootstrap .btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }
  .bootstrap .btn-outline-primary.disabled, .bootstrap .btn-outline-primary:disabled {
    color: #007bff;
    background-color: transparent; }
  .bootstrap .btn-outline-primary:not(:disabled):not(.disabled):active, .bootstrap .btn-outline-primary:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
    .bootstrap .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-outline-primary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }

.bootstrap .btn-outline-secondary {
  color: #6c757d;
  border-color: #6c757d; }
  .bootstrap .btn-outline-secondary:hover {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
  .bootstrap .btn-outline-secondary:focus, .bootstrap .btn-outline-secondary.focus {
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
  .bootstrap .btn-outline-secondary.disabled, .bootstrap .btn-outline-secondary:disabled {
    color: #6c757d;
    background-color: transparent; }
  .bootstrap .btn-outline-secondary:not(:disabled):not(.disabled):active, .bootstrap .btn-outline-secondary:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-outline-secondary.dropdown-toggle {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
    .bootstrap .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-outline-secondary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }

.bootstrap .btn-outline-success {
  color: #28a745;
  border-color: #28a745; }
  .bootstrap .btn-outline-success:hover {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
  .bootstrap .btn-outline-success:focus, .bootstrap .btn-outline-success.focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
  .bootstrap .btn-outline-success.disabled, .bootstrap .btn-outline-success:disabled {
    color: #28a745;
    background-color: transparent; }
  .bootstrap .btn-outline-success:not(:disabled):not(.disabled):active, .bootstrap .btn-outline-success:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-outline-success.dropdown-toggle {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
    .bootstrap .btn-outline-success:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-outline-success:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-outline-success.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }

.bootstrap .btn-outline-info {
  color: #17a2b8;
  border-color: #17a2b8; }
  .bootstrap .btn-outline-info:hover {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
  .bootstrap .btn-outline-info:focus, .bootstrap .btn-outline-info.focus {
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
  .bootstrap .btn-outline-info.disabled, .bootstrap .btn-outline-info:disabled {
    color: #17a2b8;
    background-color: transparent; }
  .bootstrap .btn-outline-info:not(:disabled):not(.disabled):active, .bootstrap .btn-outline-info:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-outline-info.dropdown-toggle {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
    .bootstrap .btn-outline-info:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-outline-info:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-outline-info.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }

.bootstrap .btn-outline-warning {
  color: #ffc107;
  border-color: #ffc107; }
  .bootstrap .btn-outline-warning:hover {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
  .bootstrap .btn-outline-warning:focus, .bootstrap .btn-outline-warning.focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
  .bootstrap .btn-outline-warning.disabled, .bootstrap .btn-outline-warning:disabled {
    color: #ffc107;
    background-color: transparent; }
  .bootstrap .btn-outline-warning:not(:disabled):not(.disabled):active, .bootstrap .btn-outline-warning:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-outline-warning.dropdown-toggle {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
    .bootstrap .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-outline-warning.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }

.bootstrap .btn-outline-danger {
  color: #dc3545;
  border-color: #dc3545; }
  .bootstrap .btn-outline-danger:hover {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
  .bootstrap .btn-outline-danger:focus, .bootstrap .btn-outline-danger.focus {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
  .bootstrap .btn-outline-danger.disabled, .bootstrap .btn-outline-danger:disabled {
    color: #dc3545;
    background-color: transparent; }
  .bootstrap .btn-outline-danger:not(:disabled):not(.disabled):active, .bootstrap .btn-outline-danger:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-outline-danger.dropdown-toggle {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
    .bootstrap .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-outline-danger.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }

.bootstrap .btn-outline-light {
  color: #f8f9fa;
  border-color: #f8f9fa; }
  .bootstrap .btn-outline-light:hover {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
  .bootstrap .btn-outline-light:focus, .bootstrap .btn-outline-light.focus {
    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
  .bootstrap .btn-outline-light.disabled, .bootstrap .btn-outline-light:disabled {
    color: #f8f9fa;
    background-color: transparent; }
  .bootstrap .btn-outline-light:not(:disabled):not(.disabled):active, .bootstrap .btn-outline-light:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-outline-light.dropdown-toggle {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
    .bootstrap .btn-outline-light:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-outline-light:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-outline-light.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }

.bootstrap .btn-outline-dark {
  color: #343a40;
  border-color: #343a40; }
  .bootstrap .btn-outline-dark:hover {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
  .bootstrap .btn-outline-dark:focus, .bootstrap .btn-outline-dark.focus {
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
  .bootstrap .btn-outline-dark.disabled, .bootstrap .btn-outline-dark:disabled {
    color: #343a40;
    background-color: transparent; }
  .bootstrap .btn-outline-dark:not(:disabled):not(.disabled):active, .bootstrap .btn-outline-dark:not(:disabled):not(.disabled).active,
  .show > .bootstrap .btn-outline-dark.dropdown-toggle {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
    .bootstrap .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .bootstrap .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap .btn-outline-dark.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }

.bootstrap .btn-link {
  font-weight: 400;
  color: #007bff;
  text-decoration: none; }
  .bootstrap .btn-link:hover {
    color: #0056b3;
    text-decoration: underline; }
  .bootstrap .btn-link:focus, .bootstrap .btn-link.focus {
    text-decoration: underline; }
  .bootstrap .btn-link:disabled, .bootstrap .btn-link.disabled {
    color: #6c757d;
    pointer-events: none; }

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

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

.bootstrap .btn-block {
  display: block;
  width: 100%; }
  .bootstrap .btn-block + .btn-block {
    margin-top: 0.5rem; }

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

.bootstrap .fade {
  transition: opacity 0.15s linear; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap .fade {
      transition: none; } }
  .bootstrap .fade:not(.show) {
    opacity: 0; }

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

.bootstrap .collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap .collapsing {
      transition: none; } }

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

.bootstrap .dropdown-toggle {
  white-space: nowrap; }
  .bootstrap .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; }
  .bootstrap .dropdown-toggle:empty::after {
    margin-left: 0; }

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

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

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

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

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

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

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

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

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

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

.bootstrap .dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem; }

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

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

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

.bootstrap .dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem; }

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

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

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

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

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

.bootstrap .dropdown-menu[x-placement^="top"], .bootstrap .dropdown-menu[x-placement^="right"], .bootstrap .dropdown-menu[x-placement^="bottom"], .bootstrap .dropdown-menu[x-placement^="left"] {
  right: auto;
  bottom: auto; }

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

.bootstrap .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; }
  .bootstrap .dropdown-item:hover, .bootstrap .dropdown-item:focus {
    color: #16181b;
    text-decoration: none;
    background-color: #e9ecef; }
  .bootstrap .dropdown-item.active, .bootstrap .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #007bff; }
  .bootstrap .dropdown-item.disabled, .bootstrap .dropdown-item:disabled {
    color: #adb5bd;
    pointer-events: none;
    background-color: transparent; }

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

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

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

.bootstrap .btn-group,
.bootstrap .btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle; }
  .bootstrap .btn-group > .btn,
  .bootstrap .btn-group-vertical > .btn {
    position: relative;
    flex: 1 1 auto; }
    .bootstrap .btn-group > .btn:hover,
    .bootstrap .btn-group-vertical > .btn:hover {
      z-index: 1; }
    .bootstrap .btn-group > .btn:focus, .bootstrap .btn-group > .btn:active, .bootstrap .btn-group > .btn.active,
    .bootstrap .btn-group-vertical > .btn:focus,
    .bootstrap .btn-group-vertical > .btn:active,
    .bootstrap .btn-group-vertical > .btn.active {
      z-index: 1; }

.bootstrap .btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }
  .bootstrap .btn-toolbar .input-group {
    width: auto; }

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

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

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

.bootstrap .dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem; }
  .bootstrap .dropdown-toggle-split::after,
  .dropup .bootstrap .dropdown-toggle-split::after,
  .dropright .bootstrap .dropdown-toggle-split::after {
    margin-left: 0; }
  .dropleft .bootstrap .dropdown-toggle-split::before {
    margin-right: 0; }

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

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

.bootstrap .btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center; }
  .bootstrap .btn-group-vertical > .btn,
  .bootstrap .btn-group-vertical > .btn-group {
    width: 100%; }
  .bootstrap .btn-group-vertical > .btn:not(:first-child),
  .bootstrap .btn-group-vertical > .btn-group:not(:first-child) {
    margin-top: -1px; }
  .bootstrap .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
  .bootstrap .btn-group-vertical > .btn-group:not(:last-child) > .btn {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; }
  .bootstrap .btn-group-vertical > .btn:not(:first-child),
  .bootstrap .btn-group-vertical > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

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

.bootstrap .input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%; }
  .bootstrap .input-group > .form-control,
  .bootstrap .input-group > .form-control-plaintext,
  .bootstrap .input-group > .custom-select,
  .bootstrap .input-group > .custom-file {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    margin-bottom: 0; }
    .bootstrap .input-group > .form-control + .form-control,
    .bootstrap .input-group > .form-control + .custom-select,
    .bootstrap .input-group > .form-control + .custom-file,
    .bootstrap .input-group > .form-control-plaintext + .form-control,
    .bootstrap .input-group > .form-control-plaintext + .custom-select,
    .bootstrap .input-group > .form-control-plaintext + .custom-file,
    .bootstrap .input-group > .custom-select + .form-control,
    .bootstrap .input-group > .custom-select + .custom-select,
    .bootstrap .input-group > .custom-select + .custom-file,
    .bootstrap .input-group > .custom-file + .form-control,
    .bootstrap .input-group > .custom-file + .custom-select,
    .bootstrap .input-group > .custom-file + .custom-file {
      margin-left: -1px; }
  .bootstrap .input-group > .form-control:focus,
  .bootstrap .input-group > .custom-select:focus,
  .bootstrap .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
    z-index: 3; }
  .bootstrap .input-group > .custom-file .custom-file-input:focus {
    z-index: 4; }
  .bootstrap .input-group > .form-control:not(:first-child),
  .bootstrap .input-group > .custom-select:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .bootstrap .input-group > .custom-file {
    display: flex;
    align-items: center; }
    .bootstrap .input-group > .custom-file:not(:last-child) .custom-file-label,
    .bootstrap .input-group > .custom-file:not(:first-child) .custom-file-label {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }
  .bootstrap .input-group:not(.has-validation) > .form-control:not(:last-child),
  .bootstrap .input-group:not(.has-validation) > .custom-select:not(:last-child),
  .bootstrap .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .bootstrap .input-group.has-validation > .form-control:nth-last-child(n + 3),
  .bootstrap .input-group.has-validation > .custom-select:nth-last-child(n + 3),
  .bootstrap .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; }

.bootstrap .input-group-prepend,
.bootstrap .input-group-append {
  display: flex; }
  .bootstrap .input-group-prepend .btn,
  .bootstrap .input-group-append .btn {
    position: relative;
    z-index: 2; }
    .bootstrap .input-group-prepend .btn:focus,
    .bootstrap .input-group-append .btn:focus {
      z-index: 3; }
  .bootstrap .input-group-prepend .btn + .btn,
  .bootstrap .input-group-prepend .btn + .input-group-text,
  .bootstrap .input-group-prepend .input-group-text + .input-group-text,
  .bootstrap .input-group-prepend .input-group-text + .btn,
  .bootstrap .input-group-append .btn + .btn,
  .bootstrap .input-group-append .btn + .input-group-text,
  .bootstrap .input-group-append .input-group-text + .input-group-text,
  .bootstrap .input-group-append .input-group-text + .btn {
    margin-left: -1px; }

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

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

.bootstrap .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; }
  .bootstrap .input-group-text input[type="radio"],
  .bootstrap .input-group-text input[type="checkbox"] {
    margin-top: 0; }

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

.bootstrap .input-group-lg > .form-control,
.bootstrap .input-group-lg > .custom-select,
.bootstrap .input-group-lg > .input-group-prepend > .input-group-text,
.bootstrap .input-group-lg > .input-group-append > .input-group-text,
.bootstrap .input-group-lg > .input-group-prepend > .btn,
.bootstrap .input-group-lg > .input-group-append > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem; }

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

.bootstrap .input-group-sm > .form-control,
.bootstrap .input-group-sm > .custom-select,
.bootstrap .input-group-sm > .input-group-prepend > .input-group-text,
.bootstrap .input-group-sm > .input-group-append > .input-group-text,
.bootstrap .input-group-sm > .input-group-prepend > .btn,
.bootstrap .input-group-sm > .input-group-append > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem; }

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

.bootstrap .input-group > .input-group-prepend > .btn,
.bootstrap .input-group > .input-group-prepend > .input-group-text,
.bootstrap .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.bootstrap .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.bootstrap .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,
.bootstrap .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,
.bootstrap .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.bootstrap .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

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

.bootstrap .custom-control {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem;
  -webkit-print-color-adjust: exact;
          color-adjust: exact; }

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

.bootstrap .custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0; }
  .bootstrap .custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: #007bff;
    background-color: #007bff; }
  .bootstrap .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .bootstrap .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #80bdff; }
  .bootstrap .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: #b3d7ff;
    border-color: #b3d7ff; }
  .bootstrap .custom-control-input[disabled] ~ .custom-control-label, .bootstrap .custom-control-input:disabled ~ .custom-control-label {
    color: #6c757d; }
    .bootstrap .custom-control-input[disabled] ~ .custom-control-label::before, .bootstrap .custom-control-input:disabled ~ .custom-control-label::before {
      background-color: #e9ecef; }

.bootstrap .custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top; }
  .bootstrap .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; }
  .bootstrap .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; }

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

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

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

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

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

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

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

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

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

.bootstrap .custom-switch {
  padding-left: 2.25rem; }
  .bootstrap .custom-switch .custom-control-label::before {
    left: -2.25rem;
    width: 1.75rem;
    pointer-events: all;
    border-radius: 0.5rem; }
  .bootstrap .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) {
      .bootstrap .custom-switch .custom-control-label::after {
        transition: none; } }
  .bootstrap .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: #fff;
    transform: translateX(0.75rem); }
  .bootstrap .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(0, 123, 255, 0.5); }

.bootstrap .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;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  .bootstrap .custom-select:focus {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .bootstrap .custom-select:focus::-ms-value {
      color: #495057;
      background-color: #fff; }
  .bootstrap .custom-select[multiple], .bootstrap .custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: 0.75rem;
    background-image: none; }
  .bootstrap .custom-select:disabled {
    color: #6c757d;
    background-color: #e9ecef; }
  .bootstrap .custom-select::-ms-expand {
    display: none; }
  .bootstrap .custom-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #495057; }

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

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

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

.bootstrap .custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin: 0;
  overflow: hidden;
  opacity: 0; }
  .bootstrap .custom-file-input:focus ~ .custom-file-label {
    border-color: #80bdff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .bootstrap .custom-file-input[disabled] ~ .custom-file-label,
  .bootstrap .custom-file-input:disabled ~ .custom-file-label {
    background-color: #e9ecef; }
  .bootstrap .custom-file-input:lang(en) ~ .custom-file-label::after {
    content: "Browse"; }
  .bootstrap .custom-file-input ~ .custom-file-label[data-browse]::after {
    content: attr(data-browse); }

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

.bootstrap .custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  .bootstrap .custom-range:focus {
    outline: 0; }
    .bootstrap .custom-range:focus::-webkit-slider-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .bootstrap .custom-range:focus::-moz-range-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .bootstrap .custom-range:focus::-ms-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .bootstrap .custom-range::-moz-focus-outer {
    border: 0; }
  .bootstrap .custom-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #007bff;
    border: 0;
    border-radius: 1rem;
    -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    -webkit-appearance: none;
            appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .bootstrap .custom-range::-webkit-slider-thumb {
        -webkit-transition: none;
        transition: none; } }
    .bootstrap .custom-range::-webkit-slider-thumb:active {
      background-color: #b3d7ff; }
  .bootstrap .custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem; }
  .bootstrap .custom-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #007bff;
    border: 0;
    border-radius: 1rem;
    -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    -moz-appearance: none;
         appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .bootstrap .custom-range::-moz-range-thumb {
        -moz-transition: none;
        transition: none; } }
    .bootstrap .custom-range::-moz-range-thumb:active {
      background-color: #b3d7ff; }
  .bootstrap .custom-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem; }
  .bootstrap .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;
    -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    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) {
      .bootstrap .custom-range::-ms-thumb {
        -ms-transition: none;
        transition: none; } }
    .bootstrap .custom-range::-ms-thumb:active {
      background-color: #b3d7ff; }
  .bootstrap .custom-range::-ms-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: transparent;
    border-color: transparent;
    border-width: 0.5rem; }
  .bootstrap .custom-range::-ms-fill-lower {
    background-color: #dee2e6;
    border-radius: 1rem; }
  .bootstrap .custom-range::-ms-fill-upper {
    margin-right: 15px;
    background-color: #dee2e6;
    border-radius: 1rem; }
  .bootstrap .custom-range:disabled::-webkit-slider-thumb {
    background-color: #adb5bd; }
  .bootstrap .custom-range:disabled::-webkit-slider-runnable-track {
    cursor: default; }
  .bootstrap .custom-range:disabled::-moz-range-thumb {
    background-color: #adb5bd; }
  .bootstrap .custom-range:disabled::-moz-range-track {
    cursor: default; }
  .bootstrap .custom-range:disabled::-ms-thumb {
    background-color: #adb5bd; }

.bootstrap .custom-control-label::before,
.bootstrap .custom-file-label,
.bootstrap .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) {
    .bootstrap .custom-control-label::before,
    .bootstrap .custom-file-label,
    .bootstrap .custom-select {
      transition: none; } }

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

.bootstrap .nav-link {
  display: block;
  padding: 0.5rem 1rem; }
  .bootstrap .nav-link:hover, .bootstrap .nav-link:focus {
    text-decoration: none; }
  .bootstrap .nav-link.disabled {
    color: #6c757d;
    pointer-events: none;
    cursor: default; }

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

.bootstrap .nav-pills .nav-link {
  border-radius: 0.25rem; }

.bootstrap .nav-pills .nav-link.active,
.bootstrap .nav-pills .show > .nav-link {
  color: #fff;
  background-color: #007bff; }

.bootstrap .nav-fill > .nav-link,
.bootstrap .nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center; }

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

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

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

.bootstrap .navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem; }
  .bootstrap .navbar .container,
  .bootstrap .navbar .container-fluid, .bootstrap .navbar .container-sm, .bootstrap .navbar .container-md, .bootstrap .navbar .container-lg, .bootstrap .navbar .container-xl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between; }

.bootstrap .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; }
  .bootstrap .navbar-brand:hover, .bootstrap .navbar-brand:focus {
    text-decoration: none; }

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

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

.bootstrap .navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center; }

.bootstrap .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; }
  .bootstrap .navbar-toggler:hover, .bootstrap .navbar-toggler:focus {
    text-decoration: none; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .navbar-light .navbar-toggler-icon, .bootstrap .navbar-themed .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"); }

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

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

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

.bootstrap .navbar-dark .navbar-nav .show > .nav-link,
.bootstrap .navbar-dark .navbar-nav .active > .nav-link,
.bootstrap .navbar-dark .navbar-nav .nav-link.show,
.bootstrap .navbar-dark .navbar-nav .nav-link.active {
  color: #fff; }

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

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

.bootstrap .navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5); }
  .bootstrap .navbar-dark .navbar-text a {
    color: #fff; }
    .bootstrap .navbar-dark .navbar-text a:hover, .bootstrap .navbar-dark .navbar-text a:focus {
      color: #fff; }

.bootstrap .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; }
  .bootstrap .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .bootstrap .card > .list-group {
    border-top: inherit;
    border-bottom: inherit; }
    .bootstrap .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); }
    .bootstrap .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); }
  .bootstrap .card > .card-header + .list-group,
  .bootstrap .card > .list-group + .card-footer {
    border-top: 0; }

.bootstrap .card-body {
  flex: 1 1 auto;
  min-height: 1px;
  padding: 1.25rem; }

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

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

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

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

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

.bootstrap .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); }
  .bootstrap .card-header:first-child {
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }

.bootstrap .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); }
  .bootstrap .card-footer:last-child {
    border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }

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

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

.bootstrap .card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
  border-radius: calc(0.25rem - 1px); }

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

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

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

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

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

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

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

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

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

.bootstrap .accordion {
  overflow-anchor: none; }
  .bootstrap .accordion > .card {
    overflow: hidden; }
    .bootstrap .accordion > .card:not(:last-of-type) {
      border-bottom: 0;
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0; }
    .bootstrap .accordion > .card:not(:first-of-type) {
      border-top-left-radius: 0;
      border-top-right-radius: 0; }
    .bootstrap .accordion > .card > .card-header {
      border-radius: 0;
      margin-bottom: -1px; }

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

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

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

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

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

.bootstrap .pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.25rem; }

.bootstrap .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; }
  .bootstrap .page-link:hover {
    z-index: 2;
    color: #0056b3;
    text-decoration: none;
    background-color: #e9ecef;
    border-color: #dee2e6; }
  .bootstrap .page-link:focus {
    z-index: 3;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }

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

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

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

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

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

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

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

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

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

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

.bootstrap .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) {
    .bootstrap .badge {
      transition: none; } }
  a.bootstrap .badge:hover, a.bootstrap .badge:focus {
    text-decoration: none; }
  .bootstrap .badge:empty {
    display: none; }

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

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

.bootstrap .badge-primary {
  color: #fff;
  background-color: #007bff; }
  a.bootstrap .badge-primary:hover, a.bootstrap .badge-primary:focus {
    color: #fff;
    background-color: #0062cc; }
  a.bootstrap .badge-primary:focus, a.bootstrap .badge-primary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }

.bootstrap .badge-secondary {
  color: #fff;
  background-color: #6c757d; }
  a.bootstrap .badge-secondary:hover, a.bootstrap .badge-secondary:focus {
    color: #fff;
    background-color: #545b62; }
  a.bootstrap .badge-secondary:focus, a.bootstrap .badge-secondary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }

.bootstrap .badge-success {
  color: #fff;
  background-color: #28a745; }
  a.bootstrap .badge-success:hover, a.bootstrap .badge-success:focus {
    color: #fff;
    background-color: #1e7e34; }
  a.bootstrap .badge-success:focus, a.bootstrap .badge-success.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }

.bootstrap .badge-info {
  color: #fff;
  background-color: #17a2b8; }
  a.bootstrap .badge-info:hover, a.bootstrap .badge-info:focus {
    color: #fff;
    background-color: #117a8b; }
  a.bootstrap .badge-info:focus, a.bootstrap .badge-info.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }

.bootstrap .badge-warning {
  color: #212529;
  background-color: #ffc107; }
  a.bootstrap .badge-warning:hover, a.bootstrap .badge-warning:focus {
    color: #212529;
    background-color: #d39e00; }
  a.bootstrap .badge-warning:focus, a.bootstrap .badge-warning.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }

.bootstrap .badge-danger {
  color: #fff;
  background-color: #dc3545; }
  a.bootstrap .badge-danger:hover, a.bootstrap .badge-danger:focus {
    color: #fff;
    background-color: #bd2130; }
  a.bootstrap .badge-danger:focus, a.bootstrap .badge-danger.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }

.bootstrap .badge-light {
  color: #212529;
  background-color: #f8f9fa; }
  a.bootstrap .badge-light:hover, a.bootstrap .badge-light:focus {
    color: #212529;
    background-color: #dae0e5; }
  a.bootstrap .badge-light:focus, a.bootstrap .badge-light.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }

.bootstrap .badge-dark {
  color: #fff;
  background-color: #343a40; }
  a.bootstrap .badge-dark:hover, a.bootstrap .badge-dark:focus {
    color: #fff;
    background-color: #1d2124; }
  a.bootstrap .badge-dark:focus, a.bootstrap .badge-dark.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }

.bootstrap .jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  border-radius: 0.3rem; }
  @media (min-width: 576px) {
    .bootstrap .jumbotron {
      padding: 4rem 2rem; } }

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

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

.bootstrap .alert-heading {
  color: inherit; }

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

.bootstrap .alert-dismissible {
  padding-right: 4rem; }
  .bootstrap .alert-dismissible .close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 0.75rem 1.25rem;
    color: inherit; }

.bootstrap .alert-primary {
  color: #004085;
  background-color: #cce5ff;
  border-color: #b8daff; }
  .bootstrap .alert-primary hr {
    border-top-color: #9fcdff; }
  .bootstrap .alert-primary .alert-link {
    color: #002752; }

.bootstrap .alert-secondary {
  color: #383d41;
  background-color: #e2e3e5;
  border-color: #d6d8db; }
  .bootstrap .alert-secondary hr {
    border-top-color: #c8cbcf; }
  .bootstrap .alert-secondary .alert-link {
    color: #202326; }

.bootstrap .alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb; }
  .bootstrap .alert-success hr {
    border-top-color: #b1dfbb; }
  .bootstrap .alert-success .alert-link {
    color: #0b2e13; }

.bootstrap .alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb; }
  .bootstrap .alert-info hr {
    border-top-color: #abdde5; }
  .bootstrap .alert-info .alert-link {
    color: #062c33; }

.bootstrap .alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba; }
  .bootstrap .alert-warning hr {
    border-top-color: #ffe8a1; }
  .bootstrap .alert-warning .alert-link {
    color: #533f03; }

.bootstrap .alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb; }
  .bootstrap .alert-danger hr {
    border-top-color: #f1b0b7; }
  .bootstrap .alert-danger .alert-link {
    color: #491217; }

.bootstrap .alert-light, .bootstrap .alert-themed {
  color: #818182;
  background-color: #fefefe;
  border-color: #fdfdfe; }
  .bootstrap .alert-light hr, .bootstrap .alert-themed hr {
    border-top-color: #ececf6; }
  .bootstrap .alert-light .alert-link, .bootstrap .alert-themed .alert-link {
    color: #686868; }

.bootstrap .alert-dark, .bootstrap .alert-themed-inverted {
  color: #1b1e21;
  background-color: #d6d8d9;
  border-color: #c6c8ca; }
  .bootstrap .alert-dark hr, .bootstrap .alert-themed-inverted hr {
    border-top-color: #b9bbbe; }
  .bootstrap .alert-dark .alert-link, .bootstrap .alert-themed-inverted .alert-link {
    color: #040505; }

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

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

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

.bootstrap .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) {
    .bootstrap .progress-bar {
      transition: none; } }

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

.bootstrap .progress-bar-animated {
  -webkit-animation: 1s linear infinite progress-bar-stripes;
          animation: 1s linear infinite progress-bar-stripes; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap .progress-bar-animated {
      -webkit-animation: none;
              animation: none; } }

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

.bootstrap .media-body {
  flex: 1; }

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

.bootstrap .list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit; }
  .bootstrap .list-group-item-action:hover, .bootstrap .list-group-item-action:focus {
    z-index: 1;
    color: #495057;
    text-decoration: none;
    background-color: #f8f9fa; }
  .bootstrap .list-group-item-action:active {
    color: #212529;
    background-color: #e9ecef; }

.bootstrap .list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125); }
  .bootstrap .list-group-item:first-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit; }
  .bootstrap .list-group-item:last-child {
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit; }
  .bootstrap .list-group-item.disabled, .bootstrap .list-group-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff; }
  .bootstrap .list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
  .bootstrap .list-group-item + .bootstrap .list-group-item {
    border-top-width: 0; }
    .bootstrap .list-group-item + .bootstrap .list-group-item.active {
      margin-top: -1px;
      border-top-width: 1px; }

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

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

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

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

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

.bootstrap .list-group-flush {
  border-radius: 0; }
  .bootstrap .list-group-flush > .list-group-item {
    border-width: 0 0 1px; }
    .bootstrap .list-group-flush > .list-group-item:last-child {
      border-bottom-width: 0; }

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

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

.bootstrap .list-group-item-success {
  color: #155724;
  background-color: #c3e6cb; }
  .bootstrap .list-group-item-success.list-group-item-action:hover, .bootstrap .list-group-item-success.list-group-item-action:focus {
    color: #155724;
    background-color: #b1dfbb; }
  .bootstrap .list-group-item-success.list-group-item-action.active {
    color: #fff;
    background-color: #155724;
    border-color: #155724; }

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

.bootstrap .list-group-item-warning {
  color: #856404;
  background-color: #ffeeba; }
  .bootstrap .list-group-item-warning.list-group-item-action:hover, .bootstrap .list-group-item-warning.list-group-item-action:focus {
    color: #856404;
    background-color: #ffe8a1; }
  .bootstrap .list-group-item-warning.list-group-item-action.active {
    color: #fff;
    background-color: #856404;
    border-color: #856404; }

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

.bootstrap .list-group-item-light {
  color: #818182;
  background-color: #fdfdfe; }
  .bootstrap .list-group-item-light.list-group-item-action:hover, .bootstrap .list-group-item-light.list-group-item-action:focus {
    color: #818182;
    background-color: #ececf6; }
  .bootstrap .list-group-item-light.list-group-item-action.active {
    color: #fff;
    background-color: #818182;
    border-color: #818182; }

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

.bootstrap .close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5; }
  .bootstrap .close:hover {
    color: #000;
    text-decoration: none; }
  .bootstrap .close:not(:disabled):not(.disabled):hover, .bootstrap .close:not(:disabled):not(.disabled):focus {
    opacity: .75; }

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

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

.bootstrap .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; }
  .bootstrap .toast:not(:last-child) {
    margin-bottom: 0.75rem; }
  .bootstrap .toast.showing {
    opacity: 1; }
  .bootstrap .toast.show {
    display: block;
    opacity: 1; }
  .bootstrap .toast.hide {
    display: none; }

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

.bootstrap .toast-body {
  padding: 0.75rem; }

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

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

.bootstrap .modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none; }
  .modal.fade .bootstrap .modal-dialog {
    transition: transform 0.3s ease-out;
    transform: translate(0, -50px); }
    @media (prefers-reduced-motion: reduce) {
      .modal.fade .bootstrap .modal-dialog {
        transition: none; } }
  .modal.show .bootstrap .modal-dialog {
    transform: none; }
  .modal.modal-static .bootstrap .modal-dialog {
    transform: scale(1.02); }

.bootstrap .modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem); }
  .bootstrap .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 1rem);
    overflow: hidden; }
  .bootstrap .modal-dialog-scrollable .modal-header,
  .bootstrap .modal-dialog-scrollable .modal-footer {
    flex-shrink: 0; }
  .bootstrap .modal-dialog-scrollable .modal-body {
    overflow-y: auto; }

.bootstrap .modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem); }
  .bootstrap .modal-dialog-centered::before {
    display: block;
    height: calc(100vh - 1rem);
    height: -webkit-min-content;
    height: -moz-min-content;
    height: min-content;
    content: ""; }
  .bootstrap .modal-dialog-centered.modal-dialog-scrollable {
    flex-direction: column;
    justify-content: center;
    height: 100%; }
    .bootstrap .modal-dialog-centered.modal-dialog-scrollable .modal-content {
      max-height: none; }
    .bootstrap .modal-dialog-centered.modal-dialog-scrollable::before {
      content: none; }

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

.bootstrap .modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000; }
  .bootstrap .modal-backdrop.fade {
    opacity: 0; }
  .bootstrap .modal-backdrop.show {
    opacity: 0.5; }

.bootstrap .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); }
  .bootstrap .modal-header .close {
    padding: 1rem 1rem;
    margin: -1rem -1rem -1rem auto; }

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

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

.bootstrap .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); }
  .bootstrap .modal-footer > * {
    margin: 0.25rem; }

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

@media (min-width: 576px) {
  .bootstrap .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto; }
  .bootstrap .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem); }
    .bootstrap .modal-dialog-scrollable .modal-content {
      max-height: calc(100vh - 3.5rem); }
  .bootstrap .modal-dialog-centered {
    min-height: calc(100% - 3.5rem); }
    .bootstrap .modal-dialog-centered::before {
      height: calc(100vh - 3.5rem);
      height: -webkit-min-content;
      height: -moz-min-content;
      height: min-content; }
  .bootstrap .modal-sm {
    max-width: 300px; } }

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

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

.bootstrap .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; }
  .bootstrap .tooltip.show {
    opacity: 0.9; }
  .bootstrap .tooltip .arrow {
    position: absolute;
    display: block;
    width: 0.8rem;
    height: 0.4rem; }
    .bootstrap .tooltip .arrow::before {
      position: absolute;
      content: "";
      border-color: transparent;
      border-style: solid; }

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

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

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

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

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

.bootstrap .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; }
  .bootstrap .popover .arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: 0.5rem;
    margin: 0 0.3rem; }
    .bootstrap .popover .arrow::before, .bootstrap .popover .arrow::after {
      position: absolute;
      display: block;
      content: "";
      border-color: transparent;
      border-style: solid; }

.bootstrap .bs-popover-top, .bootstrap .bs-popover-auto[x-placement^="top"] {
  margin-bottom: 0.5rem; }
  .bootstrap .bs-popover-top > .arrow, .bootstrap .bs-popover-auto[x-placement^="top"] > .arrow {
    bottom: calc(-0.5rem - 1px); }
    .bootstrap .bs-popover-top > .arrow::before, .bootstrap .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); }
    .bootstrap .bs-popover-top > .arrow::after, .bootstrap .bs-popover-auto[x-placement^="top"] > .arrow::after {
      bottom: 1px;
      border-width: 0.5rem 0.5rem 0;
      border-top-color: #fff; }

.bootstrap .bs-popover-right, .bootstrap .bs-popover-auto[x-placement^="right"] {
  margin-left: 0.5rem; }
  .bootstrap .bs-popover-right > .arrow, .bootstrap .bs-popover-auto[x-placement^="right"] > .arrow {
    left: calc(-0.5rem - 1px);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0; }
    .bootstrap .bs-popover-right > .arrow::before, .bootstrap .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); }
    .bootstrap .bs-popover-right > .arrow::after, .bootstrap .bs-popover-auto[x-placement^="right"] > .arrow::after {
      left: 1px;
      border-width: 0.5rem 0.5rem 0.5rem 0;
      border-right-color: #fff; }

.bootstrap .bs-popover-bottom, .bootstrap .bs-popover-auto[x-placement^="bottom"] {
  margin-top: 0.5rem; }
  .bootstrap .bs-popover-bottom > .arrow, .bootstrap .bs-popover-auto[x-placement^="bottom"] > .arrow {
    top: calc(-0.5rem - 1px); }
    .bootstrap .bs-popover-bottom > .arrow::before, .bootstrap .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); }
    .bootstrap .bs-popover-bottom > .arrow::after, .bootstrap .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
      top: 1px;
      border-width: 0 0.5rem 0.5rem 0.5rem;
      border-bottom-color: #fff; }
  .bootstrap .bs-popover-bottom .popover-header::before, .bootstrap .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; }

.bootstrap .bs-popover-left, .bootstrap .bs-popover-auto[x-placement^="left"] {
  margin-right: 0.5rem; }
  .bootstrap .bs-popover-left > .arrow, .bootstrap .bs-popover-auto[x-placement^="left"] > .arrow {
    right: calc(-0.5rem - 1px);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0; }
    .bootstrap .bs-popover-left > .arrow::before, .bootstrap .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); }
    .bootstrap .bs-popover-left > .arrow::after, .bootstrap .bs-popover-auto[x-placement^="left"] > .arrow::after {
      right: 1px;
      border-width: 0.5rem 0 0.5rem 0.5rem;
      border-left-color: #fff; }

.bootstrap .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); }
  .bootstrap .popover-header:empty {
    display: none; }

.bootstrap .popover-body {
  padding: 0.5rem 0.75rem;
  color: #212529; }

.bootstrap .carousel {
  position: relative; }

.bootstrap .carousel.pointer-event {
  touch-action: pan-y; }

.bootstrap .carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .bootstrap .carousel-inner::after {
    display: block;
    clear: both;
    content: ""; }

.bootstrap .carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transition: transform 0.6s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap .carousel-item {
      transition: none; } }

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

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

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

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

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

.bootstrap .carousel-fade .active.carousel-item-left,
.bootstrap .carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap .carousel-fade .active.carousel-item-left,
    .bootstrap .carousel-fade .active.carousel-item-right {
      transition: none; } }

.bootstrap .carousel-control-prev,
.bootstrap .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) {
    .bootstrap .carousel-control-prev,
    .bootstrap .carousel-control-next {
      transition: none; } }
  .bootstrap .carousel-control-prev:hover, .bootstrap .carousel-control-prev:focus,
  .bootstrap .carousel-control-next:hover,
  .bootstrap .carousel-control-next:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: 0.9; }

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

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

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

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

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

.bootstrap .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; }
  .bootstrap .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) {
      .bootstrap .carousel-indicators li {
        transition: none; } }
  .bootstrap .carousel-indicators .active {
    opacity: 1; }

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

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

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

.bootstrap .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%;
  -webkit-animation: .75s linear infinite spinner-border;
          animation: .75s linear infinite spinner-border; }

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .bg-primary {
  background-color: #007bff !important; }

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .bg-light, .bootstrap .navbar-themed, .bootstrap .bg-themed {
  background-color: #f8f9fa !important; }

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

.bootstrap .bg-dark, .bootstrap .bg-themed-inverted {
  background-color: #343a40 !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .rounded-sm {
  border-radius: 0.2rem !important; }

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

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

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

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

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

.bootstrap .rounded-lg {
  border-radius: 0.3rem !important; }

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

.bootstrap .rounded-pill {
  border-radius: 50rem !important; }

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

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

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

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

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

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

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

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

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

.bootstrap .d-flex {
  display: flex !important; }

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

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

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

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

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

@media print {
  .bootstrap .d-print-none {
    display: none !important; }
  .bootstrap .d-print-inline {
    display: inline !important; }
  .bootstrap .d-print-inline-block {
    display: inline-block !important; }
  .bootstrap .d-print-block {
    display: block !important; }
  .bootstrap .d-print-table {
    display: table !important; }
  .bootstrap .d-print-table-row {
    display: table-row !important; }
  .bootstrap .d-print-table-cell {
    display: table-cell !important; }
  .bootstrap .d-print-flex {
    display: flex !important; }
  .bootstrap .d-print-inline-flex {
    display: inline-flex !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .user-select-all {
  -webkit-user-select: all !important;
     -moz-user-select: all !important;
      -ms-user-select: all !important;
          user-select: all !important; }

.bootstrap .user-select-auto {
  -webkit-user-select: auto !important;
     -moz-user-select: auto !important;
      -ms-user-select: auto !important;
          user-select: auto !important; }

.bootstrap .user-select-none {
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
      -ms-user-select: none !important;
          user-select: none !important; }

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

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

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

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

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

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

.bootstrap .position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .ml-n5,
.bootstrap .mx-n5 {
  margin-left: -3rem !important; }

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .text-wrap {
  white-space: normal !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .font-weight-lighter {
  font-weight: lighter !important; }

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

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

.bootstrap .font-weight-bolder {
  font-weight: bolder !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .text-light, .bootstrap .text-themed-inverted {
  color: #f8f9fa !important; }

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .visible {
  visibility: visible !important; }

.bootstrap .invisible {
  visibility: hidden !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvZ2dsZS1ib290c3RyYXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIl9mb3JtLW92ZXJyaWRlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFkZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FsZXJ0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19ib3JkZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ludGVyYWN0aW9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fb3ZlcmZsb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaGFkb3dzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaXppbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Zpc2liaWxpdHkuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQTtFQUNJLFNBQVM7RUFDVCxxTkM0UWtPO0VDckpoTyxlQXRDWTtFRi9FZCxnQkNxUjZCO0VEcFI3QixnQkN5UjZCO0VEeFI3QixjQ0ljO0VESGQsZ0JBQWdCO0VBQ2hCLHNCQ1BXLEVBQUE7O0FEVWY7RUdkSSxlQUFjO0VBQWQsaUJBQWM7RUFBZCxpQkFBYztFQUFkLGVBQWM7RUFBZCxjQUFjO0VBQWQsaUJBQWM7RUFBZCxpQkFBYztFQUFkLGdCQUFjO0VBQWQsZUFBYztFQUFkLGVBQWM7RUFBZCxhQUFjO0VBQWQsZUFBYztFQUFkLG9CQUFjO0VBSWQsa0JBQWM7RUFBZCxvQkFBYztFQUFkLGtCQUFjO0VBQWQsZUFBYztFQUFkLGtCQUFjO0VBQWQsaUJBQWM7RUFBZCxnQkFBYztFQUFkLGVBQWM7RUFJZCxrQkFBaUM7RUFBakMsc0JBQWlDO0VBQWpDLHNCQUFpQztFQUFqQyxzQkFBaUM7RUFBakMsdUJBQWlDO0VBS25DLGtPQUF5QjtFQUN6Qiw2R0FBd0IsRUFBQTs7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akM7RUtzQ0UsZ0JKZ0ZXO0VJL0VYLG1CSitFVztFSTlFWCxTQUFTO0VBQ1Qsd0NKekNhLEVBQUE7O0FEQWY7O0VFdURJLGNBQVc7RUdIYixnQkowTitCLEVBQUE7O0FEOVFqQzs7RUt5REUsY0prUWdDO0VJalFoQyx5QkowUW1DLEVBQUE7O0FEcFVyQztFTWJFLGVBQWU7RUFDZixnQkFBZ0IsRUFBQTs7QU5ZbEI7RU1iRSxlQUFlO0VBQ2YsZ0JBQWdCLEVBQUE7O0FOWWxCO0VLMkVFLHFCQUFxQixFQUFBO0VMM0V2QjtJSzhFSSxvQkpvUCtCLEVBQUE7O0FEbFVuQztFRXVESSxjQUFXO0VHbUNiLHlCQUF5QixFQUFBOztBTDFGM0I7RUsrRkUsbUJKdUJXO0VDUlAsa0JBdENZLEVBQUE7O0FGeEVsQjtFS29HRSxjQUFjO0VIN0NaLGNBQVc7RUcrQ2IsY0oxR2dCLEVBQUE7RURJbEI7SUt5R0kscUJBQXFCLEVBQUE7O0FMekd6QjtFT05FLGVBQWU7RUFHZixZQUFZLEVBQUE7O0FQR2Q7RVFIRSxnQlBtZ0N3QztFT2xnQ3hDLHNCUFJhO0VPU2IseUJQTmdCO0VRUWQsc0JSNk5nQztFTXBPbEMsZUFBZTtFQUdmLFlBQVksRUFBQTs7QVBHZDtFUWFFLHFCQUFxQixFQUFBOztBUmJ2QjtFUWlCRSxxQkFBMEI7RUFDMUIsY0FBYyxFQUFBOztBUmxCaEI7RUV1REksY0FBVztFTWhDYixjUDNCZ0IsRUFBQTs7QURJbEI7RUV1REksZ0JBQVc7RVFyRWIsY1RtQ2U7RVNsQ2YscUJBQXFCLEVBQUE7RUFHckI7SUFDRSxjQUFjLEVBQUE7O0FWU2xCO0VVSEUsc0JUdWxDdUM7RUM3aENyQyxnQkFBVztFUXhEYixXVFRhO0VTVWIseUJURGdCO0VRRWQscUJSK04rQixFQUFBO0VEaE9uQztJVUtJLFVBQVU7SVJrRFYsZUFBVztJUWhEWCxnQlR3UTZCLEVBQUE7O0FEL1FqQztFVWNFLGNBQWM7RVJ5Q1osZ0JBQVc7RVF2Q2IsY1RqQmdCLEVBQUE7RURDbEI7SUV1REksa0JBQVc7SVFsQ1gsY0FBYztJQUNkLGtCQUFrQixF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RWQ5Q3BCO0ljK0NnQyxRQURaLEVBQUE7RWQ5Q3BCO0ljK0NnQyxTQURaLEVBQUE7RWQ5Q3BCO0ljK0NnQyxTQURaLEVBQUE7RWQ5Q3BCO0ljK0NnQyxTQURaLEVBQUE7RWQ5Q3BCO0lXc0NFLGNBQTRCLEVBQUE7RVh0QzlCO0lXc0NFLHFCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxzQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0UsZ0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxzQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0UsZ0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxzQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0UsZ0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxzQkFBOEMsRUFBQSxFR2tCbkM7O0FkeERiO0VlWkUsV0FBVztFQUNYLG1CZGlJVztFY2hJWCxjZFNnQixFQUFBO0VEQ2xCOztJZUxJLGdCZGtWZ0M7SWNqVmhDLG1CQUFtQjtJQUNuQiw2QmRKYyxFQUFBO0VET2xCO0llQ0ksc0JBQXNCO0lBQ3RCLGdDZFRjLEVBQUE7RURPbEI7SWVNSSw2QmRiYyxFQUFBOztBRE9sQjs7RWVrQkksZWQ0VCtCLEVBQUE7O0FEOVVuQztFZTRCRSx5QmRuQ2dCLEVBQUE7RURPbEI7O0llZ0NJLHlCZHZDYyxFQUFBO0VET2xCOztJZXNDTSx3QkFBNEMsRUFBQTs7QWZ0Q2xEOzs7O0VlZ0RJLFNBQVMsRUFBQTs7QWZoRGI7RWUwREkscUNkMURXLEVBQUE7O0FEQWY7RWVzRU0sY2R2RVk7RWN3RVosc0NkdkVTLEVBQUE7O0FEQWY7OztFZ0JSTSx5QkNnRzRELEVBQUE7O0FqQnhGbEU7Ozs7RWdCQVEscUJDd0YwRCxFQUFBOztBakJ4RmxFO0VnQllRLHlCQUpzQyxFQUFBO0VoQlI5Qzs7SWdCZ0JVLHlCQVJvQyxFQUFBOztBaEJSOUM7OztFZ0JSTSx5QkNnRzRELEVBQUE7O0FqQnhGbEU7Ozs7RWdCQVEscUJDd0YwRCxFQUFBOztBakJ4RmxFO0VnQllRLHlCQUpzQyxFQUFBO0VoQlI5Qzs7SWdCZ0JVLHlCQVJvQyxFQUFBOztBaEJSOUM7OztFZ0JSTSx5QkNnRzRELEVBQUE7O0FqQnhGbEU7Ozs7RWdCQVEscUJDd0YwRCxFQUFBOztBakJ4RmxFO0VnQllRLHlCQUpzQyxFQUFBO0VoQlI5Qzs7SWdCZ0JVLHlCQVJvQyxFQUFBOztBaEJSOUM7OztFZ0JSTSx5QkNnRzRELEVBQUE7O0FqQnhGbEU7Ozs7RWdCQVEscUJDd0YwRCxFQUFBOztBakJ4RmxFO0VnQllRLHlCQUpzQyxFQUFBO0VoQlI5Qzs7SWdCZ0JVLHlCQVJvQyxFQUFBOztBaEJSOUM7OztFZ0JSTSx5QkNnRzRELEVBQUE7O0FqQnhGbEU7Ozs7RWdCQVEscUJDd0YwRCxFQUFBOztBakJ4RmxFO0VnQllRLHlCQUpzQyxFQUFBO0VoQlI5Qzs7SWdCZ0JVLHlCQVJvQyxFQUFBOztBaEJSOUM7OztFZ0JSTSx5QkNnRzRELEVBQUE7O0FqQnhGbEU7Ozs7RWdCQVEscUJDd0YwRCxFQUFBOztBakJ4RmxFO0VnQllRLHlCQUpzQyxFQUFBO0VoQlI5Qzs7SWdCZ0JVLHlCQVJvQyxFQUFBOztBaEJSOUM7OztFZ0JSTSx5QkNnRzRELEVBQUE7O0FqQnhGbEU7Ozs7RWdCQVEscUJDd0YwRCxFQUFBOztBakJ4RmxFO0VnQllRLHlCQUpzQyxFQUFBO0VoQlI5Qzs7SWdCZ0JVLHlCQVJvQyxFQUFBOztBaEJSOUM7OztFZ0JSTSx5QkNnRzRELEVBQUE7O0FqQnhGbEU7Ozs7RWdCQVEscUJDd0YwRCxFQUFBOztBakJ4RmxFO0VnQllRLHlCQUpzQyxFQUFBO0VoQlI5Qzs7SWdCZ0JVLHlCQVJvQyxFQUFBOztBaEJSOUM7OztFZ0JSTSxzQ2ZRUyxFQUFBOztBREFmO0VnQllRLHNDQUpzQyxFQUFBO0VoQlI5Qzs7SWdCZ0JVLHNDQVJvQyxFQUFBOztBaEJSOUM7RWVpR00sV2QzR1M7RWM0R1QseUJkcEdZO0VjcUdaLHFCZGdRcUQsRUFBQTs7QURuVzNEO0VleUdNLGNkNUdZO0VjNkdaLHlCZGxIWTtFY21IWixxQmRsSFksRUFBQTs7QURPbEI7RWVpSEUsV2QzSGE7RWM0SGIseUJkcEhnQixFQUFBO0VERWxCOzs7SWV1SEkscUJkNE91RCxFQUFBO0VEblczRDtJZTJISSxTQUFTLEVBQUE7RWYzSGI7SWVnSU0sMkNkMUlTLEVBQUE7RURVZjtJZXVJUSxXZGpKTztJY2tKUCw0Q2RsSk8sRUFBQTs7QVdrRVg7RVp4REo7SWUySlEsY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUNBQWlDLEVBQUE7SWY5SnpDO01la0tVLFNBQVMsRUFBQSxFQUNWOztBSDNHTDtFWnhESjtJZTJKUSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUMsRUFBQTtJZjlKekM7TWVrS1UsU0FBUyxFQUFBLEVBQ1Y7O0FIM0dMO0VaeERKO0llMkpRLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQyxFQUFBO0lmOUp6QztNZWtLVSxTQUFTLEVBQUEsRUFDVjs7QUgzR0w7RVp4REo7SWUySlEsY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUNBQWlDLEVBQUE7SWY5SnpDO01la0tVLFNBQVMsRUFBQSxFQUNWOztBZm5LVDtFZTJKUSxjQUFjO0VBQ2QsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixpQ0FBaUMsRUFBQTtFZjlKekM7SWVrS1UsU0FBUyxFQUFBOztBZmxLbkI7RWtCVkUsY0FBYztFQUNkLFdBQVc7RUFDWCxtQ0RpSDhEO0VDaEg5RCx5QmpCeVhrQztFQ3BROUIsZUF0Q1k7RWdCNUVoQixnQmpCa1IrQjtFaUJqUi9CLGdCakJzUitCO0VpQnJSL0IsY2pCRGdCO0VpQkVoQixzQmpCVGE7RWlCVWIsNEJBQTRCO0VBQzVCLHlCakJQZ0I7RVFPZCxzQlI2TmdDO0VrQi9OOUIsd0VsQnVlNEYsRUFBQTtFa0JuZTVGO0luQkhOO01tQklRLGdCQUFnQixFQUFBLEVEc0N2QjtFbEIxQ0Q7SWtCV0ksNkJBQTZCO0lBQzdCLFNBQVMsRUFBQTtFbEJaYjtJa0JpQkksa0JBQWtCO0lBQ2xCLDBCakJyQmMsRUFBQTtFREdsQjtJb0JISSxjbkJBYztJbUJDZCxzQm5CUlc7SW1CU1gscUJuQnFkc0U7SW1CcGR0RSxVQUFVO0lBS1IsZ0RuQmFXLEVBQUE7RURsQmpCO0lrQjBCSSxjakI5QmM7SWlCZ0NkLFVBQVUsRUFBQTtFbEI1QmQ7SWtCMEJJLGNqQjlCYztJaUJnQ2QsVUFBVSxFQUFBO0VsQjVCZDtJa0IwQkksY2pCOUJjO0lpQmdDZCxVQUFVLEVBQUE7RWxCNUJkO0lrQjBCSSxjakI5QmM7SWlCZ0NkLFVBQVUsRUFBQTtFbEI1QmQ7SWtCc0NJLHlCakI5Q2M7SWlCZ0RkLFVBQVUsRUFBQTs7QWxCeENkOzs7O0VrQmlESSx3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQixFQUFBOztBbEJqRHBCO0VrQjRESSxjakIvRGM7RWlCZ0VkLHNCakJ2RVcsRUFBQTs7QURVZjs7RWtCb0VFLGNBQWM7RUFDZCxXQUFXLEVBQUE7O0FsQnJFYjtFa0JnRkUsaUNEeUI4RDtFQ3hCOUQsb0NEd0I4RDtFQ3ZCOUQsZ0JBQWdCO0VoQjNCZCxrQkFBVztFZ0I2QmIsZ0JqQitMK0IsRUFBQTs7QURuUmpDO0VrQndGRSwrQkRpQjhEO0VDaEI5RCxrQ0RnQjhEO0VmSzFELGtCQXRDWTtFZ0JtQmhCLGdCakI2SCtCLEVBQUE7O0FEeE5qQztFa0IrRkUsZ0NEVThEO0VDVDlELG1DRFM4RDtFZksxRCxtQkF0Q1k7RWdCMEJoQixnQmpCdUgrQixFQUFBOztBRHpOakM7RWtCNEdFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsbUJBQTJCO0VBQzNCLGdCQUFnQjtFaEJEWixlQXRDWTtFZ0J5Q2hCLGdCakJrSytCO0VpQmpLL0IsY2pCbkhnQjtFaUJvSGhCLDZCQUE2QjtFQUM3Qix5QkFBeUI7RUFDekIsbUJBQW1DLEVBQUE7RWxCckhyQztJa0J5SEksZ0JBQWdCO0lBQ2hCLGVBQWUsRUFBQTs7QWxCMUhuQjtFa0J1SUUsa0NEOUI4RDtFQytCOUQsdUJqQm9QaUM7RUM5UTdCLG1CQXRDWTtFZ0JrRWhCLGdCakIrRStCO0VReE43QixxQlIrTitCLEVBQUE7O0FEaE9uQztFa0IrSUUsZ0NEdEM4RDtFQ3VDOUQsb0JqQmlQZ0M7RUNuUjVCLGtCQXRDWTtFZ0IwRWhCLGdCakJzRStCO0VRdk43QixxQlI4TitCLEVBQUE7O0FEL05uQztFa0IwSkksWUFBWSxFQUFBOztBbEIxSmhCO0VrQitKRSxZQUFZLEVBQUE7O0FsQi9KZDtFa0J3S0UsbUJqQjBVMEMsRUFBQTs7QURsZjVDO0VrQjRLRSxjQUFjO0VBQ2QsbUJqQjJUNEMsRUFBQTs7QUR4ZTlDO0VrQnNMRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLGtCQUEwQztFQUMxQyxpQkFBeUMsRUFBQTtFbEJ6TDNDOztJa0I2TEksa0JBQTBDO0lBQzFDLGlCQUF5QyxFQUFBOztBbEI5TDdDO0VrQndNRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLHFCakJnUzZDLEVBQUE7O0FEMWUvQztFa0I4TUUsa0JBQWtCO0VBQ2xCLGtCakI0UjJDO0VpQjNSM0MscUJqQjBSNkMsRUFBQTtFRDFlL0M7O0lrQnFOSSxjakJ6TmMsRUFBQTs7QURJbEI7RWtCME5FLGdCQUFnQixFQUFBOztBbEIxTmxCO0VrQjhORSxvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixxQmpCNlE0QyxFQUFBO0VEOWU5QztJa0JxT0ksZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYix1QmpCd1E0QztJaUJ2UTVDLGNBQWMsRUFBQTs7QWxCeE9sQjtFb0I0QkksYUFBYTtFQUNiLFdBQVc7RUFDWCxtQm5CMGMwQztFQ2piMUMsY0FBVztFa0J2QlgsY25CUGEsRUFBQTs7QUR6QmpCO0VvQm9DSSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULE9BQU87RUFDUCxVQUFVO0VBQ1YsYUFBYTtFQUNiLGVBQWU7RUFDZix1Qm5Cb3lCcUM7RW1CbnlCckMsaUJBQWlCO0VsQm1FZixtQkF0Q1k7RWtCM0JkLGdCbkJzTzZCO0VtQnJPN0IsV25CeERXO0VtQnlEWCx3Q25CdEJhO0VReEJiLHNCUjZOZ0MsRUFBQTtFbUIxS2hDOztJQUVFLFNBQWlDLEVBQUE7O0FwQnREdkM7O0VvQjZETSxjQUFjLEVBQUE7O0FwQjdEcEI7RW9CbUVNLHFCbkIxQ1c7RW1CNkNULG9DSG1Dd0Q7RUdsQ3hELGlSSDNCMEU7RUc0QjFFLDRCQUE0QjtFQUM1QiwyREFBNkQ7RUFDN0QsZ0VIK0J3RCxFQUFBO0VqQnpHaEU7SW9COEVRLHFCbkJyRFM7SW1Cc0RULGdEbkJ0RFMsRUFBQTs7QUR6QmpCO0VvQndGUSxvQ0hpQndEO0VHaEJ4RCxrRkhnQndELEVBQUE7O0FqQnpHaEU7RW9CZ0dNLHFCbkJ2RVc7RW1CMEVULHVDSE13RDtFR0x4RCx1akJBQThKLEVBQUE7RXBCcEd0SztJb0J3R1EscUJuQi9FUztJbUJnRlQsZ0RuQmhGUyxFQUFBOztBRHpCakI7RW9CaUhRLGNuQnhGUyxFQUFBOztBRHpCakI7O0VvQnNIUSxjQUFjLEVBQUE7O0FwQnRIdEI7RW9COEhRLGNuQnJHUyxFQUFBO0VEekJqQjtJb0JpSVUscUJuQnhHTyxFQUFBOztBRHpCakI7RW9CdUlVLHFCQUFrQztFQ2xKeEMseUJEbUorQyxFQUFBOztBcEJ4SW5EO0VvQjhJVSxnRG5CckhPLEVBQUE7O0FEekJqQjtFb0JrSlUscUJuQnpITyxFQUFBOztBRHpCakI7RW9CNEpRLHFCbkJuSVMsRUFBQTs7QUR6QmpCO0VvQmlLVSxxQm5CeElPO0VtQnlJUCxnRG5CeklPLEVBQUE7O0FEekJqQjtFb0I0QkksYUFBYTtFQUNiLFdBQVc7RUFDWCxtQm5CMGMwQztFQ2piMUMsY0FBVztFa0J2QlgsY25CVmEsRUFBQTs7QUR0QmpCO0VvQm9DSSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULE9BQU87RUFDUCxVQUFVO0VBQ1YsYUFBYTtFQUNiLGVBQWU7RUFDZix1Qm5Cb3lCcUM7RW1CbnlCckMsaUJBQWlCO0VsQm1FZixtQkF0Q1k7RWtCM0JkLGdCbkJzTzZCO0VtQnJPN0IsV25CeERXO0VtQnlEWCx3Q25CekJhO0VRckJiLHNCUjZOZ0MsRUFBQTtFbUIxS2hDOztJQUVFLFNBQWlDLEVBQUE7O0FwQnREdkM7O0VvQjZETSxjQUFjLEVBQUE7O0FwQjdEcEI7RW9CbUVNLHFCbkI3Q1c7RW1CZ0RULG9DSG1Dd0Q7RUdsQ3hELDRVSDNCMEU7RUc0QjFFLDRCQUE0QjtFQUM1QiwyREFBNkQ7RUFDN0QsZ0VIK0J3RCxFQUFBO0VqQnpHaEU7SW9COEVRLHFCbkJ4RFM7SW1CeURULGdEbkJ6RFMsRUFBQTs7QUR0QmpCO0VvQndGUSxvQ0hpQndEO0VHaEJ4RCxrRkhnQndELEVBQUE7O0FqQnpHaEU7RW9CZ0dNLHFCbkIxRVc7RW1CNkVULHVDSE13RDtFR0x4RCxrbkJBQThKLEVBQUE7RXBCcEd0SztJb0J3R1EscUJuQmxGUztJbUJtRlQsZ0RuQm5GUyxFQUFBOztBRHRCakI7RW9CaUhRLGNuQjNGUyxFQUFBOztBRHRCakI7O0VvQnNIUSxjQUFjLEVBQUE7O0FwQnRIdEI7RW9COEhRLGNuQnhHUyxFQUFBO0VEdEJqQjtJb0JpSVUscUJuQjNHTyxFQUFBOztBRHRCakI7RW9CdUlVLHFCQUFrQztFQ2xKeEMseUJEbUorQyxFQUFBOztBcEJ4SW5EO0VvQjhJVSxnRG5CeEhPLEVBQUE7O0FEdEJqQjtFb0JrSlUscUJuQjVITyxFQUFBOztBRHRCakI7RW9CNEpRLHFCbkJ0SVMsRUFBQTs7QUR0QmpCO0VvQmlLVSxxQm5CM0lPO0VtQjRJUCxnRG5CNUlPLEVBQUE7O0FEdEJqQjtFa0JrUUUsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixtQkFBbUIsRUFBQTtFbEJwUXJCO0lrQjBRSSxXQUFXLEVBQUE7RU4vTlg7SVozQ0o7TWtCZ1JNLGFBQWE7TUFDYixtQkFBbUI7TUFDbkIsdUJBQXVCO01BQ3ZCLGdCQUFnQixFQUFBO0lsQm5SdEI7TWtCd1JNLGFBQWE7TUFDYixjQUFjO01BQ2QsbUJBQW1CO01BQ25CLG1CQUFtQjtNQUNuQixnQkFBZ0IsRUFBQTtJbEI1UnRCO01rQmlTTSxxQkFBcUI7TUFDckIsV0FBVztNQUNYLHNCQUFzQixFQUFBO0lsQm5TNUI7TWtCd1NNLHFCQUFxQixFQUFBO0lsQnhTM0I7O01rQjZTTSxXQUFXLEVBQUE7SWxCN1NqQjtNa0JtVE0sYUFBYTtNQUNiLG1CQUFtQjtNQUNuQix1QkFBdUI7TUFDdkIsV0FBVztNQUNYLGVBQWUsRUFBQTtJbEJ2VHJCO01rQjBUTSxrQkFBa0I7TUFDbEIsY0FBYztNQUNkLGFBQWE7TUFDYixxQmpCK0t3QztNaUI5S3hDLGNBQWMsRUFBQTtJbEI5VHBCO01rQmtVTSxtQkFBbUI7TUFDbkIsdUJBQXVCLEVBQUE7SWxCblU3QjtNa0JzVU0sZ0JBQWdCLEVBQUEsRUFDakI7O0FsQnZVTDtFb0I0QkksYUFBYTtFQUNiLFdBQVc7RUFDWCxtQm5CMGMwQztFQ2piMUMsY0FBVztFa0J2QlgsY25CUGEsRUFBQTs7QUR6QmpCO0VvQm9DSSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULE9BQU87RUFDUCxVQUFVO0VBQ1YsYUFBYTtFQUNiLGVBQWU7RUFDZix1Qm5Cb3lCcUM7RW1CbnlCckMsaUJBQWlCO0VsQm1FZixtQkF0Q1k7RWtCM0JkLGdCbkJzTzZCO0VtQnJPN0IsV25CeERXO0VtQnlEWCx3Q25CdEJhO0VReEJiLHNCUjZOZ0MsRUFBQTtFbUIxS2hDOztJQUVFLFNBQWlDLEVBQUE7O0FwQnREdkM7OztFb0I2RE0sY0FBYyxFQUFBOztBcEI3RHBCO0VvQm1FTSxxQm5CMUNXO0VtQjZDVCxvQ0htQ3dEO0VHbEN4RCxpUkgzQjBFO0VHNEIxRSw0QkFBNEI7RUFDNUIsMkRBQTZEO0VBQzdELGdFSCtCd0QsRUFBQTtFakJ6R2hFO0lvQjhFUSxxQm5CckRTO0ltQnNEVCxnRG5CdERTLEVBQUE7O0FEekJqQjtFb0J3RlEsb0NIaUJ3RDtFR2hCeEQsa0ZIZ0J3RCxFQUFBOztBakJ6R2hFO0VvQmdHTSxxQm5CdkVXO0VtQjBFVCx1Q0hNd0Q7RUdMeEQsdWpCQUE4SixFQUFBO0VwQnBHdEs7SW9Cd0dRLHFCbkIvRVM7SW1CZ0ZULGdEbkJoRlMsRUFBQTs7QUR6QmpCO0VvQmlIUSxjbkJ4RlMsRUFBQTs7QUR6QmpCOzs7RW9Cc0hRLGNBQWMsRUFBQTs7QXBCdEh0QjtFb0I4SFEsY25CckdTLEVBQUE7RUR6QmpCO0lvQmlJVSxxQm5CeEdPLEVBQUE7O0FEekJqQjtFb0J1SVUscUJBQWtDO0VDbEp4Qyx5QkRtSitDLEVBQUE7O0FwQnhJbkQ7RW9COElVLGdEbkJySE8sRUFBQTs7QUR6QmpCO0VvQmtKVSxxQm5CekhPLEVBQUE7O0FEekJqQjtFb0I0SlEscUJuQm5JUyxFQUFBOztBRHpCakI7RW9CaUtVLHFCbkJ4SU87RW1CeUlQLGdEbkJ6SU8sRUFBQTs7QUR6QmpCOzs7O0VzQlRZLGNBQWMsRUFBQTs7QXRCUzFCO0VvQjRCSSxhQUFhO0VBQ2IsV0FBVztFQUNYLG1CbkIwYzBDO0VDamIxQyxjQUFXO0VrQnZCWCxjbkJWYSxFQUFBOztBRHRCakI7RW9Cb0NJLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsT0FBTztFQUNQLFVBQVU7RUFDVixhQUFhO0VBQ2IsZUFBZTtFQUNmLHVCbkJveUJxQztFbUJueUJyQyxpQkFBaUI7RWxCbUVmLG1CQXRDWTtFa0IzQmQsZ0JuQnNPNkI7RW1Cck83QixXbkJ4RFc7RW1CeURYLHdDbkJ6QmE7RVFyQmIsc0JSNk5nQyxFQUFBO0VtQjFLaEM7O0lBRUUsU0FBaUMsRUFBQTs7QXBCdER2Qzs7O0VvQjZETSxjQUFjLEVBQUE7O0FwQjdEcEI7RW9CbUVNLHFCbkI3Q1c7RW1CZ0RULG9DSG1Dd0Q7RUdsQ3hELDRVSDNCMEU7RUc0QjFFLDRCQUE0QjtFQUM1QiwyREFBNkQ7RUFDN0QsZ0VIK0J3RCxFQUFBO0VqQnpHaEU7SW9COEVRLHFCbkJ4RFM7SW1CeURULGdEbkJ6RFMsRUFBQTs7QUR0QmpCO0VvQndGUSxvQ0hpQndEO0VHaEJ4RCxrRkhnQndELEVBQUE7O0FqQnpHaEU7RW9CZ0dNLHFCbkIxRVc7RW1CNkVULHVDSE13RDtFR0x4RCxrbkJBQThKLEVBQUE7RXBCcEd0SztJb0J3R1EscUJuQmxGUztJbUJtRlQsZ0RuQm5GUyxFQUFBOztBRHRCakI7RW9CaUhRLGNuQjNGUyxFQUFBOztBRHRCakI7OztFb0JzSFEsY0FBYyxFQUFBOztBcEJ0SHRCO0VvQjhIUSxjbkJ4R1MsRUFBQTtFRHRCakI7SW9CaUlVLHFCbkIzR08sRUFBQTs7QUR0QmpCO0VvQnVJVSxxQkFBa0M7RUNsSnhDLHlCRG1KK0MsRUFBQTs7QXBCeEluRDtFb0I4SVUsZ0RuQnhITyxFQUFBOztBRHRCakI7RW9Ca0pVLHFCbkI1SE8sRUFBQTs7QUR0QmpCO0VvQjRKUSxxQm5CdElTLEVBQUE7O0FEdEJqQjtFb0JpS1UscUJuQjNJTztFbUI0SVAsZ0RuQjVJTyxFQUFBOztBRHRCakI7Ozs7RXNCVFksY0FBYyxFQUFBOztBdEJTMUI7RXVCVkUscUJBQXFCO0VBRXJCLGdCdEJzUitCO0VzQnJSL0IsY3RCTWdCO0VzQkxoQixrQkFBa0I7RUFHbEIsc0JBQXNCO0VBQ3RCLHlCQUFpQjtLQUFqQixzQkFBaUI7TUFBakIscUJBQWlCO1VBQWpCLGlCQUFpQjtFQUNqQiw2QkFBNkI7RUFDN0IsNkJBQTJDO0VDdUYzQyx5QnZCMlJrQztFQ3BROUIsZUF0Q1k7RXNCaUJoQixnQnZCMEwrQjtFUWxSN0Isc0JSNk5nQztFa0IvTjlCLHFJbEJnYjZJLEVBQUE7RWtCNWE3STtJbkJITjtNbUJJUSxnQkFBZ0IsRUFBQSxFSThCdkI7RXZCbENEO0l1QktJLGN0Qk5jO0lzQk9kLHFCQUFxQixFQUFBO0V2Qk56QjtJdUJXSSxVQUFVO0lBQ1YsZ0R0Qk1hLEVBQUE7RURsQmpCO0l1QmtCSSxhdEJpWjZCLEVBQUE7RURuYWpDO0l1QnVCSSxlQUFzRCxFQUFBOztBdkJ2QjFEOztFdUJ1Q0Usb0JBQW9CLEVBQUE7O0F2QnZDdEI7RXdCWEUsV3ZCQ2E7RW9CRFgseUJwQjZCYTtFdUIzQmYscUJ2QjJCZSxFQUFBO0VEbEJqQjtJd0JMSSxXdkJMVztJb0JEWCx5QkdEb0Y7SUFTcEYscUJBVHlILEVBQUE7RXhCWTdIO0l3QkVJLFd2QlpXO0lvQkRYLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsZ0RBQWlGLEVBQUE7RXhCVHZGO0l3QmdCSSxXdkIxQlc7SXVCMkJYLHlCdkJDYTtJdUJBYixxQnZCQWEsRUFBQTtFRGxCakI7O0l3QjRCSSxXdkJ0Q1c7SXVCdUNYLHlCQXpDdUs7SUE2Q3ZLLHFCQTdDK00sRUFBQTtJeEJZbk47O013QndDUSxnREFBaUYsRUFBQTs7QXhCeEN6RjtFd0JYRSxXdkJDYTtFb0JEWCx5QnBCT2M7RXVCTGhCLHFCdkJLZ0IsRUFBQTtFRElsQjtJd0JMSSxXdkJMVztJb0JEWCx5QkdEb0Y7SUFTcEYscUJBVHlILEVBQUE7RXhCWTdIO0l3QkVJLFd2QlpXO0lvQkRYLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsaURBQWlGLEVBQUE7RXhCVHZGO0l3QmdCSSxXdkIxQlc7SXVCMkJYLHlCdkJyQmM7SXVCc0JkLHFCdkJ0QmMsRUFBQTtFRElsQjs7SXdCNEJJLFd2QnRDVztJdUJ1Q1gseUJBekN1SztJQTZDdksscUJBN0MrTSxFQUFBO0l4QlluTjs7TXdCd0NRLGlEQUFpRixFQUFBOztBeEJ4Q3pGO0V3QlhFLFd2QkNhO0VvQkRYLHlCcEJvQ2E7RXVCbENmLHFCdkJrQ2UsRUFBQTtFRHpCakI7SXdCTEksV3ZCTFc7SW9CRFgseUJHRG9GO0lBU3BGLHFCQVR5SCxFQUFBO0V4Qlk3SDtJd0JFSSxXdkJaVztJb0JEWCx5QkdEb0Y7SUFnQnBGLHFCQWhCeUg7SUFxQnZILCtDQUFpRixFQUFBO0V4QlR2RjtJd0JnQkksV3ZCMUJXO0l1QjJCWCx5QnZCUWE7SXVCUGIscUJ2Qk9hLEVBQUE7RUR6QmpCOztJd0I0QkksV3ZCdENXO0l1QnVDWCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7SXhCWW5OOztNd0J3Q1EsK0NBQWlGLEVBQUE7O0F4QnhDekY7RXdCWEUsV3ZCQ2E7RW9CRFgseUJwQnNDYTtFdUJwQ2YscUJ2Qm9DZSxFQUFBO0VEM0JqQjtJd0JMSSxXdkJMVztJb0JEWCx5QkdEb0Y7SUFTcEYscUJBVHlILEVBQUE7RXhCWTdIO0l3QkVJLFd2QlpXO0lvQkRYLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsZ0RBQWlGLEVBQUE7RXhCVHZGO0l3QmdCSSxXdkIxQlc7SXVCMkJYLHlCdkJVYTtJdUJUYixxQnZCU2EsRUFBQTtFRDNCakI7O0l3QjRCSSxXdkJ0Q1c7SXVCdUNYLHlCQXpDdUs7SUE2Q3ZLLHFCQTdDK00sRUFBQTtJeEJZbk47O013QndDUSxnREFBaUYsRUFBQTs7QXhCeEN6RjtFd0JYRSxjdkJVZ0I7RW9CVmQseUJwQm1DYTtFdUJqQ2YscUJ2QmlDZSxFQUFBO0VEeEJqQjtJd0JMSSxjdkJJYztJb0JWZCx5QkdEb0Y7SUFTcEYscUJBVHlILEVBQUE7RXhCWTdIO0l3QkVJLGN2QkhjO0lvQlZkLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsZ0RBQWlGLEVBQUE7RXhCVHZGO0l3QmdCSSxjdkJqQmM7SXVCa0JkLHlCdkJPYTtJdUJOYixxQnZCTWEsRUFBQTtFRHhCakI7O0l3QjRCSSxjdkI3QmM7SXVCOEJkLHlCQXpDdUs7SUE2Q3ZLLHFCQTdDK00sRUFBQTtJeEJZbk47O013QndDUSxnREFBaUYsRUFBQTs7QXhCeEN6RjtFd0JYRSxXdkJDYTtFb0JEWCx5QnBCaUNhO0V1Qi9CZixxQnZCK0JlLEVBQUE7RUR0QmpCO0l3QkxJLFd2QkxXO0lvQkRYLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFeEJZN0g7SXdCRUksV3ZCWlc7SW9CRFgseUJHRG9GO0lBZ0JwRixxQkFoQnlIO0lBcUJ2SCwrQ0FBaUYsRUFBQTtFeEJUdkY7SXdCZ0JJLFd2QjFCVztJdUIyQlgseUJ2QkthO0l1QkpiLHFCdkJJYSxFQUFBO0VEdEJqQjs7SXdCNEJJLFd2QnRDVztJdUJ1Q1gseUJBekN1SztJQTZDdksscUJBN0MrTSxFQUFBO0l4QlluTjs7TXdCd0NRLCtDQUFpRixFQUFBOztBeEJ4Q3pGO0V3QlhFLGN2QlVnQjtFb0JWZCx5QnBCRWM7RXVCQWhCLHFCdkJBZ0IsRUFBQTtFRFNsQjtJd0JMSSxjdkJJYztJb0JWZCx5QkdEb0Y7SUFTcEYscUJBVHlILEVBQUE7RXhCWTdIO0l3QkVJLGN2QkhjO0lvQlZkLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsaURBQWlGLEVBQUE7RXhCVHZGO0l3QmdCSSxjdkJqQmM7SXVCa0JkLHlCdkIxQmM7SXVCMkJkLHFCdkIzQmMsRUFBQTtFRFNsQjs7SXdCNEJJLGN2QjdCYztJdUI4QmQseUJBekN1SztJQTZDdksscUJBN0MrTSxFQUFBO0l4QlluTjs7TXdCd0NRLGlEQUFpRixFQUFBOztBeEJ4Q3pGO0V3QlhFLFd2QkNhO0VvQkRYLHlCcEJTYztFdUJQaEIscUJ2Qk9nQixFQUFBO0VERWxCO0l3QkxJLFd2QkxXO0lvQkRYLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFeEJZN0g7SXdCRUksV3ZCWlc7SW9CRFgseUJHRG9GO0lBZ0JwRixxQkFoQnlIO0lBcUJ2SCw4Q0FBaUYsRUFBQTtFeEJUdkY7SXdCZ0JJLFd2QjFCVztJdUIyQlgseUJ2Qm5CYztJdUJvQmQscUJ2QnBCYyxFQUFBO0VERWxCOztJd0I0QkksV3ZCdENXO0l1QnVDWCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7SXhCWW5OOztNd0J3Q1EsOENBQWlGLEVBQUE7O0F4QnhDekY7RXdCK0NFLGN2QjdCZTtFdUI4QmYscUJ2QjlCZSxFQUFBO0VEbEJqQjtJd0JtREksV3ZCN0RXO0l1QjhEWCx5QnZCbENhO0l1Qm1DYixxQnZCbkNhLEVBQUE7RURsQmpCO0l3QjBESSwrQ3ZCeENhLEVBQUE7RURsQmpCO0l3QitESSxjdkI3Q2E7SXVCOENiLDZCQUE2QixFQUFBO0V4QmhFakM7O0l3QnNFSSxXdkJoRlc7SXVCaUZYLHlCdkJyRGE7SXVCc0RiLHFCdkJ0RGEsRUFBQTtJRGxCakI7O013QitFUSwrQ3ZCN0RTLEVBQUE7O0FEbEJqQjtFd0IrQ0UsY3ZCbkRnQjtFdUJvRGhCLHFCdkJwRGdCLEVBQUE7RURJbEI7SXdCbURJLFd2QjdEVztJdUI4RFgseUJ2QnhEYztJdUJ5RGQscUJ2QnpEYyxFQUFBO0VESWxCO0l3QjBESSxpRHZCOURjLEVBQUE7RURJbEI7SXdCK0RJLGN2Qm5FYztJdUJvRWQsNkJBQTZCLEVBQUE7RXhCaEVqQzs7SXdCc0VJLFd2QmhGVztJdUJpRlgseUJ2QjNFYztJdUI0RWQscUJ2QjVFYyxFQUFBO0lESWxCOztNd0IrRVEsaUR2Qm5GVSxFQUFBOztBRElsQjtFd0IrQ0UsY3ZCdEJlO0V1QnVCZixxQnZCdkJlLEVBQUE7RUR6QmpCO0l3Qm1ESSxXdkI3RFc7SXVCOERYLHlCdkIzQmE7SXVCNEJiLHFCdkI1QmEsRUFBQTtFRHpCakI7SXdCMERJLCtDdkJqQ2EsRUFBQTtFRHpCakI7SXdCK0RJLGN2QnRDYTtJdUJ1Q2IsNkJBQTZCLEVBQUE7RXhCaEVqQzs7SXdCc0VJLFd2QmhGVztJdUJpRlgseUJ2QjlDYTtJdUIrQ2IscUJ2Qi9DYSxFQUFBO0lEekJqQjs7TXdCK0VRLCtDdkJ0RFMsRUFBQTs7QUR6QmpCO0V3QitDRSxjdkJwQmU7RXVCcUJmLHFCdkJyQmUsRUFBQTtFRDNCakI7SXdCbURJLFd2QjdEVztJdUI4RFgseUJ2QnpCYTtJdUIwQmIscUJ2QjFCYSxFQUFBO0VEM0JqQjtJd0IwREksZ0R2Qi9CYSxFQUFBO0VEM0JqQjtJd0IrREksY3ZCcENhO0l1QnFDYiw2QkFBNkIsRUFBQTtFeEJoRWpDOztJd0JzRUksV3ZCaEZXO0l1QmlGWCx5QnZCNUNhO0l1QjZDYixxQnZCN0NhLEVBQUE7SUQzQmpCOztNd0IrRVEsZ0R2QnBEUyxFQUFBOztBRDNCakI7RXdCK0NFLGN2QnZCZTtFdUJ3QmYscUJ2QnhCZSxFQUFBO0VEeEJqQjtJd0JtREksY3ZCcERjO0l1QnFEZCx5QnZCNUJhO0l1QjZCYixxQnZCN0JhLEVBQUE7RUR4QmpCO0l3QjBESSwrQ3ZCbENhLEVBQUE7RUR4QmpCO0l3QitESSxjdkJ2Q2E7SXVCd0NiLDZCQUE2QixFQUFBO0V4QmhFakM7O0l3QnNFSSxjdkJ2RWM7SXVCd0VkLHlCdkIvQ2E7SXVCZ0RiLHFCdkJoRGEsRUFBQTtJRHhCakI7O013QitFUSwrQ3ZCdkRTLEVBQUE7O0FEeEJqQjtFd0IrQ0UsY3ZCekJlO0V1QjBCZixxQnZCMUJlLEVBQUE7RUR0QmpCO0l3Qm1ESSxXdkI3RFc7SXVCOERYLHlCdkI5QmE7SXVCK0JiLHFCdkIvQmEsRUFBQTtFRHRCakI7SXdCMERJLCtDdkJwQ2EsRUFBQTtFRHRCakI7SXdCK0RJLGN2QnpDYTtJdUIwQ2IsNkJBQTZCLEVBQUE7RXhCaEVqQzs7SXdCc0VJLFd2QmhGVztJdUJpRlgseUJ2QmpEYTtJdUJrRGIscUJ2QmxEYSxFQUFBO0lEdEJqQjs7TXdCK0VRLCtDdkJ6RFMsRUFBQTs7QUR0QmpCO0V3QitDRSxjdkJ4RGdCO0V1QnlEaEIscUJ2QnpEZ0IsRUFBQTtFRFNsQjtJd0JtREksY3ZCcERjO0l1QnFEZCx5QnZCN0RjO0l1QjhEZCxxQnZCOURjLEVBQUE7RURTbEI7SXdCMERJLGlEdkJuRWMsRUFBQTtFRFNsQjtJd0IrREksY3ZCeEVjO0l1QnlFZCw2QkFBNkIsRUFBQTtFeEJoRWpDOztJd0JzRUksY3ZCdkVjO0l1QndFZCx5QnZCaEZjO0l1QmlGZCxxQnZCakZjLEVBQUE7SURTbEI7O013QitFUSxpRHZCeEZVLEVBQUE7O0FEU2xCO0V3QitDRSxjdkJqRGdCO0V1QmtEaEIscUJ2QmxEZ0IsRUFBQTtFREVsQjtJd0JtREksV3ZCN0RXO0l1QjhEWCx5QnZCdERjO0l1QnVEZCxxQnZCdkRjLEVBQUE7RURFbEI7SXdCMERJLDhDdkI1RGMsRUFBQTtFREVsQjtJd0IrREksY3ZCakVjO0l1QmtFZCw2QkFBNkIsRUFBQTtFeEJoRWpDOztJd0JzRUksV3ZCaEZXO0l1QmlGWCx5QnZCekVjO0l1QjBFZCxxQnZCMUVjLEVBQUE7SURFbEI7O013QitFUSw4Q3ZCakZVLEVBQUE7O0FERWxCO0V1QmtFRSxnQnRCNE0rQjtFc0IzTS9CLGN0QmpEZTtFc0JrRGYscUJ0QjJGNEMsRUFBQTtFRC9KOUM7SXVCdUVJLGN0QnlGOEQ7SXNCeEY5RCwwQnRCeUYrQyxFQUFBO0VEaktuRDtJdUI2RUksMEJ0Qm9GK0MsRUFBQTtFRGpLbkQ7SXVCa0ZJLGN0QnRGYztJc0J1RmQsb0JBQW9CLEVBQUE7O0F2Qm5GeEI7RXdCdUZFLG9CdkIwU2dDO0VDblI1QixrQkF0Q1k7RXNCaUJoQixnQnZCK0grQjtFUXZON0IscUJSOE4rQixFQUFBOztBRC9ObkM7RXdCdUZFLHVCdkJxU2lDO0VDOVE3QixtQkF0Q1k7RXNCaUJoQixnQnZCZ0krQjtFUXhON0IscUJSK04rQixFQUFBOztBRGhPbkM7RXVCNEdFLGNBQWM7RUFDZCxXQUFXLEVBQUE7RXZCN0diO0l1QmlISSxrQnRCdVQrQixFQUFBOztBRHhhbkM7OztFdUIwSEksV0FBVyxFQUFBOztBdkIxSGY7RW1CRE0sZ0NsQmlQMkMsRUFBQTtFa0I3TzNDO0luQkhOO01tQklRLGdCQUFnQixFQUFBLEVNZnZCO0V6QldEO0l5QmJJLFVBQVUsRUFBQTs7QXpCYWQ7RXlCUEksYUFBYSxFQUFBOztBekJPakI7RXlCRkUsa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxnQkFBZ0I7RU5EWiw2QmxCa1B3QyxFQUFBO0VrQjlPeEM7SW5CSE47TW1CSVEsZ0JBQWdCLEVBQUEsRU1GdkI7O0F6QkZEOzs7O0UwQlpFLGtCQUFrQixFQUFBOztBMUJZcEI7RTBCUkUsbUJBQW1CLEVBQUE7RTFCUXJCO0kyQmFNLHFCQUFxQjtJQUNyQixvQjFCK04wQztJMEI5TjFDLHVCMUI2TjBDO0kwQjVOMUMsV0FBVztJQWhDZix1QkFBOEI7SUFDOUIscUNBQTRDO0lBQzVDLGdCQUFnQjtJQUNoQixvQ0FBMkMsRUFBQTtFM0JhN0M7STJCeUNNLGNBQWMsRUFBQTs7QTNCekNwQjtFMEJBRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULE9BQU87RUFDUCxhekJ3cEJzQztFeUJ2cEJ0QyxhQUFhO0VBQ2IsV0FBVztFQUNYLGdCekJndUJ1QztFeUIvdEJ2QyxpQnpCZ3VCbUM7RXlCL3RCbkMsb0JBQTRCO0V4QnNHeEIsZUF0Q1k7RXdCOURoQixjekJYZ0I7RXlCWWhCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsc0J6QnZCYTtFeUJ3QmIsNEJBQTRCO0VBQzVCLHFDekJmYTtFUUNYLHNCUjZOZ0MsRUFBQTs7QUQ5TnBDO0UwQnlCTSxXQUFXO0VBQ1gsT0FBTyxFQUFBOztBMUIxQmI7RTBCOEJNLFFBQVE7RUFDUixVQUFVLEVBQUE7O0FkWVo7RVozQ0o7STBCeUJNLFdBQVc7SUFDWCxPQUFPLEVBQUE7RTFCMUJiO0kwQjhCTSxRQUFRO0lBQ1IsVUFBVSxFQUFBLEVBQ1g7O0FkV0Q7RVozQ0o7STBCeUJNLFdBQVc7SUFDWCxPQUFPLEVBQUE7RTFCMUJiO0kwQjhCTSxRQUFRO0lBQ1IsVUFBVSxFQUFBLEVBQ1g7O0FkV0Q7RVozQ0o7STBCeUJNLFdBQVc7SUFDWCxPQUFPLEVBQUE7RTFCMUJiO0kwQjhCTSxRQUFRO0lBQ1IsVUFBVSxFQUFBLEVBQ1g7O0FkV0Q7RVozQ0o7STBCeUJNLFdBQVc7SUFDWCxPQUFPLEVBQUE7RTFCMUJiO0kwQjhCTSxRQUFRO0lBQ1IsVUFBVSxFQUFBLEVBQ1g7O0ExQmhDTDtFMEJ3Q0ksU0FBUztFQUNULFlBQVk7RUFDWixhQUFhO0VBQ2IsdUJ6QjhyQnVDLEVBQUE7O0FEenVCM0M7RTJCYU0scUJBQXFCO0VBQ3JCLG9CMUIrTjBDO0UwQjlOMUMsdUIxQjZOMEM7RTBCNU4xQyxXQUFXO0VBekJmLGFBQWE7RUFDYixxQ0FBNEM7RUFDNUMsMEJBQWlDO0VBQ2pDLG9DQUEyQyxFQUFBOztBM0JNN0M7RTJCeUNNLGNBQWMsRUFBQTs7QTNCekNwQjtFMEJxREksTUFBTTtFQUNOLFdBQVc7RUFDWCxVQUFVO0VBQ1YsYUFBYTtFQUNiLHFCekJnckJ1QyxFQUFBOztBRHp1QjNDO0UyQmFNLHFCQUFxQjtFQUNyQixvQjFCK04wQztFMEI5TjFDLHVCMUI2TjBDO0UwQjVOMUMsV0FBVztFQWxCZixtQ0FBMEM7RUFDMUMsZUFBZTtFQUNmLHNDQUE2QztFQUM3Qyx3QkFBK0IsRUFBQTs7QTNCRGpDO0UyQnlDTSxjQUFjLEVBQUE7O0EzQnpDcEI7RTBCK0RNLGlCQUFpQixFQUFBOztBMUIvRHZCO0UwQnNFSSxNQUFNO0VBQ04sV0FBVztFQUNYLFVBQVU7RUFDVixhQUFhO0VBQ2Isc0J6QitwQnVDLEVBQUE7O0FEenVCM0M7RTJCYU0scUJBQXFCO0VBQ3JCLG9CMUIrTjBDO0UwQjlOMUMsdUIxQjZOMEM7RTBCNU4xQyxXQUFXLEVBQUE7O0EzQmhCakI7RTJCNEJRLGFBQWEsRUFBQTs7QTNCNUJyQjtFMkJnQ1EscUJBQXFCO0VBQ3JCLHFCMUI0TXdDO0UwQjNNeEMsdUIxQjBNd0M7RTBCek14QyxXQUFXO0VBOUJqQixtQ0FBMEM7RUFDMUMseUJBQWdDO0VBQ2hDLHNDQUE2QyxFQUFBOztBM0JQL0M7RTJCeUNNLGNBQWMsRUFBQTs7QTNCekNwQjtFMEJnRk0saUJBQWlCLEVBQUE7O0ExQmhGdkI7RTBCNEZJLFdBQVc7RUFDWCxZQUFZLEVBQUE7O0ExQjdGaEI7RTRCWkUsU0FBUztFQUNULGdCQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsNkIzQkNnQixFQUFBOztBRFFsQjtFMEIwR0UsY0FBYztFQUNkLFdBQVc7RUFDWCx1QnpCbXBCd0M7RXlCbHBCeEMsV0FBVztFQUNYLGdCekJnSytCO0V5Qi9KL0IsY3pCaEhnQjtFeUJpSGhCLG1CQUFtQjtFQUVuQixtQkFBbUI7RUFDbkIsNkJBQTZCO0VBQzdCLFNBQVMsRUFBQTtFMUJwSFg7STBCbUlJLGN6Qm1uQnFEO0l5QmxuQnJELHFCQUFxQjtJTC9JckIseUJwQkdjLEVBQUE7RURRbEI7STBCMElJLFd6QnBKVztJeUJxSlgscUJBQXFCO0lMdEpyQix5QnBCNkJhLEVBQUE7RURsQmpCO0kwQmlKSSxjekJ0SmM7SXlCdUpkLG9CQUFvQjtJQUNwQiw2QkFBNkIsRUFBQTs7QTFCbkpqQztFMEI0SkUsY0FBYyxFQUFBOztBMUI1SmhCO0UwQmlLRSxjQUFjO0VBQ2Qsc0J6QjZsQndDO0V5QjVsQnhDLGdCQUFnQjtFeEJyRFosbUJBdENZO0V3QjZGaEIsY3pCektnQjtFeUIwS2hCLG1CQUFtQixFQUFBOztBMUJ0S3JCO0UwQjJLRSxjQUFjO0VBQ2QsdUJ6Qm1sQndDO0V5QmxsQnhDLGN6QjlLZ0IsRUFBQTs7QURDbEI7O0U2QlpFLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsc0JBQXNCLEVBQUE7RTdCVXhCOztJNkJQSSxrQkFBa0I7SUFDbEIsY0FBYyxFQUFBO0k3Qk1sQjs7TTZCRE0sVUFBVSxFQUFBO0k3QkNoQjs7OztNNkJJTSxVQUFVLEVBQUE7O0E3QkpoQjtFNkJXRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLDJCQUEyQixFQUFBO0U3QmI3QjtJNkJnQkksV0FBVyxFQUFBOztBN0JoQmY7O0U2QndCSSxpQjVCbU02QixFQUFBOztBRDNOakM7O0VTaUJJLDBCb0JhOEI7RXBCWjlCLDZCb0JZOEIsRUFBQTs7QTdCOUJsQzs7RVMrQkkseUJvQkk2QjtFcEJIN0IsNEJvQkc2QixFQUFBOztBN0JuQ2pDO0U2Qm9ERSx3QkFBbUM7RUFDbkMsdUJBQWtDLEVBQUE7RTdCckRwQzs7O0k2QjBESSxjQUFjLEVBQUE7RUFHaEI7SUFDRSxlQUFlLEVBQUE7O0E3QjlEbkI7RTZCbUVFLHVCQUFzQztFQUN0QyxzQkFBcUMsRUFBQTs7QTdCcEV2QztFNkJ3RUUsc0JBQXNDO0VBQ3RDLHFCQUFxQyxFQUFBOztBN0J6RXZDO0U2QjhGRSxzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLHVCQUF1QixFQUFBO0U3QmhHekI7O0k2Qm9HSSxXQUFXLEVBQUE7RTdCcEdmOztJNkJ5R0ksZ0I1QmtINkIsRUFBQTtFRDNOakM7O0lTd0JJLDZCb0J1RitCO0lwQnRGL0IsNEJvQnNGK0IsRUFBQTtFN0IvR25DOztJU1VJLHlCb0IwRzRCO0lwQnpHNUIsMEJvQnlHNEIsRUFBQTs7QTdCcEhoQzs7RTZCd0lJLGdCQUFnQixFQUFBO0U3QnhJcEI7Ozs7STZCNElNLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsb0JBQW9CLEVBQUE7O0E3QjlJMUI7RThCVkUsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLFdBQVcsRUFBQTtFOUJNYjs7OztJOEJBSSxrQkFBa0I7SUFDbEIsY0FBYztJQUNkLFNBQVM7SUFDVCxZQUFZO0lBQ1osZ0JBQWdCLEVBQUE7STlCSnBCOzs7Ozs7Ozs7Ozs7TThCU00saUI3QmtOMkIsRUFBQTtFRDNOakM7OztJOEJpQkksVUFBVSxFQUFBO0U5QmpCZDtJOEJzQkksVUFBVSxFQUFBO0U5QnRCZDs7SVMrQkkseUJxQkptRDtJckJLbkQsNEJxQkxtRCxFQUFBO0U5QjNCdkQ7SThCaUNJLGFBQWE7SUFDYixtQkFBbUIsRUFBQTtJOUJsQ3ZCOztNUytCSSx5QnFCTXNFO01yQkx0RSw0QnFCS3NFLEVBQUE7RTlCckMxRTs7O0lTaUJJLDBCcUIyQmdDO0lyQjFCaEMsNkJxQjBCZ0MsRUFBQTtFOUI1Q3BDOzs7SVNpQkksMEJxQm1DZ0M7SXJCbENoQyw2QnFCa0NnQyxFQUFBOztBOUJwRHBDOztFOEJrRUUsYUFBYSxFQUFBO0U5QmxFZjs7SThCd0VJLGtCQUFrQjtJQUNsQixVQUFVLEVBQUE7STlCekVkOztNOEI0RU0sVUFBVSxFQUFBO0U5QjVFaEI7Ozs7Ozs7O0k4Qm9GSSxpQjdCdUk2QixFQUFBOztBRDNOakM7RThCd0Z1QixrQjdCbUlVLEVBQUE7O0FEM05qQztFOEJ5RnNCLGlCN0JrSVcsRUFBQTs7QUQzTmpDO0U4QmtHRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHlCN0I4UWtDO0U2QjdRbEMsZ0JBQWdCO0U1QlNaLGVBdENZO0U0QitCaEIsZ0I3QnVLK0I7RTZCdEsvQixnQjdCMksrQjtFNkIxSy9CLGM3QjVHZ0I7RTZCNkdoQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLHlCN0JwSGdCO0U2QnFIaEIseUI3Qm5IZ0I7RVFPZCxzQlI2TmdDLEVBQUE7RUQ5TnBDOztJOEJtSEksYUFBYSxFQUFBOztBOUJuSGpCOztFOEIrSEUsZ0NidEI4RCxFQUFBOztBakJ6R2hFOzs7Ozs7RThCd0lFLG9CN0J5UGdDO0VDblI1QixrQkF0Q1k7RTRCa0VoQixnQjdCOEUrQjtFUXZON0IscUJSOE4rQixFQUFBOztBRC9ObkM7O0U4QmdKRSxrQ2J2QzhELEVBQUE7O0FqQnpHaEU7Ozs7OztFOEJ5SkUsdUI3Qm1PaUM7RUM5UTdCLG1CQXRDWTtFNEJtRmhCLGdCN0I4RCtCO0VReE43QixxQlIrTitCLEVBQUE7O0FEaE9uQzs7RThCaUtFLHNCQUEwRSxFQUFBOztBOUJqSzVFOzs7Ozs7OztFU2lCSSwwQnFCbUs0QjtFckJsSzVCLDZCcUJrSzRCLEVBQUE7O0E5QnBMaEM7Ozs7OztFUytCSSx5QnFCOEoyQjtFckI3SjNCLDRCcUI2SjJCLEVBQUE7O0E5QjdML0I7RStCUEUsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixjQUFjO0VBQ2Qsa0JBQStDO0VBQy9DLG9CQUFxRTtFQUNyRSxpQ0FBbUI7VUFBbkIsbUJBQW1CLEVBQUE7O0EvQkVyQjtFK0JFRSxvQkFBb0I7RUFDcEIsa0I5QndmMEMsRUFBQTs7QUQzZjVDO0UrQk9FLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsV0FBVztFQUNYLFc5Qm9mMEM7RThCbmYxQyxlQUFrRjtFQUNsRixVQUFVLEVBQUE7RS9CWlo7SStCZUksVzlCekJXO0k4QjBCWCxxQjlCRWE7SW9CN0JiLHlCcEI2QmEsRUFBQTtFRGxCakI7SStCMEJNLGdEOUJSVyxFQUFBO0VEbEJqQjtJK0IrQkkscUI5QnFic0UsRUFBQTtFRHBkMUU7SStCbUNJLFc5QjdDVztJOEI4Q1gseUI5QmlmOEU7SThCaGY5RSxxQjlCZ2Y4RSxFQUFBO0VEcmhCbEY7SStCNkNNLGM5QmpEWSxFQUFBO0lESWxCO00rQmdEUSx5QjlCeERVLEVBQUE7O0FEUWxCO0UrQjJERSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBRWhCLG1CQUFtQixFQUFBO0UvQjlEckI7SStCbUVJLGtCQUFrQjtJQUNsQixZQUErRTtJQUMvRSxhQUErRDtJQUMvRCxjQUFjO0lBQ2QsVzlCdWJ3QztJOEJ0YnhDLFk5QnNid0M7SThCcmJ4QyxvQkFBb0I7SUFDcEIsV0FBVztJQUNYLHNCOUJyRlc7SThCc0ZYLHlCOUIrSTZCLEVBQUE7RUQzTmpDO0krQmtGSSxrQkFBa0I7SUFDbEIsWUFBK0U7SUFDL0UsYUFBK0Q7SUFDL0QsY0FBYztJQUNkLFc5Qndhd0M7SThCdmF4QyxZOUJ1YXdDO0k4QnRheEMsV0FBVztJQUNYLG1DQUFnRSxFQUFBOztBL0J6RnBFO0VTQ0ksc0JSNk5nQyxFQUFBOztBRDlOcEM7RStCeUdNLGtPZDdENEUsRUFBQTs7QWpCNUNsRjtFK0IrR00scUI5QjdGVztFb0I3QmIseUJwQjZCYSxFQUFBOztBRGxCakI7RStCb0hNLCtLZHhFNEUsRUFBQTs7QWpCNUNsRjtFcUJYSSx3Q3BCNkJhLEVBQUE7O0FEbEJqQjtFcUJYSSx3Q3BCNkJhLEVBQUE7O0FEbEJqQjtFK0J5SUksa0I5QnlaK0MsRUFBQTs7QURsaUJuRDtFK0I4SU0sOEtkbEc0RSxFQUFBOztBakI1Q2xGO0VxQlhJLHdDcEI2QmEsRUFBQTs7QURsQmpCO0UrQitKRSxxQkFBMkQsRUFBQTtFL0IvSjdEO0krQm1LTSxjQUFxRDtJQUNyRCxjOUJpWStFO0k4QmhZL0UsbUJBQW1CO0lBRW5CLHFCOUIrWDRFLEVBQUE7RUR0aUJsRjtJK0IyS00sd0JkbEUwRDtJY21FMUQsMEJkbkUwRDtJY29FMUQsdUJkaEQwRDtJY2lEMUQsd0JkakQwRDtJY2tEMUQseUI5QnBMWTtJOEJzTFoscUI5QnFYNEU7SWtCdmlCNUUseUlsQnlmK0gsRUFBQTtJa0JyZi9IO01uQkhOO1FtQklRLGdCQUFnQixFQUFBLEVZK0tuQjtFL0JuTEw7SStCd0xNLHNCOUJsTVM7SThCbU1ULDhCQUE0RSxFQUFBO0UvQnpMbEY7SXFCWEksd0NwQjZCYSxFQUFBOztBRGxCakI7RStCNE1FLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsbUNkckc4RDtFY3NHOUQsMEM5Qm1La0M7RUNwUTlCLGVBdENZO0U2QjBJaEIsZ0I5QjREK0I7RThCM0QvQixnQjlCZ0UrQjtFOEIvRC9CLGM5QnZOZ0I7RThCd05oQixzQkFBc0I7RUFDdEIsdU85QmtXK0k7RThCalcvSSx5QjlCN05nQjtFUU9kLHNCUjZOZ0M7RThCSmxDLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7RS9CMU5sQjtJK0I2TkkscUI5QnVQc0U7SThCdFB0RSxVQUFVO0lBS1IsZ0Q5QmpOVyxFQUFBO0lEbEJqQjtNK0I0T00sYzlCL09ZO004QmdQWixzQjlCdlBTLEVBQUE7RURVZjtJK0JtUEksWUFBWTtJQUNaLHNCOUI4SGdDO0k4QjdIaEMsc0JBQXNCLEVBQUE7RS9CclAxQjtJK0J5UEksYzlCN1BjO0k4QjhQZCx5QjlCbFFjLEVBQUE7RURRbEI7SStCK1BJLGFBQWEsRUFBQTtFL0IvUGpCO0krQm9RSSxrQkFBa0I7SUFDbEIsMEI5QnhRYyxFQUFBOztBREdsQjtFK0IwUUUsa0Nkaks4RDtFY2tLOUQsb0I5QmdIa0M7RThCL0dsQyx1QjlCK0drQztFOEI5R2xDLG9COUIrR2lDO0VDOVE3QixtQkF0Q1ksRUFBQTs7QUZ4RWxCO0UrQmtSRSxnQ2R6SzhEO0VjMEs5RCxtQjlCNkdpQztFOEI1R2pDLHNCOUI0R2lDO0U4QjNHakMsa0I5QjRHZ0M7RUNuUjVCLGtCQXRDWSxFQUFBOztBRnhFbEI7RStCK1JFLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsV0FBVztFQUNYLG1DZHpMOEQ7RWMwTDlELGdCQUFnQixFQUFBOztBL0JuU2xCO0UrQnVTRSxrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLFdBQVc7RUFDWCxtQ2RqTThEO0Vja005RCxTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLFVBQVUsRUFBQTtFL0I3U1o7SStCZ1RJLHFCOUJvS3NFO0k4Qm5LdEUsZ0Q5Qi9SYSxFQUFBO0VEbEJqQjs7SStCdVRJLHlCOUIvVGMsRUFBQTtFRFFsQjtJK0I0VE0saUI5QjJUUSxFQUFBO0VEdm5CZDtJK0JpVUksMEJBQTBCLEVBQUE7O0EvQmpVOUI7RStCc1VFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLE9BQU87RUFDUCxVQUFVO0VBQ1YsbUNkbE84RDtFY21POUQseUI5QnNDa0M7RThCckNsQyxnQkFBZ0I7RUFFaEIsZ0I5QmpFK0I7RThCa0UvQixnQjlCN0QrQjtFOEI4RC9CLGM5QnBWZ0I7RThCcVZoQixzQjlCNVZhO0U4QjZWYix5QjlCelZnQjtFUU9kLHNCUjZOZ0MsRUFBQTtFRDlOcEM7SStCd1ZJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLFNBQVM7SUFDVCxVQUFVO0lBQ1YsY0FBYztJQUNkLDZCZHJQNEQ7SWNzUDVELHlCOUJtQmdDO0k4QmxCaEMsZ0I5QjdFNkI7SThCOEU3QixjOUJwV2M7SThCcVdkLGlCQUFpQjtJVjdXakIseUJwQkdjO0k4QjRXZCxvQkFBb0I7SXRCbldwQixrQ3NCb1dnRixFQUFBOztBL0JyV3BGO0UrQmdYRSxXQUFXO0VBQ1gsY2QzUTJCO0VjNFEzQixVQUFVO0VBQ1YsNkJBQTZCO0VBQzdCLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7RS9CcFhsQjtJK0J1WEksVUFBVSxFQUFBO0kvQnZYZDtNK0IyWDhCLGdFOUJ6V2IsRUFBQTtJRGxCakI7TStCNFg4QixnRTlCMVdiLEVBQUE7SURsQmpCO00rQjZYOEIsZ0U5QjNXYixFQUFBO0VEbEJqQjtJK0JpWUksU0FBUyxFQUFBO0UvQmpZYjtJK0JxWUksVzlCbU42QztJOEJsTjdDLFk5QmtONkM7SThCak43QyxvQkFBeUU7SVZsWnpFLHlCcEI2QmE7SThCdVhiLFM5QmtOMEM7SVExbEIxQyxtQlIybEI2QztJa0I3bEIzQyxvSGxCeWYrSDtJa0J6Zi9ILDRHbEJ5ZitIO0k4QjNHakksd0JBQWdCO1lBQWhCLGdCQUFnQixFQUFBO0laMVlkO01uQkhOO1FtQklRLHdCQUFnQjtRQUFoQixnQkFBZ0IsRUFBQSxFWThZckI7SS9CbFpIO01xQlhJLHlCcEIybUIyRSxFQUFBO0VEaG1CL0U7SStCcVpJLFc5QjRMb0M7SThCM0xwQyxjOUI0THFDO0k4QjNMckMsa0JBQWtCO0lBQ2xCLGU5QjJMdUM7SThCMUx2Qyx5QjlCaGFjO0k4QmlhZCx5QkFBeUI7SXRCelp6QixtQlJvbEJvQyxFQUFBO0VEcmxCeEM7SStCZ2FJLFc5QndMNkM7SThCdkw3QyxZOUJ1TDZDO0lvQm5tQjdDLHlCcEI2QmE7SThCaVpiLFM5QndMMEM7SVExbEIxQyxtQlIybEI2QztJa0I3bEIzQyxpSGxCeWYrSDtJa0J6Zi9ILDRHbEJ5ZitIO0k4QmpGakkscUJBQWdCO1NBQWhCLGdCQUFnQixFQUFBO0lacGFkO01uQkhOO1FtQklRLHFCQUFnQjtRQUFoQixnQkFBZ0IsRUFBQSxFWXdhckI7SS9CNWFIO01xQlhJLHlCcEIybUIyRSxFQUFBO0VEaG1CL0U7SStCK2FJLFc5QmtLb0M7SThCaktwQyxjOUJrS3FDO0k4QmpLckMsa0JBQWtCO0lBQ2xCLGU5QmlLdUM7SThCaEt2Qyx5QjlCMWJjO0k4QjJiZCx5QkFBeUI7SXRCbmJ6QixtQlJvbEJvQyxFQUFBO0VEcmxCeEM7SStCMGJJLFc5QjhKNkM7SThCN0o3QyxZOUI2SjZDO0k4QjVKN0MsYUFBYTtJQUNiLG9COUJ0RStCO0k4QnVFL0IsbUI5QnZFK0I7SW9CbFkvQix5QnBCNkJhO0k4QjhhYixTOUIySjBDO0lRMWxCMUMsbUJSMmxCNkM7SWtCN2xCM0MsZ0hsQnlmK0g7SWtCemYvSCw0R2xCeWYrSDtJOEJwRGpJLGdCQUFnQixFQUFBO0laamNkO01uQkhOO1FtQklRLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUFBQSxFWXFjckI7SS9CemNIO01xQlhJLHlCcEIybUIyRSxFQUFBO0VEaG1CL0U7SStCNGNJLFc5QnFJb0M7SThCcElwQyxjOUJxSXFDO0k4QnBJckMsa0JBQWtCO0lBQ2xCLGU5Qm9JdUM7SThCbkl2Qyw2QkFBNkI7SUFDN0IseUJBQXlCO0lBQ3pCLG9CQUE0QyxFQUFBO0UvQmxkaEQ7SStCdWRJLHlCOUI5ZGM7SVFRZCxtQlJvbEJvQyxFQUFBO0VEcmxCeEM7SStCNGRJLGtCQUFrQjtJQUNsQix5QjlCcGVjO0lRUWQsbUJSb2xCb0MsRUFBQTtFRHJsQnhDO0krQm1lTSx5QjlCeGVZLEVBQUE7RURLbEI7SStCdWVNLGVBQWUsRUFBQTtFL0J2ZXJCO0krQjJlTSx5QjlCaGZZLEVBQUE7RURLbEI7SStCK2VNLGVBQWUsRUFBQTtFL0IvZXJCO0krQm1mTSx5QjlCeGZZLEVBQUE7O0FES2xCOzs7RW1CRE0sNEdsQnlmK0gsRUFBQTtFa0JyZi9IO0luQkhOOzs7TW1CSVEsZ0JBQWdCLEVBQUEsRVl3ZnZCOztBL0I1ZkQ7RWdDWEUsYUFBYTtFQUNiLGVBQWU7RUFDZixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGdCQUFnQixFQUFBOztBaENPbEI7RWdDSEUsY0FBYztFQUNkLG9CL0J5cUJzQyxFQUFBO0VEdnFCeEM7SWdDRUkscUJBQXFCLEVBQUE7RWhDRnpCO0lnQ09JLGMvQlhjO0krQllkLG9CQUFvQjtJQUNwQixlQUFlLEVBQUE7O0FoQ1RuQjtFZ0NrQkUsZ0MvQnpCZ0IsRUFBQTtFRE9sQjtJZ0NxQkksbUIvQnNNNkI7SStCck03Qiw2QkFBZ0Q7SXZCWmhELCtCUm9OZ0M7SVFuTmhDLGdDUm1OZ0MsRUFBQTtJRDlOcEM7TWdDMEJNLHFDL0JqQ1ksRUFBQTtJRE9sQjtNZ0M4Qk0sYy9CbENZO00rQm1DWiw2QkFBNkI7TUFDN0IseUJBQXlCLEVBQUE7RWhDaEMvQjs7SWdDc0NJLGMvQnpDYztJK0IwQ2Qsc0IvQmpEVztJK0JrRFgsa0MvQmxEVyxFQUFBO0VEVWY7SWdDNkNJLGdCL0I4SzZCO0lRak43Qix5QnVCcUM0QjtJdkJwQzVCLDBCdUJvQzRCLEVBQUE7O0FoQy9DaEM7RVNDSSxzQlI2TmdDLEVBQUE7O0FEOU5wQzs7RWdDK0RJLFcvQnpFVztFK0IwRVgseUIvQjlDYSxFQUFBOztBRGxCakI7O0VnQzRFSSxjQUFjO0VBQ2Qsa0JBQWtCLEVBQUE7O0FoQzdFdEI7O0VnQ29GSSxhQUFhO0VBQ2IsWUFBWTtFQUNaLGtCQUFrQixFQUFBOztBaEN0RnRCO0VnQ2lHSSxhQUFhLEVBQUE7O0FoQ2pHakI7RWdDb0dJLGNBQWMsRUFBQTs7QWhDcEdsQjtFaUNDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLG9CaENnSFcsRUFBQTtFRHRIYjs7SWlDV0ksYUFBYTtJQUNiLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsOEJBQThCLEVBQUE7O0FqQ2RsQztFaUNtQ0UscUJBQXFCO0VBQ3JCLHNCaENpcUIrRTtFZ0NocUIvRSx5QmhDZ3FCK0U7RWdDL3BCL0Usa0JoQ2dGVztFQ1JQLGtCQXRDWTtFK0JoQ2hCLG9CQUFvQjtFQUNwQixtQkFBbUIsRUFBQTtFakN6Q3JCO0lpQzRDSSxxQkFBcUIsRUFBQTs7QWpDNUN6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QWEsRUFBQSxFQUNkOztBakN6TVQ7RWlDNEpRLHFCQUFxQjtFQUNyQiwyQkFBMkIsRUFBQTtFakM3Sm5DOztJaUMySVUsZ0JBQWdCO0lBQ2hCLGVBQWUsRUFBQTtFakM1SXpCO0lpQ2dLVSxtQkFBbUIsRUFBQTtJakNoSzdCO01pQ21LWSxrQkFBa0IsRUFBQTtJakNuSzlCO01pQ3VLWSxxQmhDd2hCNkI7TWdDdmhCN0Isb0JoQ3VoQjZCLEVBQUE7RUQvckJ6Qzs7SWlDOEtVLGlCQUFpQixFQUFBO0VqQzlLM0I7SWlDNkxVLGlCQUFpQixFQUFBO0VqQzdMM0I7SWlDaU1VLHdCQUF3QjtJQUd4QixnQkFBZ0IsRUFBQTtFakNwTTFCO0lpQ3dNVSxhQUFhLEVBQUE7O0FqQ3hNdkI7RWlDdU5JLHlCaEN2TlcsRUFBQTtFREFmO0lpQzBOTSx5QmhDMU5TLEVBQUE7O0FEQWY7RWlDZ09NLHlCaENoT1MsRUFBQTtFREFmO0lpQ21PUSx5QmhDbk9PLEVBQUE7RURBZjtJaUN1T1EseUJoQ3ZPTyxFQUFBOztBREFmOzs7Ozs7O0VpQytPTSx5QmhDL09TLEVBQUE7O0FEQWY7RWlDb1BJLHlCaENwUFc7RWdDcVBYLGdDaENyUFcsRUFBQTs7QURBZjtFaUN5UEksbVJoQjdNOEUsRUFBQTs7QWpCNUNsRjtFaUM2UEkseUJoQzdQVyxFQUFBO0VEQWY7SWlDK1BNLHlCaEMvUFMsRUFBQTtJREFmO01pQ2tRUSx5QmhDbFFPLEVBQUE7O0FEQWY7RWlDMlFJLFdoQ3JSVyxFQUFBO0VEVWY7SWlDOFFNLFdoQ3hSUyxFQUFBOztBRFVmO0VpQ29STSwrQmhDOVJTLEVBQUE7RURVZjtJaUN1UlEsZ0NoQ2pTTyxFQUFBO0VEVWY7SWlDMlJRLGdDaENyU08sRUFBQTs7QURVZjs7OztFaUNtU00sV2hDN1NTLEVBQUE7O0FEVWY7RWlDd1NJLCtCaENsVFc7RWdDbVRYLHNDaENuVFcsRUFBQTs7QURVZjtFaUM2U0kseVJoQmpROEUsRUFBQTs7QWpCNUNsRjtFaUNpVEksK0JoQzNUVyxFQUFBO0VEVWY7SWlDbVRNLFdoQzdUUyxFQUFBO0lEVWY7TWlDc1RRLFdoQ2hVTyxFQUFBOztBRFVmO0VrQ1pFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFlBQVk7RUFFWixxQkFBcUI7RUFDckIsc0JqQ0phO0VpQ0tiLDJCQUEyQjtFQUMzQixzQ2pDSWE7RVFDWCxzQlI2TmdDLEVBQUE7RUQ5TnBDO0lrQ0FJLGVBQWU7SUFDZixjQUFjLEVBQUE7RWxDRGxCO0lrQ0tJLG1CQUFtQjtJQUNuQixzQkFBc0IsRUFBQTtJbENOMUI7TWtDU00sbUJBQW1CO016QkNyQiwyQ1FtSDREO01SbEg1RCw0Q1FrSDRELEVBQUE7SWpCN0hoRTtNa0NjTSxzQkFBc0I7TXpCVXhCLCtDUXFHNEQ7TVJwRzVELDhDUW9HNEQsRUFBQTtFakI3SGhFOztJa0N1QkksYUFBYSxFQUFBOztBbEN2QmpCO0VrQzhCRSxjQUFjO0VBR2QsZUFBZTtFQUNmLGdCakM4d0J5QyxFQUFBOztBRGh6QjNDO0VrQ3VDRSxzQmpDd3dCd0MsRUFBQTs7QUQveUIxQztFa0MyQ0UscUJBQStCO0VBQy9CLGdCQUFnQixFQUFBOztBbEM1Q2xCO0VrQ2dERSxnQkFBZ0IsRUFBQTs7QWxDaERsQjtFa0NxREkscUJBQXFCLEVBQUE7O0FsQ3JEekI7RWtDeURJLG9CakN1dkJ1QyxFQUFBOztBRGh6QjNDO0VrQ2tFRSx3QmpDOHVCeUM7RWlDN3VCekMsZ0JBQWdCO0VBRWhCLHFDakNyRWE7RWlDc0ViLDZDakN0RWEsRUFBQTtFREFmO0lTQ0ksMER5QndFOEUsRUFBQTs7QWxDekVsRjtFa0M4RUUsd0JqQ2t1QnlDO0VpQ2h1QnpDLHFDakNoRmE7RWlDaUZiLDBDakNqRmEsRUFBQTtFREFmO0lTQ0ksMERRNEg0RCxFQUFBOztBakI3SGhFO0VrQzhGRSx1QkFBaUM7RUFDakMsdUJqQ2d0QndDO0VpQy9zQnhDLHNCQUFnQztFQUNoQyxnQkFBZ0IsRUFBQTs7QWxDakdsQjtFa0NxR0UsdUJBQWlDO0VBQ2pDLHNCQUFnQyxFQUFBOztBbEN0R2xDO0VrQzJHRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixTQUFTO0VBQ1QsT0FBTztFQUNQLGdCakMyc0J5QztFUTF6QnZDLGtDUTRINEQsRUFBQTs7QWpCN0hoRTs7O0VrQ3VIRSxjQUFjO0VBQ2QsV0FBVyxFQUFBOztBbEN4SGI7O0VTVUksMkNRbUg0RDtFUmxINUQsNENRa0g0RCxFQUFBOztBakI3SGhFOztFU3dCSSwrQ1FxRzREO0VScEc1RCw4Q1FvRzRELEVBQUE7O0FqQjdIaEU7RWtDMElJLG1CakNtckJzRCxFQUFBOztBV2x4QnREO0VaM0NKO0lrQzhJSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLG1CakM2cUJzRDtJaUM1cUJ0RCxrQmpDNHFCc0QsRUFBQTtJRDd6QjFEO01rQ3FKTSxZQUFZO01BQ1osa0JqQ3VxQm9EO01pQ3RxQnBELGdCQUFnQjtNQUNoQixpQmpDcXFCb0QsRUFBQSxFaUNwcUJyRDs7QWxDekpMO0VrQ3NLSSxtQmpDdXBCc0QsRUFBQTs7QVdseEJ0RDtFWjNDSjtJa0MwS0ksYUFBYTtJQUNiLG1CQUFtQixFQUFBO0lsQzNLdkI7TWtDZ0xNLFlBQVk7TUFDWixnQkFBZ0IsRUFBQTtNbENqTHRCO1FrQ29MUSxjQUFjO1FBQ2QsY0FBYyxFQUFBO01sQ3JMdEI7UVNpQkksMEJ5QjBLb0M7UXpCektwQyw2QnlCeUtvQyxFQUFBO1FsQzNMeEM7O1VrQ2dNWSwwQkFBMEIsRUFBQTtRbENoTXRDOztVa0NxTVksNkJBQTZCLEVBQUE7TWxDck16QztRUytCSSx5QnlCMkttQztRekIxS25DLDRCeUIwS21DLEVBQUE7UWxDMU12Qzs7VWtDK01ZLHlCQUF5QixFQUFBO1FsQy9NckM7O1VrQ29OWSw0QkFBNEIsRUFBQSxFQUM3Qjs7QWxDck5YO0VrQ21PSSxzQmpDNGtCc0MsRUFBQTs7QVdwd0J0QztFWjNDSjtJa0N1T0ksb0JqQ3lsQmlDO1NpQ3psQmpDLGVqQ3lsQmlDO0lpQ3hsQmpDLHdCakN5bEJ1QztTaUN6bEJ2QyxtQmpDeWxCdUM7SWlDeGxCdkMsVUFBVTtJQUNWLFNBQVMsRUFBQTtJbEMxT2I7TWtDNk9NLHFCQUFxQjtNQUNyQixXQUFXLEVBQUEsRUFDWjs7QWxDL09MO0VrQ3lQRSxxQkFBcUIsRUFBQTtFbEN6UHZCO0lrQzRQSSxnQkFBZ0IsRUFBQTtJbEM1UHBCO01rQytQTSxnQkFBZ0I7TXpCdk9sQiw2QnlCd09pQztNekJ2T2pDLDRCeUJ1T2lDLEVBQUE7SWxDaFFyQztNU1VJLHlCeUIwUDhCO016QnpQOUIsMEJ5QnlQOEIsRUFBQTtJbENwUWxDO01TQ0ksZ0J5QnVRMEI7TUFDeEIsbUJqQzlDMkIsRUFBQTs7QUQzTmpDO0VtQ2hCRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLHFCbENpaUNzQztFa0NoaUN0QyxtQmxDbWlDc0M7RWtDamlDdEMsZ0JBQWdCO0VBQ2hCLHlCbENFZ0I7RVFTZCxzQlI2TmdDLEVBQUE7O0FEOU5wQztFbUNISSxvQmxDdWhDcUMsRUFBQTtFRHBoQ3pDO0ltQ0FNLFdBQVc7SUFDWCxxQmxDbWhDbUM7SWtDbGhDbkMsY2xDTlk7SWtDT1osWWxDd2hDdUMsRUFBQTs7QUQzaEM3QztFbUNjSSwwQkFBMEIsRUFBQTs7QW5DZDlCO0VtQ2tCSSxxQkFBcUIsRUFBQTs7QW5DbEJ6QjtFbUNzQkksY2xDMUJjLEVBQUE7O0FESWxCO0VvQ2hCRSxhQUFhO0U5QkdiLGVBQWU7RUFDZixnQkFBZ0I7RUdhZCxzQlI2TmdDLEVBQUE7O0FEOU5wQztFb0NWRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLHVCbkNneEJ3QztFbUMvd0J4QyxpQm5Da08rQjtFbUNqTy9CLGlCbkNteEJzQztFbUNseEJ0QyxjbkN1QmU7RW1DckJmLHNCbkNQYTtFbUNRYix5Qm5DTGdCLEVBQUE7RURPbEI7SW9DQ0ksVUFBVTtJQUNWLGNuQzhKOEQ7SW1DN0o5RCxxQkFBcUI7SUFDckIseUJuQ1pjO0ltQ2FkLHFCbkNaYyxFQUFBO0VET2xCO0lvQ1NJLFVBQVU7SUFDVixVbkMyd0JpQztJbUMxd0JqQyxnRG5DT2EsRUFBQTs7QURsQmpCO0VvQ2tCTSxjQUFjO0UzQmFoQiwrQlIrTGdDO0VROUxoQyxrQ1I4TGdDLEVBQUE7O0FEOU5wQztFU2lCSSxnQ1I2TWdDO0VRNU1oQyxtQ1I0TWdDLEVBQUE7O0FEOU5wQztFb0M2QkksVUFBVTtFQUNWLFduQ3hDVztFbUN5Q1gseUJuQ2JhO0VtQ2NiLHFCbkNkYSxFQUFBOztBRGxCakI7RW9Db0NJLGNuQ3hDYztFbUN5Q2Qsb0JBQW9CO0VBRXBCLFlBQVk7RUFDWixzQm5DbERXO0VtQ21EWCxxQm5DaERjLEVBQUE7O0FET2xCO0VxQ2JJLHVCcEN5eEJzQztFQzlwQnBDLGtCQXRDWTtFbUNuRmQsZ0JwQ21PNkIsRUFBQTs7QUR4TmpDO0VTK0JJLDhCUmdNK0I7RVEvTC9CLGlDUitMK0IsRUFBQTs7QUQvTm5DO0VTaUJJLCtCUjhNK0I7RVE3TS9CLGtDUjZNK0IsRUFBQTs7QUQvTm5DO0VxQ2JJLHVCcEN1eEJxQztFQzVwQm5DLG1CQXRDWTtFbUNuRmQsZ0JwQ29PNkIsRUFBQTs7QUR6TmpDO0VTK0JJLDhCUmlNK0I7RVFoTS9CLGlDUmdNK0IsRUFBQTs7QURoT25DO0VTaUJJLCtCUitNK0I7RVE5TS9CLGtDUjhNK0IsRUFBQTs7QURoT25DO0VzQ1hFLHFCQUFxQjtFQUNyQixxQnJDMDVCc0M7RUN6MUJwQyxjQUFXO0VvQy9EYixnQnJDdVIrQjtFcUN0Ui9CLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLHdCQUF3QjtFN0JLdEIsc0JSNk5nQztFa0IvTjlCLHFJbEJnYjZJLEVBQUE7RWtCNWE3STtJbkJITjtNbUJJUSxnQkFBZ0IsRUFBQSxFbUJNdkI7RUNYQztJREdJLHFCQUFxQixFQUFBO0V0Q0YzQjtJc0NRSSxhQUFhLEVBQUE7O0F0Q1JqQjtFc0NjRSxrQkFBa0I7RUFDbEIsU0FBUyxFQUFBOztBdENmWDtFc0N1QkUsb0JyQyszQnNDO0VxQzkzQnRDLG1CckM4M0JzQztFUXI1QnBDLG9CUnc1QnFDLEVBQUE7O0FEejVCekM7RXdDaEJFLFd2Q01hO0V1Q0xiLHlCdkNpQ2UsRUFBQTtFc0NuQmY7SUNWSSxXdkNDUztJdUNBVCx5QkFBa0MsRUFBQTtFQUg5QjtJQVFKLFVBQVU7SUFDViwrQ3ZDc0JXLEVBQUE7O0FEbEJqQjtFd0NoQkUsV3ZDTWE7RXVDTGIseUJ2Q1dnQixFQUFBO0VzQ0doQjtJQ1ZJLFd2Q0NTO0l1Q0FULHlCQUFrQyxFQUFBO0VBSDlCO0lBUUosVUFBVTtJQUNWLGlEdkNBWSxFQUFBOztBRElsQjtFd0NoQkUsV3ZDTWE7RXVDTGIseUJ2Q3dDZSxFQUFBO0VzQzFCZjtJQ1ZJLFd2Q0NTO0l1Q0FULHlCQUFrQyxFQUFBO0VBSDlCO0lBUUosVUFBVTtJQUNWLCtDdkM2QlcsRUFBQTs7QUR6QmpCO0V3Q2hCRSxXdkNNYTtFdUNMYix5QnZDMENlLEVBQUE7RXNDNUJmO0lDVkksV3ZDQ1M7SXVDQVQseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsZ0R2QytCVyxFQUFBOztBRDNCakI7RXdDaEJFLGN2Q2VnQjtFdUNkaEIseUJ2Q3VDZSxFQUFBO0VzQ3pCZjtJQ1ZJLGN2Q1VZO0l1Q1RaLHlCQUFrQyxFQUFBO0VBSDlCO0lBUUosVUFBVTtJQUNWLCtDdkM0QlcsRUFBQTs7QUR4QmpCO0V3Q2hCRSxXdkNNYTtFdUNMYix5QnZDcUNlLEVBQUE7RXNDdkJmO0lDVkksV3ZDQ1M7SXVDQVQseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsK0N2QzBCVyxFQUFBOztBRHRCakI7RXdDaEJFLGN2Q2VnQjtFdUNkaEIseUJ2Q01nQixFQUFBO0VzQ1FoQjtJQ1ZJLGN2Q1VZO0l1Q1RaLHlCQUFrQyxFQUFBO0VBSDlCO0lBUUosVUFBVTtJQUNWLGlEdkNMWSxFQUFBOztBRFNsQjtFd0NoQkUsV3ZDTWE7RXVDTGIseUJ2Q2FnQixFQUFBO0VzQ0NoQjtJQ1ZJLFd2Q0NTO0l1Q0FULHlCQUFrQyxFQUFBO0VBSDlCO0lBUUosVUFBVTtJQUNWLDhDdkNFWSxFQUFBOztBREVsQjtFeUNoQkUsa0JBQW9EO0VBQ3BELG1CeEN1ekJzQztFd0NyekJ0Qyx5QnhDS2dCO0VRU2QscUJSOE4rQixFQUFBO0VXcEwvQjtJWjNDSjtNeUNUSSxrQnhDaXpCb0MsRUFBQSxFd0MveUJ2Qzs7QXpDT0Q7RXlDSkUsZ0JBQWdCO0VBQ2hCLGVBQWU7RWhDSWIsZ0JnQ0hzQixFQUFBOztBekNFMUI7RTBDWkUsa0JBQWtCO0VBQ2xCLHdCekN1OUJ5QztFeUN0OUJ6QyxtQnpDdTlCc0M7RXlDdDlCdEMsNkJBQTZDO0VqQ1UzQyxzQlI2TmdDLEVBQUE7O0FEOU5wQztFMENGRSxjQUFjLEVBQUE7O0ExQ0VoQjtFMENHRSxnQnpDNFErQixFQUFBOztBRC9RakM7RTBDWUUsbUJBQXNELEVBQUE7RTFDWnhEO0kwQ2dCSSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFFBQVE7SUFDUixVQUFVO0lBQ1Ysd0J6Q3c3QnVDO0l5Q3Y3QnZDLGNBQWMsRUFBQTs7QTFDckJsQjtFMkNoQkUsYzFCd0dnRTtFSW5HOUQseUJKbUc4RDtFMEJ0R2hFLHFCMUJzR2dFLEVBQUE7RWpCeEZsRTtJMkNYSSx5QkFBcUMsRUFBQTtFM0NXekM7STJDUEksY0FBMEIsRUFBQTs7QTNDTzlCO0UyQ2hCRSxjMUJ3R2dFO0VJbkc5RCx5QkptRzhEO0UwQnRHaEUscUIxQnNHZ0UsRUFBQTtFakJ4RmxFO0kyQ1hJLHlCQUFxQyxFQUFBO0UzQ1d6QztJMkNQSSxjQUEwQixFQUFBOztBM0NPOUI7RTJDaEJFLGMxQndHZ0U7RUluRzlELHlCSm1HOEQ7RTBCdEdoRSxxQjFCc0dnRSxFQUFBO0VqQnhGbEU7STJDWEkseUJBQXFDLEVBQUE7RTNDV3pDO0kyQ1BJLGNBQTBCLEVBQUE7O0EzQ085QjtFMkNoQkUsYzFCd0dnRTtFSW5HOUQseUJKbUc4RDtFMEJ0R2hFLHFCMUJzR2dFLEVBQUE7RWpCeEZsRTtJMkNYSSx5QkFBcUMsRUFBQTtFM0NXekM7STJDUEksY0FBMEIsRUFBQTs7QTNDTzlCO0UyQ2hCRSxjMUJ3R2dFO0VJbkc5RCx5QkptRzhEO0UwQnRHaEUscUIxQnNHZ0UsRUFBQTtFakJ4RmxFO0kyQ1hJLHlCQUFxQyxFQUFBO0UzQ1d6QztJMkNQSSxjQUEwQixFQUFBOztBM0NPOUI7RTJDaEJFLGMxQndHZ0U7RUluRzlELHlCSm1HOEQ7RTBCdEdoRSxxQjFCc0dnRSxFQUFBO0VqQnhGbEU7STJDWEkseUJBQXFDLEVBQUE7RTNDV3pDO0kyQ1BJLGNBQTBCLEVBQUE7O0EzQ085QjtFMkNoQkUsYzFCd0dnRTtFSW5HOUQseUJKbUc4RDtFMEJ0R2hFLHFCMUJzR2dFLEVBQUE7RWpCeEZsRTtJMkNYSSx5QkFBcUMsRUFBQTtFM0NXekM7STJDUEksY0FBMEIsRUFBQTs7QTNDTzlCO0UyQ2hCRSxjMUJ3R2dFO0VJbkc5RCx5QkptRzhEO0UwQnRHaEUscUIxQnNHZ0UsRUFBQTtFakJ4RmxFO0kyQ1hJLHlCQUFxQyxFQUFBO0UzQ1d6QztJMkNQSSxjQUEwQixFQUFBOztBQ1I1QjtFQUNFO0lBQU8sMkJBQXVDLEVBQUE7RUFDOUM7SUFBSyx3QkFBd0IsRUFBQSxFQUFBOztBQUYvQjtFQUNFO0lBQU8sMkJBQXVDLEVBQUE7RUFDOUM7SUFBSyx3QkFBd0IsRUFBQSxFQUFBOztBNUNhakM7RTRDUkUsYUFBYTtFQUNiLFkzQ2crQnNDO0UyQy85QnRDLGdCQUFnQjtFQUNoQixjQUFjO0UxQ21IVixrQkF0Q1k7RTBDM0VoQix5QjNDTGdCO0VRU2Qsc0JSNk5nQyxFQUFBOztBRDlOcEM7RTRDR0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsZ0JBQWdCO0VBQ2hCLFczQ2pCYTtFMkNrQmIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQix5QjNDUWU7RWtCbkJYLDJCbEJrK0I0QyxFQUFBO0VrQjk5QjVDO0luQkhOO01tQklRLGdCQUFnQixFQUFBLEV5QlF2Qjs7QTVDWkQ7RXFCMEJFLHFNQUE2STtFdUJWN0ksMEIzQ3k4QnNDLEVBQUE7O0FEejlCeEM7RTRDcUJJLDBEQUE4RDtVQUE5RCxrREFBOEQsRUFBQTtFQUc1RDtJNUN4Qk47TTRDeUJRLHVCQUFlO2NBQWYsZUFBZSxFQUFBLEVBR3BCOztBNUM1Qkg7RTZDaEJFLGFBQWE7RUFDYix1QkFBdUIsRUFBQTs7QTdDZXpCO0U2Q1hFLE9BQU8sRUFBQTs7QTdDV1Q7RThDWkUsYUFBYTtFQUNiLHNCQUFzQjtFQUd0QixlQUFlO0VBQ2YsZ0JBQWdCO0VyQ1FkLHNCUjZOZ0MsRUFBQTs7QUQ5TnBDO0U4Q0lFLFdBQVc7RUFDWCxjN0NSZ0I7RTZDU2hCLG1CQUFtQixFQUFBO0U5Q05yQjtJOENVSSxVQUFVO0lBQ1YsYzdDZGM7STZDZWQscUJBQXFCO0lBQ3JCLHlCN0N0QmMsRUFBQTtFRFNsQjtJOENpQkksYzdDbEJjO0k2Q21CZCx5QjdDMUJjLEVBQUE7O0FEUWxCO0U4QzRCRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLHdCN0MrOEJ5QztFNkM1OEJ6QyxzQjdDM0NhO0U2QzRDYixzQzdDbENhLEVBQUE7RURBZjtJU1VJLCtCcUMyQmtDO0lyQzFCbEMsZ0NxQzBCa0MsRUFBQTtFOUNyQ3RDO0lTd0JJLG1DcUNpQnFDO0lyQ2hCckMsa0NxQ2dCcUMsRUFBQTtFOUN6Q3pDO0k4QzhDSSxjN0NsRGM7STZDbURkLG9CQUFvQjtJQUNwQixzQjdDMURXLEVBQUE7RURVZjtJOENxREksVUFBVTtJQUNWLFc3Q2hFVztJNkNpRVgseUI3Q3JDYTtJNkNzQ2IscUI3Q3RDYSxFQUFBO0VEbEJqQjtJOEM0REksbUJBQW1CLEVBQUE7STlDNUR2QjtNOEMrRE0sZ0I3QzRKMkI7TTZDM0ozQixxQjdDMkoyQixFQUFBOztBRDNOakM7RThDK0VNLG1CQUFtQixFQUFBO0U5Qy9FekI7SVN3REksa0NSc0tnQztJUWxMaEMsMEJxQ3dDd0MsRUFBQTtFOUNwRjVDO0lTNENJLGdDUmtMZ0M7SVF0S2hDLDRCcUNpQzBDLEVBQUE7RTlDekY5QztJOEM2RlUsYUFBYSxFQUFBO0U5QzdGdkI7SThDaUdVLHFCN0MwSHVCO0k2Q3pIdkIsb0JBQW9CLEVBQUE7STlDbEc5QjtNOENxR1ksaUI3Q3NIcUI7TTZDckhyQixzQjdDcUhxQixFQUFBOztBV2hMN0I7RVozQ0o7SThDK0VNLG1CQUFtQixFQUFBO0k5Qy9FekI7TVN3REksa0NSc0tnQztNUWxMaEMsMEJxQ3dDd0MsRUFBQTtJOUNwRjVDO01TNENJLGdDUmtMZ0M7TVF0S2hDLDRCcUNpQzBDLEVBQUE7STlDekY5QztNOEM2RlUsYUFBYSxFQUFBO0k5QzdGdkI7TThDaUdVLHFCN0MwSHVCO002Q3pIdkIsb0JBQW9CLEVBQUE7TTlDbEc5QjtROENxR1ksaUI3Q3NIcUI7UTZDckhyQixzQjdDcUhxQixFQUFBLEU2Q3BIdEI7O0FsQzVEUDtFWjNDSjtJOEMrRU0sbUJBQW1CLEVBQUE7STlDL0V6QjtNU3dESSxrQ1JzS2dDO01RbExoQywwQnFDd0N3QyxFQUFBO0k5Q3BGNUM7TVM0Q0ksZ0NSa0xnQztNUXRLaEMsNEJxQ2lDMEMsRUFBQTtJOUN6RjlDO004QzZGVSxhQUFhLEVBQUE7STlDN0Z2QjtNOENpR1UscUI3QzBIdUI7TTZDekh2QixvQkFBb0IsRUFBQTtNOUNsRzlCO1E4Q3FHWSxpQjdDc0hxQjtRNkNySHJCLHNCN0NxSHFCLEVBQUEsRTZDcEh0Qjs7QWxDNURQO0VaM0NKO0k4QytFTSxtQkFBbUIsRUFBQTtJOUMvRXpCO01Td0RJLGtDUnNLZ0M7TVFsTGhDLDBCcUN3Q3dDLEVBQUE7STlDcEY1QztNUzRDSSxnQ1JrTGdDO01RdEtoQyw0QnFDaUMwQyxFQUFBO0k5Q3pGOUM7TThDNkZVLGFBQWEsRUFBQTtJOUM3RnZCO004Q2lHVSxxQjdDMEh1QjtNNkN6SHZCLG9CQUFvQixFQUFBO005Q2xHOUI7UThDcUdZLGlCN0NzSHFCO1E2Q3JIckIsc0I3Q3FIcUIsRUFBQSxFNkNwSHRCOztBbEM1RFA7RVozQ0o7SThDK0VNLG1CQUFtQixFQUFBO0k5Qy9FekI7TVN3REksa0NSc0tnQztNUWxMaEMsMEJxQ3dDd0MsRUFBQTtJOUNwRjVDO01TNENJLGdDUmtMZ0M7TVF0S2hDLDRCcUNpQzBDLEVBQUE7STlDekY5QztNOEM2RlUsYUFBYSxFQUFBO0k5QzdGdkI7TThDaUdVLHFCN0MwSHVCO002Q3pIdkIsb0JBQW9CLEVBQUE7TTlDbEc5QjtROENxR1ksaUI3Q3NIcUI7UTZDckhyQixzQjdDcUhxQixFQUFBLEU2Q3BIdEI7O0E5Q3ZHWDtFU0NJLGdCcUNvSHNCLEVBQUE7RTlDckgxQjtJOEN3SEkscUI3Q21HNkIsRUFBQTtJRDNOakM7TThDMkhNLHNCQUFzQixFQUFBOztBOUMzSDVCO0UrQ2JJLGM5QnFHOEQ7RThCcEc5RCx5QjlCb0c4RCxFQUFBO0VqQnhGbEU7SStDUlEsYzlCZ0cwRDtJOEIvRjFELHlCQUF5QyxFQUFBO0UvQ09qRDtJK0NIUSxXOUNQTztJOENRUCx5QjlCMEYwRDtJOEJ6RjFELHFCOUJ5RjBELEVBQUE7O0FqQnhGbEU7RStDYkksYzlCcUc4RDtFOEJwRzlELHlCOUJvRzhELEVBQUE7RWpCeEZsRTtJK0NSUSxjOUJnRzBEO0k4Qi9GMUQseUJBQXlDLEVBQUE7RS9DT2pEO0krQ0hRLFc5Q1BPO0k4Q1FQLHlCOUIwRjBEO0k4QnpGMUQscUI5QnlGMEQsRUFBQTs7QWpCeEZsRTtFK0NiSSxjOUJxRzhEO0U4QnBHOUQseUI5Qm9HOEQsRUFBQTtFakJ4RmxFO0krQ1JRLGM5QmdHMEQ7SThCL0YxRCx5QkFBeUMsRUFBQTtFL0NPakQ7SStDSFEsVzlDUE87SThDUVAseUI5QjBGMEQ7SThCekYxRCxxQjlCeUYwRCxFQUFBOztBakJ4RmxFO0UrQ2JJLGM5QnFHOEQ7RThCcEc5RCx5QjlCb0c4RCxFQUFBO0VqQnhGbEU7SStDUlEsYzlCZ0cwRDtJOEIvRjFELHlCQUF5QyxFQUFBO0UvQ09qRDtJK0NIUSxXOUNQTztJOENRUCx5QjlCMEYwRDtJOEJ6RjFELHFCOUJ5RjBELEVBQUE7O0FqQnhGbEU7RStDYkksYzlCcUc4RDtFOEJwRzlELHlCOUJvRzhELEVBQUE7RWpCeEZsRTtJK0NSUSxjOUJnRzBEO0k4Qi9GMUQseUJBQXlDLEVBQUE7RS9DT2pEO0krQ0hRLFc5Q1BPO0k4Q1FQLHlCOUIwRjBEO0k4QnpGMUQscUI5QnlGMEQsRUFBQTs7QWpCeEZsRTtFK0NiSSxjOUJxRzhEO0U4QnBHOUQseUI5Qm9HOEQsRUFBQTtFakJ4RmxFO0krQ1JRLGM5QmdHMEQ7SThCL0YxRCx5QkFBeUMsRUFBQTtFL0NPakQ7SStDSFEsVzlDUE87SThDUVAseUI5QjBGMEQ7SThCekYxRCxxQjlCeUYwRCxFQUFBOztBakJ4RmxFO0UrQ2JJLGM5QnFHOEQ7RThCcEc5RCx5QjlCb0c4RCxFQUFBO0VqQnhGbEU7SStDUlEsYzlCZ0cwRDtJOEIvRjFELHlCQUF5QyxFQUFBO0UvQ09qRDtJK0NIUSxXOUNQTztJOENRUCx5QjlCMEYwRDtJOEJ6RjFELHFCOUJ5RjBELEVBQUE7O0FqQnhGbEU7RStDYkksYzlCcUc4RDtFOEJwRzlELHlCOUJvRzhELEVBQUE7RWpCeEZsRTtJK0NSUSxjOUJnRzBEO0k4Qi9GMUQseUJBQXlDLEVBQUE7RS9DT2pEO0krQ0hRLFc5Q1BPO0k4Q1FQLHlCOUIwRjBEO0k4QnpGMUQscUI5QnlGMEQsRUFBQTs7QWpCeEZsRTtFZ0RoQkUsWUFBWTtFOUM4SFIsaUJBdENZO0U4Q3RGaEIsZ0IvQzZSK0I7RStDNVIvQixjQUFjO0VBQ2QsVy9DWWE7RStDWGIseUIvQ0NhO0UrQ0FiLFdBQVcsRUFBQTtFaERVYjtJZ0ROSSxXL0NNVztJK0NMWCxxQkFBcUIsRUFBQTtFaERLekI7SWdEQU0sWUFBWSxFQUFBOztBaERBbEI7RWdEWUUsVUFBVTtFQUNWLDZCQUE2QjtFQUM3QixTQUFTLEVBQUE7O0FoRGRYO0VnRHFCRSxvQkFBb0IsRUFBQTs7QWhEckJ0QjtFaURkRSxpQmhEeTRCdUM7RWdEeDRCdkMsZ0JoRHc0QnVDO0VDN3dCbkMsbUJBdENZO0UrQ2xGaEIsMkNoREFhO0VnRENiLDRCQUE0QjtFQUM1QixvQ2hEMDRCbUQ7RWdEejRCbkQsZ0RoRE9hO0VnRE5iLFVBQVU7RXhDT1Isc0JSazRCc0MsRUFBQTtFRG40QjFDO0lpREZJLHNCaEQ4M0JzQyxFQUFBO0VENTNCMUM7SWlERUksVUFBVSxFQUFBO0VqREZkO0lpRE1JLGNBQWM7SUFDZCxVQUFVLEVBQUE7RWpEUGQ7SWlEV0ksYUFBYSxFQUFBOztBakRYakI7RWlEZ0JFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsd0JoRDAyQndDO0VnRHoyQnhDLGNoRHZCZ0I7RWdEd0JoQiwyQ2hEOUJhO0VnRCtCYiw0QkFBNEI7RUFDNUIsNENoRGszQm9EO0VROTNCbEQsMkNRbUg0RDtFUmxINUQsNENRa0g0RCxFQUFBOztBakI3SGhFO0VpRDJCRSxnQmhEaTJCd0MsRUFBQTs7QUQ1M0IxQztFa0RURSxnQkFBZ0IsRUFBQTtFbERTbEI7SWtETkksa0JBQWtCO0lBQ2xCLGdCQUFnQixFQUFBOztBbERLcEI7RWtEQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsYWpEMnBCc0M7RWlEMXBCdEMsYUFBYTtFQUNiLFdBQVc7RUFDWCxZQUFZO0VBQ1osZ0JBQWdCO0VBR2hCLFVBQVUsRUFBQTs7QWxEWFo7RWtEbUJFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsY2pEKzRCdUM7RWlENzRCdkMsb0JBQW9CLEVBQUE7RUFHcEI7SS9CM0JJLG1DbEJvOEJvRDtJaUR2NkJ0RCw4QmpEcTZCbUQsRUFBQTtJa0I5N0JqRDtNK0J1Qko7US9CdEJNLGdCQUFnQixFQUFBLEUrQnlCckI7RUFDRDtJQUNFLGVqRG02Qm9DLEVBQUE7RWlELzVCdEM7SUFDRSxzQmpEZzZCMkMsRUFBQTs7QURwOEIvQztFa0R5Q0UsYUFBYTtFQUNiLDZCakNtRjhELEVBQUE7RWpCN0hoRTtJa0Q2Q0ksOEJqQ2dGNEQ7SWlDL0U1RCxnQkFBZ0IsRUFBQTtFbEQ5Q3BCOztJa0RtREksY0FBYyxFQUFBO0VsRG5EbEI7SWtEdURJLGdCQUFnQixFQUFBOztBbER2RHBCO0VrRDRERSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLDZCakMrRDhELEVBQUE7RWpCN0hoRTtJa0RrRUksY0FBYztJQUNkLDBCakMwRDREO0lpQ3pENUQsMkJBQW1CO0lBQW5CLHdCQUFtQjtJQUFuQixtQkFBbUI7SUFDbkIsV0FBVyxFQUFBO0VsRHJFZjtJa0QwRUksc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixZQUFZLEVBQUE7SWxENUVoQjtNa0QrRU0sZ0JBQWdCLEVBQUE7SWxEL0V0QjtNa0RtRk0sYUFBYSxFQUFBOztBbERuRm5CO0VrRDBGRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixXQUFXO0VBR1gsb0JBQW9CO0VBQ3BCLHNCakQzR2E7RWlENEdiLDRCQUE0QjtFQUM1QixvQ2pEbkdhO0VRQ1gscUJSOE4rQjtFaUR4SGpDLFVBQVUsRUFBQTs7QWxEdkdaO0VrRDRHRSxlQUFlO0VBQ2YsTUFBTTtFQUNOLE9BQU87RUFDUCxhakQraUJzQztFaUQ5aUJ0QyxZQUFZO0VBQ1osYUFBYTtFQUNiLHNCakRsSGEsRUFBQTtFREFmO0lrRHFIVyxVQUFVLEVBQUE7RWxEckhyQjtJa0RzSFcsWWpENnpCMkIsRUFBQTs7QURuN0J0QztFa0Q0SEUsYUFBYTtFQUNiLHVCQUF1QjtFQUN2Qiw4QkFBOEI7RUFDOUIsa0JqRDB6QnNDO0VpRHp6QnRDLGdDakR2SWdCO0VRaUJkLDBDUW1INEQ7RVJsSDVELDJDUWtINEQsRUFBQTtFakI3SGhFO0lrRG9JSSxrQmpEcXpCb0M7SWlEbnpCcEMsOEJBQTZGLEVBQUE7O0FsRHRJakc7RWtENElFLGdCQUFnQjtFQUNoQixnQmpEc0krQixFQUFBOztBRG5SakM7RWtEbUpFLGtCQUFrQjtFQUdsQixjQUFjO0VBQ2QsYWpEd3dCc0MsRUFBQTs7QUQvNUJ4QztFa0Q0SkUsYUFBYTtFQUNiLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLGdCQUFnRTtFQUNoRSw2QmpEeEtnQjtFUStCZCw4Q1FxRzREO0VScEc1RCw2Q1FvRzRELEVBQUE7RWpCN0hoRTtJa0R3S0ksZUFBd0MsRUFBQTs7QWxEeEs1QztFa0Q4S0Usa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixXQUFXO0VBQ1gsWUFBWTtFQUNaLGdCQUFnQixFQUFBOztBdEN2SWQ7RVozQ0o7SWtEeUxJLGdCakRxd0JxQztJaURwd0JyQyxvQkFBeUMsRUFBQTtFbEQxTDdDO0lrRDhMSSwrQmpDakU0RCxFQUFBO0lqQjdIaEU7TWtEaU1NLGdDakNwRTBELEVBQUE7RWpCN0hoRTtJa0RzTUksK0JqQ3pFNEQsRUFBQTtJakI3SGhFO01rRHlNTSw0QmpDNUUwRDtNaUM2RTFELDJCQUFtQjtNQUFuQix3QkFBbUI7TUFBbkIsbUJBQW1CLEVBQUE7RWxEMU16QjtJa0RrTmMsZ0JqRDZ1QjJCLEVBQUEsRWlEN3VCSDs7QXRDdktsQztFWjNDSjs7SWtEd05JLGdCakRxdUJxQyxFQUFBLEVpRHB1QnRDOztBdEM5S0M7RVozQ0o7SWtENk5jLGlCakQrdEI0QixFQUFBLEVpRC90Qko7O0FsRDdOdEM7RW1EZkUsa0JBQWtCO0VBQ2xCLGFsRCtxQnNDO0VrRDlxQnRDLGNBQWM7RUFDZCxTbEQyMUJtQztFbUQvMUJuQyxxTm5EbVJvTztFbURqUnBPLGtCQUFrQjtFQUNsQixnQm5EMlIrQjtFbUQxUi9CLGdCbkQrUitCO0VtRDlSL0IsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixxQkFBcUI7RUFDckIsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VsRGdIWixtQkF0Q1k7RWlEOUVoQixxQkFBcUI7RUFDckIsVUFBVSxFQUFBO0VuREtaO0ltREhXLFlsRCswQjJCLEVBQUE7RUQ1MEJ0QztJbURBSSxrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGFsRCswQnFDO0lrRDkwQnJDLGNsRCswQnFDLEVBQUE7SURsMUJ6QztNbURNTSxrQkFBa0I7TUFDbEIsV0FBVztNQUNYLHlCQUF5QjtNQUN6QixtQkFBbUIsRUFBQTs7QW5EVHpCO0VtRGVFLGlCQUFnQyxFQUFBO0VuRGZsQztJbURrQkksU0FBUyxFQUFBO0luRGxCYjtNbURxQk0sTUFBTTtNQUNOLDZCQUFnRTtNQUNoRSxzQmxEdkJTLEVBQUE7O0FEQWY7RW1ENkJFLGlCbERxekJ1QyxFQUFBO0VEbDFCekM7SW1EZ0NJLE9BQU87SUFDUCxhbERpekJxQztJa0RoekJyQyxjbEQreUJxQyxFQUFBO0lEajFCekM7TW1EcUNNLFFBQVE7TUFDUixvQ0FBMkY7TUFDM0Ysd0JsRHZDUyxFQUFBOztBREFmO0VtRDZDRSxpQkFBZ0MsRUFBQTtFbkQ3Q2xDO0ltRGdESSxNQUFNLEVBQUE7SW5EaERWO01tRG1ETSxTQUFTO01BQ1QsNkJsRDh4Qm1DO01rRDd4Qm5DLHlCbERyRFMsRUFBQTs7QURBZjtFbUQyREUsaUJsRHV4QnVDLEVBQUE7RURsMUJ6QztJbUQ4REksUUFBUTtJQUNSLGFsRG14QnFDO0lrRGx4QnJDLGNsRGl4QnFDLEVBQUE7SURqMUJ6QztNbURtRU0sT0FBTztNQUNQLG9DbEQ4d0JtQztNa0Q3d0JuQyx1QmxEckVTLEVBQUE7O0FEQWY7RW1EMkZFLGdCbEQ2dUJ1QztFa0Q1dUJ2Qyx1QmxEa3ZCdUM7RWtEanZCdkMsV2xEdkdhO0VrRHdHYixrQkFBa0I7RUFDbEIsc0JsRC9GYTtFUUNYLHNCUjZOZ0MsRUFBQTs7QUQ5TnBDO0VxRGhCRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLE9BQU87RUFDUCxhcEQ2cUJzQztFb0Q1cUJ0QyxjQUFjO0VBQ2QsZ0JwRDYyQnVDO0VtRGwzQnZDLHFObkRtUm9PO0VtRGpScE8sa0JBQWtCO0VBQ2xCLGdCbkQyUitCO0VtRDFSL0IsZ0JuRCtSK0I7RW1EOVIvQixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLHFCQUFxQjtFQUNyQixpQkFBaUI7RUFDakIsb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixnQkFBZ0I7RWxEZ0haLG1CQXRDWTtFbUQ3RWhCLHFCQUFxQjtFQUNyQixzQnBETmE7RW9ET2IsNEJBQTRCO0VBQzVCLG9DcERFYTtFUUNYLHFCUjhOK0IsRUFBQTtFRC9ObkM7SXFER0ksa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxXcEQ2MkJvQztJb0Q1MkJwQyxjcEQ2MkJxQztJb0Q1MkJyQyxnQnBEd04rQixFQUFBO0lEL05uQztNcURXTSxrQkFBa0I7TUFDbEIsY0FBYztNQUNkLFdBQVc7TUFDWCx5QkFBeUI7TUFDekIsbUJBQW1CLEVBQUE7O0FyRGZ6QjtFcURxQkUscUJwRDgxQnVDLEVBQUE7RURuM0J6QztJcUR3QkksMkJwQ3FHNEQsRUFBQTtJakI3SGhFO01xRDJCTSxTQUFTO01BQ1QsNkJBQWdFO01BQ2hFLHFDcER5MUJpRSxFQUFBO0lEdDNCdkU7TXFEaUNNLFdwRDBMMkI7TW9EekwzQiw2QkFBZ0U7TUFDaEUsc0JwRDdDUyxFQUFBOztBRFVmO0VxRHlDRSxtQnBEMDBCdUMsRUFBQTtFRG4zQnpDO0lxRDRDSSx5QnBDaUY0RDtJb0NoRjVELGFwRHMwQnFDO0lvRHIwQnJDLFlwRG8wQm9DO0lvRG4wQnBDLGdCQUFnQyxFQUFBO0lyRC9DcEM7TXFEa0RNLE9BQU87TUFDUCxvQ0FBMkY7TUFDM0YsdUNwRGswQmlFLEVBQUE7SUR0M0J2RTtNcUR3RE0sU3BEbUsyQjtNb0RsSzNCLG9DQUEyRjtNQUMzRix3QnBEcEVTLEVBQUE7O0FEVWY7RXFEZ0VFLGtCcERtekJ1QyxFQUFBO0VEbjNCekM7SXFEbUVJLHdCcEMwRDRELEVBQUE7SWpCN0hoRTtNcURzRU0sTUFBTTtNQUNOLG9DQUEyRjtNQUMzRix3Q3BEOHlCaUUsRUFBQTtJRHQzQnZFO01xRDRFTSxRcEQrSTJCO01vRDlJM0Isb0NBQTJGO01BQzNGLHlCcER4RlMsRUFBQTtFRFVmO0lxRG9GSSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFNBQVM7SUFDVCxjQUFjO0lBQ2QsV3BEMHhCb0M7SW9EenhCcEMsb0JBQXNDO0lBQ3RDLFdBQVc7SUFDWCxnQ3BEOHdCdUQsRUFBQTs7QUR6MkIzRDtFcURnR0Usb0JwRG14QnVDLEVBQUE7RURuM0J6QztJcURtR0ksMEJwQzBCNEQ7SW9DekI1RCxhcEQrd0JxQztJb0Q5d0JyQyxZcEQ2d0JvQztJb0Q1d0JwQyxnQkFBZ0MsRUFBQTtJckR0R3BDO01xRHlHTSxRQUFRO01BQ1Isb0NwRHl3Qm1DO01vRHh3Qm5DLHNDcEQyd0JpRSxFQUFBO0lEdDNCdkU7TXFEK0dNLFVwRDRHMkI7TW9EM0czQixvQ3BEbXdCbUM7TW9EbHdCbkMsdUJwRDNIUyxFQUFBOztBRFVmO0VxRHdJRSx1QnBEb3VCd0M7RW9EbnVCeEMsZ0JBQWdCO0VuRDNCWixlQXRDWTtFbURvRWhCLHlCcEQ2dEJ5RDtFb0Q1dEJ6RCxnQ0FBeUU7RTVDbkl2RSwwQ1FtSDREO0VSbEg1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RUFBQTs7QTFETXREO0UwRFhJLG9DQUFtQyxFQUFBOztBMURXdkM7OztFMEROTSxvQ0FBZ0QsRUFBQTs7QTFETXREO0UwRFhJLG9DQUFtQyxFQUFBOztBMURXdkM7OztFMEROTSxvQ0FBZ0QsRUFBQTs7QTFETXREO0UwRFhJLG9DQUFtQyxFQUFBOztBMURXdkM7Ozs7Ozs7RTBETk0sb0NBQWdELEVBQUE7O0ExRE10RDtFMERYSSxvQ0FBbUMsRUFBQTs7QTFEV3ZDOzs7OztFMEROTSxvQ0FBZ0QsRUFBQTs7QTFETXREO0UyREpFLGlDQUFtQyxFQUFBOztBM0RJckM7RTJEQUUsd0NBQXdDLEVBQUE7O0EzREExQztFNERYa0Isb0NBQW9ELEVBQUE7O0E1RFd0RTtFNERWa0Isd0NBQXdELEVBQUE7O0E1RFUxRTtFNERUa0IsMENBQTBELEVBQUE7O0E1RFM1RTtFNERSa0IsMkNBQTJELEVBQUE7O0E1RFE3RTtFNERQa0IseUNBQXlELEVBQUE7O0E1RE8zRTtFNERMbUIsb0JBQW9CLEVBQUE7O0E1REt2QztFNERKbUIsd0JBQXdCLEVBQUE7O0E1REkzQztFNERIbUIsMEJBQTBCLEVBQUE7O0E1REc3QztFNERGbUIsMkJBQTJCLEVBQUE7O0E1REU5QztFNEREbUIseUJBQXlCLEVBQUE7O0E1REM1QztFNERHSSxnQ0FBK0IsRUFBQTs7QTVESG5DO0U0REdJLGdDQUErQixFQUFBOztBNURIbkM7RTRER0ksZ0NBQStCLEVBQUE7O0E1REhuQztFNERHSSxnQ0FBK0IsRUFBQTs7QTVESG5DO0U0REdJLGdDQUErQixFQUFBOztBNURIbkM7RTRER0ksZ0NBQStCLEVBQUE7O0E1REhuQztFNERHSSxnQ0FBK0IsRUFBQTs7QTVESG5DO0U0REdJLGdDQUErQixFQUFBOztBNURIbkM7RTREUUUsNkJBQStCLEVBQUE7O0E1RFJqQztFNERnQkUsZ0NBQTJDLEVBQUE7O0E1RGhCN0M7RTREb0JFLGlDQUF3QyxFQUFBOztBNURwQjFDO0U0RHdCRSwwQ0FBaUQ7RUFDakQsMkNBQWtELEVBQUE7O0E1RHpCcEQ7RTRENkJFLDJDQUFr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RStEcUJzQyxnQ0FBZ0MsRUFBQTs7QS9EckJ0RTtFK0RzQnNDLHVDQUF1QyxFQUFBOztBL0R0QjdFO0UrRHVCc0Msc0NBQXNDLEVBQUE7O0EvRHZCNUU7RStEd0JzQyxpQ0FBaUMsRUFBQTs7QS9EeEJ2RTtFK0QwQm9DLDJCQUEyQixFQUFBOztBL0QxQi9EO0UrRDJCb0MsaUNBQWlDLEVBQUE7O0EvRDNCckU7RStENEJvQywrQkFBK0IsRUFBQTs7QS9ENUJuRTtFK0Q2Qm9DLDZCQUE2QixFQUFBOztBL0Q3QmpFO0UrRDhCb0MsK0JBQStCLEVBQUE7O0EvRDlCbkU7RStEK0JvQyw4QkFBOEIsRUFBQTs7QW5EWTlEO0VaM0NKO0krRFBvQyw4QkFBOEIsRUFBQTtFL0RPbEU7SStETm9DLGlDQUFpQyxFQUFBO0UvRE1yRTtJK0RMb0Msc0NBQXNDLEVBQUE7RS9ESzFFO0krREpvQyx5Q0FBeUMsRUFBQTtFL0RJN0U7SStERmtDLDBCQUEwQixFQUFBO0UvREU1RDtJK0REa0MsNEJBQTRCLEVBQUE7RS9EQzlEO0krREFrQyxrQ0FBa0MsRUFBQTtFL0RBcEU7SStEQ2tDLHlCQUF5QixFQUFBO0UvREQzRDtJK0RFa0MsdUJBQXVCLEVBQUE7RS9ERnpEO0krREdrQyx1QkFBdUIsRUFBQTtFL0RIekQ7SStESWtDLHlCQUF5QixFQUFBO0UvREozRDtJK0RLa0MseUJBQXlCLEVBQUE7RS9ETDNEO0krRE93QyxzQ0FBc0MsRUFBQTtFL0RQOUU7SStEUXdDLG9DQUFvQyxFQUFBO0UvRFI1RTtJK0RTd0Msa0NBQWtDLEVBQUE7RS9EVDFFO0krRFV3Qyx5Q0FBeUMsRUFBQTtFL0RWakY7SStEV3dDLHdDQUF3QyxFQUFBO0UvRFhoRjtJK0RhcUMsa0NBQWtDLEVBQUE7RS9EYnZFO0krRGNxQyxnQ0FBZ0MsRUFBQTtFL0RkckU7SStEZXFDLDhCQUE4QixFQUFBO0UvRGZuRTtJK0RnQnFDLGdDQUFnQyxFQUFBO0UvRGhCckU7SStEaUJxQywrQkFBK0IsRUFBQTtFL0RqQnBFO0krRG1Cc0Msb0NBQW9DLEVBQUE7RS9EbkIxRTtJK0RvQnNDLGtDQUFrQyxFQUFBO0UvRHBCeEU7SStEcUJzQyxnQ0FBZ0MsRUFBQTtFL0RyQnRFO0krRHNCc0MsdUNBQXVDLEVBQUE7RS9EdEI3RTtJK0R1QnNDLHNDQUFzQyxFQUFBO0UvRHZCNUU7SStEd0JzQyxpQ0FBaUMsRUFBQTtFL0R4QnZFO0krRDBCb0MsMkJBQTJCLEVBQUE7RS9EMUIvRDtJK0QyQm9DLGlDQUFpQyxFQUFBO0UvRDNCckU7SStENEJvQywrQkFBK0IsRUFBQTtFL0Q1Qm5FO0krRDZCb0MsNkJBQTZCLEVBQUE7RS9EN0JqRTtJK0Q4Qm9DLCtCQUErQixFQUFBO0UvRDlCbkU7SStEK0JvQyw4QkFBOEIsRUFBQSxFQUFJOztBbkRZbEU7RVozQ0o7SStEUG9DLDhCQUE4QixFQUFBO0UvRE9sRTtJK0ROb0MsaUNBQWlDLEVBQUE7RS9ETXJFO0krRExvQyxzQ0FBc0MsRUFBQTtFL0RLMUU7SStESm9DLHlDQUF5QyxFQUFBO0UvREk3RTtJK0RGa0MsMEJBQTBCLEVBQUE7RS9ERTVEO0krRERrQyw0QkFBNEIsRUFBQTtFL0RDOUQ7SStEQWtDLGtDQUFrQyxFQUFBO0UvREFwRTtJK0RDa0MseUJBQXlCLEVBQUE7RS9ERDNEO0krREVrQyx1QkFBdUIsRUFBQTtFL0RGekQ7SStER2tDLHVCQUF1QixFQUFBO0UvREh6RDtJK0RJa0MseUJBQXlCLEVBQUE7RS9ESjNEO0krREtrQyx5QkFBeUIsRUFBQTtFL0RMM0Q7SStET3dDLHNDQUFzQyxFQUFBO0UvRFA5RTtJK0RRd0Msb0NBQW9DLEVBQUE7RS9EUjVFO0krRFN3QyxrQ0FBa0MsRUFBQTtFL0RUMUU7SStEVXdDLHlDQUF5QyxFQUFBO0UvRFZqRjtJK0RXd0Msd0NBQXdDLEVBQUE7RS9EWGhGO0krRGFxQyxrQ0FBa0MsRUFBQTtFL0RidkU7SStEY3FDLGdDQUFnQyxFQUFBO0UvRGRyRTtJK0RlcUMsOEJBQThCLEVBQUE7RS9EZm5FO0krRGdCcUMsZ0NBQWdDLEVBQUE7RS9EaEJyRTtJK0RpQnFDLCtCQUErQixFQUFBO0UvRGpCcEU7SStEbUJzQyxvQ0FBb0MsRUFBQTtFL0RuQjFFO0krRG9Cc0Msa0NBQWtDLEVBQUE7RS9EcEJ4RTtJK0RxQnNDLGdDQUFnQyxFQUFBO0UvRHJCdEU7SStEc0JzQyx1Q0FBdUMsRUFBQTtFL0R0QjdFO0krRHVCc0Msc0NBQXNDLEVBQUE7RS9EdkI1RTtJK0R3QnNDLGlDQUFpQyxFQUFBO0UvRHhCdkU7SStEMEJvQywyQkFBMkIsRUFBQTtFL0QxQi9EO0krRDJCb0MsaUNBQWlDLEVBQUE7RS9EM0JyRTtJK0Q0Qm9DLCtCQUErQixFQUFBO0UvRDVCbkU7SStENkJvQyw2QkFBNkIsRUFBQTtFL0Q3QmpFO0krRDhCb0MsK0JBQStCLEVBQUE7RS9EOUJuRTtJK0QrQm9DLDhCQUE4QixFQUFBLEVBQUk7O0FuRFlsRTtFWjNDSjtJK0RQb0MsOEJBQThCLEVBQUE7RS9ET2xFO0krRE5vQyxpQ0FBaUMsRUFBQTtFL0RNckU7SStETG9DLHNDQUFzQyxFQUFBO0UvREsxRTtJK0RKb0MseUNBQXlDLEVBQUE7RS9ESTdFO0krREZrQywwQkFBMEIsRUFBQTtFL0RFNUQ7SStERGtDLDRCQUE0QixFQUFBO0UvREM5RDtJK0RBa0Msa0NBQWtDLEVBQUE7RS9EQXBFO0krRENrQyx5QkFBeUIsRUFBQTtFL0REM0Q7SStERWtDLHVCQUF1QixFQUFBO0UvREZ6RDtJK0RHa0MsdUJBQXVCLEVBQUE7RS9ESHpEO0krRElrQyx5QkFBeUIsRUFBQTtFL0RKM0Q7SStES2tDLHlCQUF5QixFQUFBO0UvREwzRDtJK0RPd0Msc0NBQXNDLEVBQUE7RS9EUDlFO0krRFF3QyxvQ0FBb0MsRUFBQTtFL0RSNUU7SStEU3dDLGtDQUFrQyxFQUFBO0UvRFQxRTtJK0RVd0MseUNBQXlDLEVBQUE7RS9EVmpGO0krRFd3Qyx3Q0FBd0MsRUFBQTtFL0RYaEY7SStEYXFDLGtDQUFrQyxFQUFBO0UvRGJ2RTtJK0RjcUMsZ0NBQWdDLEVBQUE7RS9EZHJFO0krRGVxQyw4QkFBOEIsRUFBQTtFL0RmbkU7SStEZ0JxQyxnQ0FBZ0MsRUFBQTtFL0RoQnJFO0krRGlCcUMsK0JBQStCLEVBQUE7RS9EakJwRTtJK0RtQnNDLG9DQUFvQyxFQUFBO0UvRG5CMUU7SStEb0JzQyxrQ0FBa0MsRUFBQTtFL0RwQnhFO0krRHFCc0MsZ0NBQWdDLEVBQUE7RS9EckJ0RTtJK0RzQnNDLHVDQUF1QyxFQUFBO0UvRHRCN0U7SStEdUJzQyxzQ0FBc0MsRUFBQTtFL0R2QjVFO0krRHdCc0MsaUNBQWlDLEVBQUE7RS9EeEJ2RTtJK0QwQm9DLDJCQUEyQixFQUFBO0UvRDFCL0Q7SStEMkJvQyxpQ0FBaUMsRUFBQTtFL0QzQnJFO0krRDRCb0MsK0JBQStCLEVBQUE7RS9ENUJuRTtJK0Q2Qm9DLDZCQUE2QixFQUFBO0UvRDdCakU7SStEOEJvQywrQkFBK0IsRUFBQTtFL0Q5Qm5FO0krRCtCb0MsOEJBQThCLEVBQUEsRUFBSTs7QW5EWWxFO0VaM0NKO0krRFBvQyw4QkFBOEIsRUFBQTtFL0RPbEU7SStETm9DLGlDQUFpQyxFQUFBO0UvRE1yRTtJK0RMb0Msc0NBQXNDLEVBQUE7RS9ESzFFO0krREpvQyx5Q0FBeUMsRUFBQTtFL0RJN0U7SStERmtDLDBCQUEwQixFQUFBO0UvREU1RDtJK0REa0MsNEJBQTRCLEVBQUE7RS9EQzlEO0krREFrQyxrQ0FBa0MsRUFBQTtFL0RBcEU7SStEQ2tDLHlCQUF5QixFQUFBO0UvREQzRDtJK0RFa0MsdUJBQXVCLEVBQUE7RS9ERnpEO0krREdrQyx1QkFBdUIsRUFBQTtFL0RIekQ7SStESWtDLHlCQUF5QixFQUFBO0UvREozRDtJK0RLa0MseUJBQXlCLEVBQUE7RS9ETDNEO0krRE93QyxzQ0FBc0MsRUFBQTtFL0RQOUU7SStEUXdDLG9DQUFvQyxFQUFBO0UvRFI1RTtJK0RTd0Msa0NBQWtDLEVBQUE7RS9EVDFFO0krRFV3Qyx5Q0FBeUMsRUFBQTtFL0RWakY7SStEV3dDLHdDQUF3QyxFQUFBO0UvRFhoRjtJK0RhcUMsa0NBQWtDLEVBQUE7RS9EYnZFO0krRGNxQyxnQ0FBZ0MsRUFBQTtFL0RkckU7SStEZXFDLDhCQUE4QixFQUFBO0UvRGZuRTtJK0RnQnFDLGdDQUFnQyxF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c0VYMkIscUJBQTRCLEVBQUE7O0F0RVd2RDtFc0VYMkIsc0JBQTRCLEVBQUE7O0F0RVd2RDtFc0VYMkIsc0JBQTRCLEVBQUE7O0F0RVd2RDtFc0VYMkIsc0JBQTRCLEVBQUE7O0F0RVd2RDtFc0VYMkIsc0JBQTRCLEVBQUE7O0F0RVd2RDtFc0VYMkIsc0JBQTRCLEVBQUE7O0F0RVd2RDtFc0VYMkIsdUJBQTRCLEVBQUE7O0F0RVd2RDtFc0VYMkIsdUJBQTRCLEVBQUE7O0F0RVd2RDtFc0VQVSwwQkFBMEIsRUFBQTs7QXRFT3BDO0VzRU5VLDJCQUEyQixFQUFBOztBdEVNckM7RXNFRmMsMkJBQTJCLEVBQUE7O0F0RUV6QztFc0VEYyw0QkFBNEIsRUFBQTs7QXRFQzFDO0VzRUNVLHVCQUF1QixFQUFBOztBdEVEakM7RXNFRVUsd0JBQXdCLEVBQUE7O0F0RUZsQztFdUVQd0Msb0JBQTRCLEVBQUE7O0F2RU9wRTs7RXVFSlUsd0JBQW9DLEVBQUE7O0F2RUk5Qzs7RXVFQVUsMEJBQXdDLEVBQUE7O0F2RUFsRDs7RXVFSVUsMkJBQTBDLEVBQUE7O0F2RUpwRDs7RXVFUVUseUJBQXNDLEVBQUE7O0F2RVJoRDtFdUVQd0MsMEJBQTRCLEVBQUE7O0F2RU9wRTs7RXVFSlUsOEJBQW9DLEVBQUE7O0F2RUk5Qzs7RXVFQVUsZ0NBQXdDLEVBQUE7O0F2RUFsRDs7RXVFSVUsaUNBQTBDLEVBQUE7O0F2RUpwRDs7RXVFUVUsK0JBQXNDLEVBQUE7O0F2RVJoRDtFdUVQd0MseUJBQTRCLEVBQUE7O0F2RU9wRTs7RXVFSlUsNkJBQW9DLEVBQUE7O0F2RUk5Qzs7RXVFQVUsK0JBQXdDLEVBQUE7O0F2RUFsRDs7RXVFSVUsZ0NBQTBDLEVBQUE7O0F2RUpwRDs7RXVFUVUsOEJBQXNDLEVBQUE7O0F2RVJoRDtFdUVQd0MsdUJBQTRCLEVBQUE7O0F2RU9wRTs7RXVFSlUsMkJBQW9DLEVBQUE7O0F2RUk5Qzs7RXVFQVUsNkJBQXdDLEVBQUE7O0F2RUFsRDs7RXVFSVUsOEJBQTBDLEVBQUE7O0F2RUpwRDs7RXVFUVUsNEJBQXNDLEVBQUE7O0F2RVJoRDtFdUVQd0MseUJBQTRCLEVBQUE7O0F2RU9wRTs7RXVFSlUsNkJBQW9DLEVBQUE7O0F2RUk5Qzs7RXVFQVUsK0JBQXdDLEVBQUE7O0F2RUFsRDs7RXVFSVUsZ0NBQTBDLEVBQUE7O0F2RUpwRDs7RXVFUVUsOEJBQXNDLEVBQUE7O0F2RVJoRDtFdUVQd0MsdUJBQTRCLEVBQUE7O0F2RU9wRTs7RXVFSlUsMkJBQW9DLEVBQUE7O0F2RUk5Qzs7RXVFQVUsNkJBQXdDLEVBQUE7O0F2RUFsRDs7RXVFSVUsOEJBQTBDLEVBQUE7O0F2RUpwRDs7RXVFUVUsNEJBQXNDLEVBQUE7O0F2RVJoRDtFdUVQd0MscUJBQTRCLEVBQUE7O0F2RU9wRTs7RXVFSlUseUJBQW9DLEVBQUE7O0F2RUk5Qzs7RXVFQVUsMkJBQXdDLEVBQUE7O0F2RUFsRDs7RXVFSVUsNEJBQTBDLEVBQUE7O0F2RUpwRDs7RXVFUVUsMEJBQXNDLEVBQUE7O0F2RVJoRDtFdUVQd0MsMkJBQTRCLEVBQUE7O0F2RU9wRTs7RXVFSlUsK0JBQW9DLEVBQUE7O0F2RUk5Qzs7RXVFQVUsaUNBQXdDLEVBQUE7O0F2RUFsRDs7RXVFSVUsa0NBQTBDLEVBQUE7O0F2RUpwRDs7RXVFUVUsZ0NBQXNDLEVBQUE7O0F2RVJoRDtFdUVQd0MsMEJBQTRCLEVBQUE7O0F2RU9wRTs7RXVFSlUsOEJBQW9DLEVBQUE7O0F2RUk5Qzs7RXVFQVUsZ0NBQXdDLEVBQUE7O0F2RUFsRDs7RXVFSVUsaUNBQTBDLEVBQUE7O0F2RUpwRDs7RXVFUVUsK0JBQXNDLEVBQUE7O0F2RVJoRDtFdUVQd0Msd0JBQTRCLEVBQUE7O0F2RU9wRTs7RXVFSlUsNEJBQW9DLEVBQUE7O0F2RUk5Qzs7RXVFQVUsOEJBQXdDLEVBQUE7O0F2RUFsRDs7RXVFSVUsK0JBQTBDLEVBQUE7O0F2RUpwRDs7RXVFUVUsNkJBQXNDLEVBQUE7O0F2RVJoRDtFdUVQd0MsMEJBQTRCLEVBQUE7O0F2RU9wRTs7RXVFSlUsOEJBQW9DLEVBQUE7O0F2RUk5Qzs7RXVFQVUsZ0NBQXdDLEVBQUE7O0F2RUFsRDs7RXVFSVUsaUNBQTBDLEVBQUE7O0F2RUpwRDs7RXVFUVUsK0JBQXNDLEVBQUE7O0F2RVJoRDtFdUVQd0Msd0JBQTRCLEVBQUE7O0F2RU9wRTs7RXVFSlUsNEJBQW9DLEVBQUE7O0F2RUk5Qzs7RXVFQVUsOEJBQXdDLEVBQUE7O0F2RUFsRDs7RXVFSVUsK0JBQTBDLEVBQUE7O0F2RUpwRDs7RXVFUVUsNkJBQXNDLEVBQUE7O0F2RVJoRDtFdUVnQmdDLDJCQUEyQixFQUFBOztBdkVoQjNEOztFdUVtQlUsK0JBQStCLEVBQUE7O0F2RW5CekM7O0V1RXVCVSxpQ0FBaUMsRUFBQTs7QXZFdkIzQzs7RXVFMkJVLGtDQUFrQyxFQUFBOztBdkUzQjVDOztFdUUrQlUsZ0NBQWdDLEVBQUE7O0F2RS9CMUM7RXVFZ0JnQywwQkFBMkIsRUFBQTs7QXZFaEIzRDs7RXVFbUJVLDhCQUErQixFQUFBOztBdkVuQnpDOztFdUV1QlUsZ0NBQWlDLEVBQUE7O0F2RXZCM0M7O0V1RTJCVSxpQ0FBa0MsRUFBQTs7QXZFM0I1Qzs7RXVFK0JVLCtCQUFnQyxFQUFBOztBdkUvQjFDO0V1RWdCZ0Msd0JBQTJCLEVBQUE7O0F2RWhCM0Q7O0V1RW1CVSw0QkFBK0IsRUFBQTs7QXZFbkJ6Qzs7RXVFdUJVLDhCQUFpQyxFQUFBOztBdkV2QjNDOztFdUUyQlUsK0JBQWtDLEVBQUE7O0F2RTNCNUM7O0V1RStCVSw2QkFBZ0MsRUFBQTs7QXZFL0IxQztFdUVnQmdDLDBCQUEyQixFQUFBOztBdkVoQjNEOztFdUVtQlUsOEJBQStCLEVBQUE7O0F2RW5CekM7O0V1RXVCVSxnQ0FBaUMsRUFBQTs7QXZFdkIzQzs7RXVFMkJVLGlDQUFrQyxFQUFBOztBdkUzQjVDOztFdUUrQlUsK0JBQWdDLEVBQUE7O0F2RS9CMUM7RXVFZ0JnQyx3QkFBMkIsRUFBQTs7QXZFaEIzRDs7RXVFbUJVLDRCQUErQixFQUFBOztBdkVuQnpDOztFdUV1QlUsOEJBQWlDLEVBQUE7O0F2RXZCM0M7O0V1RTJCVSwrQkFBa0MsRUFBQTs7QXZFM0I1Qzs7RXVFK0JVLDZCQUFnQyxFQUFBOztBdkUvQjFDO0V1RXFDdUIsdUJBQXVCLEVBQUE7O0F2RXJDOUM7O0V1RXdDTSwyQkFBMkIsRUFBQTs7QXZFeENqQzs7RXVFNENNLDZCQUE2QixFQUFBOztBdkU1Q25DOztFdUVnRE0sOEJBQThCLEVBQUE7O0F2RWhEcEM7O0V1RW9ETSw0QkFBNEIsRUFBQTs7QTNEVDlCO0VaM0NKO0l1RVB3QyxvQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLHdCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsMEJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSwyQkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLHlCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsMEJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw4QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLGdDQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsaUNBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSwrQkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHlCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsNkJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSwrQkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGdDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsOEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx1QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDJCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsNkJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSw4QkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDRCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MseUJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw2QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLCtCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsZ0NBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw4QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHVCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsMkJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSw2QkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLDhCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsNEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QyxxQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLHlCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsMkJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSw0QkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDBCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsMkJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSwrQkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLGlDQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsa0NBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSxnQ0FBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLDBCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsOEJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSxnQ0FBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGlDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsK0JBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx3QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDRCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsOEJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSwrQkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDZCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsMEJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw4QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLGdDQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsaUNBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSwrQkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHdCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsNEJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSw4QkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLCtCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsNkJBQXNDLEVBQUE7RXZFUmhEO0l1RWdCZ0MsMkJBQTJCLEVBQUE7RXZFaEIzRDs7SXVFbUJVLCtCQUErQixFQUFBO0V2RW5CekM7O0l1RXVCVSxpQ0FBaUMsRUFBQTtFdkV2QjNDOztJdUUyQlUsa0NBQWtDLEVBQUE7RXZFM0I1Qzs7SXVFK0JVLGdDQUFnQyxFQUFBO0V2RS9CMUM7SXVFZ0JnQywwQkFBMkIsRUFBQTtFdkVoQjNEOztJdUVtQlUsOEJBQStCLEVBQUE7RXZFbkJ6Qzs7SXVFdUJVLGdDQUFpQyxFQUFBO0V2RXZCM0M7O0l1RTJCVSxpQ0FBa0MsRUFBQTtFdkUzQjVDOztJdUUrQlUsK0JBQWdDLEVBQUE7RXZFL0IxQztJdUVnQmdDLHdCQUEyQixFQUFBO0V2RWhCM0Q7O0l1RW1CVSw0QkFBK0IsRUFBQTtFdkVuQnpDOztJdUV1QlUsOEJBQWlDLEVBQUE7RXZFdkIzQzs7SXVFMkJVLCtCQUFrQyxFQUFBO0V2RTNCNUM7O0l1RStCVSw2QkFBZ0MsRUFBQTtFdkUvQjFDO0l1RWdCZ0MsMEJBQTJCLEVBQUE7RXZFaEIzRDs7SXVFbUJVLDhCQUErQixFQUFBO0V2RW5CekM7O0l1RXVCVSxnQ0FBaUMsRUFBQTtFdkV2QjNDOztJdUUyQlUsaUNBQWtDLEVBQUE7RXZFM0I1Qzs7SXVFK0JVLCtCQUFnQyxFQUFBO0V2RS9CMUM7SXVFZ0JnQyx3QkFBMkIsRUFBQTtFdkVoQjNEOztJdUVtQlUsNEJBQStCLEVBQUE7RXZFbkJ6Qzs7SXVFdUJVLDhCQUFpQyxFQUFBO0V2RXZCM0M7O0l1RTJCVSwrQkFBa0MsRUFBQTtFdkUzQjVDOztJdUUrQlUsNkJBQWdDLEVBQUE7RXZFL0IxQztJdUVxQ3VCLHVCQUF1QixFQUFBO0V2RXJDOUM7O0l1RXdDTSwyQkFBMkIsRUFBQTtFdkV4Q2pDOztJdUU0Q00sNkJBQTZCLEVBQUE7RXZFNUNuQzs7SXVFZ0RNLDhCQUE4QixFQUFBO0V2RWhEcEM7O0l1RW9ETSw0QkFBNEIsRUFBQSxFQUM3Qjs7QTNEVkQ7RVozQ0o7SXVFUHdDLG9CQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsd0JBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSwwQkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLDJCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUseUJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QywwQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDhCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsZ0NBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxpQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLCtCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MseUJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw2QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLCtCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsZ0NBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw4QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHVCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsMkJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSw2QkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLDhCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsNEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx5QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDZCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsK0JBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxnQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDhCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsdUJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSwyQkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDZCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsOEJBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw0QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHFCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUseUJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSwyQkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLDRCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsMEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QywyQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLCtCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsaUNBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxrQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLGdDQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsMEJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw4QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLGdDQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsaUNBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSwrQkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHdCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsNEJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSw4QkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLCtCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsNkJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QywwQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDhCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsZ0NBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxpQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLCtCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0Msd0JBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw0QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDhCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsK0JBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw2QkFBc0MsRUFBQTtFdkVSaEQ7SXVFZ0JnQywyQkFBMkIsRUFBQTtFdkVoQjNEOztJdUVtQlUsK0JBQStCLEVBQUE7RXZFbkJ6Qzs7SXVFdUJVLGlDQUFpQyxFQUFBO0V2RXZCM0M7O0l1RTJCVSxrQ0FBa0MsRUFBQTtFdkUzQjVDOztJdUUrQlUsZ0NBQWdDLEVBQUE7RXZFL0IxQztJdUVnQmdDLDBCQUEyQixFQUFBO0V2RWhCM0Q7O0l1RW1CVSw4QkFBK0IsRUFBQTtFdkVuQnpDOztJdUV1QlUsZ0NBQWlDLEVBQUE7RXZFdkIzQzs7SXVFMkJVLGlDQUFrQyxFQUFBO0V2RTNCNUM7O0l1RStCVSwrQkFBZ0MsRUFBQTtFdkUvQjFDO0l1RWdCZ0Msd0JBQTJCLEVBQUE7RXZFaEIzRDs7SXVFbUJVLDRCQUErQixFQUFBO0V2RW5CekM7O0l1RXVCVSw4QkFBaUMsRUFBQTtFdkV2QjNDOztJdUUyQlUsK0JBQWtDLEVBQUE7RXZFM0I1Qzs7SXVFK0JVLDZCQUFnQyxFQUFBO0V2RS9CMUM7SXVFZ0JnQywwQkFBMkIsRUFBQTtFdkVoQjNEOztJdUVtQlUsOEJBQStCLEVBQUE7RXZFbkJ6Qzs7SXVFdUJVLGdDQUFpQyxFQUFBO0V2RXZCM0M7O0l1RTJCVSxpQ0FBa0MsRUFBQTtFdkUzQjVDOztJdUUrQlUsK0JBQWdDLEVBQUE7RXZFL0IxQztJdUVnQmdDLHdCQUEyQixFQUFBO0V2RWhCM0Q7O0l1RW1CVSw0QkFBK0IsRUFBQTtFdkVuQnpDOztJdUV1QlUsOEJBQWlDLEVBQUE7RXZFdkIzQzs7SXVFMkJVLCtCQUFrQyxFQUFBO0V2RTNCNUM7O0l1RStCVSw2QkFBZ0MsRUFBQTtFdkUvQjFDO0l1RXFDdUIsdUJBQXVCLEVBQUE7RXZFckM5Qzs7SXVFd0NNLDJCQUEyQixFQUFBO0V2RXhDakM7O0l1RTRDTSw2QkFBNkIsRUFBQTtFdkU1Q25DOztJdUVnRE0sOEJBQThCLEVBQUE7RXZFaERwQzs7SXVFb0RNLDRCQUE0QixFQUFBLEVBQzdCOztBM0RWRDtFWjNDSjtJdUVQd0Msb0JBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSx3QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDBCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsMkJBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSx5QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLDBCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsOEJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSxnQ0FBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGlDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsK0JBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx5QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDZCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsK0JBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxnQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDhCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsdUJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSwyQkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDZCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsOEJBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw0QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHlCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsNkJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSwrQkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGdDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsOEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx1QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDJCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsNkJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSw4QkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDRCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MscUJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSx5QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDJCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsNEJBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSwwQkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLDJCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsK0JBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSxpQ0FBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGtDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsZ0NBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QywwQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDhCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsZ0NBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxpQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLCtCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0Msd0JBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw0QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDhCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsK0JBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw2QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLDBCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsOEJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSxnQ0FBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGlDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsK0JBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx3QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDRCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsOEJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSwrQkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDZCQUFzQyxFQUFBO0V2RVJoRDtJdUVnQmdDLDJCQUEyQixFQUFBO0V2RWhCM0Q7O0l1RW1CVSwrQkFBK0IsRUFBQTtFdkVuQnpDOztJdUV1QlUsaUNBQWlDLEVBQUE7RXZFdkIzQzs7SXVFMkJVLGtDQUFrQyxFQUFBO0V2RTNCNUM7O0l1RStCVSxnQ0FBZ0MsRUFBQTtFdkUvQjFDO0l1RWdCZ0MsMEJBQTJCLEVBQUE7RXZFaEIzRDs7SXVFbUJVLDhCQUErQixFQUFBO0V2RW5CekM7O0l1RXVCVSxnQ0FBaUMsRUFBQTtFdkV2QjNDOztJdUUyQlUsaUNBQWtDLEVBQUE7RXZFM0I1Qzs7SXVFK0JVLCtCQUFnQyxFQUFBO0V2RS9CMUM7SXVFZ0JnQyx3QkFBMkIsRUFBQTtFdkVoQjNEOztJdUVtQlUsNEJBQStCLEVBQUE7RXZFbkJ6Qzs7SXVFdUJVLDhCQUFpQyxFQUFBO0V2RXZCM0M7O0l1RTJCVSwrQkFBa0MsRUFBQTtFdkUzQjVDOztJdUUrQlUsNkJBQWdDLEVBQUE7RXZFL0IxQztJdUVnQmdDLDBCQUEyQixFQUFBO0V2RWhCM0Q7O0l1RW1CVSw4QkFBK0IsRUFBQTtFdkVuQnpDOztJdUV1QlUsZ0NBQWlDLEVBQUE7RXZFdkIzQzs7SXVFMkJVLGlDQUFrQyxFQUFBO0V2RTNCNUM7O0l1RStCVSwrQkFBZ0MsRUFBQTtFdkUvQjFDO0l1RWdCZ0Msd0JBQTJCLEVBQUE7RXZFaEIzRDs7SXVFbUJVLDRCQUErQixFQUFBO0V2RW5CekM7O0l1RXVCVSw4QkFBaUMsRUFBQTtFdkV2QjNDOztJdUUyQlUsK0JBQWtDLEVBQUE7RXZFM0I1Qzs7SXVFK0JVLDZCQUFnQyxFQUFBO0V2RS9CMUM7SXVFcUN1Qix1QkFBdUIsRUFBQTtFdkVyQzlDOztJdUV3Q00sMkJBQTJCLEVBQUE7RXZFeENqQzs7SXVFNENNLDZCQUE2QixFQUFBO0V2RTVDbkM7O0l1RWdETSw4QkFBOEIsRUFBQTtFdkVoRHBDOztJdUVvRE0sNEJBQTRCLEVBQUEsRUFDN0I7O0EzRFZEO0VaM0NKO0l1RVB3QyxvQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLHdCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsMEJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSwyQkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLHlCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsMEJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw4QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLGdDQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsaUNBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSwrQkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHlCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsNkJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSwrQkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGdDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsOEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx1QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDJCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsNkJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSw4QkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDRCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MseUJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw2QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLCtCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsZ0NBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw4QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHVCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsMkJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSw2QkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLDhCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsNEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QyxxQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLHlCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsMkJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSw0QkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDBCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsMkJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSwrQkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLGlDQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsa0NBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSxnQ0FBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLDBCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsOEJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSxnQ0FBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGlDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsK0JBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx3QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDRCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsOEJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSwrQkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDZCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsMEJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw4QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLGdDQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsaUNBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSwrQkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHdCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsNEJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSw4QkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLCtCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsNkJBQXNDLEVBQUE7RXZFUmhEO0l1RWdCZ0MsMkJBQTJCLEVBQUE7RXZFaEIzRDs7SXVFbUJVLCtCQUEr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M0J0QztFMkVYSSx5QkFBd0IsRUFBQTs7QTNFVzVCO0UyRU5RLHlCQUEwRSxFQUFBOztBM0VNbEY7RTJFWEkseUJBQXdCLEVBQUE7O0EzRVc1QjtFMkVOUSx5QkFBMEUsRUFBQTs7QTNFTWxGO0UyRVhJLHlCQUF3QixFQUFBOztBM0VXNUI7RTJFTlEseUJBQTBFLEVBQUE7O0EzRU1sRjtFMkVYSSx5QkFBd0IsRUFBQTs7QTNFVzVCO0UyRU5RLHlCQUEwRSxFQUFBOztBM0VNbEY7RTJFWEkseUJBQXdCLEVBQUE7O0EzRVc1QjtFMkVOUSx5QkFBMEUsRUFBQTs7QTNFTWxGO0UyRVhJLHlCQUF3QixFQUFBOztBM0VXNUI7RTJFTlEseUJBQTBFLEVBQUE7O0EzRU1sRjtFMkVYSSx5QkFBd0IsRUFBQTs7QTNFVzVCO0UyRU5RLHlCQUEwRSxFQUFBOztBM0VNbEY7RTJFWEkseUJBQXdCLEVBQUE7O0EzRVc1QjtFMkVOUSx5QkFBMEUsRUFBQTs7QTNFTWxGO0V5RWlDYSx5QkFBNkIsRUFBQTs7QXpFakMxQztFeUVrQ2MseUJBQTZCLEVBQUE7O0F6RWxDM0M7RXlFb0NpQixvQ0FBa0MsRUFBQTs7QXpFcENuRDtFeUVxQ2lCLDBDQUFrQyxFQUFBOztBekVyQ25EO0U0RWRFLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLDZCQUE2QjtFQUM3QixTQUFTLEVBQUE7O0E1RVVYO0V5RTZDd0IsZ0NBQWdDLEVBQUE7O0F6RTdDeEQ7RXlFZ0RFLGlDQUFpQztFQUNqQyxnQ0FBZ0MsRUFBQTs7QXpFakRsQztFeUVzRGMseUJBQXlCLEVBQUE7O0F6RXREdkM7RTZFVkUsOEJBQThCLEVBQUE7O0E3RVVoQztFNkVORSw2QkFBNkIsRUFBQSIsImZpbGUiOiJ0b2dnbGUtYm9vdHN0cmFwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlcyc7XG5cbkBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMnO1xuQGltcG9ydCAnbWl4aW5zLW92ZXJyaWRlcyc7XG5cbmJvZHkuYm9vdHN0cmFwIHtcbiAgICBtYXJnaW46IDA7IC8vIDFcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi5ib290c3RyYXAge1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9yb290JztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvcmVib290JztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdHlwZSc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2ltYWdlcyc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2NvZGUnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ncmlkJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdGFibGVzJztcblxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcyc7XG4gICAgQGltcG9ydCAnZm9ybS1vdmVycmlkZXMnO1xuXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2J1dHRvbnMnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90cmFuc2l0aW9ucyc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Ryb3Bkb3duJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYnV0dG9uLWdyb3VwJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaW5wdXQtZ3JvdXAnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jdXN0b20tZm9ybXMnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9uYXYnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9uYXZiYXInO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jYXJkJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYnJlYWRjcnVtYic7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3BhZ2luYXRpb24nO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9iYWRnZSc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2p1bWJvdHJvbic7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2FsZXJ0JztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvcHJvZ3Jlc3MnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9tZWRpYSc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2xpc3QtZ3JvdXAnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jbG9zZSc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3RvYXN0cyc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21vZGFsJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdG9vbHRpcCc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3BvcG92ZXInO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jYXJvdXNlbCc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3NwaW5uZXJzJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzJztcblxuICAgIEBpbXBvcnQgJ3RoZW1lZC11dGlsaXRpZXMtbGlnaHQnO1xufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15IC8gMikgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1sZyAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplIC8gMiAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplIG5vLXJlcGVhdCAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwidmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgKSxcbiAgICBcImludmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICksXG4gICksXG4gICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDogICAgICA3NXZoICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRuYXYtZGl2aWRlci1tYXJnaW4teSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uICFkZWZhdWx0O1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbi8vIE1hcmdpbiBiZXR3ZWVuIGVsZW1lbnRzIGluIGZvb3RlciwgbXVzdCBiZSBsb3dlciB0aGFuIG9yIGVxdWFsIHRvIDIgKiAkbW9kYWwtaW5uZXItcGFkZGluZ1xuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuJHVzZXItc2VsZWN0czogYWxsLCBhdXRvLCBub25lICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCBmb250LXJlc2l6aW5nXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmc1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbi8vIFJlc2l6ZSBmb250LXNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250LXNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBWYXJpYWJsZXMgZm9yIHN0b3Jpbmcgc3RhdGljIGFuZCBmbHVpZCByZXNjYWxpbmdcbiAgICAkcmZzLXN0YXRpYzogbnVsbDtcbiAgICAkcmZzLWZsdWlkOiBudWxsO1xuXG4gICAgLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIEBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnMgLyAkcmZzLXJlbS12YWx1ZX1yZW0jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSBweCB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnN9cHgjeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xuICAgIH1cblxuICAgIC8vIE9ubHkgYWRkIG1lZGlhIHF1ZXJ5IGlmIGZvbnQtc2l6ZSBpcyBiaWdnZXIgYXMgdGhlIG1pbmltdW0gZm9udC1zaXplXG4gICAgLy8gSWYgJHJmcy1mYWN0b3IgPT0gMSwgbm8gcmVzY2FsaW5nIHdpbGwgdGFrZSBwbGFjZVxuICAgIEBpZiAkZnMgPiAkcmZzLWJhc2UtZm9udC1zaXplIGFuZCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICAkbWluLXdpZHRoOiBudWxsO1xuICAgICAgJHZhcmlhYmxlLXVuaXQ6IG51bGw7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUpIC8gJHJmcy1mYWN0b3I7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gZ2l2ZW4gZm9udC1zaXplIGFuZCBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgLy8gTm8gbmVlZCB0byBjaGVjayBpZiB0aGUgdW5pdCBpcyB2YWxpZCwgYmVjYXVzZSB3ZSBkaWQgdGhhdCBiZWZvcmVcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAjeyRmcy1taW4gLyAkcmZzLXJlbS12YWx1ZX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIElmIHR3by1kaW1lbnNpb25hbCwgdXNlIHNtYWxsZXN0IG9mIHNjcmVlbiB3aWR0aCBhbmQgaGVpZ2h0XG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAjeyRmcy1kaWZmICogMTAwIC8gJHJmcy1icmVha3BvaW50fSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplLlxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcbiAgICB9XG5cbiAgICAvLyBSZW5kZXJpbmdcbiAgICBAaWYgJHJmcy1mbHVpZCA9PSBudWxsIHtcbiAgICAgIC8vIE9ubHkgcmVuZGVyIHN0YXRpYyBmb250LXNpemUgaWYgbm8gZmx1aWQgZm9udC1zaXplIGlzIGF2YWlsYWJsZVxuICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJG1xLXZhbHVlOiBudWxsO1xuXG4gICAgICAvLyBSRlMgYnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICBAaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcmVtIHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludCAvICRyZnMtcmVtLXZhbHVlfSN7JHJmcy1icmVha3BvaW50LXVuaXR9O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50fXB4O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgICAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LFxuICAgICAgICAvLyB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICAgICAmLFxuICAgICAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbiB1c2VzIFJGUyB0byByZXNjYWxlIGZvbnQgc2l6ZXNcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBydWxlOiBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUsIHN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lXG4vLyBvbiBlbGVtZW50cyB0aGF0IHByb2dyYW1tYXRpY2FsbHkgcmVjZWl2ZSBmb2N1cyBidXQgd291bGRuJ3Qgbm9ybWFsbHkgc2hvdyBhIHZpc2libGVcbi8vIGZvY3VzIG91dGxpbmUuIEluIGdlbmVyYWwsIHRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBvdXRsaW5lIGlzIG9ubHkgYXBwbGllZCBpZiB0aGVcbi8vIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBlbGVtZW50IHJlY2VpdmluZyBwcm9ncmFtbWF0aWMgZm9jdXMgd2FzIGEga2V5Ym9hcmQgaW50ZXJhY3Rpb24sXG4vLyBvciB0aGUgYnJvd3NlciBoYXMgc29tZWhvdyBkZXRlcm1pbmVkIHRoYXQgdGhlIHVzZXIgaXMgcHJpbWFyaWx5IGEga2V5Ym9hcmQgdXNlciBhbmQvb3Jcbi8vIHdhbnRzIGZvY3VzIG91dGxpbmVzIHRvIGFsd2F5cyBiZSBwcmVzZW50ZWQuXG4vL1xuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86Zm9jdXMtdmlzaWJsZVxuLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wMy9mb2N1cy12aXNpYmxlLWFuZC1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gRGlzYWJsZSBhdXRvLWhpZGluZyBzY3JvbGxiYXIgaW4gSUUgJiBsZWdhY3kgRWRnZSB0byBhdm9pZCBvdmVybGFwLFxuICAvLyBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBjb250ZW50XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRXhwbGljaXRseSByZW1vdmUgZm9jdXMgb3V0bGluZSBpbiBDaHJvbWl1bSB3aGVuIGl0IHNob3VsZG4ndCBiZVxuLy8gdmlzaWJsZSAoZS5nLiBhcyByZXN1bHQgb2YgbW91c2UgY2xpY2sgb3IgdG91Y2ggdGFwKS4gSXQgYWxyZWFkeVxuLy8gc2hvdWxkIGJlIGRvaW5nIHRoaXMgYXV0b21hdGljYWxseSwgYnV0IHNlZW1zIHRvIGN1cnJlbnRseSBiZVxuLy8gY29uZnVzZWQgYW5kIGFwcGxpZXMgaXRzIHZlcnkgdmlzaWJsZSB0d28tdG9uZSBvdXRsaW5lIGFueXdheS5cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjVyZW0pO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTsgfVxuaDIsIC5oMiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTsgfVxuaDMsIC5oMyB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTsgfVxuaDQsIC5oNCB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTsgfVxuaDUsIC5oNSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTsgfVxuaDYsIC5oNiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTsgfVxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5MS1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkyLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTMtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5NC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4teTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoOTAlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCgpIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tL2Nzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbWctcmV0aW5hKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgLyAyO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4iLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgLyAyO1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgLyAyO1xufVxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG1ha2UtY29udGFpbmVyLW1heC13aWR0aHNgIG1peGluXCIsIFwidjQuNS4yXCIsIFwidjVcIik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCUgLyAkY291bnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlIC8gJGNvdW50O1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGNvbG9yOiAkdGFibGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZzsgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMiAqICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCxcbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY2NlbnQtYmc7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHRyIHtcbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1ib3JkZXItbGV2ZWwpKTtcbn1cblxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYWN0aXZlLWJnKTtcblxuXG4vLyBEYXJrIHN0eWxlc1xuLy9cbi8vIFNhbWUgdGFibGUgbWFya3VwLCBidXQgaW52ZXJ0ZWQgY29sb3Igc2NoZW1lOiBkYXJrIGJhY2tncm91bmQgYW5kIGxpZ2h0IHRleHQuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4udGFibGUge1xuICAudGhlYWQtZGFyayB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAudGhlYWQtbGlnaHQge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtZGFyayB7XG4gIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG5cbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLnRhYmxlLXN0cmlwZWQge1xuICAgIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1hY2NlbnQtYmc7XG4gICAgfVxuICB9XG5cbiAgJi50YWJsZS1ob3ZlciB7XG4gICAgdGJvZHkgdHIge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAgICAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyIG9uIGhvcml6b250YWwgc2Nyb2xsIGR1ZSB0byB1c2Ugb2YgYGRpc3BsYXk6IGJsb2NrO2BcbiAgICAgICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiBvciB1bml0KCRwcmV2LW51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgQGlmIGxlbmd0aCgkbWFwKSA+IDAge1xuICAgICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gICAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIFNlZSBodHRwczovL2NvZGVwZW4uaW8va2V2aW53ZWJlci9wZW4vZFhXb1J3XG4vL1xuLy8gUmVxdWlyZXMgdGhlIHVzZSBvZiBxdW90ZXMgYXJvdW5kIGRhdGEgVVJJcy5cblxuQGZ1bmN0aW9uIGVzY2FwZS1zdmcoJHN0cmluZykge1xuICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwiZGF0YTppbWFnZS9zdmcreG1sXCIpIHtcbiAgICBAZWFjaCAkY2hhciwgJGVuY29kZWQgaW4gJGVzY2FwZWQtY2hhcmFjdGVycyB7XG4gICAgICAvLyBEbyBub3QgZXNjYXBlIHRoZSB1cmwgYnJhY2tldHNcbiAgICAgIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJ1cmwoXCIpID09IDEge1xuICAgICAgICAkc3RyaW5nOiB1cmwoXCIje3N0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCA2LCAtMyksICRjaGFyLCAkZW5jb2RlZCl9XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzdHJpbmc6IHN0ci1yZXBsYWNlKCRzdHJpbmcsICRjaGFyLCAkZW5jb2RlZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IsICRkYXJrOiAkeWlxLXRleHQtZGFyaywgJGxpZ2h0OiAkeWlxLXRleHQtbGlnaHQpIHtcbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICAkeWlxOiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XG5cbiAgQGlmICgkeWlxID49ICR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICRkYXJrO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRsaWdodDtcbiAgfVxufVxuXG4vLyBSZXRyaWV2ZSBjb2xvciBTYXNzIG1hcHNcbkBmdW5jdGlvbiBjb2xvcigka2V5OiBcImJsdWVcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiB0aGVtZS1jb2xvcigka2V5OiBcInByaW1hcnlcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiBncmF5KCRrZXk6IFwiMTAwXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XG59XG5cbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgJGJsYWNrLCAkd2hpdGUpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG5cbi8vIFJldHVybiB2YWxpZCBjYWxjXG5AZnVuY3Rpb24gYWRkKCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgKyAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9ICsgI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiICsgXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBzdWJ0cmFjdCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCBhbmQgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuIC0kdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxIC0gJHZhbHVlMjtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSAtICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiAtIFwiKSArICR2YWx1ZTIpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIFJlbW92ZSBzZWxlY3Qgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkaW5wdXQtY29sb3I7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZSwgYXMgaXQgbG9va3MgYmFkIGFuZCBjYW5ub3QgYmUgbWFkZSB0b1xuICAgIC8vIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICB9XG59XG5cbi8vIE1ha2UgZmlsZSBpbnB1dHMgYmV0dGVyIG1hdGNoIHRleHQgaW5wdXRzIGJ5IGZvcmNpbmcgdGhlbSB0byBuZXcgbGluZXMuXG4uZm9ybS1jb250cm9sLWZpbGUsXG4uZm9ybS1jb250cm9sLXJhbmdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXG4vLyB0ZXh0IHRvIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsYWJlbD4vPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xufVxuXG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJltzaXplXSxcbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbn1cblxuXG4vLyBGb3JtIGdyaWRcbi8vXG4vLyBTcGVjaWFsIHJlcGxhY2VtZW50IGZvciBvdXIgZ3JpZCBzeXN0ZW0ncyBgLnJvd2AgZm9yIHRpZ2h0ZXIgZm9ybSBsYXlvdXRzLlxuXG4uZm9ybS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG5cbiAgPiAuY29sLFxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgZm9yIHdvcmthcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5mb3JtLWNoZWNrLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xufVxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCxcbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZm9ybS1jb250cm9sLWZvY3VzKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMxNTU3XG4gICAgLy8gQWxpZ24gdG9vbHRpcCB0byBmb3JtIGVsZW1lbnRzXG4gICAgLmZvcm0tcm93ID4gLmNvbCA+ICYsXG4gICAgLmZvcm0tcm93ID4gW2NsYXNzKj1cImNvbC1cIl0gPiAmIHtcbiAgICAgIGxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsICRjdXN0b20tc2VsZWN0LWJnIGVzY2FwZS1zdmcoJGljb24pICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemUgbm8tcmVwZWF0O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi53YXMtdmFsaWRhdGVkIHtcbiAgICBAZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgbWFwLWdldCgkZGF0YSwgY29sb3IpLCBtYXAtZ2V0KCRkYXRhLCBpY29uKSk7XG5cbiAgICAgICAgLmlzLSN7JHN0YXRlfSB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICAgIC5pcy0jeyRzdGF0ZX0gfiAuI3skc3RhdGV9LXRvb2x0aXAsXG4gICAgICAgIDojeyRzdGF0ZX0gfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgICA6I3skc3RhdGV9IH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+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+IC5jYXJkLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICBjb250ZW50OiBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIElFOS0xMSBoYWNrIHRvIHByb3Blcmx5IGhhbmRsZSBoeXBlcmxpbmsgdW5kZXJsaW5lcyBmb3IgYnJlYWRjcnVtYnMgYnVpbHRcbiAgLy8gd2l0aG91dCBgPHVsPmBzLiBUaGUgYDo6YmVmb3JlYCBwc2V1ZG8tZWxlbWVudCBnZW5lcmF0ZXMgYW4gZWxlbWVudFxuICAvLyAqd2l0aGluKiB0aGUgLmJyZWFkY3J1bWItaXRlbSBhbmQgdGhlcmVieSBpbmhlcml0cyB0aGUgYHRleHQtZGVjb3JhdGlvbmAuXG4gIC8vXG4gIC8vIFRvIHRyaWNrIElFIGludG8gc3VwcHJlc3NpbmcgdGhlIHVuZGVybGluZSwgd2UgZ2l2ZSB0aGUgcHNldWRvLWVsZW1lbnQgYW5cbiAgLy8gdW5kZXJsaW5lIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlbW92ZSBpdC5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhZGdlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhZGdlLXRyYW5zaXRpb24pO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cygpIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRiYWRnZS1mb2N1cy13aWR0aCByZ2JhKCRiZywgLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYm9yZGVyLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYgKyAmIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCA2KSk7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNsb3NlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi50b2FzdCB7XG4gIC8vIFByZXZlbnRzIGZyb20gc2hyaW5raW5nIGluIElFMTEsIHdoZW4gaW4gYSBmbGV4IGNvbnRhaW5lclxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODM0MVxuICBmbGV4LWJhc2lzOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBtYXgtd2lkdGg6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHN1YnRyYWN0KCR0b2FzdC1ib3JkZXItcmFkaXVzLCAkdG9hc3QtYm9yZGVyLXdpZHRoKSk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyAvLyBSZXNldCBoZWlnaHQgdG8gMCBleGNlcHQgb24gSUVcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gID4gKiB7XG4gICAgbWFyZ2luOiAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuIC8gMjtcbiAgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwKTtcbiAgfVxuXG4gIC5tb2RhbC1zbSB7IG1heC13aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogJG1vZGFsLWxnO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm1vZGFsLXhsIHsgbWF4LXdpZHRoOiAkbW9kYWwteGw7IH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICR0b29sdGlwLW1hcmdpbjtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9vbHRpcC1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXRvcCB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWJvdHRvbSB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgdG9wOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1sZWZ0O1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwb3BvdmVyLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcG9wb3Zlci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcG9wb3Zlci1ib3gtc2hhZG93KTtcblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwICRwb3BvdmVyLWJvcmRlci1yYWRpdXM7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gIG1hcmdpbi1ib3R0b206ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgYm90dG9tOiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItcmlnaHQge1xuICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBsZWZ0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgbWFyZ2luLXRvcDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICB0b3A6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aCAvIDI7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItaGVhZGVyLWJnO1xuICB9XG59XG5cbi5icy1wb3BvdmVyLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgcmlnaHQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1sZWZ0O1xuICB9XG59XG5cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogJHBvcG92ZXItaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItaGVhZGVyLWJnLCA1JSk7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWJvZHktcGFkZGluZy15ICRwb3BvdmVyLWJvZHktcGFkZGluZy14O1xuICBjb2xvcjogJHBvcG92ZXItYm9keS1jb2xvcjtcbn1cbiIsIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGVyZVxuLy8gICAgdGhlIGFjdGl2ZSBzbGlkZSBpcyBoZWFkaW5nLlxuLy8gMy4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIGlzIHRoZSBjdXJyZW50IHNsaWRlLlxuLy8gNC4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB0aGUgY3VycmVudFxuLy8gICAgc2xpZGUgaW4gaXRzIGluLXRyYW5zaXRpb24gc3RhdGUuIE9ubHkgb25lIG9mIHRoZXNlIG9jY3VycyBhdCBhIHRpbWUuXG4vLyA1LiAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0XG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLWxlZnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1yaWdodCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSB0cmFuc2l0aW9uc1xuLy9cblxuLmNhcm91c2VsLWZhZGUge1xuICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwcyAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZDogNTAlIC8gMTAwJSAxMDAlIG5vLXJlcGVhdDtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKTtcbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiBvcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMjtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDI7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYm9yZGVyOiAkc3Bpbm5lci1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWJvcmRlcjtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Bpbm5lci1ib3JkZXItd2lkdGgtc207XG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWdyb3c7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuXG5AaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy1ncmFkaWVudC12YXJpYW50YCBtaXhpblwiLCBcInY0LjUuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQGVhY2ggJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvIGluICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Mge1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teDogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMSk7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAyKTtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS0jeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14fWJ5I3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teX0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSAvICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJHVzZXItc2VsZWN0cyB7XG4gIC51c2VyLXNlbGVjdC0jeyR2YWx1ZX0geyB1c2VyLXNlbGVjdDogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLnNoYWRvdy1zbSB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3cgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LWxnIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGcgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1ub25lIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gV2lkdGggYW5kIGhlaWdodFxuXG5AZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAod2lkdGg6IHcsIGhlaWdodDogaCkge1xuICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc2l6ZXMge1xuICAgIC4jeyRhYmJyZXZ9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi5tdy0xMDAgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuLm1oLTEwMCB7IG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vLyBWaWV3cG9ydCBhZGRpdGlvbmFsIGhlbHBlcnNcblxuLm1pbi12dy0xMDAgeyBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi5taW4tdmgtMTAwIHsgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuXG4udnctMTAwIHsgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi52aC0xMDAgeyBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2lucyAoZS5nLiwgd2hlcmUgYC5tYi1uMWAgaXMgbmVnYXRpdmUgdmVyc2lvbiBvZiBgLm1iLTFgKVxuICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAwIHtcbiAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tdCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tYiN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8vIEp1c3QgaW4gY2FzZSBgcG9pbnRlci1ldmVudHM6IG5vbmVgIGlzIHNldCBvbiBhIHBhcmVudFxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gSUUxMCBidWdmaXgsIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjk0Nzk2Ny9pZTEwLWhvdmVyLXBzZXVkby1jbGFzcy1kb2VzbnQtd29yay13aXRob3V0LWJhY2tncm91bmQtY29sb3JcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi50ZXh0LW1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFpbXBvcnRhbnQ7IH1cblxuLy8gQWxpZ25tZW50XG5cbi50ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udGV4dC13cmFwICAgICB7IHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBEZXByZWNhdGVkLCBidXQgYXZvaWRzIGlzc3VlcyB3aXRoIGZsZXggY29udGFpbmVyc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gVXNlZCBpbnN0ZWFkIG9mIGBvdmVyZmxvdy13cmFwYCBmb3IgSUUgJiBFZGdlIExlZ2FjeVxufVxuXG4vLyBSZXNldFxuXG4udGV4dC1yZXNldCB7IGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlICE9IDAge1xuICAgIGEjeyRwYXJlbnR9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtZW1waGFzaXMtdmFyaWFudCgpYFwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWhpZGUoKWBcIiwgXCJ2NC4xLjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy9cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbiJdfQ== */
