@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&display=swap");
/*!
   * Bootstrap  v5.2.2 (https://getbootstrap.com/)
   * Copyright 2011-2022 The Bootstrap Authors
   * Copyright 2011-2022 Twitter, Inc.
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
:root {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: blue;
  --bs-dark: #000000;
  --bs-primary-rgb: 0, 0, 255;
  --bs-dark-rgb: 0, 0, 0;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-bg: #fff;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-2xl: 2rem;
  --bs-border-radius-pill: 50rem;
  --bs-link-color: #0d6efd;
  --bs-link-hover-color: #0a58ca;
  --bs-code-color: #d63384;
  --bs-highlight-bg: #fff3cd; }

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

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth; } }

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: 1px solid;
  opacity: 0.25; }

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

h1, .h1 {
  font-size: calc(1.375rem + 1.5vw); }
  @media (min-width: 1200px) {
    h1, .h1 {
      font-size: 2.5rem; } }

h2, .h2 {
  font-size: calc(1.325rem + 0.9vw); }
  @media (min-width: 1200px) {
    h2, .h2 {
      font-size: 2rem; } }

h3, .h3 {
  font-size: calc(1.3rem + 0.6vw); }
  @media (min-width: 1200px) {
    h3, .h3 {
      font-size: 1.75rem; } }

h4, .h4 {
  font-size: calc(1.275rem + 0.3vw); }
  @media (min-width: 1200px) {
    h4, .h4 {
      font-size: 1.5rem; } }

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

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

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

abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none; }

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

ol,
ul {
  padding-left: 2rem; }

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

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

dt {
  font-weight: 700; }

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

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: bolder; }

small, .small {
  font-size: 0.875em; }

mark, .mark {
  padding: 0.1875em;
  background-color: var(--bs-highlight-bg); }

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

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: var(--bs-link-color);
  text-decoration: underline; }
  a:hover {
    color: var(--bs-link-hover-color); }

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

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

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em; }
  pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal; }

code {
  font-size: 0.875em;
  color: var(--bs-code-color);
  word-wrap: break-word; }
  a > code {
    color: inherit; }

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0.25rem; }
  kbd kbd {
    padding: 0;
    font-size: 1em; }

figure {
  margin: 0 0 1rem; }

img,
svg {
  vertical-align: middle; }

table {
  caption-side: bottom;
  border-collapse: collapse; }

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

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

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0; }

label {
  display: inline-block; }

button {
  border-radius: 0; }

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

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

button,
select {
  text-transform: none; }

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

select {
  word-wrap: normal; }
  select:disabled {
    opacity: 1; }

[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator {
  display: none !important; }

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

::-moz-focus-inner {
  padding: 0;
  border-style: none; }

textarea {
  resize: vertical; }

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

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit; }
  @media (min-width: 1200px) {
    legend {
      font-size: 1.5rem; } }
  legend + * {
    clear: left; }

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0; }

::-webkit-inner-spin-button {
  height: auto; }

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

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-color-swatch-wrapper {
  padding: 0; }

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

output {
  display: inline-block; }

iframe {
  border: 0; }

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

progress {
  vertical-align: baseline; }

[hidden] {
  display: none !important; }

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

.display-1 {
  font-size: calc(1.625rem + 4.5vw);
  font-weight: 300;
  line-height: 1.2; }
  @media (min-width: 1200px) {
    .display-1 {
      font-size: 5rem; } }

.display-2 {
  font-size: calc(1.575rem + 3.9vw);
  font-weight: 300;
  line-height: 1.2; }
  @media (min-width: 1200px) {
    .display-2 {
      font-size: 4.5rem; } }

.display-3 {
  font-size: calc(1.525rem + 3.3vw);
  font-weight: 300;
  line-height: 1.2; }
  @media (min-width: 1200px) {
    .display-3 {
      font-size: 4rem; } }

.display-4 {
  font-size: calc(1.475rem + 2.7vw);
  font-weight: 300;
  line-height: 1.2; }
  @media (min-width: 1200px) {
    .display-4 {
      font-size: 3.5rem; } }

.display-5 {
  font-size: calc(1.425rem + 2.1vw);
  font-weight: 300;
  line-height: 1.2; }
  @media (min-width: 1200px) {
    .display-5 {
      font-size: 3rem; } }

.display-6 {
  font-size: calc(1.375rem + 1.5vw);
  font-weight: 300;
  line-height: 1.2; }
  @media (min-width: 1200px) {
    .display-6 {
      font-size: 2.5rem; } }

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

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

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

.initialism {
  font-size: 0.875em;
  text-transform: uppercase; }

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem; }
  .blockquote > :last-child {
    margin-bottom: 0; }

.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #6c757d; }
  .blockquote-footer::before {
    content: "\2014\00A0"; }

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

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

.figure {
  display: inline-block; }

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

.figure-caption {
  font-size: 0.875em;
  color: #6c757d; }

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-right: auto;
  margin-left: auto; }

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

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

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

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

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

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x)); }
  .row > * {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y); }

.col {
  flex: 1 0 0%; }

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto; }

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

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

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

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

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

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

.col-auto {
  flex: 0 0 auto;
  width: auto; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.g-0,
.gx-0 {
  --bs-gutter-x: 0; }

.g-0,
.gy-0 {
  --bs-gutter-y: 0; }

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem; }

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem; }

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem; }

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem; }

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem; }

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem; }

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem; }

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem; }

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem; }

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem; }

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%; }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto; }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%; }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%; }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333%; }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%; }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%; }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto; }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333%; }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%; }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333%; }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66667%; }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%; }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333%; }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66667%; }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%; }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333%; }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66667%; }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%; }
  .offset-sm-0 {
    margin-left: 0; }
  .offset-sm-1 {
    margin-left: 8.33333%; }
  .offset-sm-2 {
    margin-left: 16.66667%; }
  .offset-sm-3 {
    margin-left: 25%; }
  .offset-sm-4 {
    margin-left: 33.33333%; }
  .offset-sm-5 {
    margin-left: 41.66667%; }
  .offset-sm-6 {
    margin-left: 50%; }
  .offset-sm-7 {
    margin-left: 58.33333%; }
  .offset-sm-8 {
    margin-left: 66.66667%; }
  .offset-sm-9 {
    margin-left: 75%; }
  .offset-sm-10 {
    margin-left: 83.33333%; }
  .offset-sm-11 {
    margin-left: 91.66667%; }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0; }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0; }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem; }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem; }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem; }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem; }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem; }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem; }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem; }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem; }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem; }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem; } }

@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%; }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto; }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%; }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%; }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333%; }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%; }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%; }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto; }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333%; }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%; }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333%; }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66667%; }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%; }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333%; }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66667%; }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%; }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333%; }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66667%; }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%; }
  .offset-md-0 {
    margin-left: 0; }
  .offset-md-1 {
    margin-left: 8.33333%; }
  .offset-md-2 {
    margin-left: 16.66667%; }
  .offset-md-3 {
    margin-left: 25%; }
  .offset-md-4 {
    margin-left: 33.33333%; }
  .offset-md-5 {
    margin-left: 41.66667%; }
  .offset-md-6 {
    margin-left: 50%; }
  .offset-md-7 {
    margin-left: 58.33333%; }
  .offset-md-8 {
    margin-left: 66.66667%; }
  .offset-md-9 {
    margin-left: 75%; }
  .offset-md-10 {
    margin-left: 83.33333%; }
  .offset-md-11 {
    margin-left: 91.66667%; }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0; }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0; }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem; }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem; }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem; }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem; }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem; }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem; }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem; }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem; }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem; }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem; } }

@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%; }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto; }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%; }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%; }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333%; }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%; }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%; }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto; }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333%; }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%; }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333%; }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66667%; }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%; }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333%; }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66667%; }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%; }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333%; }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66667%; }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%; }
  .offset-lg-0 {
    margin-left: 0; }
  .offset-lg-1 {
    margin-left: 8.33333%; }
  .offset-lg-2 {
    margin-left: 16.66667%; }
  .offset-lg-3 {
    margin-left: 25%; }
  .offset-lg-4 {
    margin-left: 33.33333%; }
  .offset-lg-5 {
    margin-left: 41.66667%; }
  .offset-lg-6 {
    margin-left: 50%; }
  .offset-lg-7 {
    margin-left: 58.33333%; }
  .offset-lg-8 {
    margin-left: 66.66667%; }
  .offset-lg-9 {
    margin-left: 75%; }
  .offset-lg-10 {
    margin-left: 83.33333%; }
  .offset-lg-11 {
    margin-left: 91.66667%; }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0; }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0; }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem; }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem; }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem; }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem; }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem; }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem; }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem; }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem; }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem; }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem; } }

@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%; }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto; }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%; }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%; }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333%; }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%; }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%; }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto; }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333%; }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%; }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333%; }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66667%; }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%; }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333%; }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66667%; }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%; }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333%; }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66667%; }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%; }
  .offset-xl-0 {
    margin-left: 0; }
  .offset-xl-1 {
    margin-left: 8.33333%; }
  .offset-xl-2 {
    margin-left: 16.66667%; }
  .offset-xl-3 {
    margin-left: 25%; }
  .offset-xl-4 {
    margin-left: 33.33333%; }
  .offset-xl-5 {
    margin-left: 41.66667%; }
  .offset-xl-6 {
    margin-left: 50%; }
  .offset-xl-7 {
    margin-left: 58.33333%; }
  .offset-xl-8 {
    margin-left: 66.66667%; }
  .offset-xl-9 {
    margin-left: 75%; }
  .offset-xl-10 {
    margin-left: 83.33333%; }
  .offset-xl-11 {
    margin-left: 91.66667%; }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0; }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0; }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem; }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem; }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem; }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem; }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem; }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem; }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem; }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem; }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem; }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem; } }

@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%; }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto; }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%; }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%; }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333%; }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%; }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%; }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto; }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333%; }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%; }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333%; }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66667%; }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%; }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333%; }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66667%; }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%; }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333%; }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66667%; }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%; }
  .offset-xxl-0 {
    margin-left: 0; }
  .offset-xxl-1 {
    margin-left: 8.33333%; }
  .offset-xxl-2 {
    margin-left: 16.66667%; }
  .offset-xxl-3 {
    margin-left: 25%; }
  .offset-xxl-4 {
    margin-left: 33.33333%; }
  .offset-xxl-5 {
    margin-left: 41.66667%; }
  .offset-xxl-6 {
    margin-left: 50%; }
  .offset-xxl-7 {
    margin-left: 58.33333%; }
  .offset-xxl-8 {
    margin-left: 66.66667%; }
  .offset-xxl-9 {
    margin-left: 75%; }
  .offset-xxl-10 {
    margin-left: 83.33333%; }
  .offset-xxl-11 {
    margin-left: 91.66667%; }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0; }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0; }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem; }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem; }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem; }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem; }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem; }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem; }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem; }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem; }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem; }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem; } }

.table {
  --bs-table-color: var(--bs-body-color);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-body-color);
  --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
  --bs-table-active-color: var(--bs-body-color);
  --bs-table-active-bg: rgba(0, 0, 0, 0.1);
  --bs-table-hover-color: var(--bs-body-color);
  --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
  width: 100%;
  margin-bottom: 1rem;
  color: var(--bs-table-color);
  vertical-align: top;
  border-color: var(--bs-table-border-color); }
  .table > :not(caption) > * > * {
    padding: 0.5rem 0.5rem;
    background-color: var(--bs-table-bg);
    border-bottom-width: 1px;
    box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); }
  .table > tbody {
    vertical-align: inherit; }
  .table > thead {
    vertical-align: bottom; }

.table-group-divider {
  border-top: 2px solid currentcolor; }

.caption-top {
  caption-side: top; }

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem; }

.table-bordered > :not(caption) > * {
  border-width: 1px 0; }
  .table-bordered > :not(caption) > * > * {
    border-width: 0 1px; }

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0; }

.table-borderless > :not(:first-child) {
  border-top-width: 0; }

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: var(--bs-table-striped-bg);
  color: var(--bs-table-striped-color); }

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-accent-bg: var(--bs-table-striped-bg);
  color: var(--bs-table-striped-color); }

.table-active {
  --bs-table-accent-bg: var(--bs-table-active-bg);
  color: var(--bs-table-active-color); }

.table-hover > tbody > tr:hover > * {
  --bs-table-accent-bg: var(--bs-table-hover-bg);
  color: var(--bs-table-hover-color); }

.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: #cfe2ff;
  --bs-table-border-color: #bacbe6;
  --bs-table-striped-bg: #c5d7f2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bacbe6;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfd1ec;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: #e2e3e5;
  --bs-table-border-color: #cbccce;
  --bs-table-striped-bg: #d7d8da;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #cbccce;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d1d2d4;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-success {
  --bs-table-color: #000;
  --bs-table-bg: #d1e7dd;
  --bs-table-border-color: #bcd0c7;
  --bs-table-striped-bg: #c7dbd2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bcd0c7;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c1d6cc;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-info {
  --bs-table-color: #000;
  --bs-table-bg: #cff4fc;
  --bs-table-border-color: #badce3;
  --bs-table-striped-bg: #c5e8ef;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #badce3;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfe2e9;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-warning {
  --bs-table-color: #000;
  --bs-table-bg: #fff3cd;
  --bs-table-border-color: #e6dbb9;
  --bs-table-striped-bg: #f2e7c3;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #e6dbb9;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #ece1be;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-danger {
  --bs-table-color: #000;
  --bs-table-bg: #f8d7da;
  --bs-table-border-color: #dfc2c4;
  --bs-table-striped-bg: #eccccf;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfc2c4;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5c7ca;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-light {
  --bs-table-color: #000;
  --bs-table-bg: #f8f9fa;
  --bs-table-border-color: #dfe0e1;
  --bs-table-striped-bg: #ecedee;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfe0e1;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5e6e7;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #212529;
  --bs-table-border-color: #373b3e;
  --bs-table-striped-bg: #2c3034;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #373b3e;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #323539;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; } }

@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; } }

@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; } }

@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; } }

@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; } }

.form-label {
  margin-bottom: 0.5rem; }

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

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

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

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #6c757d; }

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  appearance: none;
  border-radius: 0.375rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .form-control {
      transition: none; } }
  .form-control[type="file"] {
    overflow: hidden; }
    .form-control[type="file"]:not(:disabled):not([readonly]) {
      cursor: pointer; }
  .form-control:focus {
    color: #212529;
    background-color: #fff;
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }
  .form-control::-webkit-date-and-time-value {
    height: 1.5em; }
  .form-control::placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control:disabled {
    background-color: #e9ecef;
    opacity: 1; }
  .form-control::file-selector-button {
    padding: 0.375rem 0.75rem;
    margin: -0.375rem -0.75rem;
    margin-inline-end: 0.75rem;
    color: #212529;
    background-color: #e9ecef;
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: 1px;
    border-radius: 0;
    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) {
      .form-control::file-selector-button {
        transition: none; } }
  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {
    background-color: #dde0e3; }

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: #212529;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0; }
  .form-control-plaintext:focus {
    outline: 0; }
  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0; }

.form-control-sm {
  min-height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.25rem; }
  .form-control-sm::file-selector-button {
    padding: 0.25rem 0.5rem;
    margin: -0.25rem -0.5rem;
    margin-inline-end: 0.5rem; }

.form-control-lg {
  min-height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: 0.5rem; }
  .form-control-lg::file-selector-button {
    padding: 0.5rem 1rem;
    margin: -0.5rem -1rem;
    margin-inline-end: 1rem; }

textarea.form-control {
  min-height: calc(1.5em + 0.75rem + 2px); }

textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + 2px); }

textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + 2px); }

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem; }
  .form-control-color:not(:disabled):not([readonly]) {
    cursor: pointer; }
  .form-control-color::-moz-color-swatch {
    border: 0 !important;
    border-radius: 0.375rem; }
  .form-control-color::-webkit-color-swatch {
    border-radius: 0.375rem; }
  .form-control-color.form-control-sm {
    height: calc(1.5em + 0.5rem + 2px); }
  .form-control-color.form-control-lg {
    height: calc(1.5em + 1rem + 2px); }

.form-select {
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  -moz-padding-start: calc(0.75rem - 3px);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none; }
  @media (prefers-reduced-motion: reduce) {
    .form-select {
      transition: none; } }
  .form-select:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }
  .form-select[multiple], .form-select[size]:not([size="1"]) {
    padding-right: 0.75rem;
    background-image: none; }
  .form-select:disabled {
    background-color: #e9ecef; }
  .form-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #212529; }

.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.25rem; }

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  border-radius: 0.5rem; }

.form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem; }
  .form-check .form-check-input {
    float: left;
    margin-left: -1.5em; }

.form-check-reverse {
  padding-right: 1.5em;
  padding-left: 0;
  text-align: right; }
  .form-check-reverse .form-check-input {
    float: right;
    margin-right: -1.5em;
    margin-left: 0; }

.form-check-input {
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1px solid rgba(0, 0, 0, 0.25);
  appearance: none;
  print-color-adjust: exact; }
  .form-check-input[type="checkbox"] {
    border-radius: 0.25em; }
  .form-check-input[type="radio"] {
    border-radius: 50%; }
  .form-check-input:active {
    filter: brightness(90%); }
  .form-check-input:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }
  .form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd; }
    .form-check-input:checked[type="checkbox"] {
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); }
    .form-check-input:checked[type="radio"] {
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); }
  .form-check-input[type="checkbox"]:indeterminate {
    background-color: #0d6efd;
    border-color: #0d6efd;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); }
  .form-check-input:disabled {
    pointer-events: none;
    filter: none;
    opacity: 0.5; }
  .form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
    cursor: default;
    opacity: 0.5; }

.form-switch {
  padding-left: 2.5em; }
  .form-switch .form-check-input {
    width: 2em;
    margin-left: -2.5em;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
    background-position: left center;
    border-radius: 2em;
    transition: background-position 0.15s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .form-switch .form-check-input {
        transition: none; } }
    .form-switch .form-check-input:focus {
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e"); }
    .form-switch .form-check-input:checked {
      background-position: right center;
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }
  .form-switch.form-check-reverse {
    padding-right: 2.5em;
    padding-left: 0; }
    .form-switch.form-check-reverse .form-check-input {
      margin-right: -2.5em;
      margin-left: 0; }

.form-check-inline {
  display: inline-block;
  margin-right: 1rem; }

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none; }
  .btn-check[disabled] + .btn, .btn-check:disabled + .btn {
    pointer-events: none;
    filter: none;
    opacity: 0.65; }

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  background-color: transparent;
  appearance: none; }
  .form-range:focus {
    outline: 0; }
    .form-range:focus::-webkit-slider-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }
    .form-range:focus::-moz-range-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }
  .form-range::-moz-focus-outer {
    border: 0; }
  .form-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #0d6efd;
    border: 0;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .form-range::-webkit-slider-thumb {
        transition: none; } }
    .form-range::-webkit-slider-thumb:active {
      background-color: #b6d4fe; }
  .form-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem; }
  .form-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #0d6efd;
    border: 0;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .form-range::-moz-range-thumb {
        transition: none; } }
    .form-range::-moz-range-thumb:active {
      background-color: #b6d4fe; }
  .form-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem; }
  .form-range:disabled {
    pointer-events: none; }
    .form-range:disabled::-webkit-slider-thumb {
      background-color: #adb5bd; }
    .form-range:disabled::-moz-range-thumb {
      background-color: #adb5bd; }

.form-floating {
  position: relative; }
  .form-floating > .form-control,
  .form-floating > .form-control-plaintext,
  .form-floating > .form-select {
    height: calc(3.5rem + 2px);
    line-height: 1.25; }
  .form-floating > label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 1rem 0.75rem;
    overflow: hidden;
    text-align: start;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    border: 1px solid transparent;
    transform-origin: 0 0;
    transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .form-floating > label {
        transition: none; } }
  .form-floating > .form-control,
  .form-floating > .form-control-plaintext {
    padding: 1rem 0.75rem; }
    .form-floating > .form-control::placeholder,
    .form-floating > .form-control-plaintext::placeholder {
      color: transparent; }
    .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
    .form-floating > .form-control-plaintext:focus,
    .form-floating > .form-control-plaintext:not(:placeholder-shown) {
      padding-top: 1.625rem;
      padding-bottom: 0.625rem; }
    .form-floating > .form-control:-webkit-autofill,
    .form-floating > .form-control-plaintext:-webkit-autofill {
      padding-top: 1.625rem;
      padding-bottom: 0.625rem; }
  .form-floating > .form-select {
    padding-top: 1.625rem;
    padding-bottom: 0.625rem; }
  .form-floating > .form-control:focus ~ label,
  .form-floating > .form-control:not(:placeholder-shown) ~ label,
  .form-floating > .form-control-plaintext ~ label,
  .form-floating > .form-select ~ label {
    opacity: 0.65;
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); }
  .form-floating > .form-control:-webkit-autofill ~ label {
    opacity: 0.65;
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); }
  .form-floating > .form-control-plaintext ~ label {
    border-width: 1px 0; }

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%; }
  .input-group > .form-control,
  .input-group > .form-select,
  .input-group > .form-floating {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0; }
  .input-group > .form-control:focus,
  .input-group > .form-select:focus,
  .input-group > .form-floating:focus-within {
    z-index: 5; }
  .input-group .btn {
    position: relative;
    z-index: 2; }
    .input-group .btn:focus {
      z-index: 5; }

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.375rem; }

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

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

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

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4),
.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: -1px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

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

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #198754; }

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: rgba(25, 135, 84, 0.9);
  border-radius: 0.375rem; }

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

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

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

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: #198754; }
  .was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
    padding-right: 4.125rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.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-position: right 0.75rem center, center right 2.25rem;
    background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
  .was-validated .form-select:valid:focus, .form-select.is-valid:focus {
    border-color: #198754;
    box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); }

.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.5em + 0.75rem)); }

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: #198754; }
  .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
    background-color: #198754; }
  .was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
    box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); }
  .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
    color: #198754; }

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: .5em; }

.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, .was-validated
.input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid, .was-validated
.input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3; }

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

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.375rem; }

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

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

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

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: #dc3545; }
  .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
    padding-right: 4.125rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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-position: right 0.75rem center, center right 2.25rem;
    background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
  .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); }

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.5em + 0.75rem)); }

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: #dc3545; }
  .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
    background-color: #dc3545; }
  .was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); }
  .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
    color: #dc3545; }

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: .5em; }

.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, .was-validated
.input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid, .was-validated
.input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4; }

.btn {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: #212529;
  --bs-btn-bg: transparent;
  --bs-btn-border-width: 1px;
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: 0.375rem;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .btn {
      transition: none; } }
  .btn:hover {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color); }
  .btn-check + .btn:hover {
    color: var(--bs-btn-color);
    background-color: var(--bs-btn-bg);
    border-color: var(--bs-btn-border-color); }
  .btn:focus-visible {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
    outline: 0;
    box-shadow: var(--bs-btn-focus-box-shadow); }
  .btn-check:focus-visible + .btn {
    border-color: var(--bs-btn-hover-border-color);
    outline: 0;
    box-shadow: var(--bs-btn-focus-box-shadow); }
  .btn-check:checked + .btn,
  :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
    color: var(--bs-btn-active-color);
    background-color: var(--bs-btn-active-bg);
    border-color: var(--bs-btn-active-border-color); }
    .btn-check:checked + .btn:focus-visible,
    :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
      box-shadow: var(--bs-btn-focus-box-shadow); }
  .btn:disabled, .btn.disabled,
  fieldset:disabled .btn {
    color: var(--bs-btn-disabled-color);
    pointer-events: none;
    background-color: var(--bs-btn-disabled-bg);
    border-color: var(--bs-btn-disabled-border-color);
    opacity: var(--bs-btn-disabled-opacity); }

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: blue;
  --bs-btn-border-color: blue;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0000d9;
  --bs-btn-hover-border-color: #0000cc;
  --bs-btn-focus-shadow-rgb: 38, 38, 255;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0000cc;
  --bs-btn-active-border-color: #0000bf;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: blue;
  --bs-btn-disabled-border-color: blue; }

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #000000;
  --bs-btn-border-color: #000000;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #262626;
  --bs-btn-hover-border-color: #1a1a1a;
  --bs-btn-focus-shadow-rgb: 38, 38, 38;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #333333;
  --bs-btn-active-border-color: #1a1a1a;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #000000;
  --bs-btn-disabled-border-color: #000000; }

.btn-outline-primary {
  --bs-btn-color: blue;
  --bs-btn-border-color: blue;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: blue;
  --bs-btn-hover-border-color: blue;
  --bs-btn-focus-shadow-rgb: 0, 0, 255;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: blue;
  --bs-btn-active-border-color: blue;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: blue;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: blue;
  --bs-gradient: none; }

.btn-outline-dark {
  --bs-btn-color: #000000;
  --bs-btn-border-color: #000000;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #000000;
  --bs-btn-hover-border-color: #000000;
  --bs-btn-focus-shadow-rgb: 0, 0, 0;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #000000;
  --bs-btn-active-border-color: #000000;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000000;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #000000;
  --bs-gradient: none; }

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: none;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  text-decoration: underline; }
  .btn-link:focus-visible {
    color: var(--bs-btn-color); }
  .btn-link:hover {
    color: var(--bs-btn-hover-color); }

.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.25rem;
  --bs-btn-border-radius: 0.5rem; }

.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: 0.25rem; }

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

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

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease; }
  @media (prefers-reduced-motion: reduce) {
    .collapsing {
      transition: none; } }
  .collapsing.collapse-horizontal {
    width: 0;
    height: auto;
    transition: width 0.35s ease; }
    @media (prefers-reduced-motion: reduce) {
      .collapsing.collapse-horizontal {
        transition: none; } }

.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
  position: relative; }

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

.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 1rem;
  --bs-dropdown-color: #212529;
  --bs-dropdown-bg: #fff;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: 0.375rem;
  --bs-dropdown-border-width: 1px;
  --bs-dropdown-inner-border-radius: calc(0.375rem - 1px);
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-dropdown-link-color: #212529;
  --bs-dropdown-link-hover-color: #1e2125;
  --bs-dropdown-link-hover-bg: #e9ecef;
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #0d6efd;
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: #6c757d;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius); }
  .dropdown-menu[data-bs-popper] {
    top: 100%;
    left: 0;
    margin-top: var(--bs-dropdown-spacer); }

.dropdown-menu-start {
  --bs-position: start; }
  .dropdown-menu-start[data-bs-popper] {
    right: auto;
    left: 0; }

.dropdown-menu-end {
  --bs-position: end; }
  .dropdown-menu-end[data-bs-popper] {
    right: 0;
    left: auto; }

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start; }
    .dropdown-menu-sm-start[data-bs-popper] {
      right: auto;
      left: 0; }
  .dropdown-menu-sm-end {
    --bs-position: end; }
    .dropdown-menu-sm-end[data-bs-popper] {
      right: 0;
      left: auto; } }

@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start; }
    .dropdown-menu-md-start[data-bs-popper] {
      right: auto;
      left: 0; }
  .dropdown-menu-md-end {
    --bs-position: end; }
    .dropdown-menu-md-end[data-bs-popper] {
      right: 0;
      left: auto; } }

@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start; }
    .dropdown-menu-lg-start[data-bs-popper] {
      right: auto;
      left: 0; }
  .dropdown-menu-lg-end {
    --bs-position: end; }
    .dropdown-menu-lg-end[data-bs-popper] {
      right: 0;
      left: auto; } }

@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start; }
    .dropdown-menu-xl-start[data-bs-popper] {
      right: auto;
      left: 0; }
  .dropdown-menu-xl-end {
    --bs-position: end; }
    .dropdown-menu-xl-end[data-bs-popper] {
      right: 0;
      left: auto; } }

@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start; }
    .dropdown-menu-xxl-start[data-bs-popper] {
      right: auto;
      left: 0; }
  .dropdown-menu-xxl-end {
    --bs-position: end; }
    .dropdown-menu-xxl-end[data-bs-popper] {
      right: 0;
      left: auto; } }

.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--bs-dropdown-spacer); }

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

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

.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: var(--bs-dropdown-spacer); }

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

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

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

.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: var(--bs-dropdown-spacer); }

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

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

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

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

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

.dropdown-divider {
  height: 0;
  margin: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1; }

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0; }
  .dropdown-item:hover, .dropdown-item:focus {
    color: var(--bs-dropdown-link-hover-color);
    background-color: var(--bs-dropdown-link-hover-bg); }
  .dropdown-item.active, .dropdown-item:active {
    color: var(--bs-dropdown-link-active-color);
    text-decoration: none;
    background-color: var(--bs-dropdown-link-active-bg); }
  .dropdown-item.disabled, .dropdown-item:disabled {
    color: var(--bs-dropdown-link-disabled-color);
    pointer-events: none;
    background-color: transparent; }

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

.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.875rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap; }

.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color); }

.dropdown-menu-dark {
  --bs-dropdown-color: #dee2e6;
  --bs-dropdown-bg: #343a40;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #dee2e6;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #0d6efd;
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-dropdown-header-color: #adb5bd; }

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

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

.btn-group {
  border-radius: 0.375rem; }
  .btn-group > :not(.btn-check:first-child) + .btn,
  .btn-group > .btn-group:not(:first-child) {
    margin-left: -1px; }
  .btn-group > .btn:not(:last-child):not(.dropdown-toggle),
  .btn-group > .btn.dropdown-toggle-split:first-child,
  .btn-group > .btn-group:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .btn-group > .btn:nth-child(n + 3),
  .btn-group > :not(.btn-check) + .btn,
  .btn-group > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }

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

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

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

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

.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: #6c757d;
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .nav-link {
      transition: none; } }
  .nav-link:hover, .nav-link:focus {
    color: var(--bs-nav-link-hover-color); }
  .nav-link.disabled {
    color: var(--bs-nav-link-disabled-color);
    pointer-events: none;
    cursor: default; }

.nav-tabs {
  --bs-nav-tabs-border-width: 1px;
  --bs-nav-tabs-border-color: #dee2e6;
  --bs-nav-tabs-border-radius: 0.375rem;
  --bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;
  --bs-nav-tabs-link-active-color: #495057;
  --bs-nav-tabs-link-active-bg: #fff;
  --bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); }
  .nav-tabs .nav-link {
    margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
    background: none;
    border: var(--bs-nav-tabs-border-width) solid transparent;
    border-top-left-radius: var(--bs-nav-tabs-border-radius);
    border-top-right-radius: var(--bs-nav-tabs-border-radius); }
    .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
      isolation: isolate;
      border-color: var(--bs-nav-tabs-link-hover-border-color); }
    .nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled {
      color: var(--bs-nav-link-disabled-color);
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active,
  .nav-tabs .nav-item.show .nav-link {
    color: var(--bs-nav-tabs-link-active-color);
    background-color: var(--bs-nav-tabs-link-active-bg);
    border-color: var(--bs-nav-tabs-link-active-border-color); }
  .nav-tabs .dropdown-menu {
    margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

.nav-pills {
  --bs-nav-pills-border-radius: 0.375rem;
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #0d6efd; }
  .nav-pills .nav-link {
    background: none;
    border: 0;
    border-radius: var(--bs-nav-pills-border-radius); }
    .nav-pills .nav-link:disabled {
      color: var(--bs-nav-link-disabled-color);
      background-color: transparent;
      border-color: transparent; }
  .nav-pills .nav-link.active,
  .nav-pills .show > .nav-link {
    color: var(--bs-nav-pills-link-active-color);
    background-color: var(--bs-nav-pills-link-active-bg); }

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

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

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%; }

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

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

.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 0.5rem;
  --bs-navbar-color: rgba(0, 0, 0, 0.55);
  --bs-navbar-hover-color: rgba(0, 0, 0, 0.7);
  --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3);
  --bs-navbar-active-color: rgba(0, 0, 0, 0.9);
  --bs-navbar-brand-padding-y: 0.3125rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.25rem;
  --bs-navbar-brand-color: rgba(0, 0, 0, 0.9);
  --bs-navbar-brand-hover-color: rgba(0, 0, 0, 0.9);
  --bs-navbar-nav-link-padding-x: 0.5rem;
  --bs-navbar-toggler-padding-y: 0.25rem;
  --bs-navbar-toggler-padding-x: 0.75rem;
  --bs-navbar-toggler-font-size: 1.25rem;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: rgba(0, 0, 0, 0.1);
  --bs-navbar-toggler-border-radius: 0.375rem;
  --bs-navbar-toggler-focus-width: 0.25rem;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); }
  .navbar > .container,
  .navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl, .navbar > .container-xxl {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between; }

.navbar-brand {
  padding-top: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  text-decoration: none;
  white-space: nowrap; }
  .navbar-brand:hover, .navbar-brand:focus {
    color: var(--bs-navbar-brand-hover-color); }

.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-navbar-color);
  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }
  .navbar-nav .show > .nav-link,
  .navbar-nav .nav-link.active {
    color: var(--bs-navbar-active-color); }
  .navbar-nav .dropdown-menu {
    position: static; }

.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-navbar-color); }
  .navbar-text a,
  .navbar-text a:hover,
  .navbar-text a:focus {
    color: var(--bs-navbar-active-color); }

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

.navbar-toggler {
  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size: var(--bs-navbar-toggler-font-size);
  line-height: 1;
  color: var(--bs-navbar-color);
  background-color: transparent;
  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
  border-radius: var(--bs-navbar-toggler-border-radius);
  transition: var(--bs-navbar-toggler-transition); }
  @media (prefers-reduced-motion: reduce) {
    .navbar-toggler {
      transition: none; } }
  .navbar-toggler:hover {
    text-decoration: none; }
  .navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width); }

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--bs-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%; }

.navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto; }

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start; }
    .navbar-expand-sm .navbar-nav {
      flex-direction: row; }
      .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x); }
    .navbar-expand-sm .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-sm .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-sm .navbar-toggler {
      display: none; }
    .navbar-expand-sm .offcanvas {
      position: static;
      z-index: auto;
      flex-grow: 1;
      width: auto !important;
      height: auto !important;
      visibility: visible !important;
      background-color: transparent !important;
      border: 0 !important;
      transform: none !important;
      transition: none; }
      .navbar-expand-sm .offcanvas .offcanvas-header {
        display: none; }
      .navbar-expand-sm .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible; } }

@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start; }
    .navbar-expand-md .navbar-nav {
      flex-direction: row; }
      .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-md .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x); }
    .navbar-expand-md .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-md .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-md .navbar-toggler {
      display: none; }
    .navbar-expand-md .offcanvas {
      position: static;
      z-index: auto;
      flex-grow: 1;
      width: auto !important;
      height: auto !important;
      visibility: visible !important;
      background-color: transparent !important;
      border: 0 !important;
      transform: none !important;
      transition: none; }
      .navbar-expand-md .offcanvas .offcanvas-header {
        display: none; }
      .navbar-expand-md .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible; } }

@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start; }
    .navbar-expand-lg .navbar-nav {
      flex-direction: row; }
      .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x); }
    .navbar-expand-lg .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-lg .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-lg .navbar-toggler {
      display: none; }
    .navbar-expand-lg .offcanvas {
      position: static;
      z-index: auto;
      flex-grow: 1;
      width: auto !important;
      height: auto !important;
      visibility: visible !important;
      background-color: transparent !important;
      border: 0 !important;
      transform: none !important;
      transition: none; }
      .navbar-expand-lg .offcanvas .offcanvas-header {
        display: none; }
      .navbar-expand-lg .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible; } }

@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start; }
    .navbar-expand-xl .navbar-nav {
      flex-direction: row; }
      .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x); }
    .navbar-expand-xl .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-xl .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-xl .navbar-toggler {
      display: none; }
    .navbar-expand-xl .offcanvas {
      position: static;
      z-index: auto;
      flex-grow: 1;
      width: auto !important;
      height: auto !important;
      visibility: visible !important;
      background-color: transparent !important;
      border: 0 !important;
      transform: none !important;
      transition: none; }
      .navbar-expand-xl .offcanvas .offcanvas-header {
        display: none; }
      .navbar-expand-xl .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible; } }

@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start; }
    .navbar-expand-xxl .navbar-nav {
      flex-direction: row; }
      .navbar-expand-xxl .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-xxl .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x); }
    .navbar-expand-xxl .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-xxl .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-xxl .navbar-toggler {
      display: none; }
    .navbar-expand-xxl .offcanvas {
      position: static;
      z-index: auto;
      flex-grow: 1;
      width: auto !important;
      height: auto !important;
      visibility: visible !important;
      background-color: transparent !important;
      border: 0 !important;
      transform: none !important;
      transition: none; }
      .navbar-expand-xxl .offcanvas .offcanvas-header {
        display: none; }
      .navbar-expand-xxl .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible; } }

.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start; }
  .navbar-expand .navbar-nav {
    flex-direction: row; }
    .navbar-expand .navbar-nav .dropdown-menu {
      position: absolute; }
    .navbar-expand .navbar-nav .nav-link {
      padding-right: var(--bs-navbar-nav-link-padding-x);
      padding-left: var(--bs-navbar-nav-link-padding-x); }
  .navbar-expand .navbar-nav-scroll {
    overflow: visible; }
  .navbar-expand .navbar-collapse {
    display: flex !important;
    flex-basis: auto; }
  .navbar-expand .navbar-toggler {
    display: none; }
  .navbar-expand .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none; }
    .navbar-expand .offcanvas .offcanvas-header {
      display: none; }
    .navbar-expand .offcanvas .offcanvas-body {
      display: flex;
      flex-grow: 0;
      padding: 0;
      overflow-y: visible; }

.navbar-dark {
  --bs-navbar-color: rgba(255, 255, 255, 0.55);
  --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --bs-navbar-active-color: #fff;
  --bs-navbar-brand-color: #fff;
  --bs-navbar-brand-hover-color: #fff;
  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.card {
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-border-width: 1px;
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: 0.375rem;
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(0.375rem - 1px);
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(0, 0, 0, 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: #fff;
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius); }
  .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .card > .list-group {
    border-top: inherit;
    border-bottom: inherit; }
    .card > .list-group:first-child {
      border-top-width: 0;
      border-top-left-radius: var(--bs-card-inner-border-radius);
      border-top-right-radius: var(--bs-card-inner-border-radius); }
    .card > .list-group:last-child {
      border-bottom-width: 0;
      border-bottom-right-radius: var(--bs-card-inner-border-radius);
      border-bottom-left-radius: var(--bs-card-inner-border-radius); }
  .card > .card-header + .list-group,
  .card > .list-group + .card-footer {
    border-top: 0; }

.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color); }

.card-title {
  margin-bottom: var(--bs-card-title-spacer-y); }

.card-subtitle {
  margin-top: calc(-.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0; }

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

.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x); }

.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); }
  .card-header:first-child {
    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; }

.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); }
  .card-footer:last-child {
    border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); }

.card-header-tabs {
  margin-right: calc(-.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0; }
  .card-header-tabs .nav-link.active {
    background-color: var(--bs-card-bg);
    border-bottom-color: var(--bs-card-bg); }

.card-header-pills {
  margin-right: calc(-.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-.5 * var(--bs-card-cap-padding-x)); }

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius); }

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

.card-img,
.card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius); }

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius); }

.card-group > .card {
  margin-bottom: var(--bs-card-group-margin); }

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

.accordion {
  --bs-accordion-color: #212529;
  --bs-accordion-bg: #fff;
  --bs-accordion-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, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: 1px;
  --bs-accordion-border-radius: 0.375rem;
  --bs-accordion-inner-border-radius: calc(0.375rem - 1px);
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: #212529;
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-border-color: #86b7fe;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: #0c63e4;
  --bs-accordion-active-bg: #e7f1ff; }

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition); }
  @media (prefers-reduced-motion: reduce) {
    .accordion-button {
      transition: none; } }
  .accordion-button:not(.collapsed) {
    color: var(--bs-accordion-active-color);
    background-color: var(--bs-accordion-active-bg);
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); }
    .accordion-button:not(.collapsed)::after {
      background-image: var(--bs-accordion-btn-active-icon);
      transform: var(--bs-accordion-btn-icon-transform); }
  .accordion-button::after {
    flex-shrink: 0;
    width: var(--bs-accordion-btn-icon-width);
    height: var(--bs-accordion-btn-icon-width);
    margin-left: auto;
    content: "";
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    background-size: var(--bs-accordion-btn-icon-width);
    transition: var(--bs-accordion-btn-icon-transition); }
    @media (prefers-reduced-motion: reduce) {
      .accordion-button::after {
        transition: none; } }
  .accordion-button:hover {
    z-index: 2; }
  .accordion-button:focus {
    z-index: 3;
    border-color: var(--bs-accordion-btn-focus-border-color);
    outline: 0;
    box-shadow: var(--bs-accordion-btn-focus-box-shadow); }

.accordion-header {
  margin-bottom: 0; }

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); }
  .accordion-item:first-of-type {
    border-top-left-radius: var(--bs-accordion-border-radius);
    border-top-right-radius: var(--bs-accordion-border-radius); }
    .accordion-item:first-of-type .accordion-button {
      border-top-left-radius: var(--bs-accordion-inner-border-radius);
      border-top-right-radius: var(--bs-accordion-inner-border-radius); }
  .accordion-item:not(:first-of-type) {
    border-top: 0; }
  .accordion-item:last-of-type {
    border-bottom-right-radius: var(--bs-accordion-border-radius);
    border-bottom-left-radius: var(--bs-accordion-border-radius); }
    .accordion-item:last-of-type .accordion-button.collapsed {
      border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
      border-bottom-left-radius: var(--bs-accordion-inner-border-radius); }
    .accordion-item:last-of-type .accordion-collapse {
      border-bottom-right-radius: var(--bs-accordion-border-radius);
      border-bottom-left-radius: var(--bs-accordion-border-radius); }

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); }

.accordion-flush .accordion-collapse {
  border-width: 0; }

.accordion-flush .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0; }
  .accordion-flush .accordion-item:first-child {
    border-top: 0; }
  .accordion-flush .accordion-item:last-child {
    border-bottom: 0; }
  .accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
    border-radius: 0; }

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: #6c757d;
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: #6c757d;
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius); }

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x); }
  .breadcrumb-item + .breadcrumb-item::before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; }

.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color); }

.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.375rem;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-bg: #fff;
  --bs-pagination-border-width: 1px;
  --bs-pagination-border-color: #dee2e6;
  --bs-pagination-border-radius: 0.375rem;
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: #e9ecef;
  --bs-pagination-hover-border-color: #dee2e6;
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: #e9ecef;
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #0d6efd;
  --bs-pagination-active-border-color: #0d6efd;
  --bs-pagination-disabled-color: #6c757d;
  --bs-pagination-disabled-bg: #fff;
  --bs-pagination-disabled-border-color: #dee2e6;
  display: flex;
  padding-left: 0;
  list-style: none; }

.page-link {
  position: relative;
  display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  text-decoration: none;
  background-color: var(--bs-pagination-bg);
  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  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) {
    .page-link {
      transition: none; } }
  .page-link:hover {
    z-index: 2;
    color: var(--bs-pagination-hover-color);
    background-color: var(--bs-pagination-hover-bg);
    border-color: var(--bs-pagination-hover-border-color); }
  .page-link:focus {
    z-index: 3;
    color: var(--bs-pagination-focus-color);
    background-color: var(--bs-pagination-focus-bg);
    outline: 0;
    box-shadow: var(--bs-pagination-focus-box-shadow); }
  .page-link.active,
  .active > .page-link {
    z-index: 3;
    color: var(--bs-pagination-active-color);
    background-color: var(--bs-pagination-active-bg);
    border-color: var(--bs-pagination-active-border-color); }
  .page-link.disabled,
  .disabled > .page-link {
    color: var(--bs-pagination-disabled-color);
    pointer-events: none;
    background-color: var(--bs-pagination-disabled-bg);
    border-color: var(--bs-pagination-disabled-border-color); }

.page-item:not(:first-child) .page-link {
  margin-left: -1px; }

.page-item:first-child .page-link {
  border-top-left-radius: var(--bs-pagination-border-radius);
  border-bottom-left-radius: var(--bs-pagination-border-radius); }

.page-item:last-child .page-link {
  border-top-right-radius: var(--bs-pagination-border-radius);
  border-bottom-right-radius: var(--bs-pagination-border-radius); }

.pagination-lg {
  --bs-pagination-padding-x: 1.5rem;
  --bs-pagination-padding-y: 0.75rem;
  --bs-pagination-font-size: 1.25rem;
  --bs-pagination-border-radius: 0.5rem; }

.pagination-sm {
  --bs-pagination-padding-x: 0.5rem;
  --bs-pagination-padding-y: 0.25rem;
  --bs-pagination-font-size: 0.875rem;
  --bs-pagination-border-radius: 0.25rem; }

.badge {
  --bs-badge-padding-x: 0.65em;
  --bs-badge-padding-y: 0.35em;
  --bs-badge-font-size: 0.75em;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #fff;
  --bs-badge-border-radius: 0.375rem;
  display: inline-block;
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size: var(--bs-badge-font-size);
  font-weight: var(--bs-badge-font-weight);
  line-height: 1;
  color: var(--bs-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--bs-badge-border-radius); }
  .badge:empty {
    display: none; }

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

.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 1rem;
  --bs-alert-padding-y: 1rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: 1px solid var(--bs-alert-border-color);
  --bs-alert-border-radius: 0.375rem;
  position: relative;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom: var(--bs-alert-margin-bottom);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border: var(--bs-alert-border);
  border-radius: var(--bs-alert-border-radius); }

.alert-heading {
  color: inherit; }

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

.alert-dismissible {
  padding-right: 3rem; }
  .alert-dismissible .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 1.25rem 1rem; }

.alert-primary {
  --bs-alert-color: #000099;
  --bs-alert-bg: #ccccff;
  --bs-alert-border-color: #b3b3ff; }
  .alert-primary .alert-link {
    color: #00007a; }

.alert-dark {
  --bs-alert-color: black;
  --bs-alert-bg: #cccccc;
  --bs-alert-border-color: #b3b3b3; }
  .alert-dark .alert-link {
    color: black; }

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

.progress {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: 0.75rem;
  --bs-progress-bg: #e9ecef;
  --bs-progress-border-radius: 0.375rem;
  --bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-progress-bar-color: #fff;
  --bs-progress-bar-bg: #0d6efd;
  --bs-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--bs-progress-height);
  overflow: hidden;
  font-size: var(--bs-progress-font-size);
  background-color: var(--bs-progress-bg);
  border-radius: var(--bs-progress-border-radius); }

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--bs-progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-progress-bar-bg);
  transition: var(--bs-progress-bar-transition); }
  @media (prefers-reduced-motion: reduce) {
    .progress-bar {
      transition: none; } }

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

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

.list-group {
  --bs-list-group-color: #212529;
  --bs-list-group-bg: #fff;
  --bs-list-group-border-color: rgba(0, 0, 0, 0.125);
  --bs-list-group-border-width: 1px;
  --bs-list-group-border-radius: 0.375rem;
  --bs-list-group-item-padding-x: 1rem;
  --bs-list-group-item-padding-y: 0.5rem;
  --bs-list-group-action-color: #495057;
  --bs-list-group-action-hover-color: #495057;
  --bs-list-group-action-hover-bg: #f8f9fa;
  --bs-list-group-action-active-color: #212529;
  --bs-list-group-action-active-bg: #e9ecef;
  --bs-list-group-disabled-color: #6c757d;
  --bs-list-group-disabled-bg: #fff;
  --bs-list-group-active-color: #fff;
  --bs-list-group-active-bg: #0d6efd;
  --bs-list-group-active-border-color: #0d6efd;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius); }

.list-group-numbered {
  list-style-type: none;
  counter-reset: section; }
  .list-group-numbered > .list-group-item::before {
    content: counters(section, ".") ". ";
    counter-increment: section; }

.list-group-item-action {
  width: 100%;
  color: var(--bs-list-group-action-color);
  text-align: inherit; }
  .list-group-item-action:hover, .list-group-item-action:focus {
    z-index: 1;
    color: var(--bs-list-group-action-hover-color);
    text-decoration: none;
    background-color: var(--bs-list-group-action-hover-bg); }
  .list-group-item-action:active {
    color: var(--bs-list-group-action-active-color);
    background-color: var(--bs-list-group-action-active-bg); }

.list-group-item {
  position: relative;
  display: block;
  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
  color: var(--bs-list-group-color);
  text-decoration: none;
  background-color: var(--bs-list-group-bg);
  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); }
  .list-group-item:first-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit; }
  .list-group-item:last-child {
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit; }
  .list-group-item.disabled, .list-group-item:disabled {
    color: var(--bs-list-group-disabled-color);
    pointer-events: none;
    background-color: var(--bs-list-group-disabled-bg); }
  .list-group-item.active {
    z-index: 2;
    color: var(--bs-list-group-active-color);
    background-color: var(--bs-list-group-active-bg);
    border-color: var(--bs-list-group-active-border-color); }
  .list-group-item + .list-group-item {
    border-top-width: 0; }
    .list-group-item + .list-group-item.active {
      margin-top: calc(-1 * var(--bs-list-group-border-width));
      border-top-width: var(--bs-list-group-border-width); }

.list-group-horizontal {
  flex-direction: row; }
  .list-group-horizontal > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0; }
  .list-group-horizontal > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0; }
  .list-group-horizontal > .list-group-item.active {
    margin-top: 0; }
  .list-group-horizontal > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0; }
    .list-group-horizontal > .list-group-item + .list-group-item.active {
      margin-left: calc(-1 * var(--bs-list-group-border-width));
      border-left-width: var(--bs-list-group-border-width); }

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

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

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

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

@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row; }
    .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
      border-bottom-left-radius: var(--bs-list-group-border-radius);
      border-top-right-radius: 0; }
    .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
      border-top-right-radius: var(--bs-list-group-border-radius);
      border-bottom-left-radius: 0; }
    .list-group-horizontal-xxl > .list-group-item.active {
      margin-top: 0; }
    .list-group-horizontal-xxl > .list-group-item + .list-group-item {
      border-top-width: var(--bs-list-group-border-width);
      border-left-width: 0; }
      .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width); } }

.list-group-flush {
  border-radius: 0; }
  .list-group-flush > .list-group-item {
    border-width: 0 0 var(--bs-list-group-border-width); }
    .list-group-flush > .list-group-item:last-child {
      border-bottom-width: 0; }

.list-group-item-primary {
  color: #000099;
  background-color: #ccccff; }
  .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
    color: #000099;
    background-color: #b8b8e6; }
  .list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #000099;
    border-color: #000099; }

.list-group-item-dark {
  color: black;
  background-color: #cccccc; }
  .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
    color: black;
    background-color: #b8b8b8; }
  .list-group-item-dark.list-group-item-action.active {
    color: #fff;
    background-color: black;
    border-color: black; }

.btn-close {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: #000;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  border: 0;
  border-radius: 0.375rem;
  opacity: 0.5; }
  .btn-close:hover {
    color: #000;
    text-decoration: none;
    opacity: 0.75; }
  .btn-close:focus {
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    opacity: 1; }
  .btn-close:disabled, .btn-close.disabled {
    pointer-events: none;
    user-select: none;
    opacity: 0.25; }

.btn-close-white {
  filter: invert(1) grayscale(100%) brightness(200%); }

.toast {
  --bs-toast-zindex: 1090;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 1.5rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: rgba(255, 255, 255, 0.85);
  --bs-toast-border-width: 1px;
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: 0.375rem;
  --bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-toast-header-color: #6c757d;
  --bs-toast-header-bg: rgba(255, 255, 255, 0.85);
  --bs-toast-header-border-color: rgba(0, 0, 0, 0.05);
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--bs-toast-border-radius); }
  .toast.showing {
    opacity: 0; }
  .toast:not(.show) {
    display: none; }

.toast-container {
  --bs-toast-zindex: 1090;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  width: max-content;
  max-width: 100%;
  pointer-events: none; }
  .toast-container > :not(:last-child) {
    margin-bottom: var(--bs-toast-spacing); }

.toast-header {
  display: flex;
  align-items: center;
  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
  color: var(--bs-toast-header-color);
  background-color: var(--bs-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); }
  .toast-header .btn-close {
    margin-right: calc(-.5 * var(--bs-toast-padding-x));
    margin-left: var(--bs-toast-padding-x); }

.toast-body {
  padding: var(--bs-toast-padding-x);
  word-wrap: break-word; }

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: ;
  --bs-modal-bg: #fff;
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: 1px;
  --bs-modal-border-radius: 0.5rem;
  --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-modal-inner-border-radius: calc(0.5rem - 1px);
  --bs-modal-header-padding-x: 1rem;
  --bs-modal-header-padding-y: 1rem;
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: 1px;
  --bs-modal-title-line-height: 1.5;
  --bs-modal-footer-gap: 0.5rem;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: var(--bs-border-color);
  --bs-modal-footer-border-width: 1px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0; }

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

.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2); }
  .modal-dialog-scrollable .modal-content {
    max-height: 100%;
    overflow: hidden; }
  .modal-dialog-scrollable .modal-body {
    overflow-y: auto; }

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2); }

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  outline: 0; }

.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #000;
  --bs-backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg); }
  .modal-backdrop.fade {
    opacity: 0; }
  .modal-backdrop.show {
    opacity: var(--bs-backdrop-opacity); }

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius); }
  .modal-header .btn-close {
    padding: calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);
    margin: calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto; }

.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height); }

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding); }

.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);
  background-color: var(--bs-modal-footer-bg);
  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
  border-bottom-left-radius: var(--bs-modal-inner-border-radius); }
  .modal-footer > * {
    margin: calc(var(--bs-modal-footer-gap) * .5); }

@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto; }
  .modal-sm {
    --bs-modal-width: 300px; } }

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

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

.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0; }
  .modal-fullscreen .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0; }
  .modal-fullscreen .modal-header,
  .modal-fullscreen .modal-footer {
    border-radius: 0; }
  .modal-fullscreen .modal-body {
    overflow-y: auto; }

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0; }
    .modal-fullscreen-sm-down .modal-content {
      height: 100%;
      border: 0;
      border-radius: 0; }
    .modal-fullscreen-sm-down .modal-header,
    .modal-fullscreen-sm-down .modal-footer {
      border-radius: 0; }
    .modal-fullscreen-sm-down .modal-body {
      overflow-y: auto; } }

@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0; }
    .modal-fullscreen-md-down .modal-content {
      height: 100%;
      border: 0;
      border-radius: 0; }
    .modal-fullscreen-md-down .modal-header,
    .modal-fullscreen-md-down .modal-footer {
      border-radius: 0; }
    .modal-fullscreen-md-down .modal-body {
      overflow-y: auto; } }

@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0; }
    .modal-fullscreen-lg-down .modal-content {
      height: 100%;
      border: 0;
      border-radius: 0; }
    .modal-fullscreen-lg-down .modal-header,
    .modal-fullscreen-lg-down .modal-footer {
      border-radius: 0; }
    .modal-fullscreen-lg-down .modal-body {
      overflow-y: auto; } }

@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0; }
    .modal-fullscreen-xl-down .modal-content {
      height: 100%;
      border: 0;
      border-radius: 0; }
    .modal-fullscreen-xl-down .modal-header,
    .modal-fullscreen-xl-down .modal-footer {
      border-radius: 0; }
    .modal-fullscreen-xl-down .modal-body {
      overflow-y: auto; } }

@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0; }
    .modal-fullscreen-xxl-down .modal-content {
      height: 100%;
      border: 0;
      border-radius: 0; }
    .modal-fullscreen-xxl-down .modal-header,
    .modal-fullscreen-xxl-down .modal-footer {
      border-radius: 0; }
    .modal-fullscreen-xxl-down .modal-body {
      overflow-y: auto; } }

.tooltip {
  --bs-tooltip-zindex: 1080;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  --bs-tooltip-margin: ;
  --bs-tooltip-font-size: 0.875rem;
  --bs-tooltip-color: #fff;
  --bs-tooltip-bg: #000;
  --bs-tooltip-border-radius: 0.375rem;
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  padding: var(--bs-tooltip-arrow-height);
  margin: var(--bs-tooltip-margin);
  font-family: var(--bs-font-sans-serif);
  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;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0; }
  .tooltip.show {
    opacity: var(--bs-tooltip-opacity); }
  .tooltip .tooltip-arrow {
    display: block;
    width: var(--bs-tooltip-arrow-width);
    height: var(--bs-tooltip-arrow-height); }
    .tooltip .tooltip-arrow::before {
      position: absolute;
      content: "";
      border-color: transparent;
      border-style: solid; }

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow {
  bottom: 0; }
  .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
    top: -1px;
    border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;
    border-top-color: var(--bs-tooltip-bg); }

/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow {
  left: 0;
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width); }
  .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
    right: -1px;
    border-width: calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;
    border-right-color: var(--bs-tooltip-bg); }

/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow {
  top: 0; }
  .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
    bottom: -1px;
    border-width: 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);
    border-bottom-color: var(--bs-tooltip-bg); }

/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow {
  right: 0;
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width); }
  .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
    left: -1px;
    border-width: calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);
    border-left-color: var(--bs-tooltip-bg); }

/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--bs-tooltip-max-width);
  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
  color: var(--bs-tooltip-color);
  text-align: center;
  background-color: var(--bs-tooltip-bg);
  border-radius: var(--bs-tooltip-border-radius); }

.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 276px;
  --bs-popover-font-size: 0.875rem;
  --bs-popover-bg: #fff;
  --bs-popover-border-width: 1px;
  --bs-popover-border-color: var(--bs-border-color-translucent);
  --bs-popover-border-radius: 0.5rem;
  --bs-popover-inner-border-radius: calc(0.5rem - 1px);
  --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-header-padding-y: 0.5rem;
  --bs-popover-header-font-size: 1rem;
  --bs-popover-header-color: ;
  --bs-popover-header-bg: #f0f0f0;
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: 1rem;
  --bs-popover-body-color: #212529;
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: var(--bs-font-sans-serif);
  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;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius); }
  .popover .popover-arrow {
    display: block;
    width: var(--bs-popover-arrow-width);
    height: var(--bs-popover-arrow-height); }
    .popover .popover-arrow::before, .popover .popover-arrow::after {
      position: absolute;
      display: block;
      content: "";
      border-color: transparent;
      border-style: solid;
      border-width: 0; }

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow {
  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); }
  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after {
    border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0; }
  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before {
    bottom: 0;
    border-top-color: var(--bs-popover-arrow-border); }
  .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after {
    bottom: var(--bs-popover-border-width);
    border-top-color: var(--bs-popover-bg); }

/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow {
  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width); }
  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after {
    border-width: calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0; }
  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before {
    left: 0;
    border-right-color: var(--bs-popover-arrow-border); }
  .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after {
    left: var(--bs-popover-border-width);
    border-right-color: var(--bs-popover-bg); }

/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow {
  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); }
  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after {
    border-width: 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height); }
  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before {
    top: 0;
    border-bottom-color: var(--bs-popover-arrow-border); }
  .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after {
    top: var(--bs-popover-border-width);
    border-bottom-color: var(--bs-popover-bg); }

.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: var(--bs-popover-arrow-width);
  margin-left: calc(-.5 * var(--bs-popover-arrow-width));
  content: "";
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg); }

/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow {
  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width); }
  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after {
    border-width: calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height); }
  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before {
    right: 0;
    border-left-color: var(--bs-popover-arrow-border); }
  .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after {
    right: var(--bs-popover-border-width);
    border-left-color: var(--bs-popover-bg); }

/* rtl:end:ignore */
.popover-header {
  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--bs-popover-header-font-size);
  color: var(--bs-popover-header-color);
  background-color: var(--bs-popover-header-bg);
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-top-left-radius: var(--bs-popover-inner-border-radius);
  border-top-right-radius: var(--bs-popover-inner-border-radius); }
  .popover-header:empty {
    display: none; }

.popover-body {
  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
  color: var(--bs-popover-body-color); }

.carousel {
  position: relative; }

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

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

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

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

/* rtl:begin:ignore */
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%); }

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

/* rtl:end:ignore */
.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none; }

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

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

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-control-prev,
    .carousel-control-next {
      transition: none; } }
  .carousel-control-prev:hover, .carousel-control-prev:focus,
  .carousel-control-next:hover,
  .carousel-control-next:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: 0.9; }

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

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

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%; }

/* rtl:options: {
  "autoRename": true,
  "stringMap":[ {
    "name"    : "prev-next",
    "search"  : "prev",
    "replace" : "next"
  } ]
} */
.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); }

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); }

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
  list-style: none; }
  .carousel-indicators [data-bs-target] {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    padding: 0;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: 0.5;
    transition: opacity 0.6s ease; }
    @media (prefers-reduced-motion: reduce) {
      .carousel-indicators [data-bs-target] {
        transition: none; } }
  .carousel-indicators .active {
    opacity: 1; }

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: #fff;
  text-align: center; }

.carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-next-icon {
  filter: invert(1) grayscale(100); }

.carousel-dark .carousel-indicators [data-bs-target] {
  background-color: #000; }

.carousel-dark .carousel-caption {
  color: #000; }

.spinner-grow,
.spinner-border {
  display: inline-block;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); }

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

.spinner-border {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-border;
  border: var(--bs-spinner-border-width) solid currentcolor;
  border-right-color: transparent; }

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

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

.spinner-grow {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0; }

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

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

.offcanvas-sm, .offcanvas-md, .offcanvas-lg, .offcanvas-xl, .offcanvas-xxl, .offcanvas {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: ;
  --bs-offcanvas-bg: #fff;
  --bs-offcanvas-border-width: 1px;
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); }

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out; } }
  @media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
    .offcanvas-sm {
      transition: none; } }

@media (max-width: 575.98px) {
    .offcanvas-sm.offcanvas-start {
      top: 0;
      left: 0;
      width: var(--bs-offcanvas-width);
      border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateX(-100%); }
    .offcanvas-sm.offcanvas-end {
      top: 0;
      right: 0;
      width: var(--bs-offcanvas-width);
      border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateX(100%); }
    .offcanvas-sm.offcanvas-top {
      top: 0;
      right: 0;
      left: 0;
      height: var(--bs-offcanvas-height);
      max-height: 100%;
      border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateY(-100%); }
    .offcanvas-sm.offcanvas-bottom {
      right: 0;
      left: 0;
      height: var(--bs-offcanvas-height);
      max-height: 100%;
      border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateY(100%); }
    .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
      transform: none; }
    .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
      visibility: visible; } }

@media (min-width: 576px) {
  .offcanvas-sm {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important; }
    .offcanvas-sm .offcanvas-header {
      display: none; }
    .offcanvas-sm .offcanvas-body {
      display: flex;
      flex-grow: 0;
      padding: 0;
      overflow-y: visible;
      background-color: transparent !important; } }

@media (max-width: 767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out; } }
  @media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
    .offcanvas-md {
      transition: none; } }

@media (max-width: 767.98px) {
    .offcanvas-md.offcanvas-start {
      top: 0;
      left: 0;
      width: var(--bs-offcanvas-width);
      border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateX(-100%); }
    .offcanvas-md.offcanvas-end {
      top: 0;
      right: 0;
      width: var(--bs-offcanvas-width);
      border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateX(100%); }
    .offcanvas-md.offcanvas-top {
      top: 0;
      right: 0;
      left: 0;
      height: var(--bs-offcanvas-height);
      max-height: 100%;
      border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateY(-100%); }
    .offcanvas-md.offcanvas-bottom {
      right: 0;
      left: 0;
      height: var(--bs-offcanvas-height);
      max-height: 100%;
      border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateY(100%); }
    .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
      transform: none; }
    .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
      visibility: visible; } }

@media (min-width: 768px) {
  .offcanvas-md {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important; }
    .offcanvas-md .offcanvas-header {
      display: none; }
    .offcanvas-md .offcanvas-body {
      display: flex;
      flex-grow: 0;
      padding: 0;
      overflow-y: visible;
      background-color: transparent !important; } }

@media (max-width: 991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out; } }
  @media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
    .offcanvas-lg {
      transition: none; } }

@media (max-width: 991.98px) {
    .offcanvas-lg.offcanvas-start {
      top: 0;
      left: 0;
      width: var(--bs-offcanvas-width);
      border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateX(-100%); }
    .offcanvas-lg.offcanvas-end {
      top: 0;
      right: 0;
      width: var(--bs-offcanvas-width);
      border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateX(100%); }
    .offcanvas-lg.offcanvas-top {
      top: 0;
      right: 0;
      left: 0;
      height: var(--bs-offcanvas-height);
      max-height: 100%;
      border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateY(-100%); }
    .offcanvas-lg.offcanvas-bottom {
      right: 0;
      left: 0;
      height: var(--bs-offcanvas-height);
      max-height: 100%;
      border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateY(100%); }
    .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
      transform: none; }
    .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
      visibility: visible; } }

@media (min-width: 992px) {
  .offcanvas-lg {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important; }
    .offcanvas-lg .offcanvas-header {
      display: none; }
    .offcanvas-lg .offcanvas-body {
      display: flex;
      flex-grow: 0;
      padding: 0;
      overflow-y: visible;
      background-color: transparent !important; } }

@media (max-width: 1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out; } }
  @media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
    .offcanvas-xl {
      transition: none; } }

@media (max-width: 1199.98px) {
    .offcanvas-xl.offcanvas-start {
      top: 0;
      left: 0;
      width: var(--bs-offcanvas-width);
      border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateX(-100%); }
    .offcanvas-xl.offcanvas-end {
      top: 0;
      right: 0;
      width: var(--bs-offcanvas-width);
      border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateX(100%); }
    .offcanvas-xl.offcanvas-top {
      top: 0;
      right: 0;
      left: 0;
      height: var(--bs-offcanvas-height);
      max-height: 100%;
      border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateY(-100%); }
    .offcanvas-xl.offcanvas-bottom {
      right: 0;
      left: 0;
      height: var(--bs-offcanvas-height);
      max-height: 100%;
      border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateY(100%); }
    .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
      transform: none; }
    .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
      visibility: visible; } }

@media (min-width: 1200px) {
  .offcanvas-xl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important; }
    .offcanvas-xl .offcanvas-header {
      display: none; }
    .offcanvas-xl .offcanvas-body {
      display: flex;
      flex-grow: 0;
      padding: 0;
      overflow-y: visible;
      background-color: transparent !important; } }

@media (max-width: 1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out; } }
  @media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
    .offcanvas-xxl {
      transition: none; } }

@media (max-width: 1399.98px) {
    .offcanvas-xxl.offcanvas-start {
      top: 0;
      left: 0;
      width: var(--bs-offcanvas-width);
      border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateX(-100%); }
    .offcanvas-xxl.offcanvas-end {
      top: 0;
      right: 0;
      width: var(--bs-offcanvas-width);
      border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateX(100%); }
    .offcanvas-xxl.offcanvas-top {
      top: 0;
      right: 0;
      left: 0;
      height: var(--bs-offcanvas-height);
      max-height: 100%;
      border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateY(-100%); }
    .offcanvas-xxl.offcanvas-bottom {
      right: 0;
      left: 0;
      height: var(--bs-offcanvas-height);
      max-height: 100%;
      border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
      transform: translateY(100%); }
    .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
      transform: none; }
    .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
      visibility: visible; } }

@media (min-width: 1400px) {
  .offcanvas-xxl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important; }
    .offcanvas-xxl .offcanvas-header {
      display: none; }
    .offcanvas-xxl .offcanvas-body {
      display: flex;
      flex-grow: 0;
      padding: 0;
      overflow-y: visible;
      background-color: transparent !important; } }

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: transform 0.3s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .offcanvas {
      transition: none; } }
  .offcanvas.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%); }
  .offcanvas.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%); }
  .offcanvas.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%); }
  .offcanvas.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%); }
  .offcanvas.showing, .offcanvas.show:not(.hiding) {
    transform: none; }
  .offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
    visibility: visible; }

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

.offcanvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); }
  .offcanvas-header .btn-close {
    padding: calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);
    margin-top: calc(-.5 * var(--bs-offcanvas-padding-y));
    margin-right: calc(-.5 * var(--bs-offcanvas-padding-x));
    margin-bottom: calc(-.5 * var(--bs-offcanvas-padding-y)); }

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

.offcanvas-body {
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto; }

.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5; }
  .placeholder.btn::before {
    display: inline-block;
    content: ""; }

.placeholder-xs {
  min-height: .6em; }

.placeholder-sm {
  min-height: .8em; }

.placeholder-lg {
  min-height: 1.2em; }

.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite; }

@keyframes placeholder-glow {
  50% {
    opacity: 0.2; } }

.placeholder-wave {
  mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite; }

@keyframes placeholder-wave {
  100% {
    mask-position: -200% 0%; } }

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

.text-bg-primary {
  color: #fff !important;
  background-color: RGBA(0, 0, 255, var(--bs-bg-opacity, 1)) !important; }

.text-bg-dark {
  color: #fff !important;
  background-color: RGBA(0, 0, 0, var(--bs-bg-opacity, 1)) !important; }

.link-primary {
  color: blue !important; }
  .link-primary:hover, .link-primary:focus {
    color: #0000cc !important; }

.link-dark {
  color: #000000 !important; }
  .link-dark:hover, .link-dark:focus {
    color: black !important; }

.ratio {
  position: relative;
  width: 100%; }
  .ratio::before {
    display: block;
    padding-top: var(--bs-aspect-ratio);
    content: ""; }
  .ratio > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.ratio-1x1 {
  --bs-aspect-ratio: 100%; }

.ratio-4x3 {
  --bs-aspect-ratio: calc(3 / 4 * 100%); }

.ratio-16x9 {
  --bs-aspect-ratio: calc(9 / 16 * 100%); }

.ratio-21x9 {
  --bs-aspect-ratio: calc(9 / 21 * 100%); }

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

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

.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020; }

.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020; }

@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020; }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020; } }

@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020; }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020; } }

@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020; }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020; } }

@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020; }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020; } }

@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020; }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020; } }

.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch; }

.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch; }

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: ""; }

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

.vr {
  display: inline-block;
  align-self: stretch;
  width: 1px;
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25; }

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

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

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

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

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

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

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

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

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

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

.opacity-25 {
  opacity: 0.25 !important; }

.opacity-50 {
  opacity: 0.5 !important; }

.opacity-75 {
  opacity: 0.75 !important; }

.opacity-100 {
  opacity: 1 !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.top-50 {
  top: 50% !important; }

.top-100 {
  top: 100% !important; }

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

.bottom-50 {
  bottom: 50% !important; }

.bottom-100 {
  bottom: 100% !important; }

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

.start-50 {
  left: 50% !important; }

.start-100 {
  left: 100% !important; }

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

.end-50 {
  right: 50% !important; }

.end-100 {
  right: 100% !important; }

.translate-middle {
  transform: translate(-50%, -50%) !important; }

.translate-middle-x {
  transform: translateX(-50%) !important; }

.translate-middle-y {
  transform: translateY(-50%) !important; }

.border {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }

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

.border-top {
  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }

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

.border-end {
  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }

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

.border-bottom {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }

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

.border-start {
  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }

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

.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important; }

.border-dark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; }

.border-white {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; }

.border-1 {
  --bs-border-width: 1px; }

.border-2 {
  --bs-border-width: 2px; }

.border-3 {
  --bs-border-width: 3px; }

.border-4 {
  --bs-border-width: 4px; }

.border-5 {
  --bs-border-width: 5px; }

.border-opacity-10 {
  --bs-border-opacity: 0.1; }

.border-opacity-25 {
  --bs-border-opacity: 0.25; }

.border-opacity-50 {
  --bs-border-opacity: 0.5; }

.border-opacity-75 {
  --bs-border-opacity: 0.75; }

.border-opacity-100 {
  --bs-border-opacity: 1; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.order-first {
  order: -1 !important; }

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

.order-1 {
  order: 1 !important; }

.order-2 {
  order: 2 !important; }

.order-3 {
  order: 3 !important; }

.order-4 {
  order: 4 !important; }

.order-5 {
  order: 5 !important; }

.order-last {
  order: 6 !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.gap-1 {
  gap: 0.25rem !important; }

.gap-2 {
  gap: 0.5rem !important; }

.gap-3 {
  gap: 1rem !important; }

.gap-4 {
  gap: 1.5rem !important; }

.gap-5 {
  gap: 3rem !important; }

.font-monospace {
  font-family: var(--bs-font-monospace) !important; }

.fs-1 {
  font-size: calc(1.375rem + 1.5vw) !important; }

.fs-2 {
  font-size: calc(1.325rem + 0.9vw) !important; }

.fs-3 {
  font-size: calc(1.3rem + 0.6vw) !important; }

.fs-4 {
  font-size: calc(1.275rem + 0.3vw) !important; }

.fs-5 {
  font-size: 1.25rem !important; }

.fs-6 {
  font-size: 1rem !important; }

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

.fst-normal {
  font-style: normal !important; }

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

.fw-lighter {
  font-weight: lighter !important; }

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

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

.fw-semibold {
  font-weight: 600 !important; }

.fw-bolder {
  font-weight: bolder !important; }

.lh-1 {
  line-height: 1 !important; }

.lh-sm {
  line-height: 1.25 !important; }

.lh-base {
  line-height: 1.5 !important; }

.lh-lg {
  line-height: 2 !important; }

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

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

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

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

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

.text-decoration-line-through {
  text-decoration: line-through !important; }

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

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

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

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

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

/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important; }

/* rtl:end:remove */
.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; }

.text-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; }

.text-black {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; }

.text-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; }

.text-body {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; }

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

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

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

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

.text-opacity-25 {
  --bs-text-opacity: 0.25; }

.text-opacity-50 {
  --bs-text-opacity: 0.5; }

.text-opacity-75 {
  --bs-text-opacity: 0.75; }

.text-opacity-100 {
  --bs-text-opacity: 1; }

.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; }

.bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; }

.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; }

.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; }

.bg-body {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; }

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

.bg-opacity-10 {
  --bs-bg-opacity: 0.1; }

.bg-opacity-25 {
  --bs-bg-opacity: 0.25; }

.bg-opacity-50 {
  --bs-bg-opacity: 0.5; }

.bg-opacity-75 {
  --bs-bg-opacity: 0.75; }

.bg-opacity-100 {
  --bs-bg-opacity: 1; }

.bg-gradient {
  background-image: var(--bs-gradient) !important; }

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

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

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

.pe-none {
  pointer-events: none !important; }

.pe-auto {
  pointer-events: auto !important; }

.rounded {
  border-radius: var(--bs-border-radius) !important; }

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

.rounded-1 {
  border-radius: var(--bs-border-radius-sm) !important; }

.rounded-2 {
  border-radius: var(--bs-border-radius) !important; }

.rounded-3 {
  border-radius: var(--bs-border-radius-lg) !important; }

.rounded-4 {
  border-radius: var(--bs-border-radius-xl) !important; }

.rounded-5 {
  border-radius: var(--bs-border-radius-2xl) !important; }

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

.rounded-pill {
  border-radius: var(--bs-border-radius-pill) !important; }

.rounded-top {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important; }

.rounded-end {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important; }

.rounded-bottom {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important; }

.rounded-start {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important; }

.visible {
  visibility: visible !important; }

.invisible {
  visibility: hidden !important; }

@media (min-width: 576px) {
  .float-sm-start {
    float: left !important; }
  .float-sm-end {
    float: right !important; }
  .float-sm-none {
    float: none !important; }
  .d-sm-inline {
    display: inline !important; }
  .d-sm-inline-block {
    display: inline-block !important; }
  .d-sm-block {
    display: block !important; }
  .d-sm-grid {
    display: grid !important; }
  .d-sm-table {
    display: table !important; }
  .d-sm-table-row {
    display: table-row !important; }
  .d-sm-table-cell {
    display: table-cell !important; }
  .d-sm-flex {
    display: flex !important; }
  .d-sm-inline-flex {
    display: inline-flex !important; }
  .d-sm-none {
    display: none !important; }
  .flex-sm-fill {
    flex: 1 1 auto !important; }
  .flex-sm-row {
    flex-direction: row !important; }
  .flex-sm-column {
    flex-direction: column !important; }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-sm-grow-0 {
    flex-grow: 0 !important; }
  .flex-sm-grow-1 {
    flex-grow: 1 !important; }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important; }
  .flex-sm-wrap {
    flex-wrap: wrap !important; }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important; }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .justify-content-sm-start {
    justify-content: flex-start !important; }
  .justify-content-sm-end {
    justify-content: flex-end !important; }
  .justify-content-sm-center {
    justify-content: center !important; }
  .justify-content-sm-between {
    justify-content: space-between !important; }
  .justify-content-sm-around {
    justify-content: space-around !important; }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important; }
  .align-items-sm-start {
    align-items: flex-start !important; }
  .align-items-sm-end {
    align-items: flex-end !important; }
  .align-items-sm-center {
    align-items: center !important; }
  .align-items-sm-baseline {
    align-items: baseline !important; }
  .align-items-sm-stretch {
    align-items: stretch !important; }
  .align-content-sm-start {
    align-content: flex-start !important; }
  .align-content-sm-end {
    align-content: flex-end !important; }
  .align-content-sm-center {
    align-content: center !important; }
  .align-content-sm-between {
    align-content: space-between !important; }
  .align-content-sm-around {
    align-content: space-around !important; }
  .align-content-sm-stretch {
    align-content: stretch !important; }
  .align-self-sm-auto {
    align-self: auto !important; }
  .align-self-sm-start {
    align-self: flex-start !important; }
  .align-self-sm-end {
    align-self: flex-end !important; }
  .align-self-sm-center {
    align-self: center !important; }
  .align-self-sm-baseline {
    align-self: baseline !important; }
  .align-self-sm-stretch {
    align-self: stretch !important; }
  .order-sm-first {
    order: -1 !important; }
  .order-sm-0 {
    order: 0 !important; }
  .order-sm-1 {
    order: 1 !important; }
  .order-sm-2 {
    order: 2 !important; }
  .order-sm-3 {
    order: 3 !important; }
  .order-sm-4 {
    order: 4 !important; }
  .order-sm-5 {
    order: 5 !important; }
  .order-sm-last {
    order: 6 !important; }
  .m-sm-0 {
    margin: 0 !important; }
  .m-sm-1 {
    margin: 0.25rem !important; }
  .m-sm-2 {
    margin: 0.5rem !important; }
  .m-sm-3 {
    margin: 1rem !important; }
  .m-sm-4 {
    margin: 1.5rem !important; }
  .m-sm-5 {
    margin: 3rem !important; }
  .m-sm-auto {
    margin: auto !important; }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important; }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; }
  .mt-sm-0 {
    margin-top: 0 !important; }
  .mt-sm-1 {
    margin-top: 0.25rem !important; }
  .mt-sm-2 {
    margin-top: 0.5rem !important; }
  .mt-sm-3 {
    margin-top: 1rem !important; }
  .mt-sm-4 {
    margin-top: 1.5rem !important; }
  .mt-sm-5 {
    margin-top: 3rem !important; }
  .mt-sm-auto {
    margin-top: auto !important; }
  .me-sm-0 {
    margin-right: 0 !important; }
  .me-sm-1 {
    margin-right: 0.25rem !important; }
  .me-sm-2 {
    margin-right: 0.5rem !important; }
  .me-sm-3 {
    margin-right: 1rem !important; }
  .me-sm-4 {
    margin-right: 1.5rem !important; }
  .me-sm-5 {
    margin-right: 3rem !important; }
  .me-sm-auto {
    margin-right: auto !important; }
  .mb-sm-0 {
    margin-bottom: 0 !important; }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important; }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important; }
  .mb-sm-3 {
    margin-bottom: 1rem !important; }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important; }
  .mb-sm-5 {
    margin-bottom: 3rem !important; }
  .mb-sm-auto {
    margin-bottom: auto !important; }
  .ms-sm-0 {
    margin-left: 0 !important; }
  .ms-sm-1 {
    margin-left: 0.25rem !important; }
  .ms-sm-2 {
    margin-left: 0.5rem !important; }
  .ms-sm-3 {
    margin-left: 1rem !important; }
  .ms-sm-4 {
    margin-left: 1.5rem !important; }
  .ms-sm-5 {
    margin-left: 3rem !important; }
  .ms-sm-auto {
    margin-left: auto !important; }
  .p-sm-0 {
    padding: 0 !important; }
  .p-sm-1 {
    padding: 0.25rem !important; }
  .p-sm-2 {
    padding: 0.5rem !important; }
  .p-sm-3 {
    padding: 1rem !important; }
  .p-sm-4 {
    padding: 1.5rem !important; }
  .p-sm-5 {
    padding: 3rem !important; }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }
  .pt-sm-0 {
    padding-top: 0 !important; }
  .pt-sm-1 {
    padding-top: 0.25rem !important; }
  .pt-sm-2 {
    padding-top: 0.5rem !important; }
  .pt-sm-3 {
    padding-top: 1rem !important; }
  .pt-sm-4 {
    padding-top: 1.5rem !important; }
  .pt-sm-5 {
    padding-top: 3rem !important; }
  .pe-sm-0 {
    padding-right: 0 !important; }
  .pe-sm-1 {
    padding-right: 0.25rem !important; }
  .pe-sm-2 {
    padding-right: 0.5rem !important; }
  .pe-sm-3 {
    padding-right: 1rem !important; }
  .pe-sm-4 {
    padding-right: 1.5rem !important; }
  .pe-sm-5 {
    padding-right: 3rem !important; }
  .pb-sm-0 {
    padding-bottom: 0 !important; }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important; }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important; }
  .pb-sm-3 {
    padding-bottom: 1rem !important; }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important; }
  .pb-sm-5 {
    padding-bottom: 3rem !important; }
  .ps-sm-0 {
    padding-left: 0 !important; }
  .ps-sm-1 {
    padding-left: 0.25rem !important; }
  .ps-sm-2 {
    padding-left: 0.5rem !important; }
  .ps-sm-3 {
    padding-left: 1rem !important; }
  .ps-sm-4 {
    padding-left: 1.5rem !important; }
  .ps-sm-5 {
    padding-left: 3rem !important; }
  .gap-sm-0 {
    gap: 0 !important; }
  .gap-sm-1 {
    gap: 0.25rem !important; }
  .gap-sm-2 {
    gap: 0.5rem !important; }
  .gap-sm-3 {
    gap: 1rem !important; }
  .gap-sm-4 {
    gap: 1.5rem !important; }
  .gap-sm-5 {
    gap: 3rem !important; }
  .text-sm-start {
    text-align: left !important; }
  .text-sm-end {
    text-align: right !important; }
  .text-sm-center {
    text-align: center !important; } }

@media (min-width: 768px) {
  .float-md-start {
    float: left !important; }
  .float-md-end {
    float: right !important; }
  .float-md-none {
    float: none !important; }
  .d-md-inline {
    display: inline !important; }
  .d-md-inline-block {
    display: inline-block !important; }
  .d-md-block {
    display: block !important; }
  .d-md-grid {
    display: grid !important; }
  .d-md-table {
    display: table !important; }
  .d-md-table-row {
    display: table-row !important; }
  .d-md-table-cell {
    display: table-cell !important; }
  .d-md-flex {
    display: flex !important; }
  .d-md-inline-flex {
    display: inline-flex !important; }
  .d-md-none {
    display: none !important; }
  .flex-md-fill {
    flex: 1 1 auto !important; }
  .flex-md-row {
    flex-direction: row !important; }
  .flex-md-column {
    flex-direction: column !important; }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-md-grow-0 {
    flex-grow: 0 !important; }
  .flex-md-grow-1 {
    flex-grow: 1 !important; }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important; }
  .flex-md-wrap {
    flex-wrap: wrap !important; }
  .flex-md-nowrap {
    flex-wrap: nowrap !important; }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .justify-content-md-start {
    justify-content: flex-start !important; }
  .justify-content-md-end {
    justify-content: flex-end !important; }
  .justify-content-md-center {
    justify-content: center !important; }
  .justify-content-md-between {
    justify-content: space-between !important; }
  .justify-content-md-around {
    justify-content: space-around !important; }
  .justify-content-md-evenly {
    justify-content: space-evenly !important; }
  .align-items-md-start {
    align-items: flex-start !important; }
  .align-items-md-end {
    align-items: flex-end !important; }
  .align-items-md-center {
    align-items: center !important; }
  .align-items-md-baseline {
    align-items: baseline !important; }
  .align-items-md-stretch {
    align-items: stretch !important; }
  .align-content-md-start {
    align-content: flex-start !important; }
  .align-content-md-end {
    align-content: flex-end !important; }
  .align-content-md-center {
    align-content: center !important; }
  .align-content-md-between {
    align-content: space-between !important; }
  .align-content-md-around {
    align-content: space-around !important; }
  .align-content-md-stretch {
    align-content: stretch !important; }
  .align-self-md-auto {
    align-self: auto !important; }
  .align-self-md-start {
    align-self: flex-start !important; }
  .align-self-md-end {
    align-self: flex-end !important; }
  .align-self-md-center {
    align-self: center !important; }
  .align-self-md-baseline {
    align-self: baseline !important; }
  .align-self-md-stretch {
    align-self: stretch !important; }
  .order-md-first {
    order: -1 !important; }
  .order-md-0 {
    order: 0 !important; }
  .order-md-1 {
    order: 1 !important; }
  .order-md-2 {
    order: 2 !important; }
  .order-md-3 {
    order: 3 !important; }
  .order-md-4 {
    order: 4 !important; }
  .order-md-5 {
    order: 5 !important; }
  .order-md-last {
    order: 6 !important; }
  .m-md-0 {
    margin: 0 !important; }
  .m-md-1 {
    margin: 0.25rem !important; }
  .m-md-2 {
    margin: 0.5rem !important; }
  .m-md-3 {
    margin: 1rem !important; }
  .m-md-4 {
    margin: 1.5rem !important; }
  .m-md-5 {
    margin: 3rem !important; }
  .m-md-auto {
    margin: auto !important; }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important; }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; }
  .mt-md-0 {
    margin-top: 0 !important; }
  .mt-md-1 {
    margin-top: 0.25rem !important; }
  .mt-md-2 {
    margin-top: 0.5rem !important; }
  .mt-md-3 {
    margin-top: 1rem !important; }
  .mt-md-4 {
    margin-top: 1.5rem !important; }
  .mt-md-5 {
    margin-top: 3rem !important; }
  .mt-md-auto {
    margin-top: auto !important; }
  .me-md-0 {
    margin-right: 0 !important; }
  .me-md-1 {
    margin-right: 0.25rem !important; }
  .me-md-2 {
    margin-right: 0.5rem !important; }
  .me-md-3 {
    margin-right: 1rem !important; }
  .me-md-4 {
    margin-right: 1.5rem !important; }
  .me-md-5 {
    margin-right: 3rem !important; }
  .me-md-auto {
    margin-right: auto !important; }
  .mb-md-0 {
    margin-bottom: 0 !important; }
  .mb-md-1 {
    margin-bottom: 0.25rem !important; }
  .mb-md-2 {
    margin-bottom: 0.5rem !important; }
  .mb-md-3 {
    margin-bottom: 1rem !important; }
  .mb-md-4 {
    margin-bottom: 1.5rem !important; }
  .mb-md-5 {
    margin-bottom: 3rem !important; }
  .mb-md-auto {
    margin-bottom: auto !important; }
  .ms-md-0 {
    margin-left: 0 !important; }
  .ms-md-1 {
    margin-left: 0.25rem !important; }
  .ms-md-2 {
    margin-left: 0.5rem !important; }
  .ms-md-3 {
    margin-left: 1rem !important; }
  .ms-md-4 {
    margin-left: 1.5rem !important; }
  .ms-md-5 {
    margin-left: 3rem !important; }
  .ms-md-auto {
    margin-left: auto !important; }
  .p-md-0 {
    padding: 0 !important; }
  .p-md-1 {
    padding: 0.25rem !important; }
  .p-md-2 {
    padding: 0.5rem !important; }
  .p-md-3 {
    padding: 1rem !important; }
  .p-md-4 {
    padding: 1.5rem !important; }
  .p-md-5 {
    padding: 3rem !important; }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }
  .pt-md-0 {
    padding-top: 0 !important; }
  .pt-md-1 {
    padding-top: 0.25rem !important; }
  .pt-md-2 {
    padding-top: 0.5rem !important; }
  .pt-md-3 {
    padding-top: 1rem !important; }
  .pt-md-4 {
    padding-top: 1.5rem !important; }
  .pt-md-5 {
    padding-top: 3rem !important; }
  .pe-md-0 {
    padding-right: 0 !important; }
  .pe-md-1 {
    padding-right: 0.25rem !important; }
  .pe-md-2 {
    padding-right: 0.5rem !important; }
  .pe-md-3 {
    padding-right: 1rem !important; }
  .pe-md-4 {
    padding-right: 1.5rem !important; }
  .pe-md-5 {
    padding-right: 3rem !important; }
  .pb-md-0 {
    padding-bottom: 0 !important; }
  .pb-md-1 {
    padding-bottom: 0.25rem !important; }
  .pb-md-2 {
    padding-bottom: 0.5rem !important; }
  .pb-md-3 {
    padding-bottom: 1rem !important; }
  .pb-md-4 {
    padding-bottom: 1.5rem !important; }
  .pb-md-5 {
    padding-bottom: 3rem !important; }
  .ps-md-0 {
    padding-left: 0 !important; }
  .ps-md-1 {
    padding-left: 0.25rem !important; }
  .ps-md-2 {
    padding-left: 0.5rem !important; }
  .ps-md-3 {
    padding-left: 1rem !important; }
  .ps-md-4 {
    padding-left: 1.5rem !important; }
  .ps-md-5 {
    padding-left: 3rem !important; }
  .gap-md-0 {
    gap: 0 !important; }
  .gap-md-1 {
    gap: 0.25rem !important; }
  .gap-md-2 {
    gap: 0.5rem !important; }
  .gap-md-3 {
    gap: 1rem !important; }
  .gap-md-4 {
    gap: 1.5rem !important; }
  .gap-md-5 {
    gap: 3rem !important; }
  .text-md-start {
    text-align: left !important; }
  .text-md-end {
    text-align: right !important; }
  .text-md-center {
    text-align: center !important; } }

@media (min-width: 992px) {
  .float-lg-start {
    float: left !important; }
  .float-lg-end {
    float: right !important; }
  .float-lg-none {
    float: none !important; }
  .d-lg-inline {
    display: inline !important; }
  .d-lg-inline-block {
    display: inline-block !important; }
  .d-lg-block {
    display: block !important; }
  .d-lg-grid {
    display: grid !important; }
  .d-lg-table {
    display: table !important; }
  .d-lg-table-row {
    display: table-row !important; }
  .d-lg-table-cell {
    display: table-cell !important; }
  .d-lg-flex {
    display: flex !important; }
  .d-lg-inline-flex {
    display: inline-flex !important; }
  .d-lg-none {
    display: none !important; }
  .flex-lg-fill {
    flex: 1 1 auto !important; }
  .flex-lg-row {
    flex-direction: row !important; }
  .flex-lg-column {
    flex-direction: column !important; }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-lg-grow-0 {
    flex-grow: 0 !important; }
  .flex-lg-grow-1 {
    flex-grow: 1 !important; }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important; }
  .flex-lg-wrap {
    flex-wrap: wrap !important; }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important; }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .justify-content-lg-start {
    justify-content: flex-start !important; }
  .justify-content-lg-end {
    justify-content: flex-end !important; }
  .justify-content-lg-center {
    justify-content: center !important; }
  .justify-content-lg-between {
    justify-content: space-between !important; }
  .justify-content-lg-around {
    justify-content: space-around !important; }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important; }
  .align-items-lg-start {
    align-items: flex-start !important; }
  .align-items-lg-end {
    align-items: flex-end !important; }
  .align-items-lg-center {
    align-items: center !important; }
  .align-items-lg-baseline {
    align-items: baseline !important; }
  .align-items-lg-stretch {
    align-items: stretch !important; }
  .align-content-lg-start {
    align-content: flex-start !important; }
  .align-content-lg-end {
    align-content: flex-end !important; }
  .align-content-lg-center {
    align-content: center !important; }
  .align-content-lg-between {
    align-content: space-between !important; }
  .align-content-lg-around {
    align-content: space-around !important; }
  .align-content-lg-stretch {
    align-content: stretch !important; }
  .align-self-lg-auto {
    align-self: auto !important; }
  .align-self-lg-start {
    align-self: flex-start !important; }
  .align-self-lg-end {
    align-self: flex-end !important; }
  .align-self-lg-center {
    align-self: center !important; }
  .align-self-lg-baseline {
    align-self: baseline !important; }
  .align-self-lg-stretch {
    align-self: stretch !important; }
  .order-lg-first {
    order: -1 !important; }
  .order-lg-0 {
    order: 0 !important; }
  .order-lg-1 {
    order: 1 !important; }
  .order-lg-2 {
    order: 2 !important; }
  .order-lg-3 {
    order: 3 !important; }
  .order-lg-4 {
    order: 4 !important; }
  .order-lg-5 {
    order: 5 !important; }
  .order-lg-last {
    order: 6 !important; }
  .m-lg-0 {
    margin: 0 !important; }
  .m-lg-1 {
    margin: 0.25rem !important; }
  .m-lg-2 {
    margin: 0.5rem !important; }
  .m-lg-3 {
    margin: 1rem !important; }
  .m-lg-4 {
    margin: 1.5rem !important; }
  .m-lg-5 {
    margin: 3rem !important; }
  .m-lg-auto {
    margin: auto !important; }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important; }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; }
  .mt-lg-0 {
    margin-top: 0 !important; }
  .mt-lg-1 {
    margin-top: 0.25rem !important; }
  .mt-lg-2 {
    margin-top: 0.5rem !important; }
  .mt-lg-3 {
    margin-top: 1rem !important; }
  .mt-lg-4 {
    margin-top: 1.5rem !important; }
  .mt-lg-5 {
    margin-top: 3rem !important; }
  .mt-lg-auto {
    margin-top: auto !important; }
  .me-lg-0 {
    margin-right: 0 !important; }
  .me-lg-1 {
    margin-right: 0.25rem !important; }
  .me-lg-2 {
    margin-right: 0.5rem !important; }
  .me-lg-3 {
    margin-right: 1rem !important; }
  .me-lg-4 {
    margin-right: 1.5rem !important; }
  .me-lg-5 {
    margin-right: 3rem !important; }
  .me-lg-auto {
    margin-right: auto !important; }
  .mb-lg-0 {
    margin-bottom: 0 !important; }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important; }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important; }
  .mb-lg-3 {
    margin-bottom: 1rem !important; }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important; }
  .mb-lg-5 {
    margin-bottom: 3rem !important; }
  .mb-lg-auto {
    margin-bottom: auto !important; }
  .ms-lg-0 {
    margin-left: 0 !important; }
  .ms-lg-1 {
    margin-left: 0.25rem !important; }
  .ms-lg-2 {
    margin-left: 0.5rem !important; }
  .ms-lg-3 {
    margin-left: 1rem !important; }
  .ms-lg-4 {
    margin-left: 1.5rem !important; }
  .ms-lg-5 {
    margin-left: 3rem !important; }
  .ms-lg-auto {
    margin-left: auto !important; }
  .p-lg-0 {
    padding: 0 !important; }
  .p-lg-1 {
    padding: 0.25rem !important; }
  .p-lg-2 {
    padding: 0.5rem !important; }
  .p-lg-3 {
    padding: 1rem !important; }
  .p-lg-4 {
    padding: 1.5rem !important; }
  .p-lg-5 {
    padding: 3rem !important; }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }
  .pt-lg-0 {
    padding-top: 0 !important; }
  .pt-lg-1 {
    padding-top: 0.25rem !important; }
  .pt-lg-2 {
    padding-top: 0.5rem !important; }
  .pt-lg-3 {
    padding-top: 1rem !important; }
  .pt-lg-4 {
    padding-top: 1.5rem !important; }
  .pt-lg-5 {
    padding-top: 3rem !important; }
  .pe-lg-0 {
    padding-right: 0 !important; }
  .pe-lg-1 {
    padding-right: 0.25rem !important; }
  .pe-lg-2 {
    padding-right: 0.5rem !important; }
  .pe-lg-3 {
    padding-right: 1rem !important; }
  .pe-lg-4 {
    padding-right: 1.5rem !important; }
  .pe-lg-5 {
    padding-right: 3rem !important; }
  .pb-lg-0 {
    padding-bottom: 0 !important; }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important; }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important; }
  .pb-lg-3 {
    padding-bottom: 1rem !important; }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important; }
  .pb-lg-5 {
    padding-bottom: 3rem !important; }
  .ps-lg-0 {
    padding-left: 0 !important; }
  .ps-lg-1 {
    padding-left: 0.25rem !important; }
  .ps-lg-2 {
    padding-left: 0.5rem !important; }
  .ps-lg-3 {
    padding-left: 1rem !important; }
  .ps-lg-4 {
    padding-left: 1.5rem !important; }
  .ps-lg-5 {
    padding-left: 3rem !important; }
  .gap-lg-0 {
    gap: 0 !important; }
  .gap-lg-1 {
    gap: 0.25rem !important; }
  .gap-lg-2 {
    gap: 0.5rem !important; }
  .gap-lg-3 {
    gap: 1rem !important; }
  .gap-lg-4 {
    gap: 1.5rem !important; }
  .gap-lg-5 {
    gap: 3rem !important; }
  .text-lg-start {
    text-align: left !important; }
  .text-lg-end {
    text-align: right !important; }
  .text-lg-center {
    text-align: center !important; } }

@media (min-width: 1200px) {
  .float-xl-start {
    float: left !important; }
  .float-xl-end {
    float: right !important; }
  .float-xl-none {
    float: none !important; }
  .d-xl-inline {
    display: inline !important; }
  .d-xl-inline-block {
    display: inline-block !important; }
  .d-xl-block {
    display: block !important; }
  .d-xl-grid {
    display: grid !important; }
  .d-xl-table {
    display: table !important; }
  .d-xl-table-row {
    display: table-row !important; }
  .d-xl-table-cell {
    display: table-cell !important; }
  .d-xl-flex {
    display: flex !important; }
  .d-xl-inline-flex {
    display: inline-flex !important; }
  .d-xl-none {
    display: none !important; }
  .flex-xl-fill {
    flex: 1 1 auto !important; }
  .flex-xl-row {
    flex-direction: row !important; }
  .flex-xl-column {
    flex-direction: column !important; }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-xl-grow-0 {
    flex-grow: 0 !important; }
  .flex-xl-grow-1 {
    flex-grow: 1 !important; }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important; }
  .flex-xl-wrap {
    flex-wrap: wrap !important; }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important; }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .justify-content-xl-start {
    justify-content: flex-start !important; }
  .justify-content-xl-end {
    justify-content: flex-end !important; }
  .justify-content-xl-center {
    justify-content: center !important; }
  .justify-content-xl-between {
    justify-content: space-between !important; }
  .justify-content-xl-around {
    justify-content: space-around !important; }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important; }
  .align-items-xl-start {
    align-items: flex-start !important; }
  .align-items-xl-end {
    align-items: flex-end !important; }
  .align-items-xl-center {
    align-items: center !important; }
  .align-items-xl-baseline {
    align-items: baseline !important; }
  .align-items-xl-stretch {
    align-items: stretch !important; }
  .align-content-xl-start {
    align-content: flex-start !important; }
  .align-content-xl-end {
    align-content: flex-end !important; }
  .align-content-xl-center {
    align-content: center !important; }
  .align-content-xl-between {
    align-content: space-between !important; }
  .align-content-xl-around {
    align-content: space-around !important; }
  .align-content-xl-stretch {
    align-content: stretch !important; }
  .align-self-xl-auto {
    align-self: auto !important; }
  .align-self-xl-start {
    align-self: flex-start !important; }
  .align-self-xl-end {
    align-self: flex-end !important; }
  .align-self-xl-center {
    align-self: center !important; }
  .align-self-xl-baseline {
    align-self: baseline !important; }
  .align-self-xl-stretch {
    align-self: stretch !important; }
  .order-xl-first {
    order: -1 !important; }
  .order-xl-0 {
    order: 0 !important; }
  .order-xl-1 {
    order: 1 !important; }
  .order-xl-2 {
    order: 2 !important; }
  .order-xl-3 {
    order: 3 !important; }
  .order-xl-4 {
    order: 4 !important; }
  .order-xl-5 {
    order: 5 !important; }
  .order-xl-last {
    order: 6 !important; }
  .m-xl-0 {
    margin: 0 !important; }
  .m-xl-1 {
    margin: 0.25rem !important; }
  .m-xl-2 {
    margin: 0.5rem !important; }
  .m-xl-3 {
    margin: 1rem !important; }
  .m-xl-4 {
    margin: 1.5rem !important; }
  .m-xl-5 {
    margin: 3rem !important; }
  .m-xl-auto {
    margin: auto !important; }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important; }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; }
  .mt-xl-0 {
    margin-top: 0 !important; }
  .mt-xl-1 {
    margin-top: 0.25rem !important; }
  .mt-xl-2 {
    margin-top: 0.5rem !important; }
  .mt-xl-3 {
    margin-top: 1rem !important; }
  .mt-xl-4 {
    margin-top: 1.5rem !important; }
  .mt-xl-5 {
    margin-top: 3rem !important; }
  .mt-xl-auto {
    margin-top: auto !important; }
  .me-xl-0 {
    margin-right: 0 !important; }
  .me-xl-1 {
    margin-right: 0.25rem !important; }
  .me-xl-2 {
    margin-right: 0.5rem !important; }
  .me-xl-3 {
    margin-right: 1rem !important; }
  .me-xl-4 {
    margin-right: 1.5rem !important; }
  .me-xl-5 {
    margin-right: 3rem !important; }
  .me-xl-auto {
    margin-right: auto !important; }
  .mb-xl-0 {
    margin-bottom: 0 !important; }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important; }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important; }
  .mb-xl-3 {
    margin-bottom: 1rem !important; }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important; }
  .mb-xl-5 {
    margin-bottom: 3rem !important; }
  .mb-xl-auto {
    margin-bottom: auto !important; }
  .ms-xl-0 {
    margin-left: 0 !important; }
  .ms-xl-1 {
    margin-left: 0.25rem !important; }
  .ms-xl-2 {
    margin-left: 0.5rem !important; }
  .ms-xl-3 {
    margin-left: 1rem !important; }
  .ms-xl-4 {
    margin-left: 1.5rem !important; }
  .ms-xl-5 {
    margin-left: 3rem !important; }
  .ms-xl-auto {
    margin-left: auto !important; }
  .p-xl-0 {
    padding: 0 !important; }
  .p-xl-1 {
    padding: 0.25rem !important; }
  .p-xl-2 {
    padding: 0.5rem !important; }
  .p-xl-3 {
    padding: 1rem !important; }
  .p-xl-4 {
    padding: 1.5rem !important; }
  .p-xl-5 {
    padding: 3rem !important; }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }
  .pt-xl-0 {
    padding-top: 0 !important; }
  .pt-xl-1 {
    padding-top: 0.25rem !important; }
  .pt-xl-2 {
    padding-top: 0.5rem !important; }
  .pt-xl-3 {
    padding-top: 1rem !important; }
  .pt-xl-4 {
    padding-top: 1.5rem !important; }
  .pt-xl-5 {
    padding-top: 3rem !important; }
  .pe-xl-0 {
    padding-right: 0 !important; }
  .pe-xl-1 {
    padding-right: 0.25rem !important; }
  .pe-xl-2 {
    padding-right: 0.5rem !important; }
  .pe-xl-3 {
    padding-right: 1rem !important; }
  .pe-xl-4 {
    padding-right: 1.5rem !important; }
  .pe-xl-5 {
    padding-right: 3rem !important; }
  .pb-xl-0 {
    padding-bottom: 0 !important; }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important; }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important; }
  .pb-xl-3 {
    padding-bottom: 1rem !important; }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important; }
  .pb-xl-5 {
    padding-bottom: 3rem !important; }
  .ps-xl-0 {
    padding-left: 0 !important; }
  .ps-xl-1 {
    padding-left: 0.25rem !important; }
  .ps-xl-2 {
    padding-left: 0.5rem !important; }
  .ps-xl-3 {
    padding-left: 1rem !important; }
  .ps-xl-4 {
    padding-left: 1.5rem !important; }
  .ps-xl-5 {
    padding-left: 3rem !important; }
  .gap-xl-0 {
    gap: 0 !important; }
  .gap-xl-1 {
    gap: 0.25rem !important; }
  .gap-xl-2 {
    gap: 0.5rem !important; }
  .gap-xl-3 {
    gap: 1rem !important; }
  .gap-xl-4 {
    gap: 1.5rem !important; }
  .gap-xl-5 {
    gap: 3rem !important; }
  .text-xl-start {
    text-align: left !important; }
  .text-xl-end {
    text-align: right !important; }
  .text-xl-center {
    text-align: center !important; } }

@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important; }
  .float-xxl-end {
    float: right !important; }
  .float-xxl-none {
    float: none !important; }
  .d-xxl-inline {
    display: inline !important; }
  .d-xxl-inline-block {
    display: inline-block !important; }
  .d-xxl-block {
    display: block !important; }
  .d-xxl-grid {
    display: grid !important; }
  .d-xxl-table {
    display: table !important; }
  .d-xxl-table-row {
    display: table-row !important; }
  .d-xxl-table-cell {
    display: table-cell !important; }
  .d-xxl-flex {
    display: flex !important; }
  .d-xxl-inline-flex {
    display: inline-flex !important; }
  .d-xxl-none {
    display: none !important; }
  .flex-xxl-fill {
    flex: 1 1 auto !important; }
  .flex-xxl-row {
    flex-direction: row !important; }
  .flex-xxl-column {
    flex-direction: column !important; }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important; }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important; }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important; }
  .flex-xxl-wrap {
    flex-wrap: wrap !important; }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important; }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .justify-content-xxl-start {
    justify-content: flex-start !important; }
  .justify-content-xxl-end {
    justify-content: flex-end !important; }
  .justify-content-xxl-center {
    justify-content: center !important; }
  .justify-content-xxl-between {
    justify-content: space-between !important; }
  .justify-content-xxl-around {
    justify-content: space-around !important; }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important; }
  .align-items-xxl-start {
    align-items: flex-start !important; }
  .align-items-xxl-end {
    align-items: flex-end !important; }
  .align-items-xxl-center {
    align-items: center !important; }
  .align-items-xxl-baseline {
    align-items: baseline !important; }
  .align-items-xxl-stretch {
    align-items: stretch !important; }
  .align-content-xxl-start {
    align-content: flex-start !important; }
  .align-content-xxl-end {
    align-content: flex-end !important; }
  .align-content-xxl-center {
    align-content: center !important; }
  .align-content-xxl-between {
    align-content: space-between !important; }
  .align-content-xxl-around {
    align-content: space-around !important; }
  .align-content-xxl-stretch {
    align-content: stretch !important; }
  .align-self-xxl-auto {
    align-self: auto !important; }
  .align-self-xxl-start {
    align-self: flex-start !important; }
  .align-self-xxl-end {
    align-self: flex-end !important; }
  .align-self-xxl-center {
    align-self: center !important; }
  .align-self-xxl-baseline {
    align-self: baseline !important; }
  .align-self-xxl-stretch {
    align-self: stretch !important; }
  .order-xxl-first {
    order: -1 !important; }
  .order-xxl-0 {
    order: 0 !important; }
  .order-xxl-1 {
    order: 1 !important; }
  .order-xxl-2 {
    order: 2 !important; }
  .order-xxl-3 {
    order: 3 !important; }
  .order-xxl-4 {
    order: 4 !important; }
  .order-xxl-5 {
    order: 5 !important; }
  .order-xxl-last {
    order: 6 !important; }
  .m-xxl-0 {
    margin: 0 !important; }
  .m-xxl-1 {
    margin: 0.25rem !important; }
  .m-xxl-2 {
    margin: 0.5rem !important; }
  .m-xxl-3 {
    margin: 1rem !important; }
  .m-xxl-4 {
    margin: 1.5rem !important; }
  .m-xxl-5 {
    margin: 3rem !important; }
  .m-xxl-auto {
    margin: auto !important; }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important; }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; }
  .mt-xxl-0 {
    margin-top: 0 !important; }
  .mt-xxl-1 {
    margin-top: 0.25rem !important; }
  .mt-xxl-2 {
    margin-top: 0.5rem !important; }
  .mt-xxl-3 {
    margin-top: 1rem !important; }
  .mt-xxl-4 {
    margin-top: 1.5rem !important; }
  .mt-xxl-5 {
    margin-top: 3rem !important; }
  .mt-xxl-auto {
    margin-top: auto !important; }
  .me-xxl-0 {
    margin-right: 0 !important; }
  .me-xxl-1 {
    margin-right: 0.25rem !important; }
  .me-xxl-2 {
    margin-right: 0.5rem !important; }
  .me-xxl-3 {
    margin-right: 1rem !important; }
  .me-xxl-4 {
    margin-right: 1.5rem !important; }
  .me-xxl-5 {
    margin-right: 3rem !important; }
  .me-xxl-auto {
    margin-right: auto !important; }
  .mb-xxl-0 {
    margin-bottom: 0 !important; }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important; }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important; }
  .mb-xxl-3 {
    margin-bottom: 1rem !important; }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important; }
  .mb-xxl-5 {
    margin-bottom: 3rem !important; }
  .mb-xxl-auto {
    margin-bottom: auto !important; }
  .ms-xxl-0 {
    margin-left: 0 !important; }
  .ms-xxl-1 {
    margin-left: 0.25rem !important; }
  .ms-xxl-2 {
    margin-left: 0.5rem !important; }
  .ms-xxl-3 {
    margin-left: 1rem !important; }
  .ms-xxl-4 {
    margin-left: 1.5rem !important; }
  .ms-xxl-5 {
    margin-left: 3rem !important; }
  .ms-xxl-auto {
    margin-left: auto !important; }
  .p-xxl-0 {
    padding: 0 !important; }
  .p-xxl-1 {
    padding: 0.25rem !important; }
  .p-xxl-2 {
    padding: 0.5rem !important; }
  .p-xxl-3 {
    padding: 1rem !important; }
  .p-xxl-4 {
    padding: 1.5rem !important; }
  .p-xxl-5 {
    padding: 3rem !important; }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }
  .pt-xxl-0 {
    padding-top: 0 !important; }
  .pt-xxl-1 {
    padding-top: 0.25rem !important; }
  .pt-xxl-2 {
    padding-top: 0.5rem !important; }
  .pt-xxl-3 {
    padding-top: 1rem !important; }
  .pt-xxl-4 {
    padding-top: 1.5rem !important; }
  .pt-xxl-5 {
    padding-top: 3rem !important; }
  .pe-xxl-0 {
    padding-right: 0 !important; }
  .pe-xxl-1 {
    padding-right: 0.25rem !important; }
  .pe-xxl-2 {
    padding-right: 0.5rem !important; }
  .pe-xxl-3 {
    padding-right: 1rem !important; }
  .pe-xxl-4 {
    padding-right: 1.5rem !important; }
  .pe-xxl-5 {
    padding-right: 3rem !important; }
  .pb-xxl-0 {
    padding-bottom: 0 !important; }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important; }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important; }
  .pb-xxl-3 {
    padding-bottom: 1rem !important; }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important; }
  .pb-xxl-5 {
    padding-bottom: 3rem !important; }
  .ps-xxl-0 {
    padding-left: 0 !important; }
  .ps-xxl-1 {
    padding-left: 0.25rem !important; }
  .ps-xxl-2 {
    padding-left: 0.5rem !important; }
  .ps-xxl-3 {
    padding-left: 1rem !important; }
  .ps-xxl-4 {
    padding-left: 1.5rem !important; }
  .ps-xxl-5 {
    padding-left: 3rem !important; }
  .gap-xxl-0 {
    gap: 0 !important; }
  .gap-xxl-1 {
    gap: 0.25rem !important; }
  .gap-xxl-2 {
    gap: 0.5rem !important; }
  .gap-xxl-3 {
    gap: 1rem !important; }
  .gap-xxl-4 {
    gap: 1.5rem !important; }
  .gap-xxl-5 {
    gap: 3rem !important; }
  .text-xxl-start {
    text-align: left !important; }
  .text-xxl-end {
    text-align: right !important; }
  .text-xxl-center {
    text-align: center !important; } }

@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.5rem !important; }
  .fs-2 {
    font-size: 2rem !important; }
  .fs-3 {
    font-size: 1.75rem !important; }
  .fs-4 {
    font-size: 1.5rem !important; } }

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

.fade-in {
  animation: fadeIn 5s; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.fade-in-delay-3 {
  animation: fadeIn 6s; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.fly-in-right-2 {
  animation: flyIn 2s;
  position: relative; }

@keyframes flyIn {
  0% {
    left: 800px; }
  100% {
    left: 0px; } }

.fly-in-right-3 {
  animation: flyIn 3s;
  position: relative; }

@keyframes flyIn {
  0% {
    left: 800px; }
  100% {
    left: 0px; } }

a {
  color: #E62934 !important;
  text-decoration: none; }

a:hover {
  text-decoration: underline !important; }

.btn-red {
  background-color: #E62934;
  color: white; }
  .btn-red:hover {
    border: #E62934 1px solid;
    box-shadow: 1px 1px 1px 1px #E62934; }
  .btn-red:focus {
    border: #E62934 1px solid; }

em {
  color: white !important; }

h1, .h1, h2, .h2, h3, .h3 {
  font-family: 'Oswald', sans-serif !important; }

h1, .h1 {
  color: #E62934; }

h2, .h2 {
  font-size: 3rem;
  font-weight: 700; }

h3, .h3 {
  color: #E62934; }

.quote {
  padding-top: 40px;
  padding-left: 120px;
  position: relative; }

.quote::before {
  position: absolute;
  top: 0px;
  left: -30px;
  z-index: -2;
  content: '';
  background-image: url("../img/quote.svg");
  background-size: 140px 140px;
  height: 140px;
  width: 140px;
  color: #E62934; }

.imgContainer {
  position: relative; }

.galleryImg {
  opacity: 1;
  display: block;
  width: 100%;
  height: auto;
  transition: .5s ease;
  backface-visibility: hidden; }

.imgDownloadBtnContainer {
  transition: .5s ease;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center; }

.imgContainer:hover .galleryImg {
  opacity: 0.2; }

.imgContainer:hover .imgDownloadBtnContainer {
  opacity: 1; }

.imgDownloadBtn {
  background-color: white;
  color: black;
  padding: 16px 32px; }
  .imgDownloadBtn:hover {
    background-color: rgba(255, 255, 255, 0.9);
    color: black; }
  .imgDownloadBtn a.imgLink {
    color: black !important;
    text-decoration: none; }
    .imgDownloadBtn a.imgLink:hover {
      text-decoration: none !important; }

table tr:nth-child(odd) {
  background-color: #0a0a0a; }

.videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  height: 0;
  overflow: hidden; }

.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

#onlineServiceList li {
  height: 56px;
  width: auto; }
  #onlineServiceList li img {
    width: auto;
    height: 40px;
    vertical-align: middle; }

body {
  color: gray;
  background-color: black;
  opacity: 1;
  overflow-x: hidden;
  background-image: url(../img/LogoNørgårdSjølin_circleSvg.svg);
  background-size: cover;
  background-repeat: repeat; }

body::before {
  content: ' ';
  height: 300px;
  padding: 0 75px 35px;
  background-repeat: repeat; }

.footer {
  margin-top: 13rem;
  background-color: black;
  border-top: 1px solid gray; }

@media screen and (min-width: 992px) {
  .nav-item {
    line-height: 150px; }
  .dropdown-item {
    line-height: 1rem; }
  .dropdown-menu {
    margin-top: -40px !important; } }

nav {
  border-bottom: .5px solid gray; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFubmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWFwcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19taXhpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZGVwcmVjYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29sb3Itc2NoZW1lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tkcm9wLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS12YXJpYW50cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb250YWluZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Zvcm1zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2xhYmVscy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1jb250cm9sLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tY2hlY2suc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1yYW5nZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mbG9hdGluZy1sYWJlbHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fdmFsaWRhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fb2ZmY2FudmFzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BsYWNlaG9sZGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19oZWxwZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19jb2xvci1iZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2NvbG9yZWQtbGlua3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19yYXRpby5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fc3RhY2tzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL190ZXh0LXRydW5jYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL192ci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYXBpLnNjc3MiLCJteVN0eWxlcy5zY3NzIiwia29udGFrdFN0eWxlcy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIiR0aGVtZS1jb2xvcnM6IChcclxuICAgIFwicHJpbWFyeVwiOiBibHVlLFxyXG4gICAgXCJkYXJrXCI6ICMwMDAwMDBcclxuKTtcclxuXHJcblxyXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Pc3dhbGQ6d2dodEA0MDA7NTAwOzYwMDs3MDAmZGlzcGxheT1zd2FwJyk7XHJcblxyXG5cclxuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXBcIjtcclxuXHJcbkBpbXBvcnQgXCJteVN0eWxlc1wiO1xyXG5AaW1wb3J0IFwia29udGFrdFN0eWxlc1wiO1xyXG5cclxuYm9keSB7XHJcbiAgICBjb2xvcjpncmF5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiAgcmFkaWFsLWdyYWRpZW50KCMyNjI2MjYgMC41cHgsIHRyYW5zcGFyZW50IDAuNXB4KSwgcmFkaWFsLWdyYWRpZW50KCMyNjI2MjYgMC41cHgsICMwMDAgMC41cHgpO1xyXG4gICAgLy9iYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcclxuICAgIC8vYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLDEwcHggMTBweDtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9Mb2dvTsO4cmfDpXJkU2rDuGxpbl9jaXJjbGVTdmcuc3ZnKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xyXG4gICAgICB9XHJcblxyXG4gIGJvZHk6OmJlZm9yZXtcclxuICBjb250ZW50OiAnICc7XHJcbiAgIC8vIHRvcDotNTBweDtcclxuICAgIC8vbGVmdDotNTBweDtcclxuICAgIGhlaWdodDozMDBweDtcclxuICAgIHBhZGRpbmc6MCA3NXB4IDM1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xyXG4gIH1cclxuXHJcbi5mb290ZXIge1xyXG4gICAgbWFyZ2luLXRvcDoxM3JlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG4gICAgYm9yZGVyLXRvcDoxcHggc29saWQgZ3JheTtcclxuICB9XHJcblxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5OTJweCl7XHJcbiAgLm5hdi1pdGVtIHtcclxuICBsaW5lLWhlaWdodDoxNTBweDtcclxuICB9XHJcbiAgLmRyb3Bkb3duLWl0ZW17XHJcbiAgICBsaW5lLWhlaWdodDoxcmVtO1xyXG4gIH1cclxuICAuZHJvcGRvd24tbWVudXtcclxuICAgIG1hcmdpbi10b3A6LTQwcHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbm5hdntcclxuICBib3JkZXItYm90dG9tOi41cHggc29saWQgZ3JheTtcclxufVxyXG4iLCJAaW1wb3J0IFwibWl4aW5zL2Jhbm5lclwiO1xuQGluY2x1ZGUgYnNCYW5uZXIoXCJcIik7XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGltcG9ydC1zdGFja1xuLy8gQ29uZmlndXJhdGlvblxuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1hcHNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcblxuLy8gTGF5b3V0ICYgY29tcG9uZW50c1xuQGltcG9ydCBcInJvb3RcIjtcbkBpbXBvcnQgXCJyZWJvb3RcIjtcbkBpbXBvcnQgXCJ0eXBlXCI7XG5AaW1wb3J0IFwiaW1hZ2VzXCI7XG5AaW1wb3J0IFwiY29udGFpbmVyc1wiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcbkBpbXBvcnQgXCJmb3Jtc1wiO1xuQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCJ0cmFuc2l0aW9uc1wiO1xuQGltcG9ydCBcImRyb3Bkb3duXCI7XG5AaW1wb3J0IFwiYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImFjY29yZGlvblwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibGlzdC1ncm91cFwiO1xuQGltcG9ydCBcImNsb3NlXCI7XG5AaW1wb3J0IFwidG9hc3RzXCI7XG5AaW1wb3J0IFwibW9kYWxcIjtcbkBpbXBvcnQgXCJ0b29sdGlwXCI7XG5AaW1wb3J0IFwicG9wb3ZlclwiO1xuQGltcG9ydCBcImNhcm91c2VsXCI7XG5AaW1wb3J0IFwic3Bpbm5lcnNcIjtcbkBpbXBvcnQgXCJvZmZjYW52YXNcIjtcbkBpbXBvcnQgXCJwbGFjZWhvbGRlcnNcIjtcblxuLy8gSGVscGVyc1xuQGltcG9ydCBcImhlbHBlcnNcIjtcblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwidXRpbGl0aWVzL2FwaVwiO1xuLy8gc2Nzcy1kb2NzLWVuZCBpbXBvcnQtc3RhY2tcbiIsIkBtaXhpbiBic0Jhbm5lcigkZmlsZSkge1xuICAvKiFcbiAgICogQm9vdHN0cmFwICN7JGZpbGV9IHY1LjIuMiAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAgICogQ29weXJpZ2h0IDIwMTEtMjAyMiBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAgICogQ29weXJpZ2h0IDIwMTEtMjAyMiBUd2l0dGVyLCBJbmMuXG4gICAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICAgKi9cbn1cblxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIgb3IgdW5pdCgkcHJldi1udW0pID09IFwiJVwiIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBVc2VkIHRvIGVuc3VyZSB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXAsICRtYXAtbmFtZTogXCIkZ3JpZC1icmVha3BvaW50c1wiKSB7XG4gIEBpZiBsZW5ndGgoJG1hcCkgPiAwIHtcbiAgICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICAgIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gI3skbWFwLW5hbWV9IG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbG9yc1xuQGZ1bmN0aW9uIHRvLXJnYigkdmFsdWUpIHtcbiAgQHJldHVybiByZWQoJHZhbHVlKSwgZ3JlZW4oJHZhbHVlKSwgYmx1ZSgkdmFsdWUpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RvbGxhci12YXJpYWJsZS1wYXR0ZXJuXG5AZnVuY3Rpb24gcmdiYS1jc3MtdmFyKCRpZGVudGlmaWVyLCAkdGFyZ2V0KSB7XG4gIEBpZiAkaWRlbnRpZmllciA9PSBcImJvZHlcIiBhbmQgJHRhcmdldCA9PSBcImJnXCIge1xuICAgIEByZXR1cm4gcmdiYSh2YXIoLS0jeyRwcmVmaXh9I3skaWRlbnRpZmllcn0tYmctcmdiKSwgdmFyKC0tI3skcHJlZml4fSN7JHRhcmdldH0tb3BhY2l0eSkpO1xuICB9IEBpZiAkaWRlbnRpZmllciA9PSBcImJvZHlcIiBhbmQgJHRhcmdldCA9PSBcInRleHRcIiB7XG4gICAgQHJldHVybiByZ2JhKHZhcigtLSN7JHByZWZpeH0jeyRpZGVudGlmaWVyfS1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9I3skdGFyZ2V0fS1vcGFjaXR5KSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gcmdiYSh2YXIoLS0jeyRwcmVmaXh9I3skaWRlbnRpZmllcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fSN7JHRhcmdldH0tb3BhY2l0eSkpO1xuICB9XG59XG5cbkBmdW5jdGlvbiBtYXAtbG9vcCgkbWFwLCAkZnVuYywgJGFyZ3MuLi4pIHtcbiAgJF9tYXA6ICgpO1xuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAvLyBhbGxvdyB0byBwYXNzIHRoZSAka2V5IGFuZCAkdmFsdWUgb2YgdGhlIG1hcCBhcyBhbiBmdW5jdGlvbiBhcmd1bWVudFxuICAgICRfYXJnczogKCk7XG4gICAgQGVhY2ggJGFyZyBpbiAkYXJncyB7XG4gICAgICAkX2FyZ3M6IGFwcGVuZCgkX2FyZ3MsIGlmKCRhcmcgPT0gXCIka2V5XCIsICRrZXksIGlmKCRhcmcgPT0gXCIkdmFsdWVcIiwgJHZhbHVlLCAkYXJnKSkpO1xuICAgIH1cblxuICAgICRfbWFwOiBtYXAtbWVyZ2UoJF9tYXAsICgka2V5OiBjYWxsKGdldC1mdW5jdGlvbigkZnVuYyksICRfYXJncy4uLikpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9tYXA7XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNjc3MvZG9sbGFyLXZhcmlhYmxlLXBhdHRlcm5cblxuQGZ1bmN0aW9uIHZhcmlmeSgkbGlzdCkge1xuICAkcmVzdWx0OiBudWxsO1xuICBAZWFjaCAkZW50cnkgaW4gJGxpc3Qge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCB2YXIoLS0jeyRwcmVmaXh9I3skZW50cnl9KSwgc3BhY2UpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gSW50ZXJuYWwgQm9vdHN0cmFwIGZ1bmN0aW9uIHRvIHR1cm4gbWFwcyBpbnRvIGl0cyBuZWdhdGl2ZSB2YXJpYW50LlxuLy8gSXQgcHJlZml4ZXMgdGhlIGtleXMgd2l0aCBgbmAgYW5kIG1ha2VzIHRoZSB2YWx1ZSBuZWdhdGl2ZS5cbkBmdW5jdGlvbiBuZWdhdGl2aWZ5LW1hcCgkbWFwKSB7XG4gICRyZXN1bHQ6ICgpO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgQGlmICRrZXkgIT0gMCB7XG4gICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKFwiblwiICsgJGtleTogKC0kdmFsdWUpKSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gR2V0IG11bHRpcGxlIGtleXMgZnJvbSBhIHNhc3MgbWFwXG5AZnVuY3Rpb24gbWFwLWdldC1tdWx0aXBsZSgkbWFwLCAkdmFsdWVzKSB7XG4gICRyZXN1bHQ6ICgpO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgQGlmIChpbmRleCgkdmFsdWVzLCAka2V5KSAhPSBudWxsKSB7XG4gICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrZXk6ICR2YWx1ZSkpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIE1lcmdlIG11bHRpcGxlIG1hcHNcbkBmdW5jdGlvbiBtYXAtbWVyZ2UtbXVsdGlwbGUoJG1hcHMuLi4pIHtcbiAgJG1lcmdlZC1tYXBzOiAoKTtcblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICAkbWVyZ2VkLW1hcHM6IG1hcC1tZXJnZSgkbWVyZ2VkLW1hcHMsICRtYXApO1xuICB9XG4gIEByZXR1cm4gJG1lcmdlZC1tYXBzO1xufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIFNlZSBodHRwczovL2NvZGVwZW4uaW8va2V2aW53ZWJlci9wZW4vZFhXb1J3XG4vL1xuLy8gUmVxdWlyZXMgdGhlIHVzZSBvZiBxdW90ZXMgYXJvdW5kIGRhdGEgVVJJcy5cblxuQGZ1bmN0aW9uIGVzY2FwZS1zdmcoJHN0cmluZykge1xuICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwiZGF0YTppbWFnZS9zdmcreG1sXCIpIHtcbiAgICBAZWFjaCAkY2hhciwgJGVuY29kZWQgaW4gJGVzY2FwZWQtY2hhcmFjdGVycyB7XG4gICAgICAvLyBEbyBub3QgZXNjYXBlIHRoZSB1cmwgYnJhY2tldHNcbiAgICAgIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJ1cmwoXCIpID09IDEge1xuICAgICAgICAkc3RyaW5nOiB1cmwoXCIje3N0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCA2LCAtMyksICRjaGFyLCAkZW5jb2RlZCl9XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzdHJpbmc6IHN0ci1yZXBsYWNlKCRzdHJpbmcsICRjaGFyLCAkZW5jb2RlZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMwMTY4XG5cbi8vIEEgbGlzdCBvZiBwcmUtY2FsY3VsYXRlZCBudW1iZXJzIG9mIHBvdyhkaXZpZGUoKGRpdmlkZSgkdmFsdWUsIDI1NSkgKyAuMDU1KSwgMS4wNTUpLCAyLjQpLiAoZnJvbSAwIHRvIDI1NSlcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1wYXR0ZXJuXG4kX2x1bWluYW5jZS1saXN0OiAuMDAwOCAuMDAxIC4wMDExIC4wMDEzIC4wMDE1IC4wMDE3IC4wMDIgLjAwMjIgLjAwMjUgLjAwMjcgLjAwMyAuMDAzMyAuMDAzNyAuMDA0IC4wMDQ0IC4wMDQ4IC4wMDUyIC4wMDU2IC4wMDYgLjAwNjUgLjAwNyAuMDA3NSAuMDA4IC4wMDg2IC4wMDkxIC4wMDk3IC4wMTAzIC4wMTEgLjAxMTYgLjAxMjMgLjAxMyAuMDEzNyAuMDE0NCAuMDE1MiAuMDE2IC4wMTY4IC4wMTc2IC4wMTg1IC4wMTk0IC4wMjAzIC4wMjEyIC4wMjIyIC4wMjMyIC4wMjQyIC4wMjUyIC4wMjYyIC4wMjczIC4wMjg0IC4wMjk2IC4wMzA3IC4wMzE5IC4wMzMxIC4wMzQzIC4wMzU2IC4wMzY5IC4wMzgyIC4wMzk1IC4wNDA5IC4wNDIzIC4wNDM3IC4wNDUyIC4wNDY3IC4wNDgyIC4wNDk3IC4wNTEzIC4wNTI5IC4wNTQ1IC4wNTYxIC4wNTc4IC4wNTk1IC4wNjEyIC4wNjMgLjA2NDggLjA2NjYgLjA2ODUgLjA3MDQgLjA3MjMgLjA3NDIgLjA3NjIgLjA3ODIgLjA4MDIgLjA4MjMgLjA4NDQgLjA4NjUgLjA4ODcgLjA5MDggLjA5MzEgLjA5NTMgLjA5NzYgLjA5OTkgLjEwMjIgLjEwNDYgLjEwNyAuMTA5NSAuMTExOSAuMTE0NCAuMTE3IC4xMTk1IC4xMjIxIC4xMjQ4IC4xMjc0IC4xMzAxIC4xMzI5IC4xMzU2IC4xMzg0IC4xNDEzIC4xNDQxIC4xNDcgLjE1IC4xNTI5IC4xNTU5IC4xNTkgLjE2MiAuMTY1MSAuMTY4MyAuMTcxNCAuMTc0NiAuMTc3OSAuMTgxMiAuMTg0NSAuMTg3OCAuMTkxMiAuMTk0NiAuMTk4MSAuMjAxNiAuMjA1MSAuMjA4NiAuMjEyMiAuMjE1OSAuMjE5NSAuMjIzMiAuMjI3IC4yMzA3IC4yMzQ2IC4yMzg0IC4yNDIzIC4yNDYyIC4yNTAyIC4yNTQyIC4yNTgyIC4yNjIzIC4yNjY0IC4yNzA1IC4yNzQ3IC4yNzg5IC4yODMxIC4yODc0IC4yOTE4IC4yOTYxIC4zMDA1IC4zMDUgLjMwOTUgLjMxNCAuMzE4NSAuMzIzMSAuMzI3OCAuMzMyNSAuMzM3MiAuMzQxOSAuMzQ2NyAuMzUxNSAuMzU2NCAuMzYxMyAuMzY2MyAuMzcxMiAuMzc2MyAuMzgxMyAuMzg2NCAuMzkxNiAuMzk2OCAuNDAyIC40MDcyIC40MTI1IC40MTc5IC40MjMzIC40Mjg3IC40MzQyIC40Mzk3IC40NDUyIC40NTA4IC40NTY0IC40NjIxIC40Njc4IC40NzM1IC40NzkzIC40ODUxIC40OTEgLjQ5NjkgLjUwMjkgLjUwODkgLjUxNDkgLjUyMSAuNTI3MSAuNTMzMyAuNTM5NSAuNTQ1NyAuNTUyIC41NTgzIC41NjQ3IC41NzExIC41Nzc2IC41ODQxIC41OTA2IC41OTcyIC42MDM4IC42MTA1IC42MTcyIC42MjQgLjYzMDggLjYzNzYgLjY0NDUgLjY1MTQgLjY1ODQgLjY2NTQgLjY3MjQgLjY3OTUgLjY4NjcgLjY5MzkgLjcwMTEgLjcwODQgLjcxNTcgLjcyMzEgLjczMDUgLjczNzkgLjc0NTQgLjc1MjkgLjc2MDUgLjc2ODIgLjc3NTggLjc4MzUgLjc5MTMgLjc5OTEgLjgwNyAuODE0OCAuODIyOCAuODMwOCAuODM4OCAuODQ2OSAuODU1IC44NjMyIC44NzE0IC44Nzk2IC44ODc5IC44OTYzIC45MDQ3IC45MTMxIC45MjE2IC45MzAxIC45Mzg3IC45NDczIC45NTYgLjk2NDcgLjk3MzQgLjk4MjMgLjk5MTEgMTtcblxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAkY29sb3ItY29udHJhc3QtZGFyazogJGNvbG9yLWNvbnRyYXN0LWRhcmssICRjb2xvci1jb250cmFzdC1saWdodDogJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCAkbWluLWNvbnRyYXN0LXJhdGlvOiAkbWluLWNvbnRyYXN0LXJhdGlvKSB7XG4gICRmb3JlZ3JvdW5kczogJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCAkY29sb3ItY29udHJhc3QtZGFyaywgJHdoaXRlLCAkYmxhY2s7XG4gICRtYXgtcmF0aW86IDA7XG4gICRtYXgtcmF0aW8tY29sb3I6IG51bGw7XG5cbiAgQGVhY2ggJGNvbG9yIGluICRmb3JlZ3JvdW5kcyB7XG4gICAgJGNvbnRyYXN0LXJhdGlvOiBjb250cmFzdC1yYXRpbygkYmFja2dyb3VuZCwgJGNvbG9yKTtcbiAgICBAaWYgJGNvbnRyYXN0LXJhdGlvID4gJG1pbi1jb250cmFzdC1yYXRpbyB7XG4gICAgICBAcmV0dXJuICRjb2xvcjtcbiAgICB9IEBlbHNlIGlmICRjb250cmFzdC1yYXRpbyA+ICRtYXgtcmF0aW8ge1xuICAgICAgJG1heC1yYXRpbzogJGNvbnRyYXN0LXJhdGlvO1xuICAgICAgJG1heC1yYXRpby1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEB3YXJuIFwiRm91bmQgbm8gY29sb3IgbGVhZGluZyB0byAjeyRtaW4tY29udHJhc3QtcmF0aW99OjEgY29udHJhc3QgcmF0aW8gYWdhaW5zdCAjeyRiYWNrZ3JvdW5kfS4uLlwiO1xuXG4gIEByZXR1cm4gJG1heC1yYXRpby1jb2xvcjtcbn1cblxuQGZ1bmN0aW9uIGNvbnRyYXN0LXJhdGlvKCRiYWNrZ3JvdW5kLCAkZm9yZWdyb3VuZDogJGNvbG9yLWNvbnRyYXN0LWxpZ2h0KSB7XG4gICRsMTogbHVtaW5hbmNlKCRiYWNrZ3JvdW5kKTtcbiAgJGwyOiBsdW1pbmFuY2Uob3BhcXVlKCRiYWNrZ3JvdW5kLCAkZm9yZWdyb3VuZCkpO1xuXG4gIEByZXR1cm4gaWYoJGwxID4gJGwyLCBkaXZpZGUoJGwxICsgLjA1LCAkbDIgKyAuMDUpLCBkaXZpZGUoJGwyICsgLjA1LCAkbDEgKyAuMDUpKTtcbn1cblxuLy8gUmV0dXJuIFdDQUcyLjEgcmVsYXRpdmUgbHVtaW5hbmNlXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcvI2Rmbi1yZWxhdGl2ZS1sdW1pbmFuY2Vcbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRy8jZGZuLWNvbnRyYXN0LXJhdGlvXG5AZnVuY3Rpb24gbHVtaW5hbmNlKCRjb2xvcikge1xuICAkcmdiOiAoXG4gICAgXCJyXCI6IHJlZCgkY29sb3IpLFxuICAgIFwiZ1wiOiBncmVlbigkY29sb3IpLFxuICAgIFwiYlwiOiBibHVlKCRjb2xvcilcbiAgKTtcblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRyZ2Ige1xuICAgICR2YWx1ZTogaWYoZGl2aWRlKCR2YWx1ZSwgMjU1KSA8IC4wMzkyOCwgZGl2aWRlKGRpdmlkZSgkdmFsdWUsIDI1NSksIDEyLjkyKSwgbnRoKCRfbHVtaW5hbmNlLWxpc3QsICR2YWx1ZSArIDEpKTtcbiAgICAkcmdiOiBtYXAtbWVyZ2UoJHJnYiwgKCRuYW1lOiAkdmFsdWUpKTtcbiAgfVxuXG4gIEByZXR1cm4gKG1hcC1nZXQoJHJnYiwgXCJyXCIpICogLjIxMjYpICsgKG1hcC1nZXQoJHJnYiwgXCJnXCIpICogLjcxNTIpICsgKG1hcC1nZXQoJHJnYiwgXCJiXCIpICogLjA3MjIpO1xufVxuXG4vLyBSZXR1cm4gb3BhcXVlIGNvbG9yXG4vLyBvcGFxdWUoI2ZmZiwgcmdiYSgwLCAwLCAwLCAuNSkpID0+ICM4MDgwODBcbkBmdW5jdGlvbiBvcGFxdWUoJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kKSB7XG4gIEByZXR1cm4gbWl4KHJnYmEoJGZvcmVncm91bmQsIDEpLCAkYmFja2dyb3VuZCwgb3BhY2l0eSgkZm9yZWdyb3VuZCkgKiAxMDApO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItZnVuY3Rpb25zXG4vLyBUaW50IGEgY29sb3I6IG1peCBhIGNvbG9yIHdpdGggd2hpdGVcbkBmdW5jdGlvbiB0aW50LWNvbG9yKCRjb2xvciwgJHdlaWdodCkge1xuICBAcmV0dXJuIG1peCh3aGl0ZSwgJGNvbG9yLCAkd2VpZ2h0KTtcbn1cblxuLy8gU2hhZGUgYSBjb2xvcjogbWl4IGEgY29sb3Igd2l0aCBibGFja1xuQGZ1bmN0aW9uIHNoYWRlLWNvbG9yKCRjb2xvciwgJHdlaWdodCkge1xuICBAcmV0dXJuIG1peChibGFjaywgJGNvbG9yLCAkd2VpZ2h0KTtcbn1cblxuLy8gU2hhZGUgdGhlIGNvbG9yIGlmIHRoZSB3ZWlnaHQgaXMgcG9zaXRpdmUsIGVsc2UgdGludCBpdFxuQGZ1bmN0aW9uIHNoaWZ0LWNvbG9yKCRjb2xvciwgJHdlaWdodCkge1xuICBAcmV0dXJuIGlmKCR3ZWlnaHQgPiAwLCBzaGFkZS1jb2xvcigkY29sb3IsICR3ZWlnaHQpLCB0aW50LWNvbG9yKCRjb2xvciwgLSR3ZWlnaHQpKTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItZnVuY3Rpb25zXG5cbi8vIFJldHVybiB2YWxpZCBjYWxjXG5AZnVuY3Rpb24gYWRkKCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgKyAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9ICsgI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiICsgXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBzdWJ0cmFjdCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCBhbmQgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuIC0kdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxIC0gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTIpICE9IG51bWJlciB7XG4gICAgJHZhbHVlMjogdW5xdW90ZShcIihcIikgKyAkdmFsdWUyICsgdW5xdW90ZShcIilcIik7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gLSAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgLSBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvcnMtbWFwXG4kZ3JheXM6IChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogICAgIzBkNmVmZCAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2Q2MzM4NCAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMTk4NzU0ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzBkY2FmMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvcnMtbWFwXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcImJsYWNrXCI6ICAgICAgJGJsYWNrLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvcnMtbWFwXG5cbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jdmlzdWFsLWF1ZGlvLWNvbnRyYXN0LWNvbnRyYXN0XG4kbWluLWNvbnRyYXN0LXJhdGlvOiAgIDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kYmx1ZS0xMDA6IHRpbnQtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0yMDA6IHRpbnQtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0zMDA6IHRpbnQtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS00MDA6IHRpbnQtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS01MDA6ICRibHVlICFkZWZhdWx0O1xuJGJsdWUtNjAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTcwMDogc2hhZGUtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS04MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtOTAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcblxuJGluZGlnby0xMDA6IHRpbnQtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMjAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogdGludC1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby00MDA6IHRpbnQtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNTAwOiAkaW5kaWdvICFkZWZhdWx0O1xuJGluZGlnby02MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTcwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tODAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby05MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG5cbiRwdXJwbGUtMTAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogdGludC1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0zMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNDAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogJHB1cnBsZSAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuXG4kcGluay0xMDA6IHRpbnQtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG4kcGluay0yMDA6IHRpbnQtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay0zMDA6IHRpbnQtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay00MDA6IHRpbnQtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay01MDA6ICRwaW5rICFkZWZhdWx0O1xuJHBpbmstNjAwOiBzaGFkZS1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTcwMDogc2hhZGUtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay04MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstOTAwOiBzaGFkZS1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcblxuJHJlZC0xMDA6IHRpbnQtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcbiRyZWQtMjAwOiB0aW50LWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTMwMDogdGludC1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC00MDA6IHRpbnQtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNTAwOiAkcmVkICFkZWZhdWx0O1xuJHJlZC02MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTcwMDogc2hhZGUtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtODAwOiBzaGFkZS1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC05MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UtMTAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTIwMDogdGludC1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0zMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTUwMDogJG9yYW5nZSAhZGVmYXVsdDtcbiRvcmFuZ2UtNjAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS03MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTgwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtOTAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuXG4keWVsbG93LTEwMDogdGludC1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuJHllbGxvdy0yMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTQwMDogdGludC1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy01MDA6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4keWVsbG93LTYwMDogc2hhZGUtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNzAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy04MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTkwMDogc2hhZGUtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcblxuJGdyZWVuLTEwMDogdGludC1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMjAwOiB0aW50LWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi0zMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogdGludC1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNTAwOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNzAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tODAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiR0ZWFsLTEwMDogdGludC1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcbiR0ZWFsLTIwMDogdGludC1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTMwMDogdGludC1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTQwMDogdGludC1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTUwMDogJHRlYWwgIWRlZmF1bHQ7XG4kdGVhbC02MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNzAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTgwMDogc2hhZGUtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC05MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuXG4kY3lhbi0xMDA6IHRpbnQtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG4kY3lhbi0yMDA6IHRpbnQtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi0zMDA6IHRpbnQtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi00MDA6IHRpbnQtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi01MDA6ICRjeWFuICFkZWZhdWx0O1xuJGN5YW4tNjAwOiBzaGFkZS1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogc2hhZGUtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi04MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tOTAwOiBzaGFkZS1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcblxuJGJsdWVzOiAoXG4gIFwiYmx1ZS0xMDBcIjogJGJsdWUtMTAwLFxuICBcImJsdWUtMjAwXCI6ICRibHVlLTIwMCxcbiAgXCJibHVlLTMwMFwiOiAkYmx1ZS0zMDAsXG4gIFwiYmx1ZS00MDBcIjogJGJsdWUtNDAwLFxuICBcImJsdWUtNTAwXCI6ICRibHVlLTUwMCxcbiAgXCJibHVlLTYwMFwiOiAkYmx1ZS02MDAsXG4gIFwiYmx1ZS03MDBcIjogJGJsdWUtNzAwLFxuICBcImJsdWUtODAwXCI6ICRibHVlLTgwMCxcbiAgXCJibHVlLTkwMFwiOiAkYmx1ZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRpbmRpZ29zOiAoXG4gIFwiaW5kaWdvLTEwMFwiOiAkaW5kaWdvLTEwMCxcbiAgXCJpbmRpZ28tMjAwXCI6ICRpbmRpZ28tMjAwLFxuICBcImluZGlnby0zMDBcIjogJGluZGlnby0zMDAsXG4gIFwiaW5kaWdvLTQwMFwiOiAkaW5kaWdvLTQwMCxcbiAgXCJpbmRpZ28tNTAwXCI6ICRpbmRpZ28tNTAwLFxuICBcImluZGlnby02MDBcIjogJGluZGlnby02MDAsXG4gIFwiaW5kaWdvLTcwMFwiOiAkaW5kaWdvLTcwMCxcbiAgXCJpbmRpZ28tODAwXCI6ICRpbmRpZ28tODAwLFxuICBcImluZGlnby05MDBcIjogJGluZGlnby05MDBcbikgIWRlZmF1bHQ7XG5cbiRwdXJwbGVzOiAoXG4gIFwicHVycGxlLTEwMFwiOiAkcHVycGxlLTEwMCxcbiAgXCJwdXJwbGUtMjAwXCI6ICRwdXJwbGUtMjAwLFxuICBcInB1cnBsZS0zMDBcIjogJHB1cnBsZS0zMDAsXG4gIFwicHVycGxlLTQwMFwiOiAkcHVycGxlLTQwMCxcbiAgXCJwdXJwbGUtNTAwXCI6ICRwdXJwbGUtNTAwLFxuICBcInB1cnBsZS02MDBcIjogJHB1cnBsZS02MDAsXG4gIFwicHVycGxlLTcwMFwiOiAkcHVycGxlLTcwMCxcbiAgXCJwdXJwbGUtODAwXCI6ICRwdXJwbGUtODAwLFxuICBcInB1cnBsZS05MDBcIjogJHB1cnBsZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRwaW5rczogKFxuICBcInBpbmstMTAwXCI6ICRwaW5rLTEwMCxcbiAgXCJwaW5rLTIwMFwiOiAkcGluay0yMDAsXG4gIFwicGluay0zMDBcIjogJHBpbmstMzAwLFxuICBcInBpbmstNDAwXCI6ICRwaW5rLTQwMCxcbiAgXCJwaW5rLTUwMFwiOiAkcGluay01MDAsXG4gIFwicGluay02MDBcIjogJHBpbmstNjAwLFxuICBcInBpbmstNzAwXCI6ICRwaW5rLTcwMCxcbiAgXCJwaW5rLTgwMFwiOiAkcGluay04MDAsXG4gIFwicGluay05MDBcIjogJHBpbmstOTAwXG4pICFkZWZhdWx0O1xuXG4kcmVkczogKFxuICBcInJlZC0xMDBcIjogJHJlZC0xMDAsXG4gIFwicmVkLTIwMFwiOiAkcmVkLTIwMCxcbiAgXCJyZWQtMzAwXCI6ICRyZWQtMzAwLFxuICBcInJlZC00MDBcIjogJHJlZC00MDAsXG4gIFwicmVkLTUwMFwiOiAkcmVkLTUwMCxcbiAgXCJyZWQtNjAwXCI6ICRyZWQtNjAwLFxuICBcInJlZC03MDBcIjogJHJlZC03MDAsXG4gIFwicmVkLTgwMFwiOiAkcmVkLTgwMCxcbiAgXCJyZWQtOTAwXCI6ICRyZWQtOTAwXG4pICFkZWZhdWx0O1xuXG4kb3JhbmdlczogKFxuICBcIm9yYW5nZS0xMDBcIjogJG9yYW5nZS0xMDAsXG4gIFwib3JhbmdlLTIwMFwiOiAkb3JhbmdlLTIwMCxcbiAgXCJvcmFuZ2UtMzAwXCI6ICRvcmFuZ2UtMzAwLFxuICBcIm9yYW5nZS00MDBcIjogJG9yYW5nZS00MDAsXG4gIFwib3JhbmdlLTUwMFwiOiAkb3JhbmdlLTUwMCxcbiAgXCJvcmFuZ2UtNjAwXCI6ICRvcmFuZ2UtNjAwLFxuICBcIm9yYW5nZS03MDBcIjogJG9yYW5nZS03MDAsXG4gIFwib3JhbmdlLTgwMFwiOiAkb3JhbmdlLTgwMCxcbiAgXCJvcmFuZ2UtOTAwXCI6ICRvcmFuZ2UtOTAwXG4pICFkZWZhdWx0O1xuXG4keWVsbG93czogKFxuICBcInllbGxvdy0xMDBcIjogJHllbGxvdy0xMDAsXG4gIFwieWVsbG93LTIwMFwiOiAkeWVsbG93LTIwMCxcbiAgXCJ5ZWxsb3ctMzAwXCI6ICR5ZWxsb3ctMzAwLFxuICBcInllbGxvdy00MDBcIjogJHllbGxvdy00MDAsXG4gIFwieWVsbG93LTUwMFwiOiAkeWVsbG93LTUwMCxcbiAgXCJ5ZWxsb3ctNjAwXCI6ICR5ZWxsb3ctNjAwLFxuICBcInllbGxvdy03MDBcIjogJHllbGxvdy03MDAsXG4gIFwieWVsbG93LTgwMFwiOiAkeWVsbG93LTgwMCxcbiAgXCJ5ZWxsb3ctOTAwXCI6ICR5ZWxsb3ctOTAwXG4pICFkZWZhdWx0O1xuXG4kZ3JlZW5zOiAoXG4gIFwiZ3JlZW4tMTAwXCI6ICRncmVlbi0xMDAsXG4gIFwiZ3JlZW4tMjAwXCI6ICRncmVlbi0yMDAsXG4gIFwiZ3JlZW4tMzAwXCI6ICRncmVlbi0zMDAsXG4gIFwiZ3JlZW4tNDAwXCI6ICRncmVlbi00MDAsXG4gIFwiZ3JlZW4tNTAwXCI6ICRncmVlbi01MDAsXG4gIFwiZ3JlZW4tNjAwXCI6ICRncmVlbi02MDAsXG4gIFwiZ3JlZW4tNzAwXCI6ICRncmVlbi03MDAsXG4gIFwiZ3JlZW4tODAwXCI6ICRncmVlbi04MDAsXG4gIFwiZ3JlZW4tOTAwXCI6ICRncmVlbi05MDBcbikgIWRlZmF1bHQ7XG5cbiR0ZWFsczogKFxuICBcInRlYWwtMTAwXCI6ICR0ZWFsLTEwMCxcbiAgXCJ0ZWFsLTIwMFwiOiAkdGVhbC0yMDAsXG4gIFwidGVhbC0zMDBcIjogJHRlYWwtMzAwLFxuICBcInRlYWwtNDAwXCI6ICR0ZWFsLTQwMCxcbiAgXCJ0ZWFsLTUwMFwiOiAkdGVhbC01MDAsXG4gIFwidGVhbC02MDBcIjogJHRlYWwtNjAwLFxuICBcInRlYWwtNzAwXCI6ICR0ZWFsLTcwMCxcbiAgXCJ0ZWFsLTgwMFwiOiAkdGVhbC04MDAsXG4gIFwidGVhbC05MDBcIjogJHRlYWwtOTAwXG4pICFkZWZhdWx0O1xuXG4kY3lhbnM6IChcbiAgXCJjeWFuLTEwMFwiOiAkY3lhbi0xMDAsXG4gIFwiY3lhbi0yMDBcIjogJGN5YW4tMjAwLFxuICBcImN5YW4tMzAwXCI6ICRjeWFuLTMwMCxcbiAgXCJjeWFuLTQwMFwiOiAkY3lhbi00MDAsXG4gIFwiY3lhbi01MDBcIjogJGN5YW4tNTAwLFxuICBcImN5YW4tNjAwXCI6ICRjeWFuLTYwMCxcbiAgXCJjeWFuLTcwMFwiOiAkY3lhbi03MDAsXG4gIFwiY3lhbi04MDBcIjogJGN5YW4tODAwLFxuICBcImN5YW4tOTAwXCI6ICRjeWFuLTkwMFxuKSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbjogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc21vb3RoLXNjcm9sbDogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jb250YWluZXItY2xhc3NlczogICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY3NzZ3JpZDogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1idXR0b24tcG9pbnRlcnM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmZzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzOiAgdHJ1ZSAhZGVmYXVsdDtcblxuLy8gUHJlZml4IGZvciA6cm9vdCBDU1MgdmFyaWFibGVzXG5cbiR2YXJpYWJsZS1wcmVmaXg6ICAgICAgICAgICAgIGJzLSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAgZm9yIHRoZSBzaG9ydGVyIGAkcHJlZml4YFxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlLXByZWZpeCAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRib2R5LXRleHQtYWxpZ246ICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAgICAgICAgICAgICAgICAgICAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnQ6ICAgICAgICAgICBhZnRlciAhZGVmYXVsdDtcbiRzdHJldGNoZWQtbGluay16LWluZGV4OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbnRhaW5lci1tYXgtd2lkdGhzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG5cbiRib3JkZXItc3R5bGU6ICAgICAgICAgICAgICAgIHNvbGlkICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogICAgcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1waWxsOiAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJveC1zaGFkb3ctdmFyaWFibGVzXG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWluc2V0OiAgICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJveC1zaGFkb3ctdmFyaWFibGVzXG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtdmFyaWFibGVzXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC12YXJpYWJsZXNcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sbGFwc2UtdHJhbnNpdGlvblxuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoOiAgIHdpZHRoIC4zNXMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sbGFwc2UtdHJhbnNpdGlvblxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbi8vIHNjc3MtZG9jcy1zdGFydCBhc3BlY3QtcmF0aW9zXG4kYXNwZWN0LXJhdGlvczogKFxuICBcIjF4MVwiOiAxMDAlLFxuICBcIjR4M1wiOiBjYWxjKDMgLyA0ICogMTAwJSksXG4gIFwiMTZ4OVwiOiBjYWxjKDkgLyAxNiAqIDEwMCUpLFxuICBcIjIxeDlcIjogY2FsYyg5IC8gMjEgKiAxMDAlKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYXNwZWN0LXJhdGlvc1xuLy8gc3R5bGVsaW50LWVuYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC12YXJpYWJsZXNcbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1zYW5zLXNlcmlmKSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1jb2RlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LW1vbm9zcGFjZSkgIWRlZmF1bHQ7XG5cbi8vICRmb250LXNpemUtcm9vdCBhZmZlY3RzIHRoZSB2YWx1ZSBvZiBgcmVtYCwgd2hpY2ggaXMgdXNlZCBmb3IgYXMgd2VsbCBmb250IHNpemVzLCBwYWRkaW5ncywgYW5kIG1hcmdpbnNcbi8vICRmb250LXNpemUtYmFzZSBhZmZlY3RzIHRoZSBmb250IHNpemUgb2YgdGhlIGJvZHkgdGV4dFxuJGZvbnQtc2l6ZS1yb290OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICAgICAgICA2MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAyICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXNpemVzXG4kZm9udC1zaXplczogKFxuICAxOiAkaDEtZm9udC1zaXplLFxuICAyOiAkaDItZm9udC1zaXplLFxuICAzOiAkaDMtZm9udC1zaXplLFxuICA0OiAkaDQtZm9udC1zaXplLFxuICA1OiAkaDUtZm9udC1zaXplLFxuICA2OiAkaDYtZm9udC1zaXplXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXNpemVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBoZWFkaW5ncy12YXJpYWJsZXNcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1zdHlsZTogICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaGVhZGluZ3MtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkaXNwbGF5LWhlYWRpbmdzXG4kZGlzcGxheS1mb250LXNpemVzOiAoXG4gIDE6IDVyZW0sXG4gIDI6IDQuNXJlbSxcbiAgMzogNHJlbSxcbiAgNDogMy41cmVtLFxuICA1OiAzcmVtLFxuICA2OiAyLjVyZW1cbikgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5LWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC1zdHlsZTogIG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZGlzcGxheS1oZWFkaW5nc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdHlwZS12YXJpYWJsZXNcbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIC44NzVlbSAhZGVmYXVsdDtcblxuJHN1Yi1zdXAtZm9udC1zaXplOiAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGluaXRpYWxpc20tZm9udC1zaXplOiAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGhyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kaHItYmctY29sb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuJGhyLWhlaWdodDogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIEFsbG93cyBmb3IgaW5oZXJpdGVkIGNvbG9yc1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgIC4yNSAhZGVmYXVsdDtcblxuJGxlZ2VuZC1tYXJnaW4tYm90dG9tOiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4xODc1ZW0gIWRlZmF1bHQ7XG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAkeWVsbG93LTEwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdHlwZS12YXJpYWJsZXNcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYWJsZXNcbiR0YWJsZS1jZWxsLXBhZGRpbmcteTogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXktc206ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXgtc206ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXZlcnRpY2FsLWFsaWduOiAgIHRvcCAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yOiAgICAgLjA1ICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmc6ICAgICAgICAgICAgcmdiYSgkYmxhY2ssICR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmctZmFjdG9yOiAgICAgIC4xICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssICR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnLWZhY3RvcjogICAgICAgLjA3NSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6ICAgICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXI6IGV2ZW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1ncm91cC1zZXBhcmF0b3ItY29sb3I6IGN1cnJlbnRjb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1zY2FsZTogICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtbG9vcFxuJHRhYmxlLXZhcmlhbnRzOiAoXG4gIFwicHJpbWFyeVwiOiAgICBzaGlmdC1jb2xvcigkcHJpbWFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzZWNvbmRhcnlcIjogIHNoaWZ0LWNvbG9yKCRzZWNvbmRhcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic3VjY2Vzc1wiOiAgICBzaGlmdC1jb2xvcigkc3VjY2VzcywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJpbmZvXCI6ICAgICAgIHNoaWZ0LWNvbG9yKCRpbmZvLCAkdGFibGUtYmctc2NhbGUpLFxuICBcIndhcm5pbmdcIjogICAgc2hpZnQtY29sb3IoJHdhcm5pbmcsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiZGFuZ2VyXCI6ICAgICBzaGlmdC1jb2xvcigkZGFuZ2VyLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmssXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS1sb29wXG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1idG4tdmFyaWFibGVzXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eTogLjI1ICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ibHVyOiAgICAgICAgICAwICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1idG4tdmFyaWFibGVzXG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhYmxlc1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQ6ICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYmctdGludC1hbW91bnQ6ICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQ6ICAgIDEwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudDogICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudDogICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudDogIDI1JSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudDogICAxMCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYWJsZXNcblxuXG4vLyBGb3Jtc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1sYWJlbC12YXJpYWJsZXNcbiRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1pbnB1dC12YXJpYWJsZXNcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDUwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAqIC41KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tY29sb3Itd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0taW5wdXQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuJGZvcm0tY2hlY2staW5wdXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWluLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0OiAgICAgICAgICAgICAgICAkZm9ybS1jaGVjay1pbnB1dC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1hY3RpdmUtZmlsdGVyOiAgICAgICAgICBicmlnaHRuZXNzKDkwJSkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgIDFweCBzb2xpZCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nbTYgMTAgMyAzIDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzInIGZpbGw9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J002IDEwaDgnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAkZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stYnRuLWNoZWNrLWRpc2FibGVkLW9wYWNpdHk6ICAgICRidG4tZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ6ICAgIDFyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tY2hlY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcbiRmb3JtLXN3aXRjaC1jb2xvcjogICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAyZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDogICAgICAgJGZvcm0tc3dpdGNoLXdpZHRoICsgLjVlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1iZy1pbWFnZTogICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1czogICAgICAgJGZvcm0tc3dpdGNoLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXRyYW5zaXRpb246ICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yOiAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtZm9jdXMtYmctaW1hZ2U6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZTogICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1wb3NpdGlvbjogcmlnaHQgY2VudGVyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1ncm91cC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgZm9yIGJhY2tncm91bmQtaW1hZ2VcbiRmb3JtLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uOiAgICAgICAgICAgcmlnaHQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxNnB4IDEycHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi41ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgIGNlbnRlciByaWdodCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgICRib3gtc2hhZG93LWluc2V0ICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gRWRnZVxuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDcwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbjogICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1yYW5nZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmlsZS12YXJpYWJsZXNcbiRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6ICAgICAgIHNoYWRlLWNvbG9yKCRmb3JtLWZpbGUtYnV0dG9uLWJnLCA1JSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmlsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmxvYXRpbmctdmFyaWFibGVzXG4kZm9ybS1mbG9hdGluZy1oZWlnaHQ6ICAgICAgICAgICAgYWRkKDMuNXJlbSwgJGlucHV0LWhlaWdodC1ib3JkZXIpICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGluZS1oZWlnaHQ6ICAgICAgIDEuMjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg6ICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10OiAgIDEuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iOiAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5OiAgICAgLjY1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtOiAgIHNjYWxlKC44NSkgdHJhbnNsYXRlWSgtLjVyZW0pIHRyYW5zbGF0ZVgoLjE1cmVtKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJGZvcm0tdGV4dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXN0eWxlOiAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAkc3VjY2VzcyAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICRkYW5nZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKFxuICBcInZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICksXG4gIFwiaW52YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtc3RhY2tcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wOiAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhczogICAgICAgICAgICAgICAgICAxMDQ1ICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTUgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA4MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9hc3Q6ICAgICAgICAgICAgICAgICAgICAgIDEwOTAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1zdGFja1xuXG5cbi8vIE5hdnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi12YXJpYWJsZXNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdmFyaWFibGVzXG5cblxuLy8gTmF2YmFyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItdmFyaWFibGVzXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogICAgICAgICRidG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogICAgICAgICBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay12YXJpYWJsZXNcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi12YXJpYWJsZXNcbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIHNoYWRlLWNvbG9yKCRkcm9wZG93bi1saW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogICAgICAgICAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tZGFyay12YXJpYWJsZXNcbiRkcm9wZG93bi1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnOiAgICAgICAgICAkZHJvcGRvd24tZGl2aWRlci1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJveC1zaGFkb3c6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWNvbG9yOiAgICAgICAgICAkZHJvcGRvd24tZGFyay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItY29sb3I6ICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItYmc6ICAgICAgIHJnYmEoJHdoaXRlLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3I6ICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtYmc6ICAgICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstaGVhZGVyLWNvbG9yOiAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tdmFyaWFibGVzXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0OiAgICAgICAgICAgKCRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCAqIC0xKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc206ICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICogLjUgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteCAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAqIC41ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLXZhcmlhYmxlc1xuXG4vLyBBY2NvcmRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFjY29yZGlvbi12YXJpYWJsZXNcbiRhY2NvcmRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7IC8vIFNhc3MgdmFyaWFibGUgYmVjYXVzZSBvZiAkYWNjb3JkaW9uLWJ1dHRvbi1pY29uXG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24sIGJvcmRlci1yYWRpdXMgLjE1cyBlYXNlICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgOTAlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHNoYWRlLWNvbG9yKCRwcmltYXJ5LCAxMCUpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGFjY29yZGlvbi1idXR0b24tY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuXG4vLyBUb29sdGlwc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC12YXJpYWJsZXNcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gVE9ETzogcmVtb3ZlIHRoaXMgaW4gdjZcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtdmFyaWFibGVzXG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICBudWxsICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG5cbi8vIFBvcG92ZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLXZhcmlhYmxlc1xuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHNoYWRlLWNvbG9yKCRwb3BvdmVyLWJnLCA2JSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cblxuLy8gVG9hc3RzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC12YXJpYWJsZXNcbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAkYm94LXNoYWRvdyAhZGVmYXVsdDtcbiR0b2FzdC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC12YXJpYWJsZXNcblxuXG4vLyBCYWRnZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLXZhcmlhYmxlc1xuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4zNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjY1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtdmFyaWFibGVzXG5cblxuLy8gTW9kYWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC12YXJpYWJsZXNcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgJGJveC1zaGFkb3ctc20gIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAkYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC12YXJpYWJsZXNcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LXZhcmlhYmxlc1xuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYWxlcnQtYmctc2NhbGU6ICAgICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXNjYWxlOiAgICAgICAgICAgIC03MCUgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3Itc2NhbGU6ICAgICAgICAgICAgIDQwJSAhZGVmYXVsdDtcbiRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI6ICAgJGFsZXJ0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIDN4IGNvdmVycyB3aWR0aCBvZiB4IHBsdXMgZGVmYXVsdCBwYWRkaW5nIG9uIGVpdGhlciBzaWRlXG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LXZhcmlhYmxlc1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLXZhcmlhYmxlc1xuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgJGJveC1zaGFkb3ctaW5zZXQgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy12YXJpYWJsZXNcblxuXG4vLyBMaXN0IGdyb3VwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZTogICAgICAgICAgLTgwJSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tY29sb3Itc2NhbGU6ICAgICAgIDQwJSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtdmFyaWFibGVzXG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGh1bWJuYWlsLXZhcmlhYmxlc1xuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgICRib3gtc2hhZG93LXNtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aHVtYm5haWwtdmFyaWFibGVzXG5cblxuLy8gRmlndXJlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZmlndXJlLXZhcmlhYmxlc1xuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZmlndXJlLXZhcmlhYmxlc1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBicmVhZGNydW1iLXZhcmlhYmxlc1xuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZDogICAgICAgICRicmVhZGNydW1iLWRpdmlkZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLXZhcmlhYmxlc1xuXG4vLyBDYXJvdXNlbFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtdmFyaWFibGVzXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5OiAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk6ICAxICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J00xMS4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhMNS43MDcgOGw1LjY0NyA1LjY0NmEuNS41IDAgMCAxLS43MDguNzA4bC02LTZhLjUuNSAwIDAgMSAwLS43MDhsNi02YS41LjUgMCAwIDEgLjcwOCAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J000LjY0NiAxLjY0NmEuNS41IDAgMCAxIC43MDggMGw2IDZhLjUuNSAwIDAgMSAwIC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDgtLjcwOEwxMC4yOTMgOCA0LjY0NiAyLjM1NGEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG4kY2Fyb3VzZWwtZGFyay1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjogICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjYXJvdXNlbC1kYXJrLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG5cblxuLy8gU3Bpbm5lcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItdmFyaWFibGVzXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogLjc1cyAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci12YXJpYWJsZXNcblxuXG4vLyBDbG9zZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtdmFyaWFibGVzXG4kYnRuLWNsb3NlLXdpZHRoOiAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaGVpZ2h0OiAgICAgICAgICAgJGJ0bi1jbG9zZS13aWR0aCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy14OiAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteTogICAgICAgICRidG4tY2xvc2UtcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1jb2xvcjogICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWJnOiAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRidG4tY2xvc2UtY29sb3J9Jz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtc2hhZG93OiAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkbW9kYWwtY29udGVudC1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAkbW9kYWwtYmFja2Ryb3AtYmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjE4NzVyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHJlbW92aW5nIGluIHY2XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4iLCIvLyBSZS1hc3NpZ25lZCBtYXBzXG4vL1xuLy8gUGxhY2VkIGhlcmUgc28gdGhhdCBvdGhlcnMgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IFNhc3MgbWFwcyBhbmQgc2VlIGF1dG9tYXRpYyB1cGRhdGVzIHRvIHV0aWxpdGllcyBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1yZ2JcbiR0aGVtZS1jb2xvcnMtcmdiOiBtYXAtbG9vcCgkdGhlbWUtY29sb3JzLCB0by1yZ2IsIFwiJHZhbHVlXCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvcnMtcmdiXG5cbi8vIFV0aWxpdGllcyBtYXBzXG4vL1xuLy8gRXh0ZW5kcyB0aGUgZGVmYXVsdCBgJHRoZW1lLWNvbG9yc2AgbWFwcyB0byBoZWxwIGNyZWF0ZSBvdXIgdXRpbGl0aWVzLlxuXG4vLyBDb21lIHY2LCB3ZSdsbCBkZS1kdXBlIHRoZXNlIHZhcmlhYmxlcy4gVW50aWwgdGhlbiwgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlIGtlZXAgdGhlbSB0byByZWFzc2lnbi5cbi8vIHNjc3MtZG9jcy1zdGFydCB1dGlsaXRpZXMtY29sb3JzXG4kdXRpbGl0aWVzLWNvbG9yczogJHRoZW1lLWNvbG9ycy1yZ2IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHV0aWxpdGllcy1jb2xvcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxpdGllcy10ZXh0LWNvbG9yc1xuJHV0aWxpdGllcy10ZXh0OiBtYXAtbWVyZ2UoXG4gICR1dGlsaXRpZXMtY29sb3JzLFxuICAoXG4gICAgXCJibGFja1wiOiB0by1yZ2IoJGJsYWNrKSxcbiAgICBcIndoaXRlXCI6IHRvLXJnYigkd2hpdGUpLFxuICAgIFwiYm9keVwiOiB0by1yZ2IoJGJvZHktY29sb3IpXG4gIClcbikgIWRlZmF1bHQ7XG4kdXRpbGl0aWVzLXRleHQtY29sb3JzOiBtYXAtbG9vcCgkdXRpbGl0aWVzLXRleHQsIHJnYmEtY3NzLXZhciwgXCIka2V5XCIsIFwidGV4dFwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdXRpbGl0aWVzLXRleHQtY29sb3JzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB1dGlsaXRpZXMtYmctY29sb3JzXG4kdXRpbGl0aWVzLWJnOiBtYXAtbWVyZ2UoXG4gICR1dGlsaXRpZXMtY29sb3JzLFxuICAoXG4gICAgXCJibGFja1wiOiB0by1yZ2IoJGJsYWNrKSxcbiAgICBcIndoaXRlXCI6IHRvLXJnYigkd2hpdGUpLFxuICAgIFwiYm9keVwiOiB0by1yZ2IoJGJvZHktYmcpXG4gIClcbikgIWRlZmF1bHQ7XG4kdXRpbGl0aWVzLWJnLWNvbG9yczogbWFwLWxvb3AoJHV0aWxpdGllcy1iZywgcmdiYS1jc3MtdmFyLCBcIiRrZXlcIiwgXCJiZ1wiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdXRpbGl0aWVzLWJnLWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbGl0aWVzLWJvcmRlci1jb2xvcnNcbiR1dGlsaXRpZXMtYm9yZGVyOiBtYXAtbWVyZ2UoXG4gICR1dGlsaXRpZXMtY29sb3JzLFxuICAoXG4gICAgXCJ3aGl0ZVwiOiB0by1yZ2IoJHdoaXRlKVxuICApXG4pICFkZWZhdWx0O1xuJHV0aWxpdGllcy1ib3JkZXItY29sb3JzOiBtYXAtbG9vcCgkdXRpbGl0aWVzLWJvcmRlciwgcmdiYS1jc3MtdmFyLCBcIiRrZXlcIiwgXCJib3JkZXJcIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHV0aWxpdGllcy1ib3JkZXItY29sb3JzXG5cbiRuZWdhdGl2ZS1zcGFjZXJzOiBpZigkZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnMsIG5lZ2F0aXZpZnktbWFwKCRzcGFjZXJzKSwgbnVsbCkgIWRlZmF1bHQ7XG5cbiRndXR0ZXJzOiAkc3BhY2VycyAhZGVmYXVsdDtcbiIsIi8vIFRvZ2dsZXNcbi8vXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cblxuLy8gVmVuZG9yXG5AaW1wb3J0IFwidmVuZG9yL3Jmc1wiO1xuXG4vLyBEZXByZWNhdGVcbkBpbXBvcnQgXCJtaXhpbnMvZGVwcmVjYXRlXCI7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY29sb3Itc2NoZW1lXCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy92aXN1YWxseS1oaWRkZW5cIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LXRydW5jYXRlXCI7XG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy91dGlsaXRpZXNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydFwiO1xuQGltcG9ydCBcIm1peGlucy9iYWNrZHJvcFwiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NhcmV0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS12YXJpYW50c1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JveC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RyYW5zaXRpb25cIjtcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2NvbnRhaW5lclwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21haW4vTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IG51bWJlciBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIE1vZGUuIFBvc3NpYmlsaXRpZXM6IFwibWluLW1lZGlhLXF1ZXJ5XCIsIFwibWF4LW1lZGlhLXF1ZXJ5XCJcbiRyZnMtbW9kZTogbWluLW1lZGlhLXF1ZXJ5ICFkZWZhdWx0O1xuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiB1bml0KCRyZnMtYmFzZS12YWx1ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSBhbmQgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6ICcnO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgJyAwJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBweCB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcmVtIGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyBpZigkcmZzLXVuaXQgPT0gcHgsICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIDEpICogJHJmcy1yZW0tdmFsdWV9cHgsICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6ICcnO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgJyAwJztcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJHZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbiAgICAgICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgaWYoJHVuaXQgPT0gcHgsIDEsIGRpdmlkZSgxLCAkcmZzLXJlbS12YWx1ZSkpKTtcblxuICAgICAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICBAaWYgYWJzKCR2YWx1ZSkgPD0gJHJmcy1iYXNlLXZhbHVlIG9yIG5vdCAkZW5hYmxlLXJmcyB7XG4gICAgICAgICAgJHZhbDogJHZhbCArICcgJyArICBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgZGl2aWRlKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyAnIGNhbGMoJyArICRtaW4td2lkdGggKyBpZigkdmFsdWUgPCAwLCAnIC0gJywgJyArICcpICsgJHZhcmlhYmxlLXdpZHRoICsgJyknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBSRlMgbWl4aW5cbkBtaXhpbiByZnMoJHZhbHVlcywgJHByb3BlcnR5OiBmb250LXNpemUpIHtcbiAgQGlmICR2YWx1ZXMgIT0gbnVsbCB7XG4gICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZXMpO1xuICAgICRmbHVpZFZhbDogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpO1xuXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZFZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkVmFsKTtcblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJGZsdWlkVmFsLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZyk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy10b3ApO1xufVxuXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1ib3R0b20pO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWxlZnQpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXRvcCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1yaWdodCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cblxuQG1peGluIG1hcmdpbi1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tbGVmdCk7XG59XG4iLCIvLyBEZXByZWNhdGUgbWl4aW5cbi8vXG4vLyBUaGlzIG1peGluIGNhbiBiZSB1c2VkIHRvIGRlcHJlY2F0ZSBtaXhpbnMgb3IgZnVuY3Rpb25zLlxuLy8gYCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXNgIGlzIGEgZ2xvYmFsIHZhcmlhYmxlLCBgJGlnbm9yZS13YXJuaW5nYCBpcyBhIHZhcmlhYmxlIHRoYXQgY2FuIGJlIHBhc3NlZCB0b1xuLy8gc29tZSBkZXByZWNhdGVkIG1peGlucyB0byBzdXBwcmVzcyB0aGUgd2FybmluZyAoZm9yIGV4YW1wbGUgaWYgdGhlIG1peGluIGlzIHN0aWxsIGJlIHVzZWQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBCb290c3RyYXApXG5AbWl4aW4gZGVwcmVjYXRlKCRuYW1lLCAkZGVwcmVjYXRlLXZlcnNpb24sICRyZW1vdmUtdmVyc2lvbiwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICBAaWYgKCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXMgIT0gZmFsc2UgYW5kICRpZ25vcmUtd2FybmluZyAhPSB0cnVlKSB7XG4gICAgQHdhcm4gXCIjeyRuYW1lfSBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mICN7JGRlcHJlY2F0ZS12ZXJzaW9ufS4gSXQgd2lsbCBiZSByZW1vdmVkIGVudGlyZWx5IGluICN7JHJlbW92ZS12ZXJzaW9ufS5cIjtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBtaXhpbi1jb2xvci1zY2hlbWVcbkBtaXhpbiBjb2xvci1zY2hlbWUoJG5hbWUpIHtcbiAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogI3skbmFtZX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBtaXhpbi1jb2xvci1zY2hlbWVcbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gSGlkZSBjb250ZW50IHZpc3VhbGx5IHdoaWxlIGtlZXBpbmcgaXQgYWNjZXNzaWJsZSB0byBhc3Npc3RpdmUgdGVjaG5vbG9naWVzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2tpdHR5Z2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4oKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLy8gVXNlIHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLCBvciBvbmUgb2YgaXRzIGNoaWxkIGVsZW1lbnRzIGlzIGZvY3VzZWRcbi8vIChpLmUuIHdoZW4gZm9jdXMgaXMgd2l0aGluIHRoZSBlbGVtZW50L2NvbnRhaW5lciB0aGF0IHRoZSBjbGFzcyB3YXMgYXBwbGllZCB0bylcbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCkge1xuICAmOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gIH1cbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciBvdmVyZmxvdy13cmFwIC8gd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBVdGlsaXR5IGdlbmVyYXRvclxuLy8gVXNlZCB0byBnZW5lcmF0ZSB1dGlsaXRpZXMgJiBwcmludCB1dGlsaXRpZXNcbkBtaXhpbiBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgsICRpcy1yZnMtbWVkaWEtcXVlcnk6IGZhbHNlKSB7XG4gICR2YWx1ZXM6IG1hcC1nZXQoJHV0aWxpdHksIHZhbHVlcyk7XG5cbiAgLy8gSWYgdGhlIHZhbHVlcyBhcmUgYSBsaXN0IG9yIHN0cmluZywgY29udmVydCBpdCBpbnRvIGEgbWFwXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09IFwic3RyaW5nXCIgb3IgdHlwZS1vZihudGgoJHZhbHVlcywgMSkpICE9IFwibGlzdFwiIHtcbiAgICAkdmFsdWVzOiB6aXAoJHZhbHVlcywgJHZhbHVlcyk7XG4gIH1cblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgJHByb3BlcnRpZXM6IG1hcC1nZXQoJHV0aWxpdHksIHByb3BlcnR5KTtcblxuICAgIC8vIE11bHRpcGxlIHByb3BlcnRpZXMgYXJlIHBvc3NpYmxlLCBmb3IgZXhhbXBsZSB3aXRoIHZlcnRpY2FsIG9yIGhvcml6b250YWwgbWFyZ2lucyBvciBwYWRkaW5nc1xuICAgIEBpZiB0eXBlLW9mKCRwcm9wZXJ0aWVzKSA9PSBcInN0cmluZ1wiIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhcHBlbmQoKCksICRwcm9wZXJ0aWVzKTtcbiAgICB9XG5cbiAgICAvLyBVc2UgY3VzdG9tIGNsYXNzIGlmIHByZXNlbnRcbiAgICAkcHJvcGVydHktY2xhc3M6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjbGFzcyksIG1hcC1nZXQoJHV0aWxpdHksIGNsYXNzKSwgbnRoKCRwcm9wZXJ0aWVzLCAxKSk7XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZigkcHJvcGVydHktY2xhc3MgPT0gbnVsbCwgXCJcIiwgJHByb3BlcnR5LWNsYXNzKTtcblxuICAgIC8vIFVzZSBjdXN0b20gQ1NTIHZhcmlhYmxlIG5hbWUgaWYgcHJlc2VudCwgb3RoZXJ3aXNlIGRlZmF1bHQgdG8gYGNsYXNzYFxuICAgICRjc3MtdmFyaWFibGUtbmFtZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY3NzLXZhcmlhYmxlLW5hbWUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcykpO1xuXG4gICAgLy8gU3RhdGUgcGFyYW1zIHRvIGdlbmVyYXRlIHBzZXVkby1jbGFzc2VzXG4gICAgJHN0YXRlOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgc3RhdGUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBzdGF0ZSksICgpKTtcblxuICAgICRpbmZpeDogaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kIHN0ci1zbGljZSgkaW5maXgsIDEsIDEpID09IFwiLVwiLCBzdHItc2xpY2UoJGluZml4LCAyKSwgJGluZml4KTtcblxuICAgIC8vIERvbid0IHByZWZpeCBpZiB2YWx1ZSBrZXkgaXMgbnVsbCAoZS5nLiB3aXRoIHNoYWRvdyBjbGFzcylcbiAgICAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXI6IGlmKCRrZXksIGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCAkaW5maXggPT0gXCJcIiwgXCJcIiwgXCItXCIpICsgJGtleSwgXCJcIik7XG5cbiAgICBAaWYgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSB7XG4gICAgICAvLyBJbnNpZGUgdGhlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgJGlzLXJmcy1tZWRpYS1xdWVyeSB7XG4gICAgICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWUpO1xuXG4gICAgICAgIC8vIERvIG5vdCByZW5kZXIgYW55dGhpbmcgaWYgZmx1aWQgYW5kIG5vbiBmbHVpZCB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgICAgICR2YWx1ZTogaWYoJHZhbCA9PSByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKSwgbnVsbCwgJHZhbCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2YWx1ZTogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGlzLWNzcy12YXI6IG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXIpO1xuICAgICRpcy1sb2NhbC12YXJzOiBtYXAtZ2V0KCR1dGlsaXR5LCBsb2NhbC12YXJzKTtcbiAgICAkaXMtcnRsOiBtYXAtZ2V0KCR1dGlsaXR5LCBydGwpO1xuXG4gICAgQGlmICR2YWx1ZSAhPSBudWxsIHtcbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmJlZ2luOnJlbW92ZSAqL1xuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLWNzcy12YXIge1xuICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH0jeyRjc3MtdmFyaWFibGUtbmFtZX06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRjc3MtdmFyaWFibGUtbmFtZX06ICN7JHZhbHVlfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgQGVhY2ggJGxvY2FsLXZhciwgJHZhcmlhYmxlIGluICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGxvY2FsLXZhciwgJHZhcmlhYmxlIGluICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhcmlhYmxlfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6ZW5kOnJlbW92ZSAqL1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYmc6ICN7JGJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3I6ICN7JGJvcmRlcn07XG5cbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBzaGFkZS1jb2xvcigkY29sb3IsIDIwJSk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtdmFyaWFudC1taXhpblxuIiwiLy8gU2hhcmVkIGJldHdlZW4gbW9kYWxzIGFuZCBvZmZjYW52YXNlc1xuQG1peGluIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleCwgJGJhY2tkcm9wLWJnLCAkYmFja2Ryb3Atb3BhY2l0eSkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi12YXJpYW50KFxuICAkYmFja2dyb3VuZCxcbiAgJGJvcmRlcixcbiAgJGNvbG9yOiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCksXG4gICRob3Zlci1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWNvbG9yOiBjb2xvci1jb250cmFzdCgkaG92ZXItYmFja2dyb3VuZCksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKSxcbiAgJGRpc2FibGVkLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLFxuICAkZGlzYWJsZWQtYm9yZGVyOiAkYm9yZGVyLFxuICAkZGlzYWJsZWQtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRkaXNhYmxlZC1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6ICN7JGJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRob3Zlci1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skaG92ZXItYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKG1peCgkY29sb3IsICRib3JkZXIsIDE1JSkpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiAjeyRkaXNhYmxlZC1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skZGlzYWJsZWQtYm9yZGVyfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KFxuICAkY29sb3IsXG4gICRjb2xvci1ob3ZlcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsXG4gICRhY3RpdmUtYm9yZGVyOiAkY29sb3IsXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGNvbG9yLWhvdmVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IoJGNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Z3JhZGllbnQ6IG5vbmU7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1zaXplLW1peGluXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1zaXplLW1peGluXG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtbWl4aW5zXG5AbWl4aW4gY2FyZXQtZG93biB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1lbmQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtc3RhcnQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGVuZCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWVuZCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHN0YXJ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1zdGFydCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC1taXhpbnNcbiIsIi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tbWl4aW5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLW1peGluXG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtbWl4aW5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLW1peGluXG4iLCIvLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1taXhpbnNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKFxuICAkc3RhdGUsXG4gICRjb2xvcixcbiAgJGljb24sXG4gICR0b29sdGlwLWNvbG9yOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkdG9vbHRpcC1iZy1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSksXG4gICRmb2N1cy1ib3gtc2hhZG93OiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KVxuKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBmb250LXN0eWxlOiAkZm9ybS1mZWVkYmFjay1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLFxuICAgICAgICAmOm5vdChbbXVsdGlwbGVdKVtzaXplPVwiMVwiXSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yKSwgZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC1jb2xvciB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHdpZHRoOiBhZGQoJGZvcm0tY29sb3Itd2lkdGgsICRpbnB1dC1oZWlnaHQtaW5uZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG5cbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgICBtYXJnaW4tbGVmdDogLjVlbTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAge1xuICAgID4gLmZvcm0tY29udHJvbDpub3QoOmZvY3VzKSxcbiAgICA+IC5mb3JtLXNlbGVjdDpub3QoOmZvY3VzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICAgIEBpZiAkc3RhdGUgPT0gXCJ2YWxpZFwiIHtcbiAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB9IEBlbHNlIGlmICRzdGF0ZSA9PSBcImludmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tbWl4aW5zXG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFudFxuQG1peGluIHRhYmxlLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KG9wYXF1ZSgkYm9keS1iZywgJGJhY2tncm91bmQpKTtcbiAgICAkaG92ZXItYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpKTtcbiAgICAkc3RyaXBlZC1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSk7XG4gICAgJGFjdGl2ZS1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpKTtcbiAgICAkdGFibGUtYm9yZGVyLWNvbG9yOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYm9yZGVyLWZhY3RvcikpO1xuXG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JGNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZzogI3skYmFja2dyb3VuZH07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6ICN7JHN0cmlwZWQtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJHN0cmlwZWQtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skaG92ZXItYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRob3Zlci1iZyl9O1xuXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYW50XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLW1peGluc1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtbWl4aW5zXG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRzaGFkb3cge1xuICAgICAgQGlmICR2YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSwgXCJjb21tYVwiKTtcbiAgICAgIH1cbiAgICAgIEBpZiAkdmFsdWUgPT0gbm9uZSBhbmQgbGVuZ3RoKCRzaGFkb3cpID4gMSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKGxlbmd0aCgkcmVzdWx0KSA+IDApIHtcbiAgICAgIGJveC1zaGFkb3c6ICRyZXN1bHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LWJnLW1peGluXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yOiBudWxsKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtYmctbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LW1peGluc1xuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IG51bGwsICRlbmQtcGVyY2VudDogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1taXhpbnNcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNsZWFyZml4XG4iLCIvLyBDb250YWluZXIgbWl4aW5zXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkY29udGFpbmVyLXBhZGRpbmcteCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JGd1dHRlcn07XG4gIC0tI3skcHJlZml4fWd1dHRlci15OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8vIFRPRE86IFJldmlzaXQgY2FsYyBvcmRlciBhZnRlciBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtYm9vdHN0cmFwL3JlYWN0LWJvb3RzdHJhcC9pc3N1ZXMvNjAzOSBpcyBmaXhlZFxuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWd1dHRlci15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgpIHtcbiAgLy8gQWRkIGJveCBzaXppbmcgaWYgb25seSB0aGUgZ3JpZCBpcyBsb2FkZWRcbiAgYm94LXNpemluZzogaWYodmFyaWFibGUtZXhpc3RzKGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcpIGFuZCAkaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZywgYm9yZGVyLWJveCwgbnVsbCk7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSBzZXQgdGhlIHdpZHRoXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFByZXZlbnQgYC5jb2wtYXV0b2AsIGAuY29sYCAoJiByZXNwb25zaXZlIHZhcmlhbnRzKSBmcm9tIGJyZWFraW5nIG91dCB0aGUgZ3JpZFxuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tdG9wOiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXkpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemU6IGZhbHNlLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgJHNpemUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcblxuICB9IEBlbHNlIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogZGl2aWRlKCRzaXplLCAkY29sdW1ucyk7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyIG9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gIH1cbn1cblxuLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXg6IDEgMCAwJTsgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICB9XG5cbiAgICAgIC5yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy9cbiAgICAgIC8vIE1ha2UgdXNlIG9mIGAuZy0qYCwgYC5neC0qYCBvciBgLmd5LSpgIHV0aWxpdGllcyB0byBjaGFuZ2Ugc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRndXR0ZXJzIHtcbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd4I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3kjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jc3NncmlkKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5nLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgd2l0aCBgMWAgYmVjYXVzZSBgMGAgaXMgYW5kIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5nLXN0YXJ0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFV0aWxpdGllc1xuXG4kdXRpbGl0aWVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdXRpbGl0aWVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtdmVydGljYWwtYWxpZ25cbiAgICBcImFsaWduXCI6IChcbiAgICAgIHByb3BlcnR5OiB2ZXJ0aWNhbC1hbGlnbixcbiAgICAgIGNsYXNzOiBhbGlnbixcbiAgICAgIHZhbHVlczogYmFzZWxpbmUgdG9wIG1pZGRsZSBib3R0b20gdGV4dC1ib3R0b20gdGV4dC10b3BcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtdmVydGljYWwtYWxpZ25cbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtZmxvYXRcbiAgICBcImZsb2F0XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogZmxvYXQsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgc3RhcnQ6IGxlZnQsXG4gICAgICAgIGVuZDogcmlnaHQsXG4gICAgICAgIG5vbmU6IG5vbmUsXG4gICAgICApXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLWZsb2F0XG4gICAgLy8gT3BhY2l0eSB1dGlsaXRpZXNcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtb3BhY2l0eVxuICAgIFwib3BhY2l0eVwiOiAoXG4gICAgICBwcm9wZXJ0eTogb3BhY2l0eSxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICAwOiAwLFxuICAgICAgICAyNTogLjI1LFxuICAgICAgICA1MDogLjUsXG4gICAgICAgIDc1OiAuNzUsXG4gICAgICAgIDEwMDogMSxcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtb3BhY2l0eVxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy1vdmVyZmxvd1xuICAgIFwib3ZlcmZsb3dcIjogKFxuICAgICAgcHJvcGVydHk6IG92ZXJmbG93LFxuICAgICAgdmFsdWVzOiBhdXRvIGhpZGRlbiB2aXNpYmxlIHNjcm9sbCxcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtb3ZlcmZsb3dcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtZGlzcGxheVxuICAgIFwiZGlzcGxheVwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJpbnQ6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogZGlzcGxheSxcbiAgICAgIGNsYXNzOiBkLFxuICAgICAgdmFsdWVzOiBpbmxpbmUgaW5saW5lLWJsb2NrIGJsb2NrIGdyaWQgdGFibGUgdGFibGUtcm93IHRhYmxlLWNlbGwgZmxleCBpbmxpbmUtZmxleCBub25lXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLWRpc3BsYXlcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtc2hhZG93XG4gICAgXCJzaGFkb3dcIjogKFxuICAgICAgcHJvcGVydHk6IGJveC1zaGFkb3csXG4gICAgICBjbGFzczogc2hhZG93LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6ICRib3gtc2hhZG93LFxuICAgICAgICBzbTogJGJveC1zaGFkb3ctc20sXG4gICAgICAgIGxnOiAkYm94LXNoYWRvdy1sZyxcbiAgICAgICAgbm9uZTogbm9uZSxcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtc2hhZG93XG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLXBvc2l0aW9uXG4gICAgXCJwb3NpdGlvblwiOiAoXG4gICAgICBwcm9wZXJ0eTogcG9zaXRpb24sXG4gICAgICB2YWx1ZXM6IHN0YXRpYyByZWxhdGl2ZSBhYnNvbHV0ZSBmaXhlZCBzdGlja3lcbiAgICApLFxuICAgIFwidG9wXCI6IChcbiAgICAgIHByb3BlcnR5OiB0b3AsXG4gICAgICB2YWx1ZXM6ICRwb3NpdGlvbi12YWx1ZXNcbiAgICApLFxuICAgIFwiYm90dG9tXCI6IChcbiAgICAgIHByb3BlcnR5OiBib3R0b20sXG4gICAgICB2YWx1ZXM6ICRwb3NpdGlvbi12YWx1ZXNcbiAgICApLFxuICAgIFwic3RhcnRcIjogKFxuICAgICAgcHJvcGVydHk6IGxlZnQsXG4gICAgICBjbGFzczogc3RhcnQsXG4gICAgICB2YWx1ZXM6ICRwb3NpdGlvbi12YWx1ZXNcbiAgICApLFxuICAgIFwiZW5kXCI6IChcbiAgICAgIHByb3BlcnR5OiByaWdodCxcbiAgICAgIGNsYXNzOiBlbmQsXG4gICAgICB2YWx1ZXM6ICRwb3NpdGlvbi12YWx1ZXNcbiAgICApLFxuICAgIFwidHJhbnNsYXRlLW1pZGRsZVwiOiAoXG4gICAgICBwcm9wZXJ0eTogdHJhbnNmb3JtLFxuICAgICAgY2xhc3M6IHRyYW5zbGF0ZS1taWRkbGUsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgbnVsbDogdHJhbnNsYXRlKC01MCUsIC01MCUpLFxuICAgICAgICB4OiB0cmFuc2xhdGVYKC01MCUpLFxuICAgICAgICB5OiB0cmFuc2xhdGVZKC01MCUpLFxuICAgICAgKVxuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy1wb3NpdGlvblxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy1ib3JkZXJzXG4gICAgXCJib3JkZXJcIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlcixcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBudWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXN0eWxlKSB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSxcbiAgICAgICAgMDogMCxcbiAgICAgIClcbiAgICApLFxuICAgIFwiYm9yZGVyLXRvcFwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLXRvcCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBudWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXN0eWxlKSB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSxcbiAgICAgICAgMDogMCxcbiAgICAgIClcbiAgICApLFxuICAgIFwiYm9yZGVyLWVuZFwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLXJpZ2h0LFxuICAgICAgY2xhc3M6IGJvcmRlci1lbmQsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgbnVsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgdmFyKC0tI3skcHJlZml4fWJvcmRlci1zdHlsZSkgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvciksXG4gICAgICAgIDA6IDAsXG4gICAgICApXG4gICAgKSxcbiAgICBcImJvcmRlci1ib3R0b21cIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci1ib3R0b20sXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgbnVsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgdmFyKC0tI3skcHJlZml4fWJvcmRlci1zdHlsZSkgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvciksXG4gICAgICAgIDA6IDAsXG4gICAgICApXG4gICAgKSxcbiAgICBcImJvcmRlci1zdGFydFwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLWxlZnQsXG4gICAgICBjbGFzczogYm9yZGVyLXN0YXJ0LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItc3R5bGUpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpLFxuICAgICAgICAwOiAwLFxuICAgICAgKVxuICAgICksXG4gICAgXCJib3JkZXItY29sb3JcIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci1jb2xvcixcbiAgICAgIGNsYXNzOiBib3JkZXIsXG4gICAgICBsb2NhbC12YXJzOiAoXG4gICAgICAgIFwiYm9yZGVyLW9wYWNpdHlcIjogMVxuICAgICAgKSxcbiAgICAgIHZhbHVlczogJHV0aWxpdGllcy1ib3JkZXItY29sb3JzXG4gICAgKSxcbiAgICBcImJvcmRlci13aWR0aFwiOiAoXG4gICAgICBjc3MtdmFyOiB0cnVlLFxuICAgICAgY3NzLXZhcmlhYmxlLW5hbWU6IGJvcmRlci13aWR0aCxcbiAgICAgIGNsYXNzOiBib3JkZXIsXG4gICAgICB2YWx1ZXM6ICRib3JkZXItd2lkdGhzXG4gICAgKSxcbiAgICBcImJvcmRlci1vcGFjaXR5XCI6IChcbiAgICAgIGNzcy12YXI6IHRydWUsXG4gICAgICBjbGFzczogYm9yZGVyLW9wYWNpdHksXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgMTA6IC4xLFxuICAgICAgICAyNTogLjI1LFxuICAgICAgICA1MDogLjUsXG4gICAgICAgIDc1OiAuNzUsXG4gICAgICAgIDEwMDogMVxuICAgICAgKVxuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy1ib3JkZXJzXG4gICAgLy8gU2l6aW5nIHV0aWxpdGllc1xuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy1zaXppbmdcbiAgICBcIndpZHRoXCI6IChcbiAgICAgIHByb3BlcnR5OiB3aWR0aCxcbiAgICAgIGNsYXNzOiB3LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIDI1OiAyNSUsXG4gICAgICAgIDUwOiA1MCUsXG4gICAgICAgIDc1OiA3NSUsXG4gICAgICAgIDEwMDogMTAwJSxcbiAgICAgICAgYXV0bzogYXV0b1xuICAgICAgKVxuICAgICksXG4gICAgXCJtYXgtd2lkdGhcIjogKFxuICAgICAgcHJvcGVydHk6IG1heC13aWR0aCxcbiAgICAgIGNsYXNzOiBtdyxcbiAgICAgIHZhbHVlczogKDEwMDogMTAwJSlcbiAgICApLFxuICAgIFwidmlld3BvcnQtd2lkdGhcIjogKFxuICAgICAgcHJvcGVydHk6IHdpZHRoLFxuICAgICAgY2xhc3M6IHZ3LFxuICAgICAgdmFsdWVzOiAoMTAwOiAxMDB2dylcbiAgICApLFxuICAgIFwibWluLXZpZXdwb3J0LXdpZHRoXCI6IChcbiAgICAgIHByb3BlcnR5OiBtaW4td2lkdGgsXG4gICAgICBjbGFzczogbWluLXZ3LFxuICAgICAgdmFsdWVzOiAoMTAwOiAxMDB2dylcbiAgICApLFxuICAgIFwiaGVpZ2h0XCI6IChcbiAgICAgIHByb3BlcnR5OiBoZWlnaHQsXG4gICAgICBjbGFzczogaCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICAyNTogMjUlLFxuICAgICAgICA1MDogNTAlLFxuICAgICAgICA3NTogNzUlLFxuICAgICAgICAxMDA6IDEwMCUsXG4gICAgICAgIGF1dG86IGF1dG9cbiAgICAgIClcbiAgICApLFxuICAgIFwibWF4LWhlaWdodFwiOiAoXG4gICAgICBwcm9wZXJ0eTogbWF4LWhlaWdodCxcbiAgICAgIGNsYXNzOiBtaCxcbiAgICAgIHZhbHVlczogKDEwMDogMTAwJSlcbiAgICApLFxuICAgIFwidmlld3BvcnQtaGVpZ2h0XCI6IChcbiAgICAgIHByb3BlcnR5OiBoZWlnaHQsXG4gICAgICBjbGFzczogdmgsXG4gICAgICB2YWx1ZXM6ICgxMDA6IDEwMHZoKVxuICAgICksXG4gICAgXCJtaW4tdmlld3BvcnQtaGVpZ2h0XCI6IChcbiAgICAgIHByb3BlcnR5OiBtaW4taGVpZ2h0LFxuICAgICAgY2xhc3M6IG1pbi12aCxcbiAgICAgIHZhbHVlczogKDEwMDogMTAwdmgpXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLXNpemluZ1xuICAgIC8vIEZsZXggdXRpbGl0aWVzXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLWZsZXhcbiAgICBcImZsZXhcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBmbGV4LFxuICAgICAgdmFsdWVzOiAoZmlsbDogMSAxIGF1dG8pXG4gICAgKSxcbiAgICBcImZsZXgtZGlyZWN0aW9uXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogZmxleC1kaXJlY3Rpb24sXG4gICAgICBjbGFzczogZmxleCxcbiAgICAgIHZhbHVlczogcm93IGNvbHVtbiByb3ctcmV2ZXJzZSBjb2x1bW4tcmV2ZXJzZVxuICAgICksXG4gICAgXCJmbGV4LWdyb3dcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBmbGV4LWdyb3csXG4gICAgICBjbGFzczogZmxleCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBncm93LTA6IDAsXG4gICAgICAgIGdyb3ctMTogMSxcbiAgICAgIClcbiAgICApLFxuICAgIFwiZmxleC1zaHJpbmtcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBmbGV4LXNocmluayxcbiAgICAgIGNsYXNzOiBmbGV4LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIHNocmluay0wOiAwLFxuICAgICAgICBzaHJpbmstMTogMSxcbiAgICAgIClcbiAgICApLFxuICAgIFwiZmxleC13cmFwXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogZmxleC13cmFwLFxuICAgICAgY2xhc3M6IGZsZXgsXG4gICAgICB2YWx1ZXM6IHdyYXAgbm93cmFwIHdyYXAtcmV2ZXJzZVxuICAgICksXG4gICAgXCJqdXN0aWZ5LWNvbnRlbnRcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBqdXN0aWZ5LWNvbnRlbnQsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgc3RhcnQ6IGZsZXgtc3RhcnQsXG4gICAgICAgIGVuZDogZmxleC1lbmQsXG4gICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICBiZXR3ZWVuOiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICBhcm91bmQ6IHNwYWNlLWFyb3VuZCxcbiAgICAgICAgZXZlbmx5OiBzcGFjZS1ldmVubHksXG4gICAgICApXG4gICAgKSxcbiAgICBcImFsaWduLWl0ZW1zXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogYWxpZ24taXRlbXMsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgc3RhcnQ6IGZsZXgtc3RhcnQsXG4gICAgICAgIGVuZDogZmxleC1lbmQsXG4gICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICBiYXNlbGluZTogYmFzZWxpbmUsXG4gICAgICAgIHN0cmV0Y2g6IHN0cmV0Y2gsXG4gICAgICApXG4gICAgKSxcbiAgICBcImFsaWduLWNvbnRlbnRcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBhbGlnbi1jb250ZW50LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIHN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICBlbmQ6IGZsZXgtZW5kLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgYmV0d2Vlbjogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgYXJvdW5kOiBzcGFjZS1hcm91bmQsXG4gICAgICAgIHN0cmV0Y2g6IHN0cmV0Y2gsXG4gICAgICApXG4gICAgKSxcbiAgICBcImFsaWduLXNlbGZcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBhbGlnbi1zZWxmLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIHN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICBlbmQ6IGZsZXgtZW5kLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgYmFzZWxpbmU6IGJhc2VsaW5lLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgKVxuICAgICksXG4gICAgXCJvcmRlclwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG9yZGVyLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIGZpcnN0OiAtMSxcbiAgICAgICAgMDogMCxcbiAgICAgICAgMTogMSxcbiAgICAgICAgMjogMixcbiAgICAgICAgMzogMyxcbiAgICAgICAgNDogNCxcbiAgICAgICAgNTogNSxcbiAgICAgICAgbGFzdDogNixcbiAgICAgICksXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLWZsZXhcbiAgICAvLyBNYXJnaW4gdXRpbGl0aWVzXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLXNwYWNpbmdcbiAgICBcIm1hcmdpblwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG1hcmdpbixcbiAgICAgIGNsYXNzOiBtLFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoJHNwYWNlcnMsIChhdXRvOiBhdXRvKSlcbiAgICApLFxuICAgIFwibWFyZ2luLXhcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4tcmlnaHQgbWFyZ2luLWxlZnQsXG4gICAgICBjbGFzczogbXgsXG4gICAgICB2YWx1ZXM6IG1hcC1tZXJnZSgkc3BhY2VycywgKGF1dG86IGF1dG8pKVxuICAgICksXG4gICAgXCJtYXJnaW4teVwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG1hcmdpbi10b3AgbWFyZ2luLWJvdHRvbSxcbiAgICAgIGNsYXNzOiBteSxcbiAgICAgIHZhbHVlczogbWFwLW1lcmdlKCRzcGFjZXJzLCAoYXV0bzogYXV0bykpXG4gICAgKSxcbiAgICBcIm1hcmdpbi10b3BcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4tdG9wLFxuICAgICAgY2xhc3M6IG10LFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoJHNwYWNlcnMsIChhdXRvOiBhdXRvKSlcbiAgICApLFxuICAgIFwibWFyZ2luLWVuZFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG1hcmdpbi1yaWdodCxcbiAgICAgIGNsYXNzOiBtZSxcbiAgICAgIHZhbHVlczogbWFwLW1lcmdlKCRzcGFjZXJzLCAoYXV0bzogYXV0bykpXG4gICAgKSxcbiAgICBcIm1hcmdpbi1ib3R0b21cIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4tYm90dG9tLFxuICAgICAgY2xhc3M6IG1iLFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoJHNwYWNlcnMsIChhdXRvOiBhdXRvKSlcbiAgICApLFxuICAgIFwibWFyZ2luLXN0YXJ0XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLWxlZnQsXG4gICAgICBjbGFzczogbXMsXG4gICAgICB2YWx1ZXM6IG1hcC1tZXJnZSgkc3BhY2VycywgKGF1dG86IGF1dG8pKVxuICAgICksXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIHV0aWxpdGllc1xuICAgIFwibmVnYXRpdmUtbWFyZ2luXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLFxuICAgICAgY2xhc3M6IG0sXG4gICAgICB2YWx1ZXM6ICRuZWdhdGl2ZS1zcGFjZXJzXG4gICAgKSxcbiAgICBcIm5lZ2F0aXZlLW1hcmdpbi14XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLXJpZ2h0IG1hcmdpbi1sZWZ0LFxuICAgICAgY2xhc3M6IG14LFxuICAgICAgdmFsdWVzOiAkbmVnYXRpdmUtc3BhY2Vyc1xuICAgICksXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4teVwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG1hcmdpbi10b3AgbWFyZ2luLWJvdHRvbSxcbiAgICAgIGNsYXNzOiBteSxcbiAgICAgIHZhbHVlczogJG5lZ2F0aXZlLXNwYWNlcnNcbiAgICApLFxuICAgIFwibmVnYXRpdmUtbWFyZ2luLXRvcFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG1hcmdpbi10b3AsXG4gICAgICBjbGFzczogbXQsXG4gICAgICB2YWx1ZXM6ICRuZWdhdGl2ZS1zcGFjZXJzXG4gICAgKSxcbiAgICBcIm5lZ2F0aXZlLW1hcmdpbi1lbmRcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4tcmlnaHQsXG4gICAgICBjbGFzczogbWUsXG4gICAgICB2YWx1ZXM6ICRuZWdhdGl2ZS1zcGFjZXJzXG4gICAgKSxcbiAgICBcIm5lZ2F0aXZlLW1hcmdpbi1ib3R0b21cIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4tYm90dG9tLFxuICAgICAgY2xhc3M6IG1iLFxuICAgICAgdmFsdWVzOiAkbmVnYXRpdmUtc3BhY2Vyc1xuICAgICksXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4tc3RhcnRcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4tbGVmdCxcbiAgICAgIGNsYXNzOiBtcyxcbiAgICAgIHZhbHVlczogJG5lZ2F0aXZlLXNwYWNlcnNcbiAgICApLFxuICAgIC8vIFBhZGRpbmcgdXRpbGl0aWVzXG4gICAgXCJwYWRkaW5nXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogcGFkZGluZyxcbiAgICAgIGNsYXNzOiBwLFxuICAgICAgdmFsdWVzOiAkc3BhY2Vyc1xuICAgICksXG4gICAgXCJwYWRkaW5nLXhcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBwYWRkaW5nLXJpZ2h0IHBhZGRpbmctbGVmdCxcbiAgICAgIGNsYXNzOiBweCxcbiAgICAgIHZhbHVlczogJHNwYWNlcnNcbiAgICApLFxuICAgIFwicGFkZGluZy15XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogcGFkZGluZy10b3AgcGFkZGluZy1ib3R0b20sXG4gICAgICBjbGFzczogcHksXG4gICAgICB2YWx1ZXM6ICRzcGFjZXJzXG4gICAgKSxcbiAgICBcInBhZGRpbmctdG9wXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogcGFkZGluZy10b3AsXG4gICAgICBjbGFzczogcHQsXG4gICAgICB2YWx1ZXM6ICRzcGFjZXJzXG4gICAgKSxcbiAgICBcInBhZGRpbmctZW5kXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogcGFkZGluZy1yaWdodCxcbiAgICAgIGNsYXNzOiBwZSxcbiAgICAgIHZhbHVlczogJHNwYWNlcnNcbiAgICApLFxuICAgIFwicGFkZGluZy1ib3R0b21cIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBwYWRkaW5nLWJvdHRvbSxcbiAgICAgIGNsYXNzOiBwYixcbiAgICAgIHZhbHVlczogJHNwYWNlcnNcbiAgICApLFxuICAgIFwicGFkZGluZy1zdGFydFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IHBhZGRpbmctbGVmdCxcbiAgICAgIGNsYXNzOiBwcyxcbiAgICAgIHZhbHVlczogJHNwYWNlcnNcbiAgICApLFxuICAgIC8vIEdhcCB1dGlsaXR5XG4gICAgXCJnYXBcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBnYXAsXG4gICAgICBjbGFzczogZ2FwLFxuICAgICAgdmFsdWVzOiAkc3BhY2Vyc1xuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy1zcGFjaW5nXG4gICAgLy8gVGV4dFxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy10ZXh0XG4gICAgXCJmb250LWZhbWlseVwiOiAoXG4gICAgICBwcm9wZXJ0eTogZm9udC1mYW1pbHksXG4gICAgICBjbGFzczogZm9udCxcbiAgICAgIHZhbHVlczogKG1vbm9zcGFjZTogdmFyKC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlKSlcbiAgICApLFxuICAgIFwiZm9udC1zaXplXCI6IChcbiAgICAgIHJmczogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBmb250LXNpemUsXG4gICAgICBjbGFzczogZnMsXG4gICAgICB2YWx1ZXM6ICRmb250LXNpemVzXG4gICAgKSxcbiAgICBcImZvbnQtc3R5bGVcIjogKFxuICAgICAgcHJvcGVydHk6IGZvbnQtc3R5bGUsXG4gICAgICBjbGFzczogZnN0LFxuICAgICAgdmFsdWVzOiBpdGFsaWMgbm9ybWFsXG4gICAgKSxcbiAgICBcImZvbnQtd2VpZ2h0XCI6IChcbiAgICAgIHByb3BlcnR5OiBmb250LXdlaWdodCxcbiAgICAgIGNsYXNzOiBmdyxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBsaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0LFxuICAgICAgICBsaWdodGVyOiAkZm9udC13ZWlnaHQtbGlnaHRlcixcbiAgICAgICAgbm9ybWFsOiAkZm9udC13ZWlnaHQtbm9ybWFsLFxuICAgICAgICBib2xkOiAkZm9udC13ZWlnaHQtYm9sZCxcbiAgICAgICAgc2VtaWJvbGQ6ICRmb250LXdlaWdodC1zZW1pYm9sZCxcbiAgICAgICAgYm9sZGVyOiAkZm9udC13ZWlnaHQtYm9sZGVyXG4gICAgICApXG4gICAgKSxcbiAgICBcImxpbmUtaGVpZ2h0XCI6IChcbiAgICAgIHByb3BlcnR5OiBsaW5lLWhlaWdodCxcbiAgICAgIGNsYXNzOiBsaCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICAxOiAxLFxuICAgICAgICBzbTogJGxpbmUtaGVpZ2h0LXNtLFxuICAgICAgICBiYXNlOiAkbGluZS1oZWlnaHQtYmFzZSxcbiAgICAgICAgbGc6ICRsaW5lLWhlaWdodC1sZyxcbiAgICAgIClcbiAgICApLFxuICAgIFwidGV4dC1hbGlnblwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IHRleHQtYWxpZ24sXG4gICAgICBjbGFzczogdGV4dCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBzdGFydDogbGVmdCxcbiAgICAgICAgZW5kOiByaWdodCxcbiAgICAgICAgY2VudGVyOiBjZW50ZXIsXG4gICAgICApXG4gICAgKSxcbiAgICBcInRleHQtZGVjb3JhdGlvblwiOiAoXG4gICAgICBwcm9wZXJ0eTogdGV4dC1kZWNvcmF0aW9uLFxuICAgICAgdmFsdWVzOiBub25lIHVuZGVybGluZSBsaW5lLXRocm91Z2hcbiAgICApLFxuICAgIFwidGV4dC10cmFuc2Zvcm1cIjogKFxuICAgICAgcHJvcGVydHk6IHRleHQtdHJhbnNmb3JtLFxuICAgICAgY2xhc3M6IHRleHQsXG4gICAgICB2YWx1ZXM6IGxvd2VyY2FzZSB1cHBlcmNhc2UgY2FwaXRhbGl6ZVxuICAgICksXG4gICAgXCJ3aGl0ZS1zcGFjZVwiOiAoXG4gICAgICBwcm9wZXJ0eTogd2hpdGUtc3BhY2UsXG4gICAgICBjbGFzczogdGV4dCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICB3cmFwOiBub3JtYWwsXG4gICAgICAgIG5vd3JhcDogbm93cmFwLFxuICAgICAgKVxuICAgICksXG4gICAgXCJ3b3JkLXdyYXBcIjogKFxuICAgICAgcHJvcGVydHk6IHdvcmQtd3JhcCB3b3JkLWJyZWFrLFxuICAgICAgY2xhc3M6IHRleHQsXG4gICAgICB2YWx1ZXM6IChicmVhazogYnJlYWstd29yZCksXG4gICAgICBydGw6IGZhbHNlXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLXRleHRcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtY29sb3JcbiAgICBcImNvbG9yXCI6IChcbiAgICAgIHByb3BlcnR5OiBjb2xvcixcbiAgICAgIGNsYXNzOiB0ZXh0LFxuICAgICAgbG9jYWwtdmFyczogKFxuICAgICAgICBcInRleHQtb3BhY2l0eVwiOiAxXG4gICAgICApLFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICR1dGlsaXRpZXMtdGV4dC1jb2xvcnMsXG4gICAgICAgIChcbiAgICAgICAgICBcIm11dGVkXCI6ICR0ZXh0LW11dGVkLFxuICAgICAgICAgIFwiYmxhY2stNTBcIjogcmdiYSgkYmxhY2ssIC41KSwgLy8gZGVwcmVjYXRlZFxuICAgICAgICAgIFwid2hpdGUtNTBcIjogcmdiYSgkd2hpdGUsIC41KSwgLy8gZGVwcmVjYXRlZFxuICAgICAgICAgIFwicmVzZXRcIjogaW5oZXJpdCxcbiAgICAgICAgKVxuICAgICAgKVxuICAgICksXG4gICAgXCJ0ZXh0LW9wYWNpdHlcIjogKFxuICAgICAgY3NzLXZhcjogdHJ1ZSxcbiAgICAgIGNsYXNzOiB0ZXh0LW9wYWNpdHksXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgMjU6IC4yNSxcbiAgICAgICAgNTA6IC41LFxuICAgICAgICA3NTogLjc1LFxuICAgICAgICAxMDA6IDFcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtY29sb3JcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtYmctY29sb3JcbiAgICBcImJhY2tncm91bmQtY29sb3JcIjogKFxuICAgICAgcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsXG4gICAgICBjbGFzczogYmcsXG4gICAgICBsb2NhbC12YXJzOiAoXG4gICAgICAgIFwiYmctb3BhY2l0eVwiOiAxXG4gICAgICApLFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICR1dGlsaXRpZXMtYmctY29sb3JzLFxuICAgICAgICAoXG4gICAgICAgICAgXCJ0cmFuc3BhcmVudFwiOiB0cmFuc3BhcmVudFxuICAgICAgICApXG4gICAgICApXG4gICAgKSxcbiAgICBcImJnLW9wYWNpdHlcIjogKFxuICAgICAgY3NzLXZhcjogdHJ1ZSxcbiAgICAgIGNsYXNzOiBiZy1vcGFjaXR5LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIDEwOiAuMSxcbiAgICAgICAgMjU6IC4yNSxcbiAgICAgICAgNTA6IC41LFxuICAgICAgICA3NTogLjc1LFxuICAgICAgICAxMDA6IDFcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtYmctY29sb3JcbiAgICBcImdyYWRpZW50XCI6IChcbiAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWltYWdlLFxuICAgICAgY2xhc3M6IGJnLFxuICAgICAgdmFsdWVzOiAoZ3JhZGllbnQ6IHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCkpXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtaW50ZXJhY3Rpb25cbiAgICBcInVzZXItc2VsZWN0XCI6IChcbiAgICAgIHByb3BlcnR5OiB1c2VyLXNlbGVjdCxcbiAgICAgIHZhbHVlczogYWxsIGF1dG8gbm9uZVxuICAgICksXG4gICAgXCJwb2ludGVyLWV2ZW50c1wiOiAoXG4gICAgICBwcm9wZXJ0eTogcG9pbnRlci1ldmVudHMsXG4gICAgICBjbGFzczogcGUsXG4gICAgICB2YWx1ZXM6IG5vbmUgYXV0byxcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtaW50ZXJhY3Rpb25cbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtYm9yZGVyLXJhZGl1c1xuICAgIFwicm91bmRlZFwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLXJhZGl1cyxcbiAgICAgIGNsYXNzOiByb3VuZGVkLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSxcbiAgICAgICAgMDogMCxcbiAgICAgICAgMTogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pLFxuICAgICAgICAyOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cyksXG4gICAgICAgIDM6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSxcbiAgICAgICAgNDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteGwpLFxuICAgICAgICA1OiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy0yeGwpLFxuICAgICAgICBjaXJjbGU6IDUwJSxcbiAgICAgICAgcGlsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtcGlsbClcbiAgICAgIClcbiAgICApLFxuICAgIFwicm91bmRlZC10b3BcIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci10b3AtbGVmdC1yYWRpdXMgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMsXG4gICAgICBjbGFzczogcm91bmRlZC10b3AsXG4gICAgICB2YWx1ZXM6IChudWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykpXG4gICAgKSxcbiAgICBcInJvdW5kZWQtZW5kXCI6IChcbiAgICAgIHByb3BlcnR5OiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyxcbiAgICAgIGNsYXNzOiByb3VuZGVkLWVuZCxcbiAgICAgIHZhbHVlczogKG51bGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSlcbiAgICApLFxuICAgIFwicm91bmRlZC1ib3R0b21cIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMsXG4gICAgICBjbGFzczogcm91bmRlZC1ib3R0b20sXG4gICAgICB2YWx1ZXM6IChudWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykpXG4gICAgKSxcbiAgICBcInJvdW5kZWQtc3RhcnRcIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyxcbiAgICAgIGNsYXNzOiByb3VuZGVkLXN0YXJ0LFxuICAgICAgdmFsdWVzOiAobnVsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpKVxuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy1ib3JkZXItcmFkaXVzXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLXZpc2liaWxpdHlcbiAgICBcInZpc2liaWxpdHlcIjogKFxuICAgICAgcHJvcGVydHk6IHZpc2liaWxpdHksXG4gICAgICBjbGFzczogbnVsbCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICB2aXNpYmxlOiB2aXNpYmxlLFxuICAgICAgICBpbnZpc2libGU6IGhpZGRlbixcbiAgICAgIClcbiAgICApXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy12aXNpYmlsaXR5XG4gICksXG4gICR1dGlsaXRpZXNcbik7XG4iLCI6cm9vdCB7XG4gIC8vIE5vdGU6IEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuXG4gIC8vIENvbG9yc1xuICAvL1xuICAvLyBHZW5lcmF0ZSBwYWxldHRlcyBmb3IgZnVsbCBjb2xvcnMsIGdyYXlzLCBhbmQgdGhlbWUgY29sb3JzLlxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXlzIHtcbiAgICAtLSN7JHByZWZpeH1ncmF5LSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXJnYiB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYjogI3skdmFsdWV9O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9d2hpdGUtcmdiOiAje3RvLXJnYigkd2hpdGUpfTtcbiAgLS0jeyRwcmVmaXh9YmxhY2stcmdiOiAje3RvLXJnYigkYmxhY2spfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJvZHktYmctcmdiOiAje3RvLXJnYigkYm9keS1iZyl9O1xuXG4gIC8vIEZvbnRzXG5cbiAgLy8gTm90ZTogVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogI3skZ3JhZGllbnR9O1xuXG4gIC8vIFJvb3QgYW5kIGJvZHlcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9keS12YXJpYWJsZXNcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZTogI3skZm9udC1zaXplLXJvb3R9O1xuICB9XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHk6ICN7JGZvbnQtZmFtaWx5LWJhc2V9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZS1iYXNlLCAtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LWJhc2V9O1xuICAtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0OiAjeyRsaW5lLWhlaWdodC1iYXNlfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gIEBpZiAkYm9keS10ZXh0LWFsaWduICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fWJvZHktdGV4dC1hbGlnbjogI3skYm9keS10ZXh0LWFsaWdufTtcbiAgfVxuICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvZHktdmFyaWFibGVzXG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9yZGVyLXZhclxuICAtLSN7JHByZWZpeH1ib3JkZXItd2lkdGg6ICN7JGJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1zdHlsZTogI3skYm9yZGVyLXN0eWxlfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudH07XG5cbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc206ICN7JGJvcmRlci1yYWRpdXMtc219O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnOiAjeyRib3JkZXItcmFkaXVzLWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14bDogI3skYm9yZGVyLXJhZGl1cy14bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtMnhsOiAjeyRib3JkZXItcmFkaXVzLTJ4bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtcGlsbDogI3skYm9yZGVyLXJhZGl1cy1waWxsfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvcmRlci12YXJcblxuICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3skbGluay1ob3Zlci1jb2xvcn07XG5cbiAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvcn07XG5cbiAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnOiAjeyRtYXJrLWJnfTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuXG4vLyBSb290XG4vL1xuLy8gQWJpbGl0eSB0byB0aGUgdmFsdWUgb2YgdGhlIHJvb3QgZm9udCBzaXplcywgYWZmZWN0aW5nIHRoZSB2YWx1ZSBvZiBgcmVtYC5cbi8vIG51bGwgYnkgZGVmYXVsdCwgdGh1cyBub3RoaW5nIGlzIGdlbmVyYXRlZC5cblxuOnJvb3Qge1xuICBAaWYgJGZvbnQtc2l6ZS1yb290ICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cm9vdC1mb250LXNpemUpKTtcbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXNtb290aC1zY3JvbGwge1xuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuLy8gNC4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZWJvb3QtYm9keS1ydWxlc1xuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJvZHktZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1saW5lLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcik7XG4gIHRleHQtYWxpZ246IHZhcigtLSN7JHByZWZpeH1ib2R5LXRleHQtYWxpZ24pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZyk7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAzXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA0XG59XG4vLyBzY3NzLWRvY3MtZW5kIHJlYm9vdC1ib2R5LXJ1bGVzXG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIFJlc2V0IEZpcmVmb3gncyBncmF5IGNvbG9yXG5cbmhyIHtcbiAgbWFyZ2luOiAkaHItbWFyZ2luLXkgMDtcbiAgY29sb3I6ICRoci1jb2xvcjsgLy8gMVxuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbiAgb3BhY2l0eTogJGhyLW9wYWNpdHk7XG59XG5cblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIDEuIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vLyAgICBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gICAgbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuXG4laGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtc3R5bGU6ICRoZWFkaW5ncy1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbn1cblxuaDIge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG59XG5cbmgzIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xufVxuXG5oNCB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbn1cblxuaDUge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG59XG5cbmg2IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xufVxuXG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cblxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMi4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gMy4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAxXG4gIGN1cnNvcjogaGVscDsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDNcbn1cblxuXG4vLyBBZGRyZXNzXG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5cbi8vIExpc3RzXG5cbm9sLFxudWwge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG4vLyAxLiBVbmRvIGJyb3dzZXIgZGVmYXVsdFxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gMVxufVxuXG5cbi8vIEJsb2NrcXVvdGVcblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gU3Ryb25nXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7XG59XG5cblxuLy8gU21hbGxcbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbn1cblxuXG4vLyBNYXJrXG5cbm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnKTtcbn1cblxuXG4vLyBTdWIgYW5kIFN1cFxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc3ViLXN1cC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vIExpbmtzXG5cbmEge1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICAmLFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBDb2RlXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1jb2RlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG4vLyAxLiBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbi8vIDIuIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4vLyAzLiBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgLy8gMlxuICBvdmVyZmxvdzogYXV0bzsgLy8gM1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y29kZS1jb2xvcik7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGtiZC1mb250LXNpemUpO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG5cbmltZyxcbnN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xuXG50YWJsZSB7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxudGhlYWQsXG50Ym9keSxcbnRmb290LFxudHIsXG50ZCxcbnRoIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG5cblxuLy8gRm9ybXNcbi8vXG4vLyAxLiBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlbGVjdCB7XG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbiAgd29yZC13cmFwOiBub3JtYWw7XG5cbiAgLy8gVW5kbyB0aGUgb3BhY2l0eSBjaGFuZ2UgZnJvbSBDaHJvbWVcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdGhlIGRyb3Bkb3duIGFycm93IG9ubHkgZnJvbSB0ZXh0IHR5cGUgaW5wdXRzIGJ1aWx0IHdpdGggZGF0YWxpc3RzIGluIENocm9tZS5cbi8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTQ5OTcxMThcblxuW2xpc3RdOm5vdChbdHlwZT1cImRhdGVcIl0pOm5vdChbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdKTpub3QoW3R5cGU9XCJtb250aFwiXSk6bm90KFt0eXBlPVwid2Vla1wiXSk6bm90KFt0eXBlPVwidGltZVwiXSk6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMy4gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG5cbiAgQGlmICRlbmFibGUtYnV0dG9uLXBvaW50ZXJzIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy8gMS4gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IC8vIDFcbn1cblxuLy8gMS4gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbi8vICAgIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuLy8gICAgU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbi8vICAgIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbi8vIDIuIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gMlxuICBib3JkZXI6IDA7IC8vIDJcbn1cblxuLy8gMS4gQnkgdXNpbmcgYGZsb2F0OiBsZWZ0YCwgdGhlIGxlZ2VuZCB3aWxsIGJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudC5cbi8vICAgIFRoaXMgd2F5IHRoZSBib3JkZXIgb2YgYSBmaWVsZHNldCB3cmFwcyBhcm91bmQgdGhlIGxlZ2VuZCBpZiBwcmVzZW50LlxuLy8gMi4gRml4IHdyYXBwaW5nIGJ1Zy5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5NzEyXG5cbmxlZ2VuZCB7XG4gIGZsb2F0OiBsZWZ0OyAvLyAxXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbGVnZW5kLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVnZW5kLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICArICoge1xuICAgIGNsZWFyOiBsZWZ0OyAvLyAyXG4gIH1cbn1cblxuLy8gRml4IGhlaWdodCBvZiBpbnB1dHMgd2l0aCBhIHR5cGUgb2YgZGF0ZXRpbWUtbG9jYWwsIGRhdGUsIG1vbnRoLCB3ZWVrLCBvciB0aW1lXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODg0MlxuXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcixcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIHtcbiAgcGFkZGluZzogMDtcbn1cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbi8vIDIuIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vICAgIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gICAgYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMlxufVxuXG4vLyAxLiBBIGZldyBpbnB1dCB0eXBlcyBzaG91bGQgc3RheSBMVFJcbi8vIFNlZSBodHRwczovL3J0bHN0eWxpbmcuY29tL3Bvc3RzL3J0bC1zdHlsaW5nI2Zvcm0taW5wdXRzXG4vLyAyLiBSVEwgb25seSBvdXRwdXRcbi8vIFNlZSBodHRwczovL3J0bGNzcy5jb20vbGVhcm4vdXNhZ2UtZ3VpZGUvY29udHJvbC1kaXJlY3RpdmVzLyNyYXdcblxuLyogcnRsOnJhdzpcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJ1cmxcIl0sXG5bdHlwZT1cImVtYWlsXCJdLFxuW3R5cGU9XCJudW1iZXJcIl0ge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbiovXG5cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBSZW1vdmUgcGFkZGluZyBhcm91bmQgY29sb3IgcGlja2VycyBpbiB3ZWJraXQgYnJvd3NlcnNcblxuOjotd2Via2l0LWNvbG9yLXN3YXRjaC13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4vLyAxLiBJbmhlcml0IGZvbnQgZmFtaWx5IGFuZCBsaW5lIGhlaWdodCBmb3IgZmlsZSBpbnB1dCBidXR0b25zXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG46OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBSZW1vdmUgYm9yZGVyIGZyb20gaWZyYW1lXG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gU3VtbWFyeVxuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyAxXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vLyBQcm9ncmVzc1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5cbi8vIEhpZGRlbiBhdHRyaWJ1dGVcbi8vXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlLlxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vXG4vLyBIZWFkaW5nc1xuLy9cbi5oMSB7XG4gIEBleHRlbmQgaDE7XG59XG5cbi5oMiB7XG4gIEBleHRlbmQgaDI7XG59XG5cbi5oMyB7XG4gIEBleHRlbmQgaDM7XG59XG5cbi5oNCB7XG4gIEBleHRlbmQgaDQ7XG59XG5cbi5oNSB7XG4gIEBleHRlbmQgaDU7XG59XG5cbi5oNiB7XG4gIEBleHRlbmQgaDY7XG59XG5cblxuLmxlYWQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlYWQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuQGVhY2ggJGRpc3BsYXksICRmb250LXNpemUgaW4gJGRpc3BsYXktZm9udC1zaXplcyB7XG4gIC5kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgZm9udC1mYW1pbHk6ICRkaXNwbGF5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRkaXNwbGF5LWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5LWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbiAgfVxufVxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG4uc21hbGwge1xuICBAZXh0ZW5kIHNtYWxsO1xufVxuXG4ubWFyayB7XG4gIEBleHRlbmQgbWFyaztcbn1cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5pdGlhbGlzbS1mb250LXNpemUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBtYXJnaW4tdG9wOiAtJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1mb290ZXItY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIC41O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtY29udGFpbmVyLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIsXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcblxuICAgID4gKiB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgpO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1jc3NncmlkIHtcbiAgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQodmFyKC0tI3skcHJlZml4fXJvd3MsIDEpLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLSN7JHByZWZpeH1jb2x1bW5zLCAjeyRncmlkLWNvbHVtbnN9KSwgMWZyKTtcbiAgICBnYXA6IHZhcigtLSN7JHByZWZpeH1nYXAsICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XG5cbiAgICBAaW5jbHVkZSBtYWtlLWNzc2dyaWQoKTtcbiAgfVxufVxuXG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvcjogI3skdGFibGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1iZzogI3skdGFibGUtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6ICN7JHRhYmxlLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZzogI3skdGFibGUtYWNjZW50LWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcjogI3skdGFibGUtc3RyaXBlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6ICN7JHRhYmxlLXN0cmlwZWQtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7JHRhYmxlLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skdGFibGUtYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3I6ICN7JHRhYmxlLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmc6ICN7JHRhYmxlLWhvdmVyLWJnfTtcblxuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcik7XG4gIHZlcnRpY2FsLWFsaWduOiAkdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcblxuICAvLyBUYXJnZXQgdGggJiB0ZFxuICAvLyBXZSBuZWVkIHRoZSBjaGlsZCBjb21iaW5hdG9yIHRvIHByZXZlbnQgc3R5bGVzIGxlYWtpbmcgdG8gbmVzdGVkIHRhYmxlcyB3aGljaCBkb2Vzbid0IGhhdmUgYSBgLnRhYmxlYCBjbGFzcy5cbiAgLy8gV2UgdXNlIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3JzIGhlcmUgdG8gc2ltcGxpZnkgdGhlIHNlbGVjdG9yIChlbHNlIHdlIHdvdWxkIG5lZWQgNiBkaWZmZXJlbnQgc2VsZWN0b3JzKS5cbiAgLy8gQW5vdGhlciBhZHZhbnRhZ2UgaXMgdGhhdCB0aGlzIGdlbmVyYXRlcyBsZXNzIGNvZGUgYW5kIG1ha2VzIHRoZSBzZWxlY3RvciBsZXNzIHNwZWNpZmljIG1ha2luZyBpdCBlYXNpZXIgdG8gb3ZlcnJpZGUuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXkgJHRhYmxlLWNlbGwtcGFkZGluZy14O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA5OTk5cHggdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZyk7XG4gIH1cblxuICA+IHRib2R5IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgfVxuXG4gID4gdGhlYWQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbn1cblxuLnRhYmxlLWdyb3VwLWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAoJHRhYmxlLWJvcmRlci13aWR0aCAqIDIpIHNvbGlkICR0YWJsZS1ncm91cC1zZXBhcmF0b3ItY29sb3I7XG59XG5cbi8vXG4vLyBDaGFuZ2UgcGxhY2VtZW50IG9mIGNhcHRpb25zIHdpdGggYSBjbGFzc1xuLy9cblxuLmNhcHRpb24tdG9wIHtcbiAgY2FwdGlvbi1zaWRlOiB0b3A7XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXktc20gJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cbi8vXG4vLyBXaGVuIGJvcmRlcnMgYXJlIGFkZGVkIG9uIGFsbCBzaWRlcyBvZiB0aGUgY2VsbHMsIHRoZSBjb3JuZXJzIGNhbiByZW5kZXIgb2RkIHdoZW5cbi8vIHRoZXNlIGJvcmRlcnMgZG8gbm90IGhhdmUgdGhlIHNhbWUgY29sb3Igb3IgaWYgdGhleSBhcmUgc2VtaS10cmFuc3BhcmVudC5cbi8vIFRoZXJlZm9yIHdlIGFkZCB0b3AgYW5kIGJvcmRlciBib3R0b21zIHRvIHRoZSBgdHJgcyBhbmQgbGVmdCBhbmQgcmlnaHQgYm9yZGVyc1xuLy8gdG8gdGhlIGB0ZGBzIG9yIGB0aGBzXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gID4gOm5vdChjYXB0aW9uKSA+ICoge1xuICAgIGJvcmRlci13aWR0aDogJHRhYmxlLWJvcmRlci13aWR0aCAwO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgICA+ICoge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi8vIEZvciByb3dzXG4udGFibGUtc3RyaXBlZCB7XG4gID4gdGJvZHkgPiB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkgPiAqIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmc6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICB9XG59XG5cbi8vIEZvciBjb2x1bW5zXG4udGFibGUtc3RyaXBlZC1jb2x1bW5zIHtcbiAgPiA6bm90KGNhcHRpb24pID4gdHIgPiA6bnRoLWNoaWxkKCN7JHRhYmxlLXN0cmlwZWQtY29sdW1ucy1vcmRlcn0pIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmc6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICB9XG59XG5cbi8vIEFjdGl2ZSB0YWJsZVxuLy9cbi8vIFRoZSBgLnRhYmxlLWFjdGl2ZWAgY2xhc3MgY2FuIGJlIGFkZGVkIHRvIGhpZ2hsaWdodCByb3dzIG9yIGNlbGxzXG5cbi50YWJsZS1hY3RpdmUge1xuICAtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmc6IHZhcigtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmcpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcik7XG59XG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmcpO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3IpO1xuICB9XG59XG5cblxuLy8gVGFibGUgdmFyaWFudHNcbi8vXG4vLyBUYWJsZSB2YXJpYW50cyBzZXQgdGhlIHRhYmxlIGNlbGwgYmFja2dyb3VuZHMsIGJvcmRlciBjb2xvcnNcbi8vIGFuZCB0aGUgY29sb3JzIG9mIHRoZSBzdHJpcGVkLCBob3ZlcmVkICYgYWN0aXZlIHRhYmxlc1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGFibGUtdmFyaWFudHMge1xuICBAaW5jbHVkZSB0YWJsZS12YXJpYW50KCRjb2xvciwgJHZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAudGFibGUtcmVzcG9uc2l2ZSN7JGluZml4fSB7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcImZvcm1zL2xhYmVsc1wiO1xuQGltcG9ydCBcImZvcm1zL2Zvcm0tdGV4dFwiO1xuQGltcG9ydCBcImZvcm1zL2Zvcm0tY29udHJvbFwiO1xuQGltcG9ydCBcImZvcm1zL2Zvcm0tc2VsZWN0XCI7XG5AaW1wb3J0IFwiZm9ybXMvZm9ybS1jaGVja1wiO1xuQGltcG9ydCBcImZvcm1zL2Zvcm0tcmFuZ2VcIjtcbkBpbXBvcnQgXCJmb3Jtcy9mbG9hdGluZy1sYWJlbHNcIjtcbkBpbXBvcnQgXCJmb3Jtcy9pbnB1dC1ncm91cFwiO1xuQGltcG9ydCBcImZvcm1zL3ZhbGlkYXRpb25cIjtcbiIsIi8vXG4vLyBMYWJlbHNcbi8vXG5cbi5mb3JtLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWxhYmVsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgZm9udC1zdHlsZTogJGZvcm0tbGFiZWwtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xufVxuIiwiLy9cbi8vIEZvcm0gdGV4dFxuLy9cblxuLmZvcm0tdGV4dCB7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXRleHQtZm9udC1zaXplKTtcbiAgZm9udC1zdHlsZTogJGZvcm0tdGV4dC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tdGV4dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG59XG4iLCIvL1xuLy8gR2VuZXJhbCBmb3JtIGNvbnRyb2xzIChwbHVzIGEgZmV3IHNwZWNpZmljIGhpZ2gtbGV2ZWwgaW50ZXJ2ZW50aW9ucylcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgJlt0eXBlPVwiZmlsZVwiXSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcHJldmVudCBwc2V1ZG8gZWxlbWVudCBidXR0b24gb3ZlcmxhcFxuXG4gICAgJjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBBZGQgc29tZSBoZWlnaHQgdG8gZGF0ZSBpbnB1dHMgb24gaU9TXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjMzMDdcbiAgLy8gVE9ETzogd2UgY2FuIHJlbW92ZSB0aGlzIHdvcmthcm91bmQgb25jZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTU5IGlzIHJlc29sdmVkXG4gICY6Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSB7XG4gICAgLy8gTXVsdGlwbHkgbGluZS1oZWlnaHQgYnkgMWVtIGlmIGl0IGhhcyBubyB1bml0XG4gICAgaGVpZ2h0OiBpZih1bml0KCRpbnB1dC1saW5lLWhlaWdodCkgPT0gXCJcIiwgJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtbGluZS1oZWlnaHQpO1xuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBGaWxlIGlucHV0IGJ1dHRvbnMgdGhlbWluZ1xuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15KSAoLSRpbnB1dC1wYWRkaW5nLXgpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14O1xuICAgIGNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSk6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1ob3Zlci1iZztcbiAgfVxufVxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteS1zbSkgKC0kaW5wdXQtcGFkZGluZy14LXNtKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktbGcpICgtJGlucHV0LXBhZGRpbmcteC1sZyk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIH1cbn1cblxuLy8gTWFrZSBzdXJlIHRleHRhcmVhcyBkb24ndCBzaHJpbmsgdG9vIG11Y2ggd2hlbiByZXNpemVkXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yOTEyNFxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG50ZXh0YXJlYSB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20ge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgfVxufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLmZvcm0tY29udHJvbC1jb2xvciB7XG4gIHdpZHRoOiAkZm9ybS1jb2xvci13aWR0aDtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15O1xuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOjotbW96LWNvbG9yLXN3YXRjaCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotd2Via2l0LWNvbG9yLXN3YXRjaCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSB7IGhlaWdodDogJGlucHV0LWhlaWdodC1zbTsgfVxuICAmLmZvcm0tY29udHJvbC1sZyB7IGhlaWdodDogJGlucHV0LWhlaWdodC1sZzsgfVxufVxuIiwiLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cblxuLmZvcm0tc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAkZm9ybS1zZWxlY3QtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gIC1tb3otcGFkZGluZy1zdGFydDogc3VidHJhY3QoJGZvcm0tc2VsZWN0LXBhZGRpbmcteCwgM3B4KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMzI2MzZcbiAgZm9udC1mYW1pbHk6ICRmb3JtLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tc2VsZWN0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtYmc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbjtcbiAgYmFja2dyb3VuZC1zaXplOiAkZm9ybS1zZWxlY3QtYmctc2l6ZTtcbiAgYm9yZGVyOiAkZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1zZWxlY3QtdHJhbnNpdGlvbik7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93LCAkZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGZvcm0tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5mb3JtLXNlbGVjdC1zbSB7XG4gIHBhZGRpbmctdG9wOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1zZWxlY3QtbGcge1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cbiIsIi8vXG4vLyBDaGVjay9yYWRpb1xuLy9cblxuLmZvcm0tY2hlY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvcm0tY2hlY2stbWluLWhlaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tO1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydCAqIC0xO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLXJldmVyc2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICB3aWR0aDogJGZvcm0tY2hlY2staW5wdXQtd2lkdGg7XG4gIGhlaWdodDogJGZvcm0tY2hlY2staW5wdXQtd2lkdGg7XG4gIG1hcmdpbi10b3A6ICgkbGluZS1oZWlnaHQtYmFzZSAtICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoKSAqIC41OyAvLyBsaW5lLWhlaWdodCBtaW51cyBjaGVjayBoZWlnaHRcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtYmc7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3JkZXI6ICRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1jaGVjay10cmFuc2l0aW9uKTtcblxuICAmW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBmaWx0ZXI6ICRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAmOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjtcblxuICAgICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZSksIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2UpLCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJlt0eXBlPVwiY2hlY2tib3hcIl06aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZSksIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2UpO1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGZpbHRlcjogbm9uZTtcbiAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG5cbiAgLy8gVXNlIGRpc2FibGVkIGF0dHJpYnV0ZSBpbiBhZGRpdGlvbiBvZiA6ZGlzYWJsZWQgcHNldWRvLWNsYXNzXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiAkZm9ybS1jaGVjay1sYWJlbC1jb2xvcjtcbiAgY3Vyc29yOiAkZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I7XG59XG5cbi8vXG4vLyBTd2l0Y2hcbi8vXG5cbi5mb3JtLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHdpZHRoOiAkZm9ybS1zd2l0Y2gtd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtYmctaW1hZ2UpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tc3dpdGNoLXRyYW5zaXRpb24pO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZSk7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uO1xuXG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlKSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDtcbn1cblxuLmJ0bi1jaGVjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgICsgLmJ0biB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uZm9ybS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGFkZCgkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQsICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0KSAqIC41OyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGaXJlZm94IHNwZWNpZmljP1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtLWZsb2F0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIGhlaWdodDogJGZvcm0tZmxvYXRpbmctaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDtcbiAgfVxuXG4gID4gbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IC8vIGFsbG93IHRleHRhcmVhc1xuICAgIHBhZGRpbmc6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gUmVxdWlyZWQgZm9yIGFsaWduaW5nIGxhYmVsJ3MgdGV4dCB3aXRoIHRoZSBpbnB1dCBhcyBpdCBhZmZlY3RzIGlubmVyIGJveCBtb2RlbFxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICBwYWRkaW5nOiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gICAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgICB9XG4gICAgLy8gRHVwbGljYXRlZCBiZWNhdXNlIGA6LXdlYmtpdC1hdXRvZmlsbGAgaW52YWxpZGF0ZXMgb3RoZXIgc2VsZWN0b3JzIHdoZW4gZ3JvdXBlZFxuICAgICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgICB9XG4gIH1cblxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLWNvbnRyb2w6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk7XG4gICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cbiAgLy8gRHVwbGljYXRlZCBiZWNhdXNlIGA6LXdlYmtpdC1hdXRvZmlsbGAgaW52YWxpZGF0ZXMgb3RoZXIgc2VsZWN0b3JzIHdoZW4gZ3JvdXBlZFxuICA+IC5mb3JtLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5O1xuICAgICAgdHJhbnNmb3JtOiAkZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm07XG4gICAgfVxuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDsgLy8gUmVxdWlyZWQgdG8gcHJvcGVybHkgcG9zaXRpb24gbGFiZWwgdGV4dCAtIGFzIGV4cGxhaW5lZCBhYm92ZVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLXNlbGVjdCxcbiAgPiAuZm9ybS1mbG9hdGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xuICAgIG1pbi13aWR0aDogMDsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzYyNDcxNDAvd2h5LWRvbnQtZmxleC1pdGVtcy1zaHJpbmstcGFzdC1jb250ZW50LXNpemVcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuZm9ybS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmZvcm0tZmxvYXRpbmc6Zm9jdXMtd2l0aGluIHtcbiAgICB6LWluZGV4OiA1O1xuICB9XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteSAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteCArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uaW5wdXQtZ3JvdXAge1xuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguZm9ybS1mbG9hdGluZyksXG4gICAgPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6bGFzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IDpudGgtbGFzdC1jaGlsZChuICsgMyk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDQpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tY29udHJvbCxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAkdmFsaWRhdGlvbi1tZXNzYWdlczogXCJcIjtcbiAgQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCRmb3JtLXZhbGlkYXRpb24tc3RhdGVzKSB7XG4gICAgJHZhbGlkYXRpb24tbWVzc2FnZXM6ICR2YWxpZGF0aW9uLW1lc3NhZ2VzICsgXCI6bm90KC5cIiArIHVucXVvdGUoJHN0YXRlKSArIFwiLXRvb2x0aXApXCIgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItZmVlZGJhY2spXCI7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLW1lbnUpI3skdmFsaWRhdGlvbi1tZXNzYWdlc30ge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZpcnN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyLXNpZGUgdmFsaWRhdGlvbi5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMtbG9vcFxuQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRkYXRhLi4uKTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLXN0YXRlcy1sb29wXG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXg6ICN7JGJ0bi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRidG4tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtZmFtaWx5OiAjeyRidG4tZm9udC1mYW1pbHl9O1xuICBAaW5jbHVkZSByZnMoJGJ0bi1mb250LXNpemUsIC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQ6ICN7JGJ0bi1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1saW5lLWhlaWdodDogI3skYnRuLWxpbmUtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRib2R5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aDogI3skYnRuLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYnRuLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3c6ICN7JGJ0bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHk6ICN7JGJ0bi1kaXNhYmxlZC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwICN7JGJ0bi1mb2N1cy13aWR0aH0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2IpLCAuNSk7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnRuLWNzcy12YXJzXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXgpO1xuICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogaWYoJGVuYWJsZS1idXR0b24tcG9pbnRlcnMsIHBvaW50ZXIsIG51bGwpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJnKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuYnRuLWNoZWNrICsgJjpob3ZlciB7XG4gICAgLy8gb3ZlcnJpZGUgZm9yIHRoZSBjaGVja2JveC9yYWRpbyBidXR0b25zXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpmb2N1cy12aXNpYmxlICsgJiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmNoZWNrZWQgKyAmLFxuICA6bm90KC5idG4tY2hlY2spICsgJjphY3RpdmUsXG4gICY6Zmlyc3QtY2hpbGQ6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJi5zaG93IHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnKTtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSk7XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldDpkaXNhYmxlZCAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LWxvb3BzXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpZiAkY29sb3IgPT0gXCJsaWdodFwiIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJGhvdmVyLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkaG92ZXItYm9yZGVyOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJvcmRlcjogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KVxuICAgICAgKTtcbiAgICB9IEBlbHNlIGlmICRjb2xvciA9PSBcImRhcmtcIiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCksXG4gICAgICAgICRob3Zlci1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogdGludC1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpXG4gICAgICApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LWxvb3BzXG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtbm9ybWFsfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiBub25lO1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IobWl4KGNvbG9yLWNvbnRyYXN0KCRwcmltYXJ5KSwgJHByaW1hcnksIDE1JSkpfTtcblxuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLWNsYXNzZXNcbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG5cbiAgJi5jb2xsYXBzZS1ob3Jpem9udGFsIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sbGFwc2UtY2xhc3Nlc1xuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3BlbmQsXG4uZHJvcGRvd24sXG4uZHJvcHN0YXJ0LFxuLmRyb3B1cC1jZW50ZXIsXG4uZHJvcGRvd24tY2VudGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24temluZGV4OiAjeyR6aW5kZXgtZHJvcGRvd259O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1taW4td2lkdGg6ICN7JGRyb3Bkb3duLW1pbi13aWR0aH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteDogI3skZHJvcGRvd24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy15OiAjeyRkcm9wZG93bi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXI6ICN7JGRyb3Bkb3duLXNwYWNlcn07XG4gIEBpbmNsdWRlIHJmcygkZHJvcGRvd24tZm9udC1zaXplLCAtLSN7JHByZWZpeH1kcm9wZG93bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcjogI3skZHJvcGRvd24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1iZzogI3skZHJvcGRvd24tYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JGRyb3Bkb3duLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItd2lkdGg6ICN7JGRyb3Bkb3duLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnOiAjeyRkcm9wZG93bi1kaXZpZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogI3skZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3c6ICN7JGRyb3Bkb3duLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogI3skZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICN7JGRyb3Bkb3duLWxpbmstaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogI3skZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogI3skZHJvcGRvd24tbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAjeyRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogI3skZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tY3NzLXZhcnNcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBtaW4td2lkdGg6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1taW4td2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy14KTtcbiAgbWFyZ2luOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IG1hcmdpbiBvZiB1bFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3cpKTtcblxuICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICA+IC5kcm9wZG93bi1pdGVtOmZpcnN0LWNoaWxkLFxuICAgID4gbGk6Zmlyc3QtY2hpbGQgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gICAgPiAuZHJvcGRvd24taXRlbTpsYXN0LWNoaWxkLFxuICAgID4gbGk6bGFzdC1jaGlsZCAuZHJvcGRvd24taXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cblxuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZXNwb25zaXZlLWJyZWFrcG9pbnRzXG4vLyBXZSBkZWxpYmVyYXRlbHkgaGFyZGNvZGUgdGhlIGBicy1gIHByZWZpeCBiZWNhdXNlIHdlIGNoZWNrXG4vLyB0aGlzIGN1c3RvbSBwcm9wZXJ0eSBpbiBKUyB0byBkZXRlcm1pbmUgUG9wcGVyJ3MgcG9zaXRpb25pbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tc3RhcnQge1xuICAgICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG5cbiAgICAgICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tZW5kIHtcbiAgICAgIC0tYnMtcG9zaXRpb246IGVuZDtcblxuICAgICAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcGVuZCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChlbmQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcHN0YXJ0IHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChzdGFydCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgb3BhY2l0eTogMTsgLy8gUmV2aXNpdCBpbiB2NiB0byBkZS1kdXBlIHN0eWxlcyB0aGF0IGNvbmZsaWN0IHdpdGggPGhyPiBlbGVtZW50XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnKSk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmcpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3IpO1xufVxuXG4vLyBEYXJrIGRyb3Bkb3duc1xuLmRyb3Bkb3duLW1lbnUtZGFyayB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWRhcmstYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdzogI3skZHJvcGRvd24tZGFyay1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstY3NzLXZhcnNcbn1cbiIsIi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gID4gLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bixcbiAgPiAuYnRuLWNoZWNrOmZvY3VzICsgLmJ0bixcbiAgPiAuYnRuOmhvdmVyLFxuICA+IC5idG46Zm9jdXMsXG4gID4gLmJ0bjphY3RpdmUsXG4gID4gLmJ0bi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnRuLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiA6bm90KC5idG4tY2hlY2s6Zmlyc3QtY2hpbGQpICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDpmaXJzdC1jaGlsZCxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgfVxuXG4gIC8vIFRoZSBsZWZ0IHJhZGl1cyBzaG91bGQgYmUgMCBpZiB0aGUgYnV0dG9uIGlzOlxuICAvLyAtIHRoZSBcInRoaXJkIG9yIG1vcmVcIiBjaGlsZFxuICAvLyAtIHRoZSBzZWNvbmQgY2hpbGQgYW5kIHRoZSBwcmV2aW91cyBlbGVtZW50IGlzbid0IGAuYnRuLWNoZWNrYCAobWFraW5nIGl0IHRoZSBmaXJzdCBjaGlsZCB2aXN1YWxseSlcbiAgLy8gLSBwYXJ0IG9mIGEgYnRuLWdyb3VwIHdoaWNoIGlzbid0IHRoZSBmaXJzdCBjaGlsZFxuICA+IC5idG46bnRoLWNoaWxkKG4gKyAzKSxcbiAgPiA6bm90KC5idG4tY2hlY2spICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3BlbmQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BzdGFydCAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5zaG93IC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuIH4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdi1saW5rLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRuYXYtbGluay1mb250LXNpemUsIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0OiAjeyRuYXYtbGluay1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yOiAjeyRuYXYtbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yOiAjeyRuYXYtbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRuYXYtbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJG5hdi1saW5rLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdGFicy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGg6ICN7JG5hdi10YWJzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXJhZGl1czogI3skbmF2LXRhYnMtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdGFicy1jc3MtdmFyc1xuXG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3IpO1xuXG4gIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1yYWRpdXMpKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBQcmV2ZW50cyBhY3RpdmUgLm5hdi1saW5rIHRhYiBvdmVybGFwcGluZyBmb2N1cyBvdXRsaW5lIG9mIHByZXZpb3VzL25leHQgLm5hdi1saW5rXG4gICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3IpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtcGlsbHMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICN7JG5hdi1waWxscy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICN7JG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXBpbGxzLWNzcy12YXJzXG5cbiAgLm5hdi1saW5rIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmcpKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWZpbGwsXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSAubmF2LWxpbmsge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBNYWtlIHN1cmUgYnV0dG9uIHdpbGwgZ3Jvd1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXg6ICN7aWYoJG5hdmJhci1wYWRkaW5nLXggPT0gbnVsbCwgMCwgJG5hdmJhci1wYWRkaW5nLXgpfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteTogI3skbmF2YmFyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3I6ICN7JG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3I6ICN7JG5hdmJhci1saWdodC1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15OiAjeyRuYXZiYXItYnJhbmQtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICN7JG5hdmJhci1icmFuZC1tYXJnaW4tZW5kfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogI3skbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAjeyRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAjeyRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICN7JG5hdmJhci10b2dnbGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogI3skbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogI3skbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAjeyRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXRyYW5zaXRpb246ICN7JG5hdmJhci10b2dnbGVyLXRyYW5zaXRpb259O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgLy8gVGhlIGBmbGV4LXdyYXBgIHByb3BlcnR5IGlzIGluaGVyaXRlZCB0byBzaW1wbGlmeSB0aGUgZXhwYW5kZWQgbmF2YmFyc1xuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICA+IC5jb250YWluZXIsXG4gID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1tYXJnaW4tZW5kKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLW5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6IDA7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRuYXYtbGluay1mb250LXNpemUsIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0OiAjeyRuYXYtbGluay1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcik7XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLW5hdi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLnNob3cgPiAubmF2LWxpbmssXG4gIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcik7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG5cbiAgYSxcbiAgYTpob3ZlcixcbiAgYTpmb2N1cyAge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVudGF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb250LXNpemUpKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3IpOyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uKSk7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoKTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1zY3JvbGwtaGVpZ2h0LCA3NXZoKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1leHBhbmQtbG9vcFxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tdW5pb24tY2xhc3MtbmFtZVxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAub2ZmY2FudmFzIHtcbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG5vbmUpO1xuICAgICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5vZmZjYW52YXMtYm9keSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1leHBhbmQtbG9vcFxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4ubmF2YmFyLWxpZ2h0IHtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYC5uYXZiYXItbGlnaHRgXCIsIFwidjUuMi4wXCIsIFwidjYuMC4wXCIsIHRydWUpO1xufVxuXG4ubmF2YmFyLWRhcmsge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWRhcmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3I6ICN7JG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yOiAjeyRuYXZiYXItZGFyay1icmFuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay1jc3MtdmFyc1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBjYXJkLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXk6ICN7JGNhcmQtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14OiAjeyRjYXJkLXNwYWNlci14fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteTogI3skY2FyZC10aXRsZS1zcGFjZXIteX07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoOiAjeyRjYXJkLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yOiAjeyRjYXJkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1czogI3skY2FyZC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93OiAjeyRjYXJkLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteTogI3skY2FyZC1jYXAtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1iZzogI3skY2FyZC1jYXAtYmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcjogI3skY2FyZC1jYXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWhlaWdodDogI3skY2FyZC1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNvbG9yOiAjeyRjYXJkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1iZzogI3skY2FyZC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogI3skY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ncm91cC1tYXJnaW46ICN7JGNhcmQtZ3JvdXAtbWFyZ2lufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0KTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3cpKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jb2xvcik7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpO1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXgpO1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgfVxufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWltZy1vdmVybGF5LXBhZGRpbmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFjY29yZGlvbiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhY2NvcmRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yOiAjeyRhY2NvcmRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYmc6ICN7JGFjY29yZGlvbi1iZ307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uOiAjeyRhY2NvcmRpb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3I6ICN7JGFjY29yZGlvbi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAjeyRhY2NvcmRpb24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXk6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYmd9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aDogI3skYWNjb3JkaW9uLWljb24td2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtOiAjeyRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm19O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbjogI3skYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbil9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJvcmRlci1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3c6ICN7JGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tY3NzLXZhcnNcbn1cblxuLmFjY29yZGlvbi1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBSZXNldCBidXR0b24gc3R5bGVcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmcpO1xuICBib3JkZXI6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb24pKTtcblxuICAmOm5vdCguY29sbGFwc2VkKSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpKSAwIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uKTtcbiAgICAgIHRyYW5zZm9ybTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjY29yZGlvbiBpY29uXG4gICY6OmFmdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24pO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbikpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuLmFjY29yZGlvbi1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYWNjb3JkaW9uLWl0ZW0ge1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuXG4gIC8vIE9ubHkgc2V0IGEgYm9yZGVyLXJhZGl1cyBvbiB0aGUgbGFzdCBpdGVtIGlmIHRoZSBhY2NvcmRpb24gaXMgY29sbGFwc2VkXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuLmFjY29yZGlvbi1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteCk7XG59XG5cblxuLy8gRmx1c2ggYWNjb3JkaW9uIGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBhY2NvcmRpb24gaXRlbXMgZWRnZS10by1lZGdlLlxuXG4uYWNjb3JkaW9uLWZsdXNoIHtcbiAgLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICAgICY6Zmlyc3QtY2hpbGQgeyBib3JkZXItdG9wOiAwOyB9XG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4gICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgJixcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXk6ICN7JGJyZWFkY3J1bWItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAjeyRicmVhZGNydW1iLW1hcmdpbi1ib3R0b219O1xuICBAaW5jbHVkZSByZnMoJGJyZWFkY3J1bWItZm9udC1zaXplLCAtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmc6ICN7JGJyZWFkY3J1bWItYmd9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICN7JGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogI3skYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICN7JGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b20pO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3IpO1xuICAgICAgY29udGVudDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKSkgI3tcIi8qIHJ0bDpcIn0gdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQpKSAje1wiKi9cIn07XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZ2luYXRpb24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZ2luYXRpb24tcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRwYWdpbmF0aW9uLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZzogI3skcGFnaW5hdGlvbi1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmc6ICN7JHBhZ2luYXRpb24taG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZzogI3skcGFnaW5hdGlvbi1mb2N1cy1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogI3skcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYmc6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHBhZ2luYXRpb24tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYmcpO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgLmFjdGl2ZSA+ICYge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJnKSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gIC5kaXNhYmxlZCA+ICYge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKSAucGFnZS1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0O1xuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydCA9PSAoJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoICogLTEpIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEFkZCBib3JkZXItcmFkaXVzIHRvIGFsbCBwYWdlTGlua3MgaW4gY2FzZSB0aGV5IGhhdmUgbGVmdCBtYXJnaW5cbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteDogI3skYmFkZ2UtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy15OiAjeyRiYWRnZS1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGJhZGdlLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC13ZWlnaHQ6ICN7JGJhZGdlLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3I6ICN7JGJhZGdlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1czogI3skYmFkZ2UtYm9yZGVyLXJhZGl1c307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWFsZXJ0LWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy14OiAjeyRhbGVydC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXk6ICN7JGFsZXJ0LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFsZXJ0LW1hcmdpbi1ib3R0b206ICN7JGFsZXJ0LW1hcmdpbi1ib3R0b219O1xuICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogaW5oZXJpdDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyOiAjeyRhbGVydC1ib3JkZXItd2lkdGh9IHNvbGlkIHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzOiAjeyRhbGVydC1ib3JkZXItcmFkaXVzfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5idG4tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXggKyAxO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgKiAxLjI1ICRhbGVydC1wYWRkaW5nLXg7XG4gIH1cbn1cblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtbW9kaWZpZXJzXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AZWFjaCAkc3RhdGUsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgJGFsZXJ0LWJhY2tncm91bmQ6IHNoaWZ0LWNvbG9yKCR2YWx1ZSwgJGFsZXJ0LWJnLXNjYWxlKTtcbiAgJGFsZXJ0LWJvcmRlcjogc2hpZnQtY29sb3IoJHZhbHVlLCAkYWxlcnQtYm9yZGVyLXNjYWxlKTtcbiAgJGFsZXJ0LWNvbG9yOiBzaGlmdC1jb2xvcigkdmFsdWUsICRhbGVydC1jb2xvci1zY2FsZSk7XG5cbiAgQGlmIChjb250cmFzdC1yYXRpbygkYWxlcnQtYmFja2dyb3VuZCwgJGFsZXJ0LWNvbG9yKSA8ICRtaW4tY29udHJhc3QtcmF0aW8pIHtcbiAgICAkYWxlcnQtY29sb3I6IG1peCgkdmFsdWUsIGNvbG9yLWNvbnRyYXN0KCRhbGVydC1iYWNrZ3JvdW5kKSwgYWJzKCRhbGVydC1jb2xvci1zY2FsZSkpO1xuICB9XG4gIC5hbGVydC0jeyRzdGF0ZX0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWJhY2tncm91bmQsICRhbGVydC1ib3JkZXIsICRhbGVydC1jb2xvcik7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtbW9kaWZpZXJzXG4iLCIvLyBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWRcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLWtleWZyYW1lc1xuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICAwJSB7IGJhY2tncm91bmQtcG9zaXRpb24teDogJHByb2dyZXNzLWhlaWdodDsgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLWtleWZyYW1lc1xuXG4ucHJvZ3Jlc3Mge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0OiAjeyRwcm9ncmVzcy1oZWlnaHR9O1xuICBAaW5jbHVkZSByZnMoJHByb2dyZXNzLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmc6ICN7JHByb2dyZXNzLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogI3skcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJveC1zaGFkb3c6ICN7JHByb2dyZXNzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItY29sb3I6ICN7JHByb2dyZXNzLWJhci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZzogI3skcHJvZ3Jlc3MtYmFyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICN7JHByb2dyZXNzLWJhci10cmFuc2l0aW9ufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodCk7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWZvbnQtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJveC1zaGFkb3cpKTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci10cmFuc2l0aW9uKSk7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KSB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3I6ICN7JGxpc3QtZ3JvdXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJnOiAjeyRsaXN0LWdyb3VwLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAjeyRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAjeyRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogI3skbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiAjeyRsaXN0LWdyb3VwLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICN7JGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWJnOiAjeyRsaXN0LWdyb3VwLWRpc2FibGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xufVxuXG4ubGlzdC1ncm91cC1udW1iZXJlZCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogc2VjdGlvbjtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW06OmJlZm9yZSB7XG4gICAgLy8gSW5jcmVtZW50cyBvbmx5IHRoaXMgaW5zdGFuY2Ugb2YgdGhlIHNlY3Rpb24gY291bnRlclxuICAgIGNvbnRlbnQ6IGNvdW50ZXJzKHNlY3Rpb24sIFwiLlwiKSBcIi4gXCI7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IHNlY3Rpb247XG4gIH1cbn1cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMTsgLy8gUGxhY2UgaG92ZXIvZm9jdXMgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmcpO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnKTtcbiAgfVxufVxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1iZyk7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9zZWxlY3Rvci1uby1yZWR1bmRhbnQtbmVzdGluZy1zZWxlY3RvclxuICAmICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLWVuZC1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4vLyBMaXN0IGdyb3VwIGNvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJHN0YXRlLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICRsaXN0LWdyb3VwLXZhcmlhbnQtYmc6IHNoaWZ0LWNvbG9yKCR2YWx1ZSwgJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZSk7XG4gICRsaXN0LWdyb3VwLXZhcmlhbnQtY29sb3I6IHNoaWZ0LWNvbG9yKCR2YWx1ZSwgJGxpc3QtZ3JvdXAtaXRlbS1jb2xvci1zY2FsZSk7XG4gIEBpZiAoY29udHJhc3QtcmF0aW8oJGxpc3QtZ3JvdXAtdmFyaWFudC1iZywgJGxpc3QtZ3JvdXAtdmFyaWFudC1jb2xvcikgPCAkbWluLWNvbnRyYXN0LXJhdGlvKSB7XG4gICAgJGxpc3QtZ3JvdXAtdmFyaWFudC1jb2xvcjogbWl4KCR2YWx1ZSwgY29sb3ItY29udHJhc3QoJGxpc3QtZ3JvdXAtdmFyaWFudC1iZyksIGFicygkbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlKSk7XG4gIH1cblxuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRsaXN0LWdyb3VwLXZhcmlhbnQtYmcsICRsaXN0LWdyb3VwLXZhcmlhbnQtY29sb3IpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuIiwiLy8gVHJhbnNwYXJlbnQgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHByb3BlcnRpZXMgaW5jbHVkZWQgZm9yIGJ1dHRvbiB2ZXJzaW9uLlxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4uYnRuLWNsb3NlIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAkYnRuLWNsb3NlLXdpZHRoO1xuICBoZWlnaHQ6ICRidG4tY2xvc2UtaGVpZ2h0O1xuICBwYWRkaW5nOiAkYnRuLWNsb3NlLXBhZGRpbmcteSAkYnRuLWNsb3NlLXBhZGRpbmcteDtcbiAgY29sb3I6ICRidG4tY2xvc2UtY29sb3I7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IGVzY2FwZS1zdmcoJGJ0bi1jbG9zZS1iZykgY2VudGVyIC8gJGJ0bi1jbG9zZS13aWR0aCBhdXRvIG5vLXJlcGVhdDsgLy8gaW5jbHVkZSB0cmFuc3BhcmVudCBmb3IgYnV0dG9uIGVsZW1lbnRzXG4gIGJvcmRlcjogMDsgLy8gZm9yIGJ1dHRvbiBlbGVtZW50c1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG4gIG9wYWNpdHk6ICRidG4tY2xvc2Utb3BhY2l0eTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGJ0bi1jbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3BhY2l0eTogJGJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkYnRuLWNsb3NlLWZvY3VzLXNoYWRvdztcbiAgICBvcGFjaXR5OiAkYnRuLWNsb3NlLWZvY3VzLW9wYWNpdHk7XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvcGFjaXR5OiAkYnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cbn1cblxuLmJ0bi1jbG9zZS13aGl0ZSB7XG4gIGZpbHRlcjogJGJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI7XG59XG4iLCIudG9hc3Qge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4OiAjeyR6aW5kZXgtdG9hc3R9O1xuICAtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXg6ICN7JHRvYXN0LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteTogI3skdG9hc3QtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3Qtc3BhY2luZzogI3skdG9hc3Qtc3BhY2luZ307XG4gIC0tI3skcHJlZml4fXRvYXN0LW1heC13aWR0aDogI3skdG9hc3QtbWF4LXdpZHRofTtcbiAgQGluY2x1ZGUgcmZzKCR0b2FzdC1mb250LXNpemUsIC0tI3skcHJlZml4fXRvYXN0LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXRvYXN0LWNvbG9yOiAjeyR0b2FzdC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJnOiAjeyR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoOiAjeyR0b2FzdC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItY29sb3I6ICN7JHRvYXN0LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXM6ICN7JHRvYXN0LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3gtc2hhZG93OiAjeyR0b2FzdC1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWNvbG9yOiAjeyR0b2FzdC1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYmc6ICN7JHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogI3skdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtY3NzLXZhcnNcblxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvYXN0LW1heC13aWR0aCk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH10b2FzdC1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXMpKTtcblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWNvbnRhaW5lciB7XG4gIC0tI3skcHJlZml4fXRvYXN0LXppbmRleDogI3skemluZGV4LXRvYXN0fTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH10b2FzdC16aW5kZXgpO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgPiA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXRvYXN0LXNwYWNpbmcpO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhjYWxjKHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItcmFkaXVzKSAtIHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpKSk7XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIH1cbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW1vZGFsLXppbmRleDogI3skemluZGV4LW1vZGFsfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLW1kfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZzogI3skbW9kYWwtaW5uZXItcGFkZGluZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbjogI3skbW9kYWwtZGlhbG9nLW1hcmdpbn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWNvbG9yOiAjeyRtb2RhbC1jb250ZW50LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYmc6ICN7JG1vZGFsLWNvbnRlbnQtYmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1yYWRpdXM6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15OiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmc6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nfTsgLy8gVG9kbyBpbiB2NjogU3BsaXQgdGhpcyBwYWRkaW5nIGludG8geCBhbmQgeVxuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogI3skbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAjeyRtb2RhbC10aXRsZS1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXA6ICN7JG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2Vlbn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1iZzogI3skbW9kYWwtZm9vdGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogI3skbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGh9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1tb2RhbC16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3cpKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleDogI3skemluZGV4LW1vZGFsLWJhY2tkcm9wfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmc6ICN7JG1vZGFsLWJhY2tkcm9wLWJnfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eTogI3skbW9kYWwtYmFja2Ryb3Atb3BhY2l0eX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtYmFja2Ryb3AtY3NzLXZhcnNcblxuICBAaW5jbHVkZSBvdmVybGF5LWJhY2tkcm9wKHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXgpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmcpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eSkpO1xufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIFB1dCBtb2RhbCBoZWFkZXIgZWxlbWVudHMgKHRpdGxlIGFuZCBkaXNtaXNzKSBvbiBvcHBvc2l0ZSBlbmRzXG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKiAuNSkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteCkgKiAuNSk7XG4gICAgbWFyZ2luOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSkgY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteCkpIGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpKSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1tb2RhbC10aXRsZS1saW5lLWhlaWdodCk7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmcpO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nKSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwKSAqIC41KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1iZyk7XG4gIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gID4gKiB7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwKSAqIC41KTsgLy8gVG9kbyBpbiB2NjogcmVwbGFjZSB3aXRoIGdhcCBvbiBwYXJlbnQgY2xhc3NcbiAgfVxufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLm1vZGFsIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW46ICN7JG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cH07XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdzogI3skbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwfTtcbiAgfVxuXG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGgpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1zbSB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLXNtfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtbGd9O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm1vZGFsLXhsIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwteGx9O1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1mdWxsc2NyZWVuLWxvb3BcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkcG9zdGZpeDogaWYoJGluZml4ICE9IFwiXCIsICRpbmZpeCArIFwiLWRvd25cIiwgXCJcIik7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgLm1vZGFsLWZ1bGxzY3JlZW4jeyRwb3N0Zml4fSB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1oZWFkZXIsXG4gICAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cblxuICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1mdWxsc2NyZWVuLWxvb3BcbiIsIi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC16aW5kZXg6ICN7JHppbmRleC10b29sdGlwfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXgtd2lkdGg6ICN7JHRvb2x0aXAtbWF4LXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXg6ICN7JHRvb2x0aXAtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXk6ICN7JHRvb2x0aXAtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXJnaW46ICN7JHRvb2x0aXAtbWFyZ2lufTtcbiAgQGluY2x1ZGUgcmZzKCR0b29sdGlwLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9dG9vbHRpcC1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH10b29sdGlwLWNvbG9yOiAjeyR0b29sdGlwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1iZzogI3skdG9vbHRpcC1iZ307XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYm9yZGVyLXJhZGl1czogI3skdG9vbHRpcC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1vcGFjaXR5OiAjeyR0b29sdGlwLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoOiAjeyR0b29sdGlwLWFycm93LXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICN7JHRvb2x0aXAtYXJyb3ctaGVpZ2h0fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLWNzcy12YXJzXG5cbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtemluZGV4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtbWFyZ2luKTtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYCR0b29sdGlwLW1hcmdpbmBcIiwgXCJ2NVwiLCBcInY1LnhcIiwgdHJ1ZSk7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXRvb2x0aXAtZm9udC1zaXplKSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1vcGFjaXR5KTsgfVxuXG4gIC50b29sdGlwLWFycm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXRvcCAudG9vbHRpcC1hcnJvdyB7XG4gIGJvdHRvbTogMDtcblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtZW5kIC50b29sdGlwLWFycm93IHtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXRvb2x0aXAtYm90dG9tIC50b29sdGlwLWFycm93IHtcbiAgdG9wOiAwO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogMCBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtdG9vbHRpcC1zdGFydCAudG9vbHRpcC1hcnJvdyB7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1zdGFydDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1ib3JkZXItcmFkaXVzKSk7XG59XG4iLCIucG9wb3ZlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXBvcG92ZXItemluZGV4OiAjeyR6aW5kZXgtcG9wb3Zlcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItbWF4LXdpZHRoOiAjeyRwb3BvdmVyLW1heC13aWR0aH07XG4gIEBpbmNsdWRlIHJmcygkcG9wb3Zlci1mb250LXNpemUsIC0tI3skcHJlZml4fXBvcG92ZXItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1iZzogI3skcG9wb3Zlci1iZ307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoOiAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yOiAjeyRwb3BvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXJhZGl1czogI3skcG9wb3Zlci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJveC1zaGFkb3c6ICN7JHBvcG92ZXItYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogI3skcG9wb3Zlci1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAjeyRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItY29sb3I6ICN7JHBvcG92ZXItaGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmc6ICN7JHBvcG92ZXItaGVhZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteDogI3skcG9wb3Zlci1ib2R5LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICN7JHBvcG92ZXItYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktY29sb3I6ICN7JHBvcG92ZXItYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGg6ICN7JHBvcG92ZXItYXJyb3ctd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodDogI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyLWNzcy12YXJzXG5cbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItemluZGV4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItbWF4LXdpZHRoKTtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1mb250LXNpemUpKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3gtc2hhZG93KSk7XG5cbiAgLnBvcG92ZXItYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICBib3R0b206IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy1wb3BvdmVyLWVuZCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGxlZnQ6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHRvcDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy1wb3BvdmVyLXN0YXJ0IHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgcmlnaHQ6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWVuZDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItc3RhcnQ7XG4gIH1cbn1cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LWNvbG9yKTtcbn1cbiIsIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5jYXJvdXNlbC1pdGVtLWVuZCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tZW5kXG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLXN0YXJ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLWVuZCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKSwgbnVsbCk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKSwgbnVsbCk7XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLyogcnRsOm9wdGlvbnM6IHtcbiAgXCJhdXRvUmVuYW1lXCI6IHRydWUsXG4gIFwic3RyaW5nTWFwXCI6WyB7XG4gICAgXCJuYW1lXCIgICAgOiBcInByZXYtbmV4dFwiLFxuICAgIFwic2VhcmNoXCIgIDogXCJwcmV2XCIsXG4gICAgXCJyZXBsYWNlXCIgOiBcIm5leHRcIlxuICB9IF1cbn0gKi9cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKTtcbn1cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHMvY29udHJvbHNcbi8vXG4vLyBBZGQgYSBjb250YWluZXIgKHN1Y2ggYXMgYSBsaXN0KSB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhbiBpdGVtIChpZGVhbGx5IGEgZm9jdXNhYmxlIGNvbnRyb2wsXG4vLyBsaWtlIGEgYnV0dG9uKSB3aXRoIGRhdGEtYnMtdGFyZ2V0IGZvciBlYWNoIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBbZGF0YS1icy10YXJnZXRdIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6IDA7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgYm90dG9tOiAkY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIHBhZGRpbmctdG9wOiAkY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBEYXJrIG1vZGUgY2Fyb3VzZWxcblxuLmNhcm91c2VsLWRhcmsge1xuICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4gIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gICAgZmlsdGVyOiAkY2Fyb3VzZWwtZGFyay1jb250cm9sLWljb24tZmlsdGVyO1xuICB9XG5cbiAgLmNhcm91c2VsLWluZGljYXRvcnMgW2RhdGEtYnMtdGFyZ2V0XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWRhcmstaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgfVxuXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjtcbiAgfVxufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuLnNwaW5uZXItZ3Jvdyxcbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ24pO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQpIGxpbmVhciBpbmZpbml0ZSB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZSk7XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgI3tcIi8qIHJ0bDppZ25vcmUgKi9cIn07IH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXIta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogI3skc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbn07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoOiAjeyRzcGlubmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItYm9yZGVyO1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLWNzcy12YXJzXG5cbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGgpIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogI3skc3Bpbm5lci1ib3JkZXItd2lkdGgtc219O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItZ3Jvdy1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWdyb3cta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWdyb3cge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ncm93LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAjeyRzcGlubmVyLXZlcnRpY2FsLWFsaWdufTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ncm93O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItZ3Jvdy1jc3MtdmFyc1xuXG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xufVxuXG5AaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNwaW5uZXItYm9yZGVyLFxuICAgIC5zcGlubmVyLWdyb3cge1xuICAgICAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkICogMn07XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJW9mZmNhbnZhcy1jc3MtdmFycyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXppbmRleDogI3skemluZGV4LW9mZmNhbnZhc307XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aDogI3skb2ZmY2FudmFzLWhvcml6b250YWwtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdmVydGljYWwtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteDogI3skb2ZmY2FudmFzLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXk6ICN7JG9mZmNhbnZhcy1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtY29sb3I6ICN7JG9mZmNhbnZhcy1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1iZzogI3skb2ZmY2FudmFzLWJnLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aDogI3skb2ZmY2FudmFzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICN7JG9mZmNhbnZhcy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm94LXNoYWRvdzogI3skb2ZmY2FudmFzLWJveC1zaGFkb3d9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG9mZmNhbnZhcy1jc3MtdmFyc1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBleHRlbmQgJW9mZmNhbnZhcy1jc3MtdmFycztcbiAgfVxufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy16aW5kZXgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1jb2xvcik7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnKTtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJveC1zaGFkb3cpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCk7XG5cbiAgICAgICYub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aCk7XG4gICAgICAgIGJvcmRlci1yaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtZW5kIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGgpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy10b3Age1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtYm90dG9tIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuc2hvdzpub3QoLmhpZGluZykge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuaGlkaW5nLFxuICAgICAgJi5zaG93IHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgLy8gUmVzZXQgYGJhY2tncm91bmQtY29sb3JgIGluIGNhc2UgYC5iZy0qYCBjbGFzc2VzIGFyZSB1c2VkIGluIG9mZmNhbnZhc1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm9mZmNhbnZhcy1iYWNrZHJvcCB7XG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3AsICRvZmZjYW52YXMtYmFja2Ryb3AtYmcsICRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eSk7XG59XG5cbi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSk7XG4gIH1cbn1cblxuLm9mZmNhbnZhcy10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkb2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4ub2ZmY2FudmFzLWJvZHkge1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4iLCIucGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiB3YWl0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6ICRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDtcblxuICAmLmJ0bjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi5wbGFjZWhvbGRlci14cyB7XG4gIG1pbi1oZWlnaHQ6IC42ZW07XG59XG5cbi5wbGFjZWhvbGRlci1zbSB7XG4gIG1pbi1oZWlnaHQ6IC44ZW07XG59XG5cbi5wbGFjZWhvbGRlci1sZyB7XG4gIG1pbi1oZWlnaHQ6IDEuMmVtO1xufVxuXG4vLyBBbmltYXRpb25cbi5wbGFjZWhvbGRlci1nbG93IHtcbiAgLnBsYWNlaG9sZGVyIHtcbiAgICBhbmltYXRpb246IHBsYWNlaG9sZGVyLWdsb3cgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwbGFjZWhvbGRlci1nbG93IHtcbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1taW47XG4gIH1cbn1cblxuLnBsYWNlaG9sZGVyLXdhdmUge1xuICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTMwZGVnLCAkYmxhY2sgNTUlLCByZ2JhKDAsIDAsIDAsICgxIC0gJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluKSkgNzUlLCAkYmxhY2sgOTUlKTtcbiAgbWFzay1zaXplOiAyMDAlIDEwMCU7XG4gIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItd2F2ZSAycyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItd2F2ZSB7XG4gIDEwMCUge1xuICAgIG1hc2stcG9zaXRpb246IC0yMDAlIDAlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiaGVscGVycy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImhlbHBlcnMvY29sb3ItYmdcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2NvbG9yZWQtbGlua3NcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhdGlvXCI7XG5AaW1wb3J0IFwiaGVscGVycy9wb3NpdGlvblwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RhY2tzXCI7XG5AaW1wb3J0IFwiaGVscGVycy92aXN1YWxseS1oaWRkZW5cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3N0cmV0Y2hlZC1saW5rXCI7XG5AaW1wb3J0IFwiaGVscGVycy90ZXh0LXRydW5jYXRpb25cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3ZyXCI7XG4iLCIuY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tbmFtZS1jYXNlXG5cbi8vIEFsbC1jYXBzIGBSR0JBKClgIGZ1bmN0aW9uIHVzZWQgYmVjYXVzZSBvZiB0aGlzIFNhc3MgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9ub2RlLXNhc3MvaXNzdWVzLzIyNTFcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAkY29sb3ItcmdiOiB0by1yZ2IoJHZhbHVlKTtcbiAgLnRleHQtYmctI3skY29sb3J9IHtcbiAgICBjb2xvcjogY29sb3ItY29udHJhc3QoJHZhbHVlKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IFJHQkEoJGNvbG9yLXJnYiwgdmFyKC0tI3skcHJlZml4fWJnLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICB9XG59XG4iLCJAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmxpbmstI3skY29sb3J9IHtcbiAgICBjb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICBAaWYgJGxpbmstc2hhZGUtcGVyY2VudGFnZSAhPSAwIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IGlmKGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSkgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkdmFsdWUsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpLCB0aW50LWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkpICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLnJhdGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS0jeyRwcmVmaXh9YXNwZWN0LXJhdGlvKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBlYWNoICRrZXksICRyYXRpbyBpbiAkYXNwZWN0LXJhdGlvcyB7XG4gIC5yYXRpby0jeyRrZXl9IHtcbiAgICAtLSN7JHByZWZpeH1hc3BlY3QtcmF0aW86ICN7JHJhdGlvfTtcbiAgfVxufVxuIiwiLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi8vIFJlc3BvbnNpdmUgc3RpY2t5IHRvcCBhbmQgYm90dG9tXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuc3RpY2t5I3skaW5maXh9LXRvcCB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gICAgfVxuXG4gICAgLnN0aWNreSN7JGluZml4fS1ib3R0b20ge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IHN0YWNrc1xuLmhzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi52c3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3RhY2tzXG4iLCIvL1xuLy8gVmlzdWFsbHkgaGlkZGVuXG4vL1xuXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG59XG4iLCIvL1xuLy8gU3RyZXRjaGVkIGxpbmtcbi8vXG5cbi5zdHJldGNoZWQtbGluayB7XG4gICY6OiN7JHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50fSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkc3RyZXRjaGVkLWxpbmstei1pbmRleDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvL1xuLy8gVGV4dCB0cnVuY2F0aW9uXG4vL1xuXG4udGV4dC10cnVuY2F0ZSB7XG4gIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTtcbn1cbiIsIi52ciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6IDFweDtcbiAgbWluLWhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuIiwiLy8gTG9vcCBvdmVyIGVhY2ggYnJlYWtwb2ludFxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcblxuICAvLyBHZW5lcmF0ZSBtZWRpYSBxdWVyeSBpZiBuZWVkZWRcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gTG9vcCBvdmVyIGVhY2ggdXRpbGl0eSBwcm9wZXJ0eVxuICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgLy8gT25seSBwcm9jZWVkIGlmIHJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyBhcmUgZW5hYmxlZCBvciBpZiBpdCdzIHRoZSBiYXNlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFJGUyByZXNjYWxpbmdcbkBtZWRpYSAobWluLXdpZHRoOiAkcmZzLW1xLXZhbHVlKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAaWYgKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSA8ICRyZnMtYnJlYWtwb2ludCkge1xuICAgICAgLy8gTG9vcCBvdmVyIGVhY2ggdXRpbGl0eSBwcm9wZXJ0eVxuICAgICAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAgICAgLy8gT25seSBwcm9jZWVkIGlmIHJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyBhcmUgZW5hYmxlZCBvciBpZiBpdCdzIHRoZSBiYXNlIG1lZGlhIHF1ZXJ5XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCBtYXAtZ2V0KCR1dGlsaXR5LCByZnMpIGFuZCAobWFwLWdldCgkdXRpbGl0eSwgcmVzcG9uc2l2ZSkgb3IgJGluZml4ID09IFwiXCIpIHtcbiAgICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgLy8gVGhlbiBjaGVjayBpZiB0aGUgdXRpbGl0eSBuZWVkcyBwcmludCBzdHlsZXNcbiAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLWdldCgkdXRpbGl0eSwgcHJpbnQpID09IHRydWUge1xuICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgXCItcHJpbnRcIik7XG4gICAgfVxuICB9XG59XG4iLCIuZmFkZS1pbiB7IGFuaW1hdGlvbjogZmFkZUluIDVzOyB9XHJcbkBrZXlmcmFtZXMgZmFkZUluIHtcclxuICAwJSB7IG9wYWNpdHk6IDA7IH1cclxuICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbi5mYWRlLWluLWRlbGF5LTMgeyBhbmltYXRpb246IGZhZGVJbiA2czsgfVxyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgMCUgeyBvcGFjaXR5OiAwOyB9XHJcbiAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuLmZseS1pbi1yaWdodC0yIHsgYW5pbWF0aW9uOiBmbHlJbiAyczsgcG9zaXRpb246cmVsYXRpdmU7IH1cclxuQGtleWZyYW1lcyBmbHlJbiB7XHJcbiAgMCUgeyBsZWZ0OjgwMHB4OyB9XHJcbiAgMTAwJSB7IGxlZnQ6MHB4OyAgfVxyXG59XHJcblxyXG4uZmx5LWluLXJpZ2h0LTMgeyBhbmltYXRpb246IGZseUluIDNzOyBwb3NpdGlvbjpyZWxhdGl2ZTsgfVxyXG5Aa2V5ZnJhbWVzIGZseUluIHtcclxuICAwJSB7IGxlZnQ6ODAwcHg7IH1cclxuICAxMDAlIHsgbGVmdDowcHg7ICB9XHJcbn1cclxuXHJcblxyXG5cclxuYXsgIFxyXG4gIGNvbG9yOiNFNjI5MzQgIWltcG9ydGFudDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O31cclxuXHJcbi5idG4tcmVke1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNFNjI5MzQ7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gICY6aG92ZXJ7XHJcbiAgICBib3JkZXI6I0U2MjkzNCAxcHggc29saWQ7XHJcbiAgICBib3gtc2hhZG93OiAxcHggMXB4IDFweCAxcHggI0U2MjkzNDtcclxuICB9XHJcbiAgJjpmb2N1c3tcclxuICAgIGJvcmRlcjojRTYyOTM0IDFweCBzb2xpZDtcclxuXHJcbiAgfVxyXG59XHJcblxyXG5lbXtjb2xvcjp3aGl0ZSAhaW1wb3J0YW50O31cclxuaDEsaDIsaDN7XHJcbiAgZm9udC1mYW1pbHk6ICdPc3dhbGQnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcblxyXG59XHJcbmgxe1xyXG4gIGNvbG9yOiNFNjI5MzQ7XHJcbn1cclxuaDJ7XHJcbiAgZm9udC1zaXplOjNyZW07XHJcbiAgZm9udC13ZWlnaHQ6NzAwO1xyXG59XHJcbmgze1xyXG4gIGNvbG9yOiNFNjI5MzQ7XHJcbn1cclxuXHJcbi5xdW90ZXtcclxuICBwYWRkaW5nLXRvcDo0MHB4O1xyXG4gIHBhZGRpbmctbGVmdDoxMjBweDtcclxuICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG4ucXVvdGU6OmJlZm9yZXtcclxuICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICB0b3A6MHB4O1xyXG4gIGxlZnQ6LTMwcHg7XHJcbiAgei1pbmRleDotMjtcclxuICBjb250ZW50OicnO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3F1b3RlLnN2ZycpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0MHB4IDE0MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTQwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiNFNjI5MzQ7XHJcbn1cclxuXHJcblxyXG4vLyAgR2FsbGVyeSBzdHlsaW5nXHJcbi5pbWdDb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uZ2FsbGVyeUltZyB7XHJcbiAgb3BhY2l0eTogMTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgdHJhbnNpdGlvbjogLjVzIGVhc2U7XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4uaW1nRG93bmxvYWRCdG5Db250YWluZXIge1xyXG4gIHRyYW5zaXRpb246IC41cyBlYXNlO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uaW1nQ29udGFpbmVyOmhvdmVyIC5nYWxsZXJ5SW1nIHtcclxuICBvcGFjaXR5OiAwLjI7XHJcbn1cclxuXHJcbi5pbWdDb250YWluZXI6aG92ZXIgLmltZ0Rvd25sb2FkQnRuQ29udGFpbmVyIHtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uaW1nRG93bmxvYWRCdG4ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIGNvbG9yOiBibGFjaztcclxuICAvL2ZvbnQtc2l6ZTogMTZweDtcclxuICBwYWRkaW5nOiAxNnB4IDMycHg7XHJcbiAgJjpob3ZlcntcclxuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwgLjkwKTtcclxuICAgIGNvbG9yOmJsYWNrO1xyXG4gIH1cclxuICBhLmltZ0xpbmt7XHJcbiAgICBjb2xvcjpibGFjayAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgJjpob3ZlcntcclxuICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxudGFibGUgdHI6bnRoLWNoaWxkKG9kZCl7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEwLDEwLDEwKTtcclxufVxyXG5cclxuLnZpZGVvV3JhcHBlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IC8qIDE2OjkgKi9cclxuICBoZWlnaHQ6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnZpZGVvV3JhcHBlciBpZnJhbWUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbiNvbmxpbmVTZXJ2aWNlTGlzdHtcclxuICB1bHtcclxuXHJcbiAgfVxyXG4gIGxpe1xyXG4gICAgaGVpZ2h0OjU2cHg7XHJcbiAgICB3aWR0aDphdXRvO1xyXG4gICAgaW1ne1xyXG4gICAgICB3aWR0aDphdXRvO1xyXG4gICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufSIsIiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBTUEsT0FBTyxDQUFDLHdGQUFJO0FFTFY7Ozs7O0tBS0c7QWdDTkwsQUFBQSxLQUFLLENBQUM7RUFRRixTQUFxQixDQUFFLFFBQUM7RUFBeEIsV0FBcUIsQ0FBRSxRQUFDO0VBQXhCLFdBQXFCLENBQUUsUUFBQztFQUF4QixTQUFxQixDQUFFLFFBQUM7RUFBeEIsUUFBcUIsQ0FBRSxRQUFDO0VBQXhCLFdBQXFCLENBQUUsUUFBQztFQUF4QixXQUFxQixDQUFFLFFBQUM7RUFBeEIsVUFBcUIsQ0FBRSxRQUFDO0VBQXhCLFNBQXFCLENBQUUsUUFBQztFQUF4QixTQUFxQixDQUFFLFFBQUM7RUFBeEIsVUFBcUIsQ0FBRSxLQUFDO0VBQXhCLFVBQXFCLENBQUUsS0FBQztFQUF4QixTQUFxQixDQUFFLFFBQUM7RUFBeEIsY0FBcUIsQ0FBRSxRQUFDO0VBSXhCLGFBQTBCLENBQU8sUUFBQztFQUFsQyxhQUEwQixDQUFPLFFBQUM7RUFBbEMsYUFBMEIsQ0FBTyxRQUFDO0VBQWxDLGFBQTBCLENBQU8sUUFBQztFQUFsQyxhQUEw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 */
