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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap dt {
  font-weight: 700; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap table {
  border-collapse: collapse; }

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

.bootstrap th {
  text-align: inherit; }

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

.bootstrap button {
  border-radius: 0; }

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

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

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

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

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

.bootstrap select {
  word-wrap: normal; }

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

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

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

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

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

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

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

.bootstrap progress {
  vertical-align: baseline; }

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

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

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

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

.bootstrap output {
  display: inline-block; }

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

.bootstrap template {
  display: none; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }
  @media (min-width: 576px) {
    .bootstrap .container {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .bootstrap .container {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .bootstrap .container {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .bootstrap .container {
      max-width: 1140px; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap .form-control {
      transition: none; } }
  .bootstrap .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .bootstrap .form-control:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #495057; }
  .bootstrap .form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .bootstrap .form-control::-webkit-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap .form-control::-moz-placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap .form-control::-ms-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap .form-control::placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap .form-control:disabled, .bootstrap .form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem; }

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

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

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

.bootstrap .was-validated .valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap .btn {
      transition: none; } }
  .bootstrap .btn:hover {
    color: #212529;
    text-decoration: none; }
  .bootstrap .btn:focus, .bootstrap .btn.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .bootstrap .btn.disabled, .bootstrap .btn:disabled {
    opacity: 0.65; }
  .bootstrap .btn:not(:disabled):not(.disabled) {
    cursor: pointer; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0; }
  .bootstrap .dropdown-item:hover, .bootstrap .dropdown-item:focus {
    color: #16181b;
    text-decoration: none;
    background-color: #f8f9fa; }
  .bootstrap .dropdown-item.active, .bootstrap .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #007bff; }
  .bootstrap .dropdown-item.disabled, .bootstrap .dropdown-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: transparent; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem; }
  .bootstrap .input-group-text input[type="radio"],
  .bootstrap .input-group-text input[type="checkbox"] {
    margin-top: 0; }

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

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

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

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

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

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

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

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

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

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

.bootstrap .custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top; }
  .bootstrap .custom-control-label::before {
    position: absolute;
    top: 0.25rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    content: "";
    background-color: #fff;
    border: #adb5bd solid 1px; }
  .bootstrap .custom-control-label::after {
    position: absolute;
    top: 0.25rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background: no-repeat 50% / 50% 50%; }

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

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

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

.bootstrap .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); }

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

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

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

.bootstrap .custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }

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

.bootstrap .custom-switch {
  padding-left: 2.25rem; }
  .bootstrap .custom-switch .custom-control-label::before {
    left: -2.25rem;
    width: 1.75rem;
    pointer-events: all;
    border-radius: 0.5rem; }
  .bootstrap .custom-switch .custom-control-label::after {
    top: calc(0.25rem + 2px);
    left: calc(-2.25rem + 2px);
    width: calc(1rem - 4px);
    height: calc(1rem - 4px);
    background-color: #adb5bd;
    border-radius: 0.5rem;
    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .bootstrap .custom-switch .custom-control-label::after {
        transition: none; } }
  .bootstrap .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: #fff;
    transform: translateX(0.75rem); }
  .bootstrap .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(0, 123, 255, 0.5); }

.bootstrap .custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  .bootstrap .custom-select:focus {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .bootstrap .custom-select:focus::-ms-value {
      color: #495057;
      background-color: #fff; }
  .bootstrap .custom-select[multiple], .bootstrap .custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: 0.75rem;
    background-image: none; }
  .bootstrap .custom-select:disabled {
    color: #6c757d;
    background-color: #e9ecef; }
  .bootstrap .custom-select::-ms-expand {
    display: none; }
  .bootstrap .custom-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #495057; }

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

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

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

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

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

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

.bootstrap .custom-control-label::before,
.bootstrap .custom-file-label,
.bootstrap .custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap .custom-control-label::before,
    .bootstrap .custom-file-label,
    .bootstrap .custom-select {
      transition: none; } }

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

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

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

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

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

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

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

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

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

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

.bootstrap .navbar-brand {
  display: inline-block;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap; }
  .bootstrap .navbar-brand:hover, .bootstrap .navbar-brand:focus {
    text-decoration: none; }

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

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

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

.bootstrap .navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem; }
  .bootstrap .navbar-toggler:hover, .bootstrap .navbar-toggler:focus {
    text-decoration: none; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .navbar-light .navbar-toggler-icon, .bootstrap .navbar-themed .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

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

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

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

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

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

.bootstrap .navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

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

.bootstrap .card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem; }
  .bootstrap .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .bootstrap .card > .list-group {
    border-top: inherit;
    border-bottom: inherit; }
    .bootstrap .card > .list-group:first-child {
      border-top-width: 0;
      border-top-left-radius: calc(0.25rem - 1px);
      border-top-right-radius: calc(0.25rem - 1px); }
    .bootstrap .card > .list-group:last-child {
      border-bottom-width: 0;
      border-bottom-right-radius: calc(0.25rem - 1px);
      border-bottom-left-radius: calc(0.25rem - 1px); }

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

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

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

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

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

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

.bootstrap .card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }
  .bootstrap .card-header:first-child {
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }
  .bootstrap .card-header + .list-group .list-group-item:first-child {
    border-top: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .breadcrumb-item {
  display: flex; }
  .bootstrap .breadcrumb-item + .breadcrumb-item {
    padding-left: 0.5rem; }
    .bootstrap .breadcrumb-item + .breadcrumb-item::before {
      display: inline-block;
      padding-right: 0.5rem;
      color: #6c757d;
      content: "/"; }
  .bootstrap .breadcrumb-item + .breadcrumb-item:hover::before {
    text-decoration: underline; }
  .bootstrap .breadcrumb-item + .breadcrumb-item:hover::before {
    text-decoration: none; }
  .bootstrap .breadcrumb-item.active {
    color: #6c757d; }

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

.bootstrap .page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #007bff;
  background-color: #fff;
  border: 1px solid #dee2e6; }
  .bootstrap .page-link:hover {
    z-index: 2;
    color: #0056b3;
    text-decoration: none;
    background-color: #e9ecef;
    border-color: #dee2e6; }
  .bootstrap .page-link:focus {
    z-index: 3;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }

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

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

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

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

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

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

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

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

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

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

.bootstrap .badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap .badge {
      transition: none; } }
  a.bootstrap .badge:hover, a.bootstrap .badge:focus {
    text-decoration: none; }
  .bootstrap .badge:empty {
    display: none; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #007bff;
  transition: width 0.6s ease; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap .progress-bar {
      transition: none; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .toast {
  max-width: 350px;
  overflow: hidden;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  opacity: 0;
  border-radius: 0.25rem; }
  .bootstrap .toast:not(:last-child) {
    margin-bottom: 0.75rem; }
  .bootstrap .toast.showing {
    opacity: 1; }
  .bootstrap .toast.show {
    display: block;
    opacity: 1; }
  .bootstrap .toast.hide {
    display: none; }

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

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

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

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

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

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

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

.bootstrap .modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0; }

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

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

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

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

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

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

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

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

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

.bootstrap .tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0; }
  .bootstrap .tooltip.show {
    opacity: 0.9; }
  .bootstrap .tooltip .arrow {
    position: absolute;
    display: block;
    width: 0.8rem;
    height: 0.4rem; }
    .bootstrap .tooltip .arrow::before {
      position: absolute;
      content: "";
      border-color: transparent;
      border-style: solid; }

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

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

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

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

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

.bootstrap .popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem; }
  .bootstrap .popover .arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: 0.5rem;
    margin: 0 0.3rem; }
    .bootstrap .popover .arrow::before, .bootstrap .popover .arrow::after {
      position: absolute;
      display: block;
      content: "";
      border-color: transparent;
      border-style: solid; }

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

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

.bootstrap .bs-popover-bottom, .bootstrap .bs-popover-auto[x-placement^="bottom"] {
  margin-top: 0.5rem; }
  .bootstrap .bs-popover-bottom > .arrow, .bootstrap .bs-popover-auto[x-placement^="bottom"] > .arrow {
    top: calc(-0.5rem - 1px); }
    .bootstrap .bs-popover-bottom > .arrow::before, .bootstrap .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
      top: 0;
      border-width: 0 0.5rem 0.5rem 0.5rem;
      border-bottom-color: rgba(0, 0, 0, 0.25); }
    .bootstrap .bs-popover-bottom > .arrow::after, .bootstrap .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
      top: 1px;
      border-width: 0 0.5rem 0.5rem 0.5rem;
      border-bottom-color: #fff; }
  .bootstrap .bs-popover-bottom .popover-header::before, .bootstrap .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 1rem;
    margin-left: -0.5rem;
    content: "";
    border-bottom: 1px solid #f7f7f7; }

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

.bootstrap .popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px); }
  .bootstrap .popover-header:empty {
    display: none; }

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

.bootstrap .carousel {
  position: relative; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .border-green {
  border-color: #28a745 !important;
  background-color: #b9f0bf !important; }

.bootstrap .border-blue {
  border-color: #007bff !important;
  background-color: #9fccff !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .text-oppose {
  box-sizing: border-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap a.text-primary:hover, .bootstrap a.text-primary:focus {
  color: #0056b3 !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap .visible {
  visibility: visible !important; }

.bootstrap .invisible {
  visibility: hidden !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvZ2dsZS1ib290c3RyYXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIl9mb3JtLW92ZXJyaWRlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFkZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FsZXJ0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19ib3JkZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ludGVyYWN0aW9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fb3ZlcmZsb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaGFkb3dzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaXppbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Zpc2liaWxpdHkuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQTtFQUNJLFNBQVM7RUFDVCxrTUNrUitNO0VDM0o3TSxlQXRDWTtFRi9FZCxnQkMyUjZCO0VEMVI3QixnQkMrUjZCO0VEOVI3QixjQ0ljO0VESGQsZ0JBQWdCO0VBQ2hCLHNCQ1BXLEVBQUE7O0FEVWY7RUdiSSxlQUFjO0VBQWQsaUJBQWM7RUFBZCxpQkFBYztFQUFkLGVBQWM7RUFBZCxjQUFjO0VBQWQsaUJBQWM7RUFBZCxpQkFBYztFQUFkLGdCQUFjO0VBQWQsZUFBYztFQUFkLGVBQWM7RUFBZCxhQUFjO0VBQWQsZUFBYztFQUFkLG9CQUFjO0VBSWQsa0JBQWM7RUFBZCxvQkFBYztFQUFkLGtCQUFjO0VBQWQsZUFBYztFQUFkLGtCQUFjO0VBQWQsaUJBQWM7RUFBZCxnQkFBYztFQUFkLGVBQWM7RUFJZCxrQkFBaUM7RUFBakMsc0JBQWlDO0VBQWpDLHNCQUFpQztFQUFqQyxzQkFBaUM7RUFBakMsdUJBQWlDO0VBS25DLCtNQUF5QjtFQUN6Qiw2R0FBd0IsRUFBQTs7QUhEMUI7OztFSUlFLHNCQUFzQixFQUFBOztBSkp4QjtFSVFFLHVCQUF1QjtFQUN2QixpQkFBaUI7RUFDakIsOEJBQThCO0VBQzlCLDZDSFhhLEVBQUE7O0FEQWY7RUlrQkUsY0FBYyxFQUFBOztBSmxCaEI7RUk2QkUsU0FBUztFQUNULGtNSDJPaU47RUMzSjdNLGVBdENZO0VFeENoQixnQkhvUCtCO0VHblAvQixnQkh3UCtCO0VHdlAvQixjSG5DZ0I7RUdvQ2hCLGdCQUFnQjtFQUNoQixzQkg5Q2EsRUFBQTs7QURVZjtFSWlERSxxQkFBcUIsRUFBQTs7QUpqRHZCO0VJMkRFLHVCQUF1QjtFQUN2QixTQUFTO0VBQ1QsaUJBQWlCLEVBQUE7O0FKN0RuQjtFSTJFRSxhQUFhO0VBQ2IscUJIc051QyxFQUFBOztBRGxTekM7RUlvRkUsYUFBYTtFQUNiLG1CSHlGOEIsRUFBQTs7QUQ5S2hDOztFSWtHRSwwQkFBMEI7RUFDMUIseUNBQWlDO1VBQWpDLGlDQUFpQztFQUNqQyxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLHNDQUE4QjtVQUE5Qiw4QkFBOEIsRUFBQTs7QUp0R2hDO0VJMEdFLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsb0JBQW9CLEVBQUE7O0FKNUd0Qjs7O0VJa0hFLGFBQWE7RUFDYixtQkFBbUIsRUFBQTs7QUpuSHJCOzs7O0VJMEhFLGdCQUFnQixFQUFBOztBSjFIbEI7RUk4SEUsZ0JIdUorQixFQUFBOztBRHJSakM7RUlrSUUsb0JBQW9CO0VBQ3BCLGNBQWMsRUFBQTs7QUpuSWhCO0VJdUlFLGdCQUFnQixFQUFBOztBSnZJbEI7O0VJNElFLG1CSDBJa0MsRUFBQTs7QUR0UnBDO0VFdURJLGNBQVcsRUFBQTs7QUZ2RGY7O0VJMEpFLGtCQUFrQjtFRm5HaEIsY0FBVztFRXFHYixjQUFjO0VBQ2Qsd0JBQXdCLEVBQUE7O0FKN0oxQjtFSWdLTSxjQUFjLEVBQUE7O0FKaEtwQjtFSWlLTSxVQUFVLEVBQUE7O0FKaktoQjtFSXlLRSxjSHRKZTtFR3VKZixxQkhONEM7RUdPNUMsNkJBQTZCLEVBQUE7RUozSy9CO0lJOEtJLGNIVDhEO0lHVTlELDBCSFQrQyxFQUFBOztBRHRLbkQ7RUl5TEUsY0FBYztFQUNkLHFCQUFxQixFQUFBO0VKMUx2QjtJSTZMSSxjQUFjO0lBQ2QscUJBQXFCLEVBQUE7O0FKOUx6Qjs7OztFSTJNRSxpR0grRGdIO0VDbk45RyxjQUFXLEVBQUE7O0FGdkRmO0VJaU5FLGFBQWE7RUFFYixtQkFBbUI7RUFFbkIsY0FBYztFQUdkLDZCQUE2QixFQUFBOztBSnhOL0I7RUlrT0UsZ0JBQWdCLEVBQUE7O0FKbE9sQjtFSTJPRSxzQkFBc0I7RUFDdEIsa0JBQWtCLEVBQUE7O0FKNU9wQjtFSWtQRSxnQkFBZ0I7RUFDaEIsc0JBQXNCLEVBQUE7O0FKblB4QjtFSTRQRSx5QkFBeUIsRUFBQTs7QUo1UDNCO0VJZ1FFLG9CSG1Ga0M7RUdsRmxDLHVCSGtGa0M7RUdqRmxDLGNIdFFnQjtFR3VRaEIsZ0JBQWdCO0VBQ2hCLG9CQUFvQixFQUFBOztBSnBRdEI7RUkwUUUsbUJBQW1CLEVBQUE7O0FKMVFyQjtFSW9SRSxxQkFBcUI7RUFDckIscUJIb0syQyxFQUFBOztBRHpiN0M7RUk2UkUsZ0JBQWdCLEVBQUE7O0FKN1JsQjtFSXFTRSxtQkFBbUI7RUFDbkIsMENBQTBDLEVBQUE7O0FKdFM1Qzs7Ozs7RUk4U0UsU0FBUztFQUNULG9CQUFvQjtFRnhQbEIsa0JBQVc7RUUwUGIsb0JBQW9CLEVBQUE7O0FKalR0Qjs7RUlzVEUsaUJBQWlCLEVBQUE7O0FKdFRuQjs7RUkyVEUsb0JBQW9CLEVBQUE7O0FKM1R0QjtFSWtVRSxlQUFlLEVBQUE7O0FKbFVqQjtFSXlVRSxpQkFBaUIsRUFBQTs7QUp6VW5COzs7O0VJb1ZFLDBCQUEwQixFQUFBOztBSnBWNUI7Ozs7RUk4Vk0sZUFBZSxFQUFBOztBSjlWckI7Ozs7RUl3V0UsVUFBVTtFQUNWLGtCQUFrQixFQUFBOztBSnpXcEI7O0VJOFdFLHNCQUFzQjtFQUN0QixVQUFVLEVBQUE7O0FKL1daO0VJb1hFLGNBQWM7RUFFZCxnQkFBZ0IsRUFBQTs7QUp0WGxCO0VJK1hFLFlBQVk7RUFFWixVQUFVO0VBQ1YsU0FBUztFQUNULFNBQVMsRUFBQTs7QUpuWVg7RUl5WUUsY0FBYztFQUNkLFdBQVc7RUFDWCxlQUFlO0VBQ2YsVUFBVTtFQUNWLG9CQUFvQjtFRi9SaEIsaUJBdENZO0VFdVVoQixvQkFBb0I7RUFDcEIsY0FBYztFQUNkLG1CQUFtQixFQUFBOztBSmpackI7RUlxWkUsd0JBQXdCLEVBQUE7O0FKcloxQjs7RUkyWkUsWUFBWSxFQUFBOztBSjNaZDtFSW1hRSxvQkFBb0I7RUFDcEIsd0JBQXdCLEVBQUE7O0FKcGExQjtFSTRhRSx3QkFBd0IsRUFBQTs7QUo1YTFCO0VJcWJFLGFBQWE7RUFDYiwwQkFBMEIsRUFBQTs7QUp0YjVCO0VJOGJFLHFCQUFxQixFQUFBOztBSjlidkI7RUlrY0Usa0JBQWtCO0VBQ2xCLGVBQWUsRUFBQTs7QUpuY2pCO0VJdWNFLGFBQWEsRUFBQTs7QUp2Y2Y7RUk2Y0Usd0JBQXdCLEVBQUE7O0FKN2MxQjs7RUtURSxxQkoyU3VDO0VJelN2QyxnQkoyUytCO0VJMVMvQixnQkoyUytCLEVBQUE7O0FEclNqQztFRThHTSxpQkF0Q1ksRUFBQTs7QUZ4RWxCO0VFOEdNLGVBdENZLEVBQUE7O0FGeEVsQjtFRThHTSxrQkF0Q1ksRUFBQTs7QUZ4RWxCO0VFOEdNLGlCQXRDWSxFQUFBOztBRnhFbEI7RUU4R00sa0JBdENZLEVBQUE7O0FGeEVsQjtFRThHTSxlQXRDWSxFQUFBOztBRnhFbEI7RUU4R00sa0JBdENZO0VHakVoQixnQko2UytCLEVBQUE7O0FEcFRqQztFRThHTSxlQXRDWTtFRzNEaEIsZ0JKZ1MrQjtFSS9SL0IsZ0JKdVIrQixFQUFBOztBRHJTakM7RUU4R00saUJBdENZO0VHdERoQixnQko0UitCO0VJM1IvQixnQkprUitCLEVBQUE7O0FEclNqQztFRThHTSxpQkF0Q1k7RUdqRGhCLGdCSndSK0I7RUl2Ui9CLGdCSjZRK0IsRUFBQTs7QURyU2pDO0VFOEdNLGlCQXRDWTtFRzVDaEIsZ0JKb1IrQjtFSW5SL0IsZ0JKd1ErQixFQUFBOztBRHJTakM7RUtzQ0UsZ0JKbUZXO0VJbEZYLG1CSmtGVztFSWpGWCxTQUFTO0VBQ1Qsd0NKekNhLEVBQUE7O0FEQWY7O0VFdURJLGNBQVc7RUdIYixnQkpnTytCLEVBQUE7O0FEcFJqQzs7RUt5REUsY0p3UWdDO0VJdlFoQyx5QkpnUm1DLEVBQUE7O0FEMVVyQztFTWJFLGVBQWU7RUFDZixnQkFBZ0IsRUFBQTs7QU5ZbEI7RU1iRSxlQUFlO0VBQ2YsZ0JBQWdCLEVBQUE7O0FOWWxCO0VLMkVFLHFCQUFxQixFQUFBO0VMM0V2QjtJSzhFSSxvQkowUCtCLEVBQUE7O0FEeFVuQztFRXVESSxjQUFXO0VHbUNiLHlCQUF5QixFQUFBOztBTDFGM0I7RUsrRkUsbUJKMEJXO0VDWFAsa0JBdENZLEVBQUE7O0FGeEVsQjtFS29HRSxjQUFjO0VIN0NaLGNBQVc7RUcrQ2IsY0oxR2dCLEVBQUE7RURJbEI7SUt5R0kscUJBQXFCLEVBQUE7O0FMekd6QjtFT05FLGVBQWU7RUFHZixZQUFZLEVBQUE7O0FQR2Q7RVFIRSxnQlBvZ0N3QztFT25nQ3hDLHNCUFJhO0VPU2IseUJQTmdCO0VRUWQsc0JSa09nQztFTXpPbEMsZUFBZTtFQUdmLFlBQVksRUFBQTs7QVBHZDtFUWFFLHFCQUFxQixFQUFBOztBUmJ2QjtFUWlCRSxxQkFBMEI7RUFDMUIsY0FBYyxFQUFBOztBUmxCaEI7RUV1REksY0FBVztFTWhDYixjUDNCZ0IsRUFBQTs7QURJbEI7RUV1REksZ0JBQVc7RVFyRWIsY1RvQ2U7RVNuQ2YscUJBQXFCLEVBQUE7RUFHckI7SUFDRSxjQUFjLEVBQUE7O0FWU2xCO0VVSEUsc0JUd2xDdUM7RUM5aENyQyxnQkFBVztFUXhEYixXVFRhO0VTVWIseUJURGdCO0VRRWQscUJSb08rQixFQUFBO0VEck9uQztJVUtJLFVBQVU7SVJrRFYsZUFBVztJUWhEWCxnQlQ4UTZCLEVBQUE7O0FEclJqQztFVWNFLGNBQWM7RVJ5Q1osZ0JBQVc7RVF2Q2IsY1RqQmdCLEVBQUE7RURDbEI7SUV1REksa0JBQVc7SVFsQ1gsY0FBYztJQUNkLGtCQUFrQixFQUFBOztBVnRCdEI7RVU0QkUsaUJUK2pDdUM7RVM5akN2QyxrQkFBa0IsRUFBQTs7QVY3QnBCO0VXWkUsV0FBVztFQUNYLG1CQUEwQjtFQUMxQixrQkFBeUI7RUFDekIsa0JBQWtCO0VBQ2xCLGlCQUFpQixFQUFBO0VDbURmO0laM0NKO01XQU0sZ0JWdU1LLEVBQUEsRVkvTVI7RURtREM7SVozQ0o7TVdBTSxnQlZ3TUssRUFBQSxFWWhOUjtFRG1EQztJWjNDSjtNV0FNLGdCVnlNSyxFQUFBLEVZak5SO0VEbURDO0laM0NKO01XQU0saUJWME1NLEVBQUEsRVlsTlQ7O0FiUUg7RVdaRSxXQUFXO0VBQ1gsbUJBQTBCO0VBQzFCLGtCQUF5QjtFQUN6QixrQkFBa0I7RUFDbEIsaUJBQWlCLEVBQUE7O0FDbURmO0VaM0NKO0lhT1EsZ0JaZ01HLEVBQUEsRVkvTEo7O0FEbUNIO0VaM0NKO0lhT1EsZ0JaaU1HLEVBQUEsRVloTUo7O0FEbUNIO0VaM0NKO0lhT1EsZ0Jaa01HLEVBQUEsRVlqTUo7O0FEbUNIO0VaM0NKO0lhT1EsaUJabU1JLEVBQUEsRVlsTUw7O0FiUlA7RVdNRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLG1CQUEwQjtFQUMxQixrQkFBeUIsRUFBQTs7QVhUM0I7RWEwQ0ksZUFBZTtFQUNmLGNBQWMsRUFBQTtFYjNDbEI7O0lhK0NNLGdCQUFnQjtJQUNoQixlQUFlLEVBQUE7O0FiaERyQjs7Ozs7O0VjVEksa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxtQkFBMEI7RUFDMUIsa0JBQXlCLEVBQUE7O0FkTTdCO0VjaUJRLGFBQWE7RUFDYixZQUFZO0VBQ1osWUFBWTtFQUNaLGVBQWUsRUFBQTs7QWRwQnZCO0VXZ0RJLGNBQXVCO0VBQ3ZCLGVBQXdCLEVBQUE7O0FYakQ1QjtFV2dESSxhQUF1QjtFQUN2QixjQUF3QixFQUFBOztBWGpENUI7RVdnREksbUJBQXVCO0VBQ3ZCLG9CQUF3QixFQUFBOztBWGpENUI7RVdnREksYUFBdUI7RUFDdkIsY0FBd0IsRUFBQTs7QVhqRDVCO0VXZ0RJLGFBQXVCO0VBQ3ZCLGNBQXdCLEVBQUE7O0FYakQ1QjtFV2dESSxtQkFBdUI7RUFDdkIsb0JBQXdCLEVBQUE7O0FYakQ1QjtFVytCRSxjQUFjO0VBQ2QsV0FBVztFQUNYLGVBQWUsRUFBQTs7QVhqQ2pCO0VXdUJFLGtCQUFzQztFQUl0QyxtQkFBdUMsRUFBQTs7QVgzQnpDO0VXdUJFLG1CQUFzQztFQUl0QyxvQkFBdUMsRUFBQTs7QVgzQnpDO0VXdUJFLGFBQXNDO0VBSXRDLGNBQXVDLEVBQUE7O0FYM0J6QztFV3VCRSxtQkFBc0M7RUFJdEMsb0JBQXVDLEVBQUE7O0FYM0J6QztFV3VCRSxtQkFBc0M7RUFJdEMsb0JBQXVDLEVBQUE7O0FYM0J6QztFV3VCRSxhQUFzQztFQUl0QyxjQUF1QyxFQUFBOztBWDNCekM7RVd1QkUsbUJBQXNDO0VBSXRDLG9CQUF1QyxFQUFBOztBWDNCekM7RVd1QkUsbUJBQXNDO0VBSXRDLG9CQUF1QyxFQUFBOztBWDNCekM7RVd1QkUsYUFBc0M7RUFJdEMsY0FBdUMsRUFBQTs7QVgzQnpDO0VXdUJFLG1CQUFzQztFQUl0QyxvQkFBdUMsRUFBQTs7QVgzQnpDO0VXdUJFLG1CQUFzQztFQUl0QyxvQkFBdUMsRUFBQTs7QVgzQnpDO0VXdUJFLGNBQXNDO0VBSXRDLGVBQXVDLEVBQUE7O0FYM0J6QztFYzJDOEIsU0FBUyxFQUFBOztBZDNDdkM7RWM2QzZCLFNidUtHLEVBQUE7O0FEcE5oQztFY2dEZ0MsUUFEWixFQUFBOztBZC9DcEI7RWNnRGdDLFFBRFosRUFBQTs7QWQvQ3BCO0VjZ0RnQyxRQURaLEVBQUE7O0FkL0NwQjtFY2dEZ0MsUUFEWixFQUFBOztBZC9DcEI7RWNnRGdDLFFBRFosRUFBQTs7QWQvQ3BCO0VjZ0RnQyxRQURaLEVBQUE7O0FkL0NwQjtFY2dEZ0MsUUFEWixFQUFBOztBZC9DcEI7RWNnRGdDLFFBRFosRUFBQTs7QWQvQ3BCO0VjZ0RnQyxRQURaLEVBQUE7O0FkL0NwQjtFY2dEZ0MsUUFEWixFQUFBOztBZC9DcEI7RWNnRGdDLFNBRFosRUFBQTs7QWQvQ3BCO0VjZ0RnQyxTQURaLEVBQUE7O0FkL0NwQjtFY2dEZ0MsU0FEWixFQUFBOztBZC9DcEI7RVdzQ0UscUJBQThDLEVBQUE7O0FYdENoRDtFV3NDRSxzQkFBOEMsRUFBQTs7QVh0Q2hEO0VXc0NFLGdCQUE4QyxFQUFBOztBWHRDaEQ7RVdzQ0Usc0JBQThDLEVBQUE7O0FYdENoRDtFV3NDRSxzQkFBOEMsRUFBQTs7QVh0Q2hEO0VXc0NFLGdCQUE4QyxFQUFBOztBWHRDaEQ7RVdzQ0Usc0JBQThDLEVBQUE7O0FYdENoRDtFV3NDRSxzQkFBOEMsRUFBQTs7QVh0Q2hEO0VXc0NFLGdCQUE4QyxFQUFBOztBWHRDaEQ7RVdzQ0Usc0JBQThDLEVBQUE7O0FYdENoRDtFV3NDRSxzQkFBOEMsRUFBQTs7QUNLNUM7RVozQ0o7SWNpQlEsYUFBYTtJQUNiLFlBQVk7SUFDWixZQUFZO0lBQ1osZUFBZSxFQUFBO0VkcEJ2QjtJV2dESSxjQUF1QjtJQUN2QixlQUF3QixFQUFBO0VYakQ1QjtJV2dESSxhQUF1QjtJQUN2QixjQUF3QixFQUFBO0VYakQ1QjtJV2dESSxtQkFBdUI7SUFDdkIsb0JBQXdCLEVBQUE7RVhqRDVCO0lXZ0RJLGFBQXVCO0lBQ3ZCLGNBQXdCLEVBQUE7RVhqRDVCO0lXZ0RJLGFBQXVCO0lBQ3ZCLGNBQXdCLEVBQUE7RVhqRDVCO0lXZ0RJLG1CQUF1QjtJQUN2QixvQkFBd0IsRUFBQTtFWGpENUI7SVcrQkUsY0FBYztJQUNkLFdBQVc7SUFDWCxlQUFlLEVBQUE7RVhqQ2pCO0lXdUJFLGtCQUFzQztJQUl0QyxtQkFBdUMsRUFBQTtFWDNCekM7SVd1QkUsbUJBQXNDO0lBSXRDLG9CQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxhQUFzQztJQUl0QyxjQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxtQkFBc0M7SUFJdEMsb0JBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLG1CQUFzQztJQUl0QyxvQkFBdUMsRUFBQTtFWDNCekM7SVd1QkUsYUFBc0M7SUFJdEMsY0FBdUMsRUFBQTtFWDNCekM7SVd1QkUsbUJBQXNDO0lBSXRDLG9CQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxtQkFBc0M7SUFJdEMsb0JBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLGFBQXNDO0lBSXRDLGNBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLG1CQUFzQztJQUl0QyxvQkFBdUMsRUFBQTtFWDNCekM7SVd1QkUsbUJBQXNDO0lBSXRDLG9CQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxjQUFzQztJQUl0QyxlQUF1QyxFQUFBO0VYM0J6QztJYzJDOEIsU0FBUyxFQUFBO0VkM0N2QztJYzZDNkIsU2J1S0csRUFBQTtFRHBOaEM7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFNBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFNBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFNBRFosRUFBQTtFZC9DcEI7SVdzQ0UsY0FBNEIsRUFBQTtFWHRDOUI7SVdzQ0UscUJBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxnQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0Usc0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxnQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0Usc0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxnQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0Usc0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBLEVHbUJuQzs7QUZkVDtFWjNDSjtJY2lCUSxhQUFhO0lBQ2IsWUFBWTtJQUNaLFlBQVk7SUFDWixlQUFlLEVBQUE7RWRwQnZCO0lXZ0RJLGNBQXVCO0lBQ3ZCLGVBQXdCLEVBQUE7RVhqRDVCO0lXZ0RJLGFBQXVCO0lBQ3ZCLGNBQXdCLEVBQUE7RVhqRDVCO0lXZ0RJLG1CQUF1QjtJQUN2QixvQkFBd0IsRUFBQTtFWGpENUI7SVdnREksYUFBdUI7SUFDdkIsY0FBd0IsRUFBQTtFWGpENUI7SVdnREksYUFBdUI7SUFDdkIsY0FBd0IsRUFBQTtFWGpENUI7SVdnREksbUJBQXVCO0lBQ3ZCLG9CQUF3QixFQUFBO0VYakQ1QjtJVytCRSxjQUFjO0lBQ2QsV0FBVztJQUNYLGVBQWUsRUFBQTtFWGpDakI7SVd1QkUsa0JBQXNDO0lBSXRDLG1CQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxtQkFBc0M7SUFJdEMsb0JBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLGFBQXNDO0lBSXRDLGNBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLG1CQUFzQztJQUl0QyxvQkFBdUMsRUFBQTtFWDNCekM7SVd1QkUsbUJBQXNDO0lBSXRDLG9CQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxhQUFzQztJQUl0QyxjQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxtQkFBc0M7SUFJdEMsb0JBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLG1CQUFzQztJQUl0QyxvQkFBdUMsRUFBQTtFWDNCekM7SVd1QkUsYUFBc0M7SUFJdEMsY0FBdUMsRUFBQTtFWDNCekM7SVd1QkUsbUJBQXNDO0lBSXRDLG9CQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxtQkFBc0M7SUFJdEMsb0JBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLGNBQXNDO0lBSXRDLGVBQXVDLEVBQUE7RVgzQnpDO0ljMkM4QixTQUFTLEVBQUE7RWQzQ3ZDO0ljNkM2QixTYnVLRyxFQUFBO0VEcE5oQztJY2dEZ0MsUUFEWixFQUFBO0VkL0NwQjtJY2dEZ0MsUUFEWixFQUFBO0VkL0NwQjtJY2dEZ0MsUUFEWixFQUFBO0VkL0NwQjtJY2dEZ0MsUUFEWixFQUFBO0VkL0NwQjtJY2dEZ0MsUUFEWixFQUFBO0VkL0NwQjtJY2dEZ0MsUUFEWixFQUFBO0VkL0NwQjtJY2dEZ0MsUUFEWixFQUFBO0VkL0NwQjtJY2dEZ0MsUUFEWixFQUFBO0VkL0NwQjtJY2dEZ0MsUUFEWixFQUFBO0VkL0NwQjtJY2dEZ0MsUUFEWixFQUFBO0VkL0NwQjtJY2dEZ0MsU0FEWixFQUFBO0VkL0NwQjtJY2dEZ0MsU0FEWixFQUFBO0VkL0NwQjtJY2dEZ0MsU0FEWixFQUFBO0VkL0NwQjtJV3NDRSxjQUE0QixFQUFBO0VYdEM5QjtJV3NDRSxxQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0Usc0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLGdCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxzQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0Usc0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLGdCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxzQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0Usc0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLGdCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxzQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0Usc0JBQThDLEVBQUEsRUdtQm5DOztBRmRUO0VaM0NKO0ljaUJRLGFBQWE7SUFDYixZQUFZO0lBQ1osWUFBWTtJQUNaLGVBQWUsRUFBQTtFZHBCdkI7SVdnREksY0FBdUI7SUFDdkIsZUFBd0IsRUFBQTtFWGpENUI7SVdnREksYUFBdUI7SUFDdkIsY0FBd0IsRUFBQTtFWGpENUI7SVdnREksbUJBQXVCO0lBQ3ZCLG9CQUF3QixFQUFBO0VYakQ1QjtJV2dESSxhQUF1QjtJQUN2QixjQUF3QixFQUFBO0VYakQ1QjtJV2dESSxhQUF1QjtJQUN2QixjQUF3QixFQUFBO0VYakQ1QjtJV2dESSxtQkFBdUI7SUFDdkIsb0JBQXdCLEVBQUE7RVhqRDVCO0lXK0JFLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZUFBZSxFQUFBO0VYakNqQjtJV3VCRSxrQkFBc0M7SUFJdEMsbUJBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLG1CQUFzQztJQUl0QyxvQkFBdUMsRUFBQTtFWDNCekM7SVd1QkUsYUFBc0M7SUFJdEMsY0FBdUMsRUFBQTtFWDNCekM7SVd1QkUsbUJBQXNDO0lBSXRDLG9CQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxtQkFBc0M7SUFJdEMsb0JBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLGFBQXNDO0lBSXRDLGNBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLG1CQUFzQztJQUl0QyxvQkFBdUMsRUFBQTtFWDNCekM7SVd1QkUsbUJBQXNDO0lBSXRDLG9CQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxhQUFzQztJQUl0QyxjQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxtQkFBc0M7SUFJdEMsb0JBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLG1CQUFzQztJQUl0QyxvQkFBdUMsRUFBQTtFWDNCekM7SVd1QkUsY0FBc0M7SUFJdEMsZUFBdUMsRUFBQTtFWDNCekM7SWMyQzhCLFNBQVMsRUFBQTtFZDNDdkM7SWM2QzZCLFNidUtHLEVBQUE7RURwTmhDO0ljZ0RnQyxRQURaLEVBQUE7RWQvQ3BCO0ljZ0RnQyxRQURaLEVBQUE7RWQvQ3BCO0ljZ0RnQyxRQURaLEVBQUE7RWQvQ3BCO0ljZ0RnQyxRQURaLEVBQUE7RWQvQ3BCO0ljZ0RnQyxRQURaLEVBQUE7RWQvQ3BCO0ljZ0RnQyxRQURaLEVBQUE7RWQvQ3BCO0ljZ0RnQyxRQURaLEVBQUE7RWQvQ3BCO0ljZ0RnQyxRQURaLEVBQUE7RWQvQ3BCO0ljZ0RnQyxRQURaLEVBQUE7RWQvQ3BCO0ljZ0RnQyxRQURaLEVBQUE7RWQvQ3BCO0ljZ0RnQyxTQURaLEVBQUE7RWQvQ3BCO0ljZ0RnQyxTQURaLEVBQUE7RWQvQ3BCO0ljZ0RnQyxTQURaLEVBQUE7RWQvQ3BCO0lXc0NFLGNBQTRCLEVBQUE7RVh0QzlCO0lXc0NFLHFCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxzQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0UsZ0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxzQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0UsZ0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxzQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0UsZ0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxzQkFBOEMsRUFBQSxFR21CbkM7O0FGZFQ7RVozQ0o7SWNpQlEsYUFBYTtJQUNiLFlBQVk7SUFDWixZQUFZO0lBQ1osZUFBZSxFQUFBO0VkcEJ2QjtJV2dESSxjQUF1QjtJQUN2QixlQUF3QixFQUFBO0VYakQ1QjtJV2dESSxhQUF1QjtJQUN2QixjQUF3QixFQUFBO0VYakQ1QjtJV2dESSxtQkFBdUI7SUFDdkIsb0JBQXdCLEVBQUE7RVhqRDVCO0lXZ0RJLGFBQXVCO0lBQ3ZCLGNBQXdCLEVBQUE7RVhqRDVCO0lXZ0RJLGFBQXVCO0lBQ3ZCLGNBQXdCLEVBQUE7RVhqRDVCO0lXZ0RJLG1CQUF1QjtJQUN2QixvQkFBd0IsRUFBQTtFWGpENUI7SVcrQkUsY0FBYztJQUNkLFdBQVc7SUFDWCxlQUFlLEVBQUE7RVhqQ2pCO0lXdUJFLGtCQUFzQztJQUl0QyxtQkFBdUMsRUFBQTtFWDNCekM7SVd1QkUsbUJBQXNDO0lBSXRDLG9CQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxhQUFzQztJQUl0QyxjQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxtQkFBc0M7SUFJdEMsb0JBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLG1CQUFzQztJQUl0QyxvQkFBdUMsRUFBQTtFWDNCekM7SVd1QkUsYUFBc0M7SUFJdEMsY0FBdUMsRUFBQTtFWDNCekM7SVd1QkUsbUJBQXNDO0lBSXRDLG9CQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxtQkFBc0M7SUFJdEMsb0JBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLGFBQXNDO0lBSXRDLGNBQXVDLEVBQUE7RVgzQnpDO0lXdUJFLG1CQUFzQztJQUl0QyxvQkFBdUMsRUFBQTtFWDNCekM7SVd1QkUsbUJBQXNDO0lBSXRDLG9CQUF1QyxFQUFBO0VYM0J6QztJV3VCRSxjQUFzQztJQUl0QyxlQUF1QyxFQUFBO0VYM0J6QztJYzJDOEIsU0FBUyxFQUFBO0VkM0N2QztJYzZDNkIsU2J1S0csRUFBQTtFRHBOaEM7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFFBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFNBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFNBRFosRUFBQTtFZC9DcEI7SWNnRGdDLFNBRFosRUFBQTtFZC9DcEI7SVdzQ0UsY0FBNEIsRUFBQTtFWHRDOUI7SVdzQ0UscUJBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxnQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0Usc0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxnQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0Usc0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBO0VYdENoRDtJV3NDRSxnQkFBOEMsRUFBQTtFWHRDaEQ7SVdzQ0Usc0JBQThDLEVBQUE7RVh0Q2hEO0lXc0NFLHNCQUE4QyxFQUFBLEVHbUJuQzs7QWR6RGI7RWVaRSxXQUFXO0VBQ1gsbUJkb0lXO0VjbklYLGNkU2dCLEVBQUE7RURDbEI7O0llTEksZ0Jkd1ZnQztJY3ZWaEMsbUJBQW1CO0lBQ25CLDZCZEpjLEVBQUE7RURPbEI7SWVDSSxzQkFBc0I7SUFDdEIsZ0NkVGMsRUFBQTtFRE9sQjtJZU1JLDZCZGJjLEVBQUE7O0FET2xCOztFZWtCSSxlZGtVK0IsRUFBQTs7QURwVm5DO0VlNEJFLHlCZG5DZ0IsRUFBQTtFRE9sQjs7SWVnQ0kseUJkdkNjLEVBQUE7RURPbEI7O0llc0NNLHdCQUE0QyxFQUFBOztBZnRDbEQ7Ozs7RWVnREksU0FBUyxFQUFBOztBZmhEYjtFZTBESSxxQ2QxRFcsRUFBQTs7QURBZjtFZXNFTSxjZHZFWTtFY3dFWixzQ2R2RVMsRUFBQTs7QURBZjs7O0VnQlJNLHlCQzZGNEQsRUFBQTs7QWpCckZsRTs7OztFZ0JBUSxxQkNxRjBELEVBQUE7O0FqQnJGbEU7RWdCWVEseUJBSnNDLEVBQUE7RWhCUjlDOztJZ0JnQlUseUJBUm9DLEVBQUE7O0FoQlI5Qzs7O0VnQlJNLHlCQzZGNEQsRUFBQTs7QWpCckZsRTs7OztFZ0JBUSxxQkNxRjBELEVBQUE7O0FqQnJGbEU7RWdCWVEseUJBSnNDLEVBQUE7RWhCUjlDOztJZ0JnQlUseUJBUm9DLEVBQUE7O0FoQlI5Qzs7O0VnQlJNLHlCQzZGNEQsRUFBQTs7QWpCckZsRTs7OztFZ0JBUSxxQkNxRjBELEVBQUE7O0FqQnJGbEU7RWdCWVEseUJBSnNDLEVBQUE7RWhCUjlDOztJZ0JnQlUseUJBUm9DLEVBQUE7O0FoQlI5Qzs7O0VnQlJNLHlCQzZGNEQsRUFBQTs7QWpCckZsRTs7OztFZ0JBUSxxQkNxRjBELEVBQUE7O0FqQnJGbEU7RWdCWVEseUJBSnNDLEVBQUE7RWhCUjlDOztJZ0JnQlUseUJBUm9DLEVBQUE7O0FoQlI5Qzs7O0VnQlJNLHlCQzZGNEQsRUFBQTs7QWpCckZsRTs7OztFZ0JBUSxxQkNxRjBELEVBQUE7O0FqQnJGbEU7RWdCWVEseUJBSnNDLEVBQUE7RWhCUjlDOztJZ0JnQlUseUJBUm9DLEVBQUE7O0FoQlI5Qzs7O0VnQlJNLHlCQzZGNEQsRUFBQTs7QWpCckZsRTs7OztFZ0JBUSxxQkNxRjBELEVBQUE7O0FqQnJGbEU7RWdCWVEseUJBSnNDLEVBQUE7RWhCUjlDOztJZ0JnQlUseUJBUm9DLEVBQUE7O0FoQlI5Qzs7O0VnQlJNLHlCQzZGNEQsRUFBQTs7QWpCckZsRTs7OztFZ0JBUSxxQkNxRjBELEVBQUE7O0FqQnJGbEU7RWdCWVEseUJBSnNDLEVBQUE7RWhCUjlDOztJZ0JnQlUseUJBUm9DLEVBQUE7O0FoQlI5Qzs7O0VnQlJNLHlCQzZGNEQsRUFBQTs7QWpCckZsRTs7OztFZ0JBUSxxQkNxRjBELEVBQUE7O0FqQnJGbEU7RWdCWVEseUJBSnNDLEVBQUE7RWhCUjlDOztJZ0JnQlUseUJBUm9DLEVBQUE7O0FoQlI5Qzs7O0VnQlJNLHNDZlFTLEVBQUE7O0FEQWY7RWdCWVEsc0NBSnNDLEVBQUE7RWhCUjlDOztJZ0JnQlUsc0NBUm9DLEVBQUE7O0FoQlI5QztFZWlHTSxXZDNHUztFYzRHVCx5QmRwR1k7RWNxR1oscUJkcVFxRCxFQUFBOztBRHhXM0Q7RWV5R00sY2Q1R1k7RWM2R1oseUJkbEhZO0VjbUhaLHFCZGxIWSxFQUFBOztBRE9sQjtFZWlIRSxXZDNIYTtFYzRIYix5QmRwSGdCLEVBQUE7RURFbEI7OztJZXVISSxxQmRpUHVELEVBQUE7RUR4VzNEO0llMkhJLFNBQVMsRUFBQTtFZjNIYjtJZWdJTSwyQ2QxSVMsRUFBQTtFRFVmO0lldUlRLFdkakpPO0lja0pQLDRDZGxKTyxFQUFBOztBV2tFWDtFWnhESjtJZTJKUSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUMsRUFBQTtJZjlKekM7TWVrS1UsU0FBUyxFQUFBLEVBQ1Y7O0FIM0dMO0VaeERKO0llMkpRLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQyxFQUFBO0lmOUp6QztNZWtLVSxTQUFTLEVBQUEsRUFDVjs7QUgzR0w7RVp4REo7SWUySlEsY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUNBQWlDLEVBQUE7SWY5SnpDO01la0tVLFNBQVMsRUFBQSxFQUNWOztBSDNHTDtFWnhESjtJZTJKUSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUMsRUFBQTtJZjlKekM7TWVrS1UsU0FBUyxFQUFBLEVBQ1Y7O0FmbktUO0VlMkpRLGNBQWM7RUFDZCxXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGlDQUFpQyxFQUFBO0VmOUp6QztJZWtLVSxTQUFTLEVBQUE7O0FmbEtuQjtFa0JWRSxjQUFjO0VBQ2QsV0FBVztFQUNYLG1DRDhHOEQ7RUM3RzlELHlCakI4WGtDO0VDelE5QixlQXRDWTtFZ0I1RWhCLGdCakJ3UitCO0VpQnZSL0IsZ0JqQjRSK0I7RWlCM1IvQixjakJEZ0I7RWlCRWhCLHNCakJUYTtFaUJVYiw0QkFBNEI7RUFDNUIseUJqQlBnQjtFUU9kLHNCUmtPZ0M7RWtCcE85Qix3RWxCNGU0RixFQUFBO0VrQnhlNUY7SW5CSE47TW1CSVEsZ0JBQWdCLEVBQUEsRURzQ3ZCO0VsQjFDRDtJa0JXSSw2QkFBNkI7SUFDN0IsU0FBUyxFQUFBO0VsQlpiO0lrQmlCSSxrQkFBa0I7SUFDbEIsMEJqQnJCYyxFQUFBO0VER2xCO0lvQkhJLGNuQkFjO0ltQkNkLHNCbkJSVztJbUJTWCxxQm5CMGRzRTtJbUJ6ZHRFLFVBQVU7SUFLUixnRG5CY1csRUFBQTtFRG5CakI7SWtCMEJJLGNqQjlCYztJaUJnQ2QsVUFBVSxFQUFBO0VsQjVCZDtJa0IwQkksY2pCOUJjO0lpQmdDZCxVQUFVLEVBQUE7RWxCNUJkO0lrQjBCSSxjakI5QmM7SWlCZ0NkLFVBQVUsRUFBQTtFbEI1QmQ7SWtCMEJJLGNqQjlCYztJaUJnQ2QsVUFBVSxFQUFBO0VsQjVCZDtJa0JzQ0kseUJqQjlDYztJaUJnRGQsVUFBVSxFQUFBOztBbEJ4Q2Q7Ozs7RWtCaURJLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7O0FsQmpEcEI7RWtCNERJLGNqQi9EYztFaUJnRWQsc0JqQnZFVyxFQUFBOztBRFVmOztFa0JvRUUsY0FBYztFQUNkLFdBQVcsRUFBQTs7QWxCckViO0VrQmdGRSxpQ0RzQjhEO0VDckI5RCxvQ0RxQjhEO0VDcEI5RCxnQkFBZ0I7RWhCM0JkLGtCQUFXO0VnQjZCYixnQmpCcU0rQixFQUFBOztBRHpSakM7RWtCd0ZFLCtCRGM4RDtFQ2I5RCxrQ0RhOEQ7RWZRMUQsa0JBdENZO0VnQm1CaEIsZ0JqQmtJK0IsRUFBQTs7QUQ3TmpDO0VrQitGRSxnQ0RPOEQ7RUNOOUQsbUNETThEO0VmUTFELG1CQXRDWTtFZ0IwQmhCLGdCakI0SCtCLEVBQUE7O0FEOU5qQztFa0I0R0UsY0FBYztFQUNkLFdBQVc7RUFDWCxtQkFBMkI7RUFDM0IsZ0JBQWdCO0VoQkRaLGVBdENZO0VnQnlDaEIsZ0JqQndLK0I7RWlCdksvQixjakJuSGdCO0VpQm9IaEIsNkJBQTZCO0VBQzdCLHlCQUF5QjtFQUN6QixtQkFBbUMsRUFBQTtFbEJySHJDO0lrQnlISSxnQkFBZ0I7SUFDaEIsZUFBZSxFQUFBOztBbEIxSG5CO0VrQnVJRSxrQ0RqQzhEO0VDa0M5RCx1QmpCeVBpQztFQ25SN0IsbUJBdENZO0VnQmtFaEIsZ0JqQm9GK0I7RVE3TjdCLHFCUm9PK0IsRUFBQTs7QURyT25DO0VrQitJRSxnQ0R6QzhEO0VDMEM5RCxvQmpCc1BnQztFQ3hSNUIsa0JBdENZO0VnQjBFaEIsZ0JqQjJFK0I7RVE1TjdCLHFCUm1PK0IsRUFBQTs7QURwT25DO0VrQjBKSSxZQUFZLEVBQUE7O0FsQjFKaEI7RWtCK0pFLFlBQVksRUFBQTs7QWxCL0pkO0VrQndLRSxtQmpCK1UwQyxFQUFBOztBRHZmNUM7RWtCNEtFLGNBQWM7RUFDZCxtQmpCZ1U0QyxFQUFBOztBRDdlOUM7RWtCc0xFLGFBQWE7RUFDYixlQUFlO0VBQ2Ysa0JBQTBDO0VBQzFDLGlCQUF5QyxFQUFBO0VsQnpMM0M7O0lrQjZMSSxrQkFBMEM7SUFDMUMsaUJBQXlDLEVBQUE7O0FsQjlMN0M7RWtCd01FLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QscUJqQnFTNkMsRUFBQTs7QUQvZS9DO0VrQjhNRSxrQkFBa0I7RUFDbEIsa0JqQmlTMkM7RWlCaFMzQyxxQmpCK1I2QyxFQUFBO0VEL2UvQzs7SWtCcU5JLGNqQnpOYyxFQUFBOztBRElsQjtFa0IwTkUsZ0JBQWdCLEVBQUE7O0FsQjFObEI7RWtCOE5FLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLHFCakJrUjRDLEVBQUE7RURuZjlDO0lrQnFPSSxnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLHVCakI2UTRDO0lpQjVRNUMsY0FBYyxFQUFBOztBbEJ4T2xCO0VvQjRCSSxhQUFhO0VBQ2IsV0FBVztFQUNYLG1CbkIrYzBDO0VDdGIxQyxjQUFXO0VrQnZCWCxjbkJOYSxFQUFBOztBRDFCakI7RW9Cb0NJLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsVUFBVTtFQUNWLGFBQWE7RUFDYixlQUFlO0VBQ2YsdUJuQnN5QnFDO0VtQnJ5QnJDLGlCQUFpQjtFbEJvRWYsbUJBdENZO0VrQjVCZCxnQm5CNk82QjtFbUI1TzdCLFduQnZEVztFbUJ3RFgsd0NuQnBCYTtFUXpCYixzQlJrT2dDLEVBQUE7O0FEbk9wQzs7RW9CcURNLGNBQWMsRUFBQTs7QXBCckRwQjtFb0IyRE0scUJuQmpDVztFbUJvQ1Qsb0NId0N3RDtFR3ZDeEQsaVJIdEIwRTtFR3VCMUUsNEJBQTRCO0VBQzVCLDJEQUE2RDtFQUM3RCxnRUhvQ3dELEVBQUE7RWpCdEdoRTtJb0JzRVEscUJuQjVDUztJbUI2Q1QsZ0RuQjdDUyxFQUFBOztBRDFCakI7RW9CZ0ZRLG9DSHNCd0Q7RUdyQnhELGtGSHFCd0QsRUFBQTs7QWpCdEdoRTtFb0J3Rk0scUJuQjlEVztFbUJpRVQsdUNIV3dEO0VHVnhELHVqQkFBOEosRUFBQTtFcEI1RnRLO0lvQmdHUSxxQm5CdEVTO0ltQnVFVCxnRG5CdkVTLEVBQUE7O0FEMUJqQjtFb0J5R1EsY25CL0VTLEVBQUE7O0FEMUJqQjs7RW9COEdRLGNBQWMsRUFBQTs7QXBCOUd0QjtFb0JzSFEsY25CNUZTLEVBQUE7RUQxQmpCO0lvQnlIVSxxQm5CL0ZPLEVBQUE7O0FEMUJqQjtFb0IrSFUscUJBQWtDO0VDMUl4Qyx5QkQySStDLEVBQUE7O0FwQmhJbkQ7RW9Cc0lVLGdEbkI1R08sRUFBQTs7QUQxQmpCO0VvQjBJVSxxQm5CaEhPLEVBQUE7O0FEMUJqQjtFb0JvSlEscUJuQjFIUyxFQUFBOztBRDFCakI7RW9CeUpVLHFCbkIvSE87RW1CZ0lQLGdEbkJoSU8sRUFBQTs7QUQxQmpCO0VvQjRCSSxhQUFhO0VBQ2IsV0FBVztFQUNYLG1CbkIrYzBDO0VDdGIxQyxjQUFXO0VrQnZCWCxjbkJUYSxFQUFBOztBRHZCakI7RW9Cb0NJLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsVUFBVTtFQUNWLGFBQWE7RUFDYixlQUFlO0VBQ2YsdUJuQnN5QnFDO0VtQnJ5QnJDLGlCQUFpQjtFbEJvRWYsbUJBdENZO0VrQjVCZCxnQm5CNk82QjtFbUI1TzdCLFduQnZEVztFbUJ3RFgsd0NuQnZCYTtFUXRCYixzQlJrT2dDLEVBQUE7O0FEbk9wQzs7RW9CcURNLGNBQWMsRUFBQTs7QXBCckRwQjtFb0IyRE0scUJuQnBDVztFbUJ1Q1Qsb0NId0N3RDtFR3ZDeEQsNFVIdEIwRTtFR3VCMUUsNEJBQTRCO0VBQzVCLDJEQUE2RDtFQUM3RCxnRUhvQ3dELEVBQUE7RWpCdEdoRTtJb0JzRVEscUJuQi9DUztJbUJnRFQsZ0RuQmhEUyxFQUFBOztBRHZCakI7RW9CZ0ZRLG9DSHNCd0Q7RUdyQnhELGtGSHFCd0QsRUFBQTs7QWpCdEdoRTtFb0J3Rk0scUJuQmpFVztFbUJvRVQsdUNIV3dEO0VHVnhELGtuQkFBOEosRUFBQTtFcEI1RnRLO0lvQmdHUSxxQm5CekVTO0ltQjBFVCxnRG5CMUVTLEVBQUE7O0FEdkJqQjtFb0J5R1EsY25CbEZTLEVBQUE7O0FEdkJqQjs7RW9COEdRLGNBQWMsRUFBQTs7QXBCOUd0QjtFb0JzSFEsY25CL0ZTLEVBQUE7RUR2QmpCO0lvQnlIVSxxQm5CbEdPLEVBQUE7O0FEdkJqQjtFb0IrSFUscUJBQWtDO0VDMUl4Qyx5QkQySStDLEVBQUE7O0FwQmhJbkQ7RW9Cc0lVLGdEbkIvR08sRUFBQTs7QUR2QmpCO0VvQjBJVSxxQm5CbkhPLEVBQUE7O0FEdkJqQjtFb0JvSlEscUJuQjdIUyxFQUFBOztBRHZCakI7RW9CeUpVLHFCbkJsSU87RW1CbUlQLGdEbkJuSU8sRUFBQTs7QUR2QmpCO0VrQmtRRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLG1CQUFtQixFQUFBO0VsQnBRckI7SWtCMFFJLFdBQVcsRUFBQTtFTi9OWDtJWjNDSjtNa0JnUk0sYUFBYTtNQUNiLG1CQUFtQjtNQUNuQix1QkFBdUI7TUFDdkIsZ0JBQWdCLEVBQUE7SWxCblJ0QjtNa0J3Uk0sYUFBYTtNQUNiLGNBQWM7TUFDZCxtQkFBbUI7TUFDbkIsbUJBQW1CO01BQ25CLGdCQUFnQixFQUFBO0lsQjVSdEI7TWtCaVNNLHFCQUFxQjtNQUNyQixXQUFXO01BQ1gsc0JBQXNCLEVBQUE7SWxCblM1QjtNa0J3U00scUJBQXFCLEVBQUE7SWxCeFMzQjs7TWtCNlNNLFdBQVcsRUFBQTtJbEI3U2pCO01rQm1UTSxhQUFhO01BQ2IsbUJBQW1CO01BQ25CLHVCQUF1QjtNQUN2QixXQUFXO01BQ1gsZUFBZSxFQUFBO0lsQnZUckI7TWtCMFRNLGtCQUFrQjtNQUNsQixjQUFjO01BQ2QsYUFBYTtNQUNiLHFCakJvTHdDO01pQm5MeEMsY0FBYyxFQUFBO0lsQjlUcEI7TWtCa1VNLG1CQUFtQjtNQUNuQix1QkFBdUIsRUFBQTtJbEJuVTdCO01rQnNVTSxnQkFBZ0IsRUFBQSxFQUNqQjs7QWxCdlVMO0VvQjRCSSxhQUFhO0VBQ2IsV0FBVztFQUNYLG1CbkIrYzBDO0VDdGIxQyxjQUFXO0VrQnZCWCxjbkJOYSxFQUFBOztBRDFCakI7RW9Cb0NJLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsVUFBVTtFQUNWLGFBQWE7RUFDYixlQUFlO0VBQ2YsdUJuQnN5QnFDO0VtQnJ5QnJDLGlCQUFpQjtFbEJvRWYsbUJBdENZO0VrQjVCZCxnQm5CNk82QjtFbUI1TzdCLFduQnZEVztFbUJ3RFgsd0NuQnBCYTtFUXpCYixzQlJrT2dDLEVBQUE7O0FEbk9wQzs7O0VvQnFETSxjQUFjLEVBQUE7O0FwQnJEcEI7RW9CMkRNLHFCbkJqQ1c7RW1Cb0NULG9DSHdDd0Q7RUd2Q3hELGlSSHRCMEU7RUd1QjFFLDRCQUE0QjtFQUM1QiwyREFBNkQ7RUFDN0QsZ0VIb0N3RCxFQUFBO0VqQnRHaEU7SW9Cc0VRLHFCbkI1Q1M7SW1CNkNULGdEbkI3Q1MsRUFBQTs7QUQxQmpCO0VvQmdGUSxvQ0hzQndEO0VHckJ4RCxrRkhxQndELEVBQUE7O0FqQnRHaEU7RW9Cd0ZNLHFCbkI5RFc7RW1CaUVULHVDSFd3RDtFR1Z4RCx1akJBQThKLEVBQUE7RXBCNUZ0SztJb0JnR1EscUJuQnRFUztJbUJ1RVQsZ0RuQnZFUyxFQUFBOztBRDFCakI7RW9CeUdRLGNuQi9FUyxFQUFBOztBRDFCakI7OztFb0I4R1EsY0FBYyxFQUFBOztBcEI5R3RCO0VvQnNIUSxjbkI1RlMsRUFBQTtFRDFCakI7SW9CeUhVLHFCbkIvRk8sRUFBQTs7QUQxQmpCO0VvQitIVSxxQkFBa0M7RUMxSXhDLHlCRDJJK0MsRUFBQTs7QXBCaEluRDtFb0JzSVUsZ0RuQjVHTyxFQUFBOztBRDFCakI7RW9CMElVLHFCbkJoSE8sRUFBQTs7QUQxQmpCO0VvQm9KUSxxQm5CMUhTLEVBQUE7O0FEMUJqQjtFb0J5SlUscUJuQi9ITztFbUJnSVAsZ0RuQmhJTyxFQUFBOztBRDFCakI7Ozs7RXNCVFksY0FBYyxFQUFBOztBdEJTMUI7RW9CNEJJLGFBQWE7RUFDYixXQUFXO0VBQ1gsbUJuQitjMEM7RUN0YjFDLGNBQVc7RWtCdkJYLGNuQlRhLEVBQUE7O0FEdkJqQjtFb0JvQ0ksa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsYUFBYTtFQUNiLGVBQWU7RUFDZix1Qm5Cc3lCcUM7RW1CcnlCckMsaUJBQWlCO0VsQm9FZixtQkF0Q1k7RWtCNUJkLGdCbkI2TzZCO0VtQjVPN0IsV25CdkRXO0VtQndEWCx3Q25CdkJhO0VRdEJiLHNCUmtPZ0MsRUFBQTs7QURuT3BDOzs7RW9CcURNLGNBQWMsRUFBQTs7QXBCckRwQjtFb0IyRE0scUJuQnBDVztFbUJ1Q1Qsb0NId0N3RDtFR3ZDeEQsNFVIdEIwRTtFR3VCMUUsNEJBQTRCO0VBQzVCLDJEQUE2RDtFQUM3RCxnRUhvQ3dELEVBQUE7RWpCdEdoRTtJb0JzRVEscUJuQi9DUztJbUJnRFQsZ0RuQmhEUyxFQUFBOztBRHZCakI7RW9CZ0ZRLG9DSHNCd0Q7RUdyQnhELGtGSHFCd0QsRUFBQTs7QWpCdEdoRTtFb0J3Rk0scUJuQmpFVztFbUJvRVQsdUNIV3dEO0VHVnhELGtuQkFBOEosRUFBQTtFcEI1RnRLO0lvQmdHUSxxQm5CekVTO0ltQjBFVCxnRG5CMUVTLEVBQUE7O0FEdkJqQjtFb0J5R1EsY25CbEZTLEVBQUE7O0FEdkJqQjs7O0VvQjhHUSxjQUFjLEVBQUE7O0FwQjlHdEI7RW9Cc0hRLGNuQi9GUyxFQUFBO0VEdkJqQjtJb0J5SFUscUJuQmxHTyxFQUFBOztBRHZCakI7RW9CK0hVLHFCQUFrQztFQzFJeEMseUJEMkkrQyxFQUFBOztBcEJoSW5EO0VvQnNJVSxnRG5CL0dPLEVBQUE7O0FEdkJqQjtFb0IwSVUscUJuQm5ITyxFQUFBOztBRHZCakI7RW9Cb0pRLHFCbkI3SFMsRUFBQTs7QUR2QmpCO0VvQnlKVSxxQm5CbElPO0VtQm1JUCxnRG5CbklPLEVBQUE7O0FEdkJqQjs7OztFc0JUWSxjQUFjLEVBQUE7O0F0QlMxQjtFdUJWRSxxQkFBcUI7RUFFckIsZ0J0QjRSK0I7RXNCM1IvQixjdEJNZ0I7RXNCTGhCLGtCQUFrQjtFQUdsQixzQkFBc0I7RUFDdEIseUJBQWlCO0tBQWpCLHNCQUFpQjtNQUFqQixxQkFBaUI7VUFBakIsaUJBQWlCO0VBQ2pCLDZCQUE2QjtFQUM3Qiw2QkFBMkM7RUN1RjNDLHlCdkJnU2tDO0VDelE5QixlQXRDWTtFc0JpQmhCLGdCdkJnTStCO0VReFI3QixzQlJrT2dDO0VrQnBPOUIscUlsQnFiNkksRUFBQTtFa0JqYjdJO0luQkhOO01tQklRLGdCQUFnQixFQUFBLEVJOEJ2QjtFdkJsQ0Q7SXVCS0ksY3RCTmM7SXNCT2QscUJBQXFCLEVBQUE7RXZCTnpCO0l1QldJLFVBQVU7SUFDVixnRHRCT2EsRUFBQTtFRG5CakI7SXVCa0JJLGF0QnNaNkIsRUFBQTtFRHhhakM7SXVCdUJJLGVBQXNELEVBQUE7O0F2QnZCMUQ7O0V1QnVDRSxvQkFBb0IsRUFBQTs7QXZCdkN0QjtFd0JYRSxXdkJDYTtFb0JEWCx5QnBCOEJhO0V1QjVCZixxQnZCNEJlLEVBQUE7RURuQmpCO0l3QkxJLFd2QkxXO0lvQkRYLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFeEJZN0g7SXdCRUksV3ZCWlc7SW9CRFgseUJHRG9GO0lBZ0JwRixxQkFoQnlIO0lBcUJ2SCxnREFBaUYsRUFBQTtFeEJUdkY7SXdCZ0JJLFd2QjFCVztJdUIyQlgseUJ2QkVhO0l1QkRiLHFCdkJDYSxFQUFBO0VEbkJqQjs7SXdCNEJJLFd2QnRDVztJdUJ1Q1gseUJBekN1SztJQTZDdksscUJBN0MrTSxFQUFBO0l4QlluTjs7TXdCd0NRLGdEQUFpRixFQUFBOztBeEJ4Q3pGO0V3QlhFLFd2QkNhO0VvQkRYLHlCcEJPYztFdUJMaEIscUJ2QktnQixFQUFBO0VESWxCO0l3QkxJLFd2QkxXO0lvQkRYLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFeEJZN0g7SXdCRUksV3ZCWlc7SW9CRFgseUJHRG9GO0lBZ0JwRixxQkFoQnlIO0lBcUJ2SCxpREFBaUYsRUFBQTtFeEJUdkY7SXdCZ0JJLFd2QjFCVztJdUIyQlgseUJ2QnJCYztJdUJzQmQscUJ2QnRCYyxFQUFBO0VESWxCOztJd0I0QkksV3ZCdENXO0l1QnVDWCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7SXhCWW5OOztNd0J3Q1EsaURBQWlGLEVBQUE7O0F4QnhDekY7RXdCWEUsV3ZCQ2E7RW9CRFgseUJwQnFDYTtFdUJuQ2YscUJ2Qm1DZSxFQUFBO0VEMUJqQjtJd0JMSSxXdkJMVztJb0JEWCx5QkdEb0Y7SUFTcEYscUJBVHlILEVBQUE7RXhCWTdIO0l3QkVJLFd2QlpXO0lvQkRYLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsK0NBQWlGLEVBQUE7RXhCVHZGO0l3QmdCSSxXdkIxQlc7SXVCMkJYLHlCdkJTYTtJdUJSYixxQnZCUWEsRUFBQTtFRDFCakI7O0l3QjRCSSxXdkJ0Q1c7SXVCdUNYLHlCQXpDdUs7SUE2Q3ZLLHFCQTdDK00sRUFBQTtJeEJZbk47O013QndDUSwrQ0FBaUYsRUFBQTs7QXhCeEN6RjtFd0JYRSxXdkJDYTtFb0JEWCx5QnBCdUNhO0V1QnJDZixxQnZCcUNlLEVBQUE7RUQ1QmpCO0l3QkxJLFd2QkxXO0lvQkRYLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFeEJZN0g7SXdCRUksV3ZCWlc7SW9CRFgseUJHRG9GO0lBZ0JwRixxQkFoQnlIO0lBcUJ2SCxnREFBaUYsRUFBQTtFeEJUdkY7SXdCZ0JJLFd2QjFCVztJdUIyQlgseUJ2QldhO0l1QlZiLHFCdkJVYSxFQUFBO0VENUJqQjs7SXdCNEJJLFd2QnRDVztJdUJ1Q1gseUJBekN1SztJQTZDdksscUJBN0MrTSxFQUFBO0l4QlluTjs7TXdCd0NRLGdEQUFpRixFQUFBOztBeEJ4Q3pGO0V3QlhFLGN2QlVnQjtFb0JWZCx5QnBCb0NhO0V1QmxDZixxQnZCa0NlLEVBQUE7RUR6QmpCO0l3QkxJLGN2QkljO0lvQlZkLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFeEJZN0g7SXdCRUksY3ZCSGM7SW9CVmQseUJHRG9GO0lBZ0JwRixxQkFoQnlIO0lBcUJ2SCxnREFBaUYsRUFBQTtFeEJUdkY7SXdCZ0JJLGN2QmpCYztJdUJrQmQseUJ2QlFhO0l1QlBiLHFCdkJPYSxFQUFBO0VEekJqQjs7SXdCNEJJLGN2QjdCYztJdUI4QmQseUJBekN1SztJQTZDdksscUJBN0MrTSxFQUFBO0l4QlluTjs7TXdCd0NRLGdEQUFpRixFQUFBOztBeEJ4Q3pGO0V3QlhFLFd2QkNhO0VvQkRYLHlCcEJrQ2E7RXVCaENmLHFCdkJnQ2UsRUFBQTtFRHZCakI7SXdCTEksV3ZCTFc7SW9CRFgseUJHRG9GO0lBU3BGLHFCQVR5SCxFQUFBO0V4Qlk3SDtJd0JFSSxXdkJaVztJb0JEWCx5QkdEb0Y7SUFnQnBGLHFCQWhCeUg7SUFxQnZILCtDQUFpRixFQUFBO0V4QlR2RjtJd0JnQkksV3ZCMUJXO0l1QjJCWCx5QnZCTWE7SXVCTGIscUJ2QkthLEVBQUE7RUR2QmpCOztJd0I0QkksV3ZCdENXO0l1QnVDWCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7SXhCWW5OOztNd0J3Q1EsK0NBQWlGLEVBQUE7O0F4QnhDekY7RXdCWEUsY3ZCVWdCO0VvQlZkLHlCcEJFYztFdUJBaEIscUJ2QkFnQixFQUFBO0VEU2xCO0l3QkxJLGN2QkljO0lvQlZkLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFeEJZN0g7SXdCRUksY3ZCSGM7SW9CVmQseUJHRG9GO0lBZ0JwRixxQkFoQnlIO0lBcUJ2SCxpREFBaUYsRUFBQTtFeEJUdkY7SXdCZ0JJLGN2QmpCYztJdUJrQmQseUJ2QjFCYztJdUIyQmQscUJ2QjNCYyxFQUFBO0VEU2xCOztJd0I0QkksY3ZCN0JjO0l1QjhCZCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7SXhCWW5OOztNd0J3Q1EsaURBQWlGLEVBQUE7O0F4QnhDekY7RXdCWEUsV3ZCQ2E7RW9CRFgseUJwQlNjO0V1QlBoQixxQnZCT2dCLEVBQUE7RURFbEI7SXdCTEksV3ZCTFc7SW9CRFgseUJHRG9GO0lBU3BGLHFCQVR5SCxFQUFBO0V4Qlk3SDtJd0JFSSxXdkJaVztJb0JEWCx5QkdEb0Y7SUFnQnBGLHFCQWhCeUg7SUFxQnZILDhDQUFpRixFQUFBO0V4QlR2RjtJd0JnQkksV3ZCMUJXO0l1QjJCWCx5QnZCbkJjO0l1Qm9CZCxxQnZCcEJjLEVBQUE7RURFbEI7O0l3QjRCSSxXdkJ0Q1c7SXVCdUNYLHlCQXpDdUs7SUE2Q3ZLLHFCQTdDK00sRUFBQTtJeEJZbk47O013QndDUSw4Q0FBaUYsRUFBQTs7QXhCeEN6RjtFd0IrQ0UsY3ZCNUJlO0V1QjZCZixxQnZCN0JlLEVBQUE7RURuQmpCO0l3Qm1ESSxXdkI3RFc7SXVCOERYLHlCdkJqQ2E7SXVCa0NiLHFCdkJsQ2EsRUFBQTtFRG5CakI7SXdCMERJLCtDdkJ2Q2EsRUFBQTtFRG5CakI7SXdCK0RJLGN2QjVDYTtJdUI2Q2IsNkJBQTZCLEVBQUE7RXhCaEVqQzs7SXdCc0VJLFd2QmhGVztJdUJpRlgseUJ2QnBEYTtJdUJxRGIscUJ2QnJEYSxFQUFBO0lEbkJqQjs7TXdCK0VRLCtDdkI1RFMsRUFBQTs7QURuQmpCO0V3QitDRSxjdkJuRGdCO0V1Qm9EaEIscUJ2QnBEZ0IsRUFBQTtFRElsQjtJd0JtREksV3ZCN0RXO0l1QjhEWCx5QnZCeERjO0l1QnlEZCxxQnZCekRjLEVBQUE7RURJbEI7SXdCMERJLGlEdkI5RGMsRUFBQTtFRElsQjtJd0IrREksY3ZCbkVjO0l1Qm9FZCw2QkFBNkIsRUFBQTtFeEJoRWpDOztJd0JzRUksV3ZCaEZXO0l1QmlGWCx5QnZCM0VjO0l1QjRFZCxxQnZCNUVjLEVBQUE7SURJbEI7O013QitFUSxpRHZCbkZVLEVBQUE7O0FESWxCO0V3QitDRSxjdkJyQmU7RXVCc0JmLHFCdkJ0QmUsRUFBQTtFRDFCakI7SXdCbURJLFd2QjdEVztJdUI4RFgseUJ2QjFCYTtJdUIyQmIscUJ2QjNCYSxFQUFBO0VEMUJqQjtJd0IwREksK0N2QmhDYSxFQUFBO0VEMUJqQjtJd0IrREksY3ZCckNhO0l1QnNDYiw2QkFBNkIsRUFBQTtFeEJoRWpDOztJd0JzRUksV3ZCaEZXO0l1QmlGWCx5QnZCN0NhO0l1QjhDYixxQnZCOUNhLEVBQUE7SUQxQmpCOztNd0IrRVEsK0N2QnJEUyxFQUFBOztBRDFCakI7RXdCK0NFLGN2Qm5CZTtFdUJvQmYscUJ2QnBCZSxFQUFBO0VENUJqQjtJd0JtREksV3ZCN0RXO0l1QjhEWCx5QnZCeEJhO0l1QnlCYixxQnZCekJhLEVBQUE7RUQ1QmpCO0l3QjBESSxnRHZCOUJhLEVBQUE7RUQ1QmpCO0l3QitESSxjdkJuQ2E7SXVCb0NiLDZCQUE2QixFQUFBO0V4QmhFakM7O0l3QnNFSSxXdkJoRlc7SXVCaUZYLHlCdkIzQ2E7SXVCNENiLHFCdkI1Q2EsRUFBQTtJRDVCakI7O013QitFUSxnRHZCbkRTLEVBQUE7O0FENUJqQjtFd0IrQ0UsY3ZCdEJlO0V1QnVCZixxQnZCdkJlLEVBQUE7RUR6QmpCO0l3Qm1ESSxjdkJwRGM7SXVCcURkLHlCdkIzQmE7SXVCNEJiLHFCdkI1QmEsRUFBQTtFRHpCakI7SXdCMERJLCtDdkJqQ2EsRUFBQTtFRHpCakI7SXdCK0RJLGN2QnRDYTtJdUJ1Q2IsNkJBQTZCLEVBQUE7RXhCaEVqQzs7SXdCc0VJLGN2QnZFYztJdUJ3RWQseUJ2QjlDYTtJdUIrQ2IscUJ2Qi9DYSxFQUFBO0lEekJqQjs7TXdCK0VRLCtDdkJ0RFMsRUFBQTs7QUR6QmpCO0V3QitDRSxjdkJ4QmU7RXVCeUJmLHFCdkJ6QmUsRUFBQTtFRHZCakI7SXdCbURJLFd2QjdEVztJdUI4RFgseUJ2QjdCYTtJdUI4QmIscUJ2QjlCYSxFQUFBO0VEdkJqQjtJd0IwREksK0N2Qm5DYSxFQUFBO0VEdkJqQjtJd0IrREksY3ZCeENhO0l1QnlDYiw2QkFBNkIsRUFBQTtFeEJoRWpDOztJd0JzRUksV3ZCaEZXO0l1QmlGWCx5QnZCaERhO0l1QmlEYixxQnZCakRhLEVBQUE7SUR2QmpCOztNd0IrRVEsK0N2QnhEUyxFQUFBOztBRHZCakI7RXdCK0NFLGN2QnhEZ0I7RXVCeURoQixxQnZCekRnQixFQUFBO0VEU2xCO0l3Qm1ESSxjdkJwRGM7SXVCcURkLHlCdkI3RGM7SXVCOERkLHFCdkI5RGMsRUFBQTtFRFNsQjtJd0IwREksaUR2Qm5FYyxFQUFBO0VEU2xCO0l3QitESSxjdkJ4RWM7SXVCeUVkLDZCQUE2QixFQUFBO0V4QmhFakM7O0l3QnNFSSxjdkJ2RWM7SXVCd0VkLHlCdkJoRmM7SXVCaUZkLHFCdkJqRmMsRUFBQTtJRFNsQjs7TXdCK0VRLGlEdkJ4RlUsRUFBQTs7QURTbEI7RXdCK0NFLGN2QmpEZ0I7RXVCa0RoQixxQnZCbERnQixFQUFBO0VERWxCO0l3Qm1ESSxXdkI3RFc7SXVCOERYLHlCdkJ0RGM7SXVCdURkLHFCdkJ2RGMsRUFBQTtFREVsQjtJd0IwREksOEN2QjVEYyxFQUFBO0VERWxCO0l3QitESSxjdkJqRWM7SXVCa0VkLDZCQUE2QixFQUFBO0V4QmhFakM7O0l3QnNFSSxXdkJoRlc7SXVCaUZYLHlCdkJ6RWM7SXVCMEVkLHFCdkIxRWMsRUFBQTtJREVsQjs7TXdCK0VRLDhDdkJqRlUsRUFBQTs7QURFbEI7RXVCa0VFLGdCdEJrTitCO0VzQmpOL0IsY3RCaERlO0VzQmlEZixxQnRCZ0c0QyxFQUFBO0VEcEs5QztJdUJ1RUksY3RCOEY4RDtJc0I3RjlELDBCdEI4RitDLEVBQUE7RUR0S25EO0l1QjZFSSwwQnRCeUYrQyxFQUFBO0VEdEtuRDtJdUJrRkksY3RCdEZjO0lzQnVGZCxvQkFBb0IsRUFBQTs7QXZCbkZ4QjtFd0J1RkUsb0J2QitTZ0M7RUN4UjVCLGtCQXRDWTtFc0JpQmhCLGdCdkJvSStCO0VRNU43QixxQlJtTytCLEVBQUE7O0FEcE9uQztFd0J1RkUsdUJ2QjBTaUM7RUNuUjdCLG1CQXRDWTtFc0JpQmhCLGdCdkJxSStCO0VRN043QixxQlJvTytCLEVBQUE7O0FEck9uQztFdUI0R0UsY0FBYztFQUNkLFdBQVcsRUFBQTtFdkI3R2I7SXVCaUhJLGtCdEI0VCtCLEVBQUE7O0FEN2FuQzs7O0V1QjBISSxXQUFXLEVBQUE7O0F2QjFIZjtFbUJETSxnQ2xCc1AyQyxFQUFBO0VrQmxQM0M7SW5CSE47TW1CSVEsZ0JBQWdCLEVBQUEsRU1mdkI7RXpCV0Q7SXlCYkksVUFBVSxFQUFBOztBekJhZDtFeUJQSSxhQUFhLEVBQUE7O0F6Qk9qQjtFeUJGRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULGdCQUFnQjtFTkRaLDZCbEJ1UHdDLEVBQUE7RWtCblB4QztJbkJITjtNbUJJUSxnQkFBZ0IsRUFBQSxFTUZ2Qjs7QXpCRkQ7Ozs7RTBCWkUsa0JBQWtCLEVBQUE7O0ExQllwQjtFMEJSRSxtQkFBbUIsRUFBQTtFMUJRckI7STJCYU0scUJBQXFCO0lBQ3JCLG9CMUJvTzBDO0kwQm5PMUMsdUIxQmtPMEM7STBCak8xQyxXQUFXO0lBaENmLHVCQUE4QjtJQUM5QixxQ0FBNEM7SUFDNUMsZ0JBQWdCO0lBQ2hCLG9DQUEyQyxFQUFBO0UzQmE3QztJMkJ5Q00sY0FBYyxFQUFBOztBM0J6Q3BCO0UwQkFFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsT0FBTztFQUNQLGF6QjhwQnNDO0V5QjdwQnRDLGFBQWE7RUFDYixXQUFXO0VBQ1gsZ0J6Qm91QnVDO0V5Qm51QnZDLGlCQUE4QjtFQUM5QixvQkFBNEI7RXhCc0d4QixlQXRDWTtFd0I5RGhCLGN6QlhnQjtFeUJZaEIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixzQnpCdkJhO0V5QndCYiw0QkFBNEI7RUFDNUIscUN6QmZhO0VRQ1gsc0JSa09nQyxFQUFBOztBRG5PcEM7RTBCeUJNLFdBQVc7RUFDWCxPQUFPLEVBQUE7O0ExQjFCYjtFMEI4Qk0sUUFBUTtFQUNSLFVBQVUsRUFBQTs7QWRZWjtFWjNDSjtJMEJ5Qk0sV0FBVztJQUNYLE9BQU8sRUFBQTtFMUIxQmI7STBCOEJNLFFBQVE7SUFDUixVQUFVLEVBQUEsRUFDWDs7QWRXRDtFWjNDSjtJMEJ5Qk0sV0FBVztJQUNYLE9BQU8sRUFBQTtFMUIxQmI7STBCOEJNLFFBQVE7SUFDUixVQUFVLEVBQUEsRUFDWDs7QWRXRDtFWjNDSjtJMEJ5Qk0sV0FBVztJQUNYLE9BQU8sRUFBQTtFMUIxQmI7STBCOEJNLFFBQVE7SUFDUixVQUFVLEVBQUEsRUFDWDs7QWRXRDtFWjNDSjtJMEJ5Qk0sV0FBVztJQUNYLE9BQU8sRUFBQTtFMUIxQmI7STBCOEJNLFFBQVE7SUFDUixVQUFVLEVBQUEsRUFDWDs7QTFCaENMO0UwQndDSSxTQUFTO0VBQ1QsWUFBWTtFQUNaLGFBQWE7RUFDYix1QnpCaXNCdUMsRUFBQTs7QUQ1dUIzQztFMkJhTSxxQkFBcUI7RUFDckIsb0IxQm9PMEM7RTBCbk8xQyx1QjFCa08wQztFMEJqTzFDLFdBQVc7RUF6QmYsYUFBYTtFQUNiLHFDQUE0QztFQUM1QywwQkFBaUM7RUFDakMsb0NBQTJDLEVBQUE7O0EzQk03QztFMkJ5Q00sY0FBYyxFQUFBOztBM0J6Q3BCO0UwQnFESSxNQUFNO0VBQ04sV0FBVztFQUNYLFVBQVU7RUFDVixhQUFhO0VBQ2IscUJ6Qm1yQnVDLEVBQUE7O0FENXVCM0M7RTJCYU0scUJBQXFCO0VBQ3JCLG9CMUJvTzBDO0UwQm5PMUMsdUIxQmtPMEM7RTBCak8xQyxXQUFXO0VBbEJmLG1DQUEwQztFQUMxQyxlQUFlO0VBQ2Ysc0NBQTZDO0VBQzdDLHdCQUErQixFQUFBOztBM0JEakM7RTJCeUNNLGNBQWMsRUFBQTs7QTNCekNwQjtFMEIrRE0saUJBQWlCLEVBQUE7O0ExQi9EdkI7RTBCc0VJLE1BQU07RUFDTixXQUFXO0VBQ1gsVUFBVTtFQUNWLGFBQWE7RUFDYixzQnpCa3FCdUMsRUFBQTs7QUQ1dUIzQztFMkJhTSxxQkFBcUI7RUFDckIsb0IxQm9PMEM7RTBCbk8xQyx1QjFCa08wQztFMEJqTzFDLFdBQVcsRUFBQTs7QTNCaEJqQjtFMkI0QlEsYUFBYSxFQUFBOztBM0I1QnJCO0UyQmdDUSxxQkFBcUI7RUFDckIscUIxQmlOd0M7RTBCaE54Qyx1QjFCK013QztFMEI5TXhDLFdBQVc7RUE5QmpCLG1DQUEwQztFQUMxQyx5QkFBZ0M7RUFDaEMsc0NBQTZDLEVBQUE7O0EzQlAvQztFMkJ5Q00sY0FBYyxFQUFBOztBM0J6Q3BCO0UwQmdGTSxpQkFBaUIsRUFBQTs7QTFCaEZ2QjtFMEI0RkksV0FBVztFQUNYLFlBQVksRUFBQTs7QTFCN0ZoQjtFNEJaRSxTQUFTO0VBQ1QsZ0JBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQiw2QjNCQ2dCLEVBQUE7O0FEUWxCO0UwQjBHRSxjQUFjO0VBQ2QsV0FBVztFQUNYLHVCekJzcEJ3QztFeUJycEJ4QyxXQUFXO0VBQ1gsZ0J6QnNLK0I7RXlCcksvQixjekJoSGdCO0V5QmlIaEIsbUJBQW1CO0VBRW5CLG1CQUFtQjtFQUNuQiw2QkFBNkI7RUFDN0IsU0FBUyxFQUFBO0UxQnBIWDtJMEJtSUksY3pCc25CcUQ7SXlCcm5CckQscUJBQXFCO0lML0lyQix5QnBCRWMsRUFBQTtFRFNsQjtJMEIwSUksV3pCcEpXO0l5QnFKWCxxQkFBcUI7SUx0SnJCLHlCcEI4QmEsRUFBQTtFRG5CakI7STBCaUpJLGN6QnJKYztJeUJzSmQsb0JBQW9CO0lBQ3BCLDZCQUE2QixFQUFBOztBMUJuSmpDO0UwQjRKRSxjQUFjLEVBQUE7O0ExQjVKaEI7RTBCaUtFLGNBQWM7RUFDZCxzQnpCZ21Cd0M7RXlCL2xCeEMsZ0JBQWdCO0V4QnJEWixtQkF0Q1k7RXdCNkZoQixjekJ6S2dCO0V5QjBLaEIsbUJBQW1CLEVBQUE7O0ExQnRLckI7RTBCMktFLGNBQWM7RUFDZCx1QnpCc2xCd0M7RXlCcmxCeEMsY3pCOUtnQixFQUFBOztBRENsQjs7RTZCWkUsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixzQkFBc0IsRUFBQTtFN0JVeEI7O0k2QlBJLGtCQUFrQjtJQUNsQixjQUFjLEVBQUE7STdCTWxCOztNNkJETSxVQUFVLEVBQUE7STdCQ2hCOzs7O002QklNLFVBQVUsRUFBQTs7QTdCSmhCO0U2QldFLGFBQWE7RUFDYixlQUFlO0VBQ2YsMkJBQTJCLEVBQUE7RTdCYjdCO0k2QmdCSSxXQUFXLEVBQUE7O0E3QmhCZjs7RTZCd0JJLGlCNUJ3TTZCLEVBQUE7O0FEaE9qQzs7RVNpQkksMEJvQmE4QjtFcEJaOUIsNkJvQlk4QixFQUFBOztBN0I5QmxDOztFUytCSSx5Qm9CSTZCO0VwQkg3Qiw0Qm9CRzZCLEVBQUE7O0E3Qm5DakM7RTZCb0RFLHdCQUFtQztFQUNuQyx1QkFBa0MsRUFBQTtFN0JyRHBDOzs7STZCMERJLGNBQWMsRUFBQTtFQUdoQjtJQUNFLGVBQWUsRUFBQTs7QTdCOURuQjtFNkJtRUUsdUJBQXNDO0VBQ3RDLHNCQUFxQyxFQUFBOztBN0JwRXZDO0U2QndFRSxzQkFBc0M7RUFDdEMscUJBQXFDLEVBQUE7O0E3QnpFdkM7RTZCOEZFLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsdUJBQXVCLEVBQUE7RTdCaEd6Qjs7STZCb0dJLFdBQVcsRUFBQTtFN0JwR2Y7O0k2QnlHSSxnQjVCdUg2QixFQUFBO0VEaE9qQzs7SVN3QkksNkJvQnVGK0I7SXBCdEYvQiw0Qm9Cc0YrQixFQUFBO0U3Qi9HbkM7O0lTVUkseUJvQjBHNEI7SXBCekc1QiwwQm9CeUc0QixFQUFBOztBN0JwSGhDOztFNkJ3SUksZ0JBQWdCLEVBQUE7RTdCeElwQjs7OztJNkI0SU0sa0JBQWtCO0lBQ2xCLHNCQUFzQjtJQUN0QixvQkFBb0IsRUFBQTs7QTdCOUkxQjtFOEJWRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLGVBQWU7RUFDZixvQkFBb0I7RUFDcEIsV0FBVyxFQUFBO0U5Qk1iOzs7O0k4QkFJLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsU0FBUztJQUNULFlBQVk7SUFDWixnQkFBZ0IsRUFBQTtJOUJKcEI7Ozs7Ozs7Ozs7OztNOEJTTSxpQjdCdU4yQixFQUFBO0VEaE9qQzs7O0k4QmlCSSxVQUFVLEVBQUE7RTlCakJkO0k4QnNCSSxVQUFVLEVBQUE7RTlCdEJkOztJU2lCSSwwQnFCVW1EO0lyQlRuRCw2QnFCU21ELEVBQUE7RTlCM0J2RDs7SVMrQkkseUJxQkhtRDtJckJJbkQsNEJxQkptRCxFQUFBO0U5QjVCdkQ7SThCa0NJLGFBQWE7SUFDYixtQkFBbUIsRUFBQTtJOUJuQ3ZCOztNU2lCSSwwQnFCcUI2RTtNckJwQjdFLDZCcUJvQjZFLEVBQUE7STlCdENqRjtNUytCSSx5QnFCUXNFO01yQlB0RSw0QnFCT3NFLEVBQUE7O0E5QnZDMUU7O0U4Qm9ERSxhQUFhLEVBQUE7RTlCcERmOztJOEIwREksa0JBQWtCO0lBQ2xCLFVBQVUsRUFBQTtJOUIzRGQ7O004QjhETSxVQUFVLEVBQUE7RTlCOURoQjs7Ozs7Ozs7SThCc0VJLGlCN0IwSjZCLEVBQUE7O0FEaE9qQztFOEIwRXVCLGtCN0JzSlUsRUFBQTs7QURoT2pDO0U4QjJFc0IsaUI3QnFKVyxFQUFBOztBRGhPakM7RThCb0ZFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIseUI3QmlTa0M7RTZCaFNsQyxnQkFBZ0I7RTVCdUJaLGVBdENZO0U0QmlCaEIsZ0I3QjJMK0I7RTZCMUwvQixnQjdCK0wrQjtFNkI5TC9CLGM3QjlGZ0I7RTZCK0ZoQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLHlCN0J0R2dCO0U2QnVHaEIseUI3QnJHZ0I7RVFPZCxzQlJrT2dDLEVBQUE7RURuT3BDOztJOEJxR0ksYUFBYSxFQUFBOztBOUJyR2pCOztFOEJpSEUsZ0NiWDhELEVBQUE7O0FqQnRHaEU7Ozs7OztFOEIwSEUsb0I3QjRRZ0M7RUN4UjVCLGtCQXRDWTtFNEJvRGhCLGdCN0JpRytCO0VRNU43QixxQlJtTytCLEVBQUE7O0FEcE9uQzs7RThCa0lFLGtDYjVCOEQsRUFBQTs7QWpCdEdoRTs7Ozs7O0U4QjJJRSx1QjdCc1BpQztFQ25SN0IsbUJBdENZO0U0QnFFaEIsZ0I3QmlGK0I7RVE3TjdCLHFCUm9PK0IsRUFBQTs7QURyT25DOztFOEJtSkUsc0JBQTBFLEVBQUE7O0E5Qm5KNUU7Ozs7OztFU2lCSSwwQnFCbUo0QjtFckJsSjVCLDZCcUJrSjRCLEVBQUE7O0E5QnBLaEM7Ozs7OztFUytCSSx5QnFCOEkyQjtFckI3STNCLDRCcUI2STJCLEVBQUE7O0E5QjdLL0I7RStCUEUsa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxrQkFBK0M7RUFDL0Msb0JBQXFFLEVBQUE7O0EvQkl2RTtFK0JBRSxvQkFBb0I7RUFDcEIsa0I5QitmMEMsRUFBQTs7QURoZ0I1QztFK0JLRSxrQkFBa0I7RUFDbEIsT0FBTztFQUNQLFdBQVc7RUFDWCxXOUIyZjBDO0U4QjFmMUMsZUFBa0Y7RUFDbEYsVUFBVSxFQUFBO0UvQlZaO0krQmFJLFc5QnZCVztJOEJ3QlgscUI5QkthO0lvQjlCYix5QnBCOEJhLEVBQUE7RURuQmpCO0krQndCTSxnRDlCTFcsRUFBQTtFRG5CakI7SStCNkJJLHFCOUI0YnNFLEVBQUE7RUR6ZDFFO0krQmlDSSxXOUIzQ1c7SThCNENYLHlCOUJ3ZjhFO0k4QnZmOUUscUI5QnVmOEUsRUFBQTtFRDFoQmxGO0krQjJDTSxjOUIvQ1ksRUFBQTtJRElsQjtNK0I4Q1EseUI5QnREVSxFQUFBOztBRFFsQjtFK0J5REUsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUVoQixtQkFBbUIsRUFBQTtFL0I1RHJCO0krQmlFSSxrQkFBa0I7SUFDbEIsWUFBK0U7SUFDL0UsYUFBK0Q7SUFDL0QsY0FBYztJQUNkLFc5Qjhid0M7SThCN2J4QyxZOUI2YndDO0k4QjVieEMsb0JBQW9CO0lBQ3BCLFdBQVc7SUFDWCxzQjlCbkZXO0k4Qm9GWCx5QjlCc0o2QixFQUFBO0VEaE9qQztJK0JnRkksa0JBQWtCO0lBQ2xCLFlBQStFO0lBQy9FLGFBQStEO0lBQy9ELGNBQWM7SUFDZCxXOUIrYXdDO0k4QjlheEMsWTlCOGF3QztJOEI3YXhDLFdBQVc7SUFDWCxtQ0FBZ0UsRUFBQTs7QS9CdkZwRTtFU0NJLHNCUmtPZ0MsRUFBQTs7QURuT3BDO0UrQnVHTSxrT2Q5RDRFLEVBQUE7O0FqQnpDbEY7RStCNkdNLHFCOUIxRlc7RW9COUJiLHlCcEI4QmEsRUFBQTs7QURuQmpCO0UrQmtITSwrS2R6RTRFLEVBQUE7O0FqQnpDbEY7RStCd0hNLHdDOUJyR1csRUFBQTs7QURuQmpCO0UrQjJITSx3QzlCeEdXLEVBQUE7O0FEbkJqQjtFK0J1SUksa0I5QmdhK0MsRUFBQTs7QUR2aUJuRDtFK0I0SU0sOEtkbkc0RSxFQUFBOztBakJ6Q2xGO0UrQmtKTSx3QzlCL0hXLEVBQUE7O0FEbkJqQjtFK0I2SkUscUJBQTJELEVBQUE7RS9CN0o3RDtJK0JpS00sY0FBcUQ7SUFDckQsYzlCd1krRTtJOEJ2WS9FLG1CQUFtQjtJQUVuQixxQjlCc1k0RSxFQUFBO0VEM2lCbEY7SStCeUtNLHdCZG5FMEQ7SWNvRTFELDBCZHBFMEQ7SWNxRTFELHVCZGpEMEQ7SWNrRDFELHdCZGxEMEQ7SWNtRDFELHlCOUJsTFk7SThCb0xaLHFCOUI0WDRFO0lrQjVpQjVFLHlJbEI4ZitILEVBQUE7SWtCMWYvSDtNbkJITjtRbUJJUSxnQkFBZ0IsRUFBQSxFWTZLbkI7RS9CakxMO0krQnNMTSxzQjlCaE1TO0k4QmlNVCw4QkFBNEUsRUFBQTtFL0J2TGxGO0krQjZMTSx3QzlCMUtXLEVBQUE7O0FEbkJqQjtFK0IwTUUscUJBQXFCO0VBQ3JCLFdBQVc7RUFDWCxtQ2R0RzhEO0VjdUc5RCwwQzlCMEtrQztFQ3pROUIsZUF0Q1k7RTZCd0loQixnQjlCb0UrQjtFOEJuRS9CLGdCOUJ3RStCO0U4QnZFL0IsYzlCck5nQjtFOEJzTmhCLHNCQUFzQjtFQUN0Qix1TzlCeVcrSTtFOEJ4Vy9JLHlCOUIzTmdCO0VRT2Qsc0JSa09nQztFOEJYbEMsd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQTtFL0J4TmxCO0krQjJOSSxxQjlCOFBzRTtJOEI3UHRFLFVBQVU7SUFLUixnRDlCOU1XLEVBQUE7SURuQmpCO00rQjBPTSxjOUI3T1k7TThCOE9aLHNCOUJyUFMsRUFBQTtFRFVmO0krQmlQSSxZQUFZO0lBQ1osc0I5QnFJZ0M7SThCcEloQyxzQkFBc0IsRUFBQTtFL0JuUDFCO0krQnVQSSxjOUIzUGM7SThCNFBkLHlCOUJoUWMsRUFBQTtFRFFsQjtJK0I2UEksYUFBYSxFQUFBO0UvQjdQakI7SStCa1FJLGtCQUFrQjtJQUNsQiwwQjlCdFFjLEVBQUE7O0FER2xCO0UrQndRRSxrQ2RsSzhEO0VjbUs5RCxvQjlCdUhrQztFOEJ0SGxDLHVCOUJzSGtDO0U4QnJIbEMsb0I5QnNIaUM7RUNuUjdCLG1CQXRDWSxFQUFBOztBRnhFbEI7RStCZ1JFLGdDZDFLOEQ7RWMySzlELG1COUJvSGlDO0U4Qm5IakMsc0I5Qm1IaUM7RThCbEhqQyxrQjlCbUhnQztFQ3hSNUIsa0JBdENZLEVBQUE7O0FGeEVsQjtFK0I2UkUsa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsbUNkMUw4RDtFYzJMOUQsZ0JBQWdCLEVBQUE7O0EvQmpTbEI7RStCcVNFLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsV0FBVztFQUNYLG1DZGxNOEQ7RWNtTTlELFNBQVM7RUFDVCxVQUFVLEVBQUE7RS9CMVNaO0krQjZTSSxxQjlCNEtzRTtJOEIzS3RFLGdEOUIzUmEsRUFBQTtFRG5CakI7O0krQm9USSx5QjlCNVRjLEVBQUE7RURRbEI7SStCeVRNLGlCOUJtVVEsRUFBQTtFRDVuQmQ7SStCOFRJLDBCQUEwQixFQUFBOztBL0I5VDlCO0UrQm1VRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixPQUFPO0VBQ1AsVUFBVTtFQUNWLG1DZGxPOEQ7RWNtTzlELHlCOUI4Q2tDO0U4QjVDbEMsZ0I5QnZEK0I7RThCd0QvQixnQjlCbkQrQjtFOEJvRC9CLGM5QmhWZ0I7RThCaVZoQixzQjlCeFZhO0U4QnlWYix5QjlCclZnQjtFUU9kLHNCUmtPZ0MsRUFBQTtFRG5PcEM7SStCb1ZJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLFNBQVM7SUFDVCxVQUFVO0lBQ1YsY0FBYztJQUNkLDZCZHBQNEQ7SWNxUDVELHlCOUI0QmdDO0k4QjNCaEMsZ0I5Qm5FNkI7SThCb0U3QixjOUJoV2M7SThCaVdkLGlCQUFpQjtJVnpXakIseUJwQkdjO0k4QndXZCxvQkFBb0I7SXRCL1ZwQixrQ3NCZ1dnRixFQUFBOztBL0JqV3BGO0UrQjRXRSxXQUFXO0VBQ1gsY2QxUTJCO0VjMlEzQixVQUFVO0VBQ1YsNkJBQTZCO0VBQzdCLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7RS9CaFhsQjtJK0JtWEksYUFBYSxFQUFBO0kvQm5YakI7TStCdVg4QixnRTlCcFdiLEVBQUE7SURuQmpCO00rQndYOEIsZ0U5QnJXYixFQUFBO0lEbkJqQjtNK0J5WDhCLGdFOUJ0V2IsRUFBQTtFRG5CakI7SStCNlhJLFNBQVMsRUFBQTtFL0I3WGI7SStCaVlJLFc5QjRONkM7SThCM043QyxZOUIyTjZDO0k4QjFON0Msb0JBQXlFO0lWOVl6RSx5QnBCOEJhO0k4QmtYYixTOUIyTjBDO0lRL2xCMUMsbUJSZ21CNkM7SWtCbG1CM0Msb0hsQjhmK0g7SWtCOWYvSCw0R2xCOGYrSDtJOEJwSGpJLHdCQUFnQjtZQUFoQixnQkFBZ0IsRUFBQTtJWnRZZDtNbkJITjtRbUJJUSx3QkFBZ0I7UUFBaEIsZ0JBQWdCLEVBQUEsRVkwWXJCO0kvQjlZSDtNcUJYSSx5QnBCZ25CMkUsRUFBQTtFRHJtQi9FO0krQmlaSSxXOUJxTW9DO0k4QnBNcEMsYzlCcU1xQztJOEJwTXJDLGtCQUFrQjtJQUNsQixlOUJvTXVDO0k4Qm5NdkMseUI5QjVaYztJOEI2WmQseUJBQXlCO0l0QnJaekIsbUJSeWxCb0MsRUFBQTtFRDFsQnhDO0krQjRaSSxXOUJpTTZDO0k4QmhNN0MsWTlCZ002QztJb0J4bUI3Qyx5QnBCOEJhO0k4QjRZYixTOUJpTTBDO0lRL2xCMUMsbUJSZ21CNkM7SWtCbG1CM0MsaUhsQjhmK0g7SWtCOWYvSCw0R2xCOGYrSDtJOEIxRmpJLHFCQUFnQjtTQUFoQixnQkFBZ0IsRUFBQTtJWmhhZDtNbkJITjtRbUJJUSxxQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBQUEsRVlvYXJCO0kvQnhhSDtNcUJYSSx5QnBCZ25CMkUsRUFBQTtFRHJtQi9FO0krQjJhSSxXOUIyS29DO0k4QjFLcEMsYzlCMktxQztJOEIxS3JDLGtCQUFrQjtJQUNsQixlOUIwS3VDO0k4QnpLdkMseUI5QnRiYztJOEJ1YmQseUJBQXlCO0l0Qi9hekIsbUJSeWxCb0MsRUFBQTtFRDFsQnhDO0krQnNiSSxXOUJ1SzZDO0k4QnRLN0MsWTlCc0s2QztJOEJySzdDLGFBQWE7SUFDYixvQjlCN0QrQjtJOEI4RC9CLG1COUI5RCtCO0lvQnZZL0IseUJwQjhCYTtJOEJ5YWIsUzlCb0swQztJUS9sQjFDLG1CUmdtQjZDO0lrQmxtQjNDLGdIbEI4ZitIO0lrQjlmL0gsNEdsQjhmK0g7SThCN0RqSSxnQkFBZ0IsRUFBQTtJWjdiZDtNbkJITjtRbUJJUSxvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBQUEsRVlpY3JCO0kvQnJjSDtNcUJYSSx5QnBCZ25CMkUsRUFBQTtFRHJtQi9FO0krQndjSSxXOUI4SW9DO0k4QjdJcEMsYzlCOElxQztJOEI3SXJDLGtCQUFrQjtJQUNsQixlOUI2SXVDO0k4QjVJdkMsNkJBQTZCO0lBQzdCLHlCQUF5QjtJQUN6QixvQkFBNEMsRUFBQTtFL0I5Y2hEO0krQm1kSSx5QjlCMWRjO0lRUWQsbUJSeWxCb0MsRUFBQTtFRDFsQnhDO0krQndkSSxrQkFBa0I7SUFDbEIseUI5QmhlYztJUVFkLG1CUnlsQm9DLEVBQUE7RUQxbEJ4QztJK0IrZE0seUI5QnBlWSxFQUFBO0VES2xCO0krQm1lTSxlQUFlLEVBQUE7RS9CbmVyQjtJK0J1ZU0seUI5QjVlWSxFQUFBO0VES2xCO0krQjJlTSxlQUFlLEVBQUE7RS9CM2VyQjtJK0IrZU0seUI5QnBmWSxFQUFBOztBREtsQjs7O0VtQkRNLDRHbEI4ZitILEVBQUE7RWtCMWYvSDtJbkJITjs7O01tQklRLGdCQUFnQixFQUFBLEVZb2Z2Qjs7QS9CeGZEO0VnQ1hFLGFBQWE7RUFDYixlQUFlO0VBQ2YsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixnQkFBZ0IsRUFBQTs7QWhDT2xCO0VnQ0hFLGNBQWM7RUFDZCxvQi9CK3FCc0MsRUFBQTtFRDdxQnhDO0lnQ0VJLHFCQUFxQixFQUFBO0VoQ0Z6QjtJZ0NPSSxjL0JYYztJK0JZZCxvQkFBb0I7SUFDcEIsZUFBZSxFQUFBOztBaENUbkI7RWdDa0JFLGdDL0J6QmdCLEVBQUE7RURPbEI7SWdDcUJJLG1CL0IyTTZCLEVBQUE7RURoT2pDO0lnQ3lCSSw2QkFBZ0Q7SXZCZmhELCtCUnlOZ0M7SVF4TmhDLGdDUndOZ0MsRUFBQTtJRG5PcEM7TWdDNkJNLHFDL0JwQ1ksRUFBQTtJRE9sQjtNZ0NpQ00sYy9CckNZO00rQnNDWiw2QkFBNkI7TUFDN0IseUJBQXlCLEVBQUE7RWhDbkMvQjs7SWdDeUNJLGMvQjVDYztJK0I2Q2Qsc0IvQnBEVztJK0JxRFgsa0MvQnJEVyxFQUFBO0VEVWY7SWdDZ0RJLGdCL0JnTDZCO0lRdE43Qix5QnVCd0M0QjtJdkJ2QzVCLDBCdUJ1QzRCLEVBQUE7O0FoQ2xEaEM7RVNDSSxzQlJrT2dDLEVBQUE7O0FEbk9wQzs7RWdDa0VJLFcvQjVFVztFK0I2RVgseUIvQmhEYSxFQUFBOztBRG5CakI7RWdDOEVJLGNBQWM7RUFDZCxrQkFBa0IsRUFBQTs7QWhDL0V0QjtFZ0NxRkksYUFBYTtFQUNiLFlBQVk7RUFDWixrQkFBa0IsRUFBQTs7QWhDdkZ0QjtFZ0NrR0ksYUFBYSxFQUFBOztBaENsR2pCO0VnQ3FHSSxjQUFjLEVBQUE7O0FoQ3JHbEI7RWlDQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixvQmhDbUhXLEVBQUE7RUR6SGI7O0lpQ1dJLGFBQWE7SUFDYixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLDhCQUE4QixFQUFBOztBakNkbEM7RWlDbUNFLHFCQUFxQjtFQUNyQixzQmhDdXFCK0U7RWdDdHFCL0UseUJoQ3NxQitFO0VnQ3JxQi9FLGtCaENtRlc7RUNYUCxrQkF0Q1k7RStCaENoQixvQkFBb0I7RUFDcEIsbUJBQW1CLEVBQUE7RWpDekNyQjtJaUM0Q0kscUJBQXFCLEVBQUE7O0FqQzVDekI7RWlDc0RFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixnQkFBZ0IsRUFBQTtFakMxRGxCO0lpQzZESSxnQkFBZ0I7SUFDaEIsZUFBZSxFQUFBO0VqQzlEbkI7SWlDa0VJLGdCQUFnQjtJQUNoQixXQUFXLEVBQUE7O0FqQ25FZjtFaUM2RUUscUJBQXFCO0VBQ3JCLG1CaEM4bEJ1QztFZ0M3bEJ2QyxzQmhDNmxCdUMsRUFBQTs7QUQ1cUJ6QztFaUM0RkUsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFHWixtQkFBbUIsRUFBQTs7QWpDaEdyQjtFaUNxR0Usd0JoQ3ltQndDO0VDaG1CcEMsa0JBdENZO0UrQitCaEIsY0FBYztFQUNkLDZCQUE2QjtFQUM3Qiw2QkFBdUM7RXhCeEdyQyxzQlJrT2dDLEVBQUE7RURuT3BDO0lpQzZHSSxxQkFBcUIsRUFBQTs7QWpDN0d6QjtFaUNvSEUscUJBQXFCO0VBQ3JCLFlBQVk7RUFDWixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxtQ0FBbUM7RUFDbkMsMEJBQTBCLEVBQUE7O0FyQmxFeEI7RVp4REo7O0lpQ3VJVSxnQkFBZ0I7SUFDaEIsZUFBZSxFQUFBLEVBQ2hCOztBckI5Rkw7RVozQ0o7SWlDd0pRLHFCQUFxQjtJQUNyQiwyQkFBMkIsRUFBQTtJakN6Sm5DO01pQzRKVSxtQkFBbUIsRUFBQTtNakM1SjdCO1FpQytKWSxrQkFBa0IsRUFBQTtNakMvSjlCO1FpQ21LWSxxQmhDa2lCNkI7UWdDamlCN0Isb0JoQ2lpQjZCLEVBQUE7SURyc0J6Qzs7TWlDMEtVLGlCQUFpQixFQUFBO0lqQzFLM0I7TWlDeUxVLHdCQUF3QjtNQUd4QixnQkFBZ0IsRUFBQTtJakM1TDFCO01pQ2dNVSxhQUFhLEVBQUEsRUFDZDs7QXJCeklMO0VaeERKOztJaUN1SVUsZ0JBQWdCO0lBQ2hCLGVBQWUsRUFBQSxFQUNoQjs7QXJCOUZMO0VaM0NKO0lpQ3dKUSxxQkFBcUI7SUFDckIsMkJBQTJCLEVBQUE7SWpDekpuQztNaUM0SlUsbUJBQW1CLEVBQUE7TWpDNUo3QjtRaUMrSlksa0JBQWtCLEVBQUE7TWpDL0o5QjtRaUNtS1kscUJoQ2tpQjZCO1FnQ2ppQjdCLG9CaENpaUI2QixFQUFBO0lEcnNCekM7O01pQzBLVSxpQkFBaUIsRUFBQTtJakMxSzNCO01pQ3lMVSx3QkFBd0I7TUFHeEIsZ0JBQWdCLEVBQUE7SWpDNUwxQjtNaUNnTVUsYUFBYSxFQUFBLEVBQ2Q7O0FyQnpJTDtFWnhESjs7SWlDdUlVLGdCQUFnQjtJQUNoQixlQUFlLEVBQUEsRUFDaEI7O0FyQjlGTDtFWjNDSjtJaUN3SlEscUJBQXFCO0lBQ3JCLDJCQUEyQixFQUFBO0lqQ3pKbkM7TWlDNEpVLG1CQUFtQixFQUFBO01qQzVKN0I7UWlDK0pZLGtCQUFrQixFQUFBO01qQy9KOUI7UWlDbUtZLHFCaENraUI2QjtRZ0NqaUI3QixvQmhDaWlCNkIsRUFBQTtJRHJzQnpDOztNaUMwS1UsaUJBQWlCLEVBQUE7SWpDMUszQjtNaUN5TFUsd0JBQXdCO01BR3hCLGdCQUFnQixFQUFBO0lqQzVMMUI7TWlDZ01VLGFBQWEsRUFBQSxFQUNkOztBckJ6SUw7RVp4REo7O0lpQ3VJVSxnQkFBZ0I7SUFDaEIsZUFBZSxFQUFBLEVBQ2hCOztBckI5Rkw7RVozQ0o7SWlDd0pRLHFCQUFxQjtJQUNyQiwyQkFBMkIsRUFBQTtJakN6Sm5DO01pQzRKVSxtQkFBbUIsRUFBQTtNakM1SjdCO1FpQytKWSxrQkFBa0IsRUFBQTtNakMvSjlCO1FpQ21LWSxxQmhDa2lCNkI7UWdDamlCN0Isb0JoQ2lpQjZCLEVBQUE7SURyc0J6Qzs7TWlDMEtVLGlCQUFpQixFQUFBO0lqQzFLM0I7TWlDeUxVLHdCQUF3QjtNQUd4QixnQkFBZ0IsRUFBQTtJakM1TDFCO01pQ2dNVSxhQUFhLEVBQUEsRUFDZDs7QWpDak1UO0VpQ3dKUSxxQkFBcUI7RUFDckIsMkJBQTJCLEVBQUE7RWpDekpuQzs7SWlDdUlVLGdCQUFnQjtJQUNoQixlQUFlLEVBQUE7RWpDeEl6QjtJaUM0SlUsbUJBQW1CLEVBQUE7SWpDNUo3QjtNaUMrSlksa0JBQWtCLEVBQUE7SWpDL0o5QjtNaUNtS1kscUJoQ2tpQjZCO01nQ2ppQjdCLG9CaENpaUI2QixFQUFBO0VEcnNCekM7O0lpQzBLVSxpQkFBaUIsRUFBQTtFakMxSzNCO0lpQ3lMVSx3QkFBd0I7SUFHeEIsZ0JBQWdCLEVBQUE7RWpDNUwxQjtJaUNnTVUsYUFBYSxFQUFBOztBakNoTXZCO0VpQytNSSx5QmhDL01XLEVBQUE7RURBZjtJaUNrTk0seUJoQ2xOUyxFQUFBOztBREFmO0VpQ3dOTSx5QmhDeE5TLEVBQUE7RURBZjtJaUMyTlEseUJoQzNOTyxFQUFBO0VEQWY7SWlDK05RLHlCaEMvTk8sRUFBQTs7QURBZjs7Ozs7OztFaUN1T00seUJoQ3ZPUyxFQUFBOztBREFmO0VpQzRPSSx5QmhDNU9XO0VnQzZPWCxnQ2hDN09XLEVBQUE7O0FEQWY7RWlDaVBJLG1SaEJ4TThFLEVBQUE7O0FqQnpDbEY7RWlDcVBJLHlCaENyUFcsRUFBQTtFREFmO0lpQ3VQTSx5QmhDdlBTLEVBQUE7SURBZjtNaUMwUFEseUJoQzFQTyxFQUFBOztBREFmO0VpQ21RSSxXaEM3UVcsRUFBQTtFRFVmO0lpQ3NRTSxXaENoUlMsRUFBQTs7QURVZjtFaUM0UU0sK0JoQ3RSUyxFQUFBO0VEVWY7SWlDK1FRLGdDaEN6Uk8sRUFBQTtFRFVmO0lpQ21SUSxnQ2hDN1JPLEVBQUE7O0FEVWY7Ozs7RWlDMlJNLFdoQ3JTUyxFQUFBOztBRFVmO0VpQ2dTSSwrQmhDMVNXO0VnQzJTWCxzQ2hDM1NXLEVBQUE7O0FEVWY7RWlDcVNJLHlSaEI1UDhFLEVBQUE7O0FqQnpDbEY7RWlDeVNJLCtCaENuVFcsRUFBQTtFRFVmO0lpQzJTTSxXaENyVFMsRUFBQTtJRFVmO01pQzhTUSxXaEN4VE8sRUFBQTs7QURVZjtFa0NaRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixZQUFZO0VBRVoscUJBQXFCO0VBQ3JCLHNCakNKYTtFaUNLYiwyQkFBMkI7RUFDM0Isc0NqQ0lhO0VRQ1gsc0JSa09nQyxFQUFBO0VEbk9wQztJa0NBSSxlQUFlO0lBQ2YsY0FBYyxFQUFBO0VsQ0RsQjtJa0NLSSxtQkFBbUI7SUFDbkIsc0JBQXNCLEVBQUE7SWxDTjFCO01rQ1NNLG1CQUFtQjtNekJDckIsMkNRZ0g0RDtNUi9HNUQsNENRK0c0RCxFQUFBO0lqQjFIaEU7TWtDY00sc0JBQXNCO016QlV4QiwrQ1FrRzREO01Sakc1RCw4Q1FpRzRELEVBQUE7O0FqQjFIaEU7RWtDdUJFLGNBQWM7RUFHZCxlQUFlO0VBQ2YsZ0JqQ3N4QnlDLEVBQUE7O0FEanpCM0M7RWtDZ0NFLHNCakNneEJ3QyxFQUFBOztBRGh6QjFDO0VrQ29DRSxxQkFBK0I7RUFDL0IsZ0JBQWdCLEVBQUE7O0FsQ3JDbEI7RWtDeUNFLGdCQUFnQixFQUFBOztBbEN6Q2xCO0VrQzhDSSxxQkFBcUIsRUFBQTs7QWxDOUN6QjtFa0NrREksb0JqQyt2QnVDLEVBQUE7O0FEanpCM0M7RWtDMkRFLHdCakNzdkJ5QztFaUNydkJ6QyxnQkFBZ0I7RUFFaEIscUNqQzlEYTtFaUMrRGIsNkNqQy9EYSxFQUFBO0VEQWY7SVNDSSwwRHlCaUU4RSxFQUFBO0VsQ2xFbEY7SWtDdUVNLGFBQWEsRUFBQTs7QWxDdkVuQjtFa0M2RUUsd0JqQ291QnlDO0VpQ2x1QnpDLHFDakMvRWE7RWlDZ0ZiLDBDakNoRmEsRUFBQTtFREFmO0lTQ0ksMERReUg0RCxFQUFBOztBakIxSGhFO0VrQzZGRSx1QkFBaUM7RUFDakMsdUJqQ2t0QndDO0VpQ2p0QnhDLHNCQUFnQztFQUNoQyxnQkFBZ0IsRUFBQTs7QWxDaEdsQjtFa0NvR0UsdUJBQWlDO0VBQ2pDLHNCQUFnQyxFQUFBOztBbENyR2xDO0VrQzBHRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixTQUFTO0VBQ1QsT0FBTztFQUNQLGdCakM2c0J5QyxFQUFBOztBRDV6QjNDOzs7RWtDcUhFLGNBQWM7RUFDZCxXQUFXLEVBQUE7O0FsQ3RIYjs7RVNVSSwyQ1FnSDREO0VSL0c1RCw0Q1ErRzRELEVBQUE7O0FqQjFIaEU7O0VTd0JJLCtDUWtHNEQ7RVJqRzVELDhDUWlHNEQsRUFBQTs7QWpCMUhoRTtFa0N3SUksbUJqQ3NyQnNELEVBQUE7O0FXbnhCdEQ7RVozQ0o7SWtDNElJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsbUJqQ2dyQnNEO0lpQy9xQnRELGtCakMrcUJzRCxFQUFBO0lEOXpCMUQ7TWtDbUpNLFlBQVk7TUFDWixrQmpDMHFCb0Q7TWlDenFCcEQsZ0JBQWdCO01BQ2hCLGlCakN3cUJvRCxFQUFBLEVpQ3ZxQnJEOztBbEN2Skw7RWtDb0tJLG1CakMwcEJzRCxFQUFBOztBV254QnREO0VaM0NKO0lrQ3dLSSxhQUFhO0lBQ2IsbUJBQW1CLEVBQUE7SWxDekt2QjtNa0M4S00sWUFBWTtNQUNaLGdCQUFnQixFQUFBO01sQy9LdEI7UWtDa0xRLGNBQWM7UUFDZCxjQUFjLEVBQUE7TWxDbkx0QjtRU2lCSSwwQnlCd0tvQztRekJ2S3BDLDZCeUJ1S29DLEVBQUE7UWxDekx4Qzs7VWtDOExZLDBCQUEwQixFQUFBO1FsQzlMdEM7O1VrQ21NWSw2QkFBNkIsRUFBQTtNbENuTXpDO1FTK0JJLHlCeUJ5S21DO1F6QnhLbkMsNEJ5QndLbUMsRUFBQTtRbEN4TXZDOztVa0M2TVkseUJBQXlCLEVBQUE7UWxDN01yQzs7VWtDa05ZLDRCQUE0QixFQUFBLEVBQzdCOztBbENuTlg7RWtDaU9JLHNCakMra0JzQyxFQUFBOztBV3J3QnRDO0VaM0NKO0lrQ3FPSSxvQmpDNGxCaUM7U2lDNWxCakMsZWpDNGxCaUM7SWlDM2xCakMsd0JqQzRsQnVDO1NpQzVsQnZDLG1CakM0bEJ1QztJaUMzbEJ2QyxVQUFVO0lBQ1YsU0FBUyxFQUFBO0lsQ3hPYjtNa0MyT00scUJBQXFCO01BQ3JCLFdBQVcsRUFBQSxFQUNaOztBbEM3T0w7RWtDd1BJLGdCQUFnQixFQUFBO0VsQ3hQcEI7SWtDMlBNLGdCQUFnQjtJekJuT2xCLDZCeUJvT2lDO0l6Qm5PakMsNEJ5Qm1PaUMsRUFBQTtFbEM1UHJDO0lTVUkseUJ5QnNQOEI7SXpCclA5QiwwQnlCcVA4QixFQUFBO0VsQ2hRbEM7SVNDSSxnQnlCbVEwQjtJQUN4QixtQmpDckMyQixFQUFBOztBRGhPakM7RW1DaEJFLGFBQWE7RUFDYixlQUFlO0VBQ2YscUJsQ2tpQ3NDO0VrQ2ppQ3RDLG1CbENvaUNzQztFa0NsaUN0QyxnQkFBZ0I7RUFDaEIseUJsQ0VnQjtFUVNkLHNCUmtPZ0MsRUFBQTs7QURuT3BDO0VtQ0xFLGFBQWEsRUFBQTtFbkNLZjtJbUNESSxvQmxDc2hDcUMsRUFBQTtJRHJoQ3pDO01tQ0VNLHFCQUFxQjtNQUNyQixxQmxDa2hDbUM7TWtDamhDbkMsY2xDUlk7TWtDU1osWWxDdWhDdUMsRUFBQTtFRDVoQzdDO0ltQ2dCSSwwQkFBMEIsRUFBQTtFbkNoQjlCO0ltQ29CSSxxQkFBcUIsRUFBQTtFbkNwQnpCO0ltQ3dCSSxjbEM1QmMsRUFBQTs7QURJbEI7RW9DaEJFLGFBQWE7RTlCR2IsZUFBZTtFQUNmLGdCQUFnQjtFR2FkLHNCUmtPZ0MsRUFBQTs7QURuT3BDO0VvQ1ZFLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsdUJuQ214QndDO0VtQ2x4QnhDLGlCbkN1TytCO0VtQ3RPL0IsaUJuQ3N4QnNDO0VtQ3J4QnRDLGNuQ3dCZTtFbUN0QmYsc0JuQ1BhO0VtQ1FiLHlCbkNMZ0IsRUFBQTtFRE9sQjtJb0NDSSxVQUFVO0lBQ1YsY25DbUs4RDtJbUNsSzlELHFCQUFxQjtJQUNyQix5Qm5DWmM7SW1DYWQscUJuQ1pjLEVBQUE7RURPbEI7SW9DU0ksVUFBVTtJQUNWLFVuQzh3QmlDO0ltQzd3QmpDLGdEbkNRYSxFQUFBOztBRG5CakI7RW9Da0JNLGNBQWM7RTNCYWhCLCtCUm9NZ0M7RVFuTWhDLGtDUm1NZ0MsRUFBQTs7QURuT3BDO0VTaUJJLGdDUmtOZ0M7RVFqTmhDLG1DUmlOZ0MsRUFBQTs7QURuT3BDO0VvQzZCSSxVQUFVO0VBQ1YsV25DeENXO0VtQ3lDWCx5Qm5DWmE7RW1DYWIscUJuQ2JhLEVBQUE7O0FEbkJqQjtFb0NvQ0ksY25DeENjO0VtQ3lDZCxvQkFBb0I7RUFFcEIsWUFBWTtFQUNaLHNCbkNsRFc7RW1DbURYLHFCbkNoRGMsRUFBQTs7QURPbEI7RXFDYkksdUJwQzR4QnNDO0VDanFCcEMsa0JBdENZO0VtQ25GZCxnQnBDd082QixFQUFBOztBRDdOakM7RVMrQkksOEJScU0rQjtFUXBNL0IsaUNSb00rQixFQUFBOztBRHBPbkM7RVNpQkksK0JSbU4rQjtFUWxOL0Isa0NSa04rQixFQUFBOztBRHBPbkM7RXFDYkksdUJwQzB4QnFDO0VDL3BCbkMsbUJBdENZO0VtQ25GZCxnQnBDeU82QixFQUFBOztBRDlOakM7RVMrQkksOEJSc00rQjtFUXJNL0IsaUNScU0rQixFQUFBOztBRHJPbkM7RVNpQkksK0JSb04rQjtFUW5OL0Isa0NSbU4rQixFQUFBOztBRHJPbkM7RXNDWEUscUJBQXFCO0VBQ3JCLHFCckMyNUJzQztFQzExQnBDLGNBQVc7RW9DL0RiLGdCckM2UitCO0VxQzVSL0IsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsd0JBQXdCO0U3Qkt0QixzQlJrT2dDO0VrQnBPOUIscUlsQnFiNkksRUFBQTtFa0JqYjdJO0luQkhOO01tQklRLGdCQUFnQixFQUFBLEVtQk12QjtFQ1hDO0lER0kscUJBQXFCLEVBQUE7RXRDRjNCO0lzQ1FJLGFBQWEsRUFBQTs7QXRDUmpCO0VzQ2NFLGtCQUFrQjtFQUNsQixTQUFTLEVBQUE7O0F0Q2ZYO0VzQ3VCRSxvQnJDZzRCc0M7RXFDLzNCdEMsbUJyQyszQnNDO0VRdDVCcEMsb0JSeTVCcUMsRUFBQTs7QUQxNUJ6QztFd0NoQkUsV3ZDTWE7RXVDTGIseUJ2Q2tDZSxFQUFBO0VzQ3BCZjtJQ1ZJLFd2Q0NTO0l1Q0FULHlCQUFrQyxFQUFBO0VBSDlCO0lBUUosVUFBVTtJQUNWLCtDdkN1QlcsRUFBQTs7QURuQmpCO0V3Q2hCRSxXdkNNYTtFdUNMYix5QnZDV2dCLEVBQUE7RXNDR2hCO0lDVkksV3ZDQ1M7SXVDQVQseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsaUR2Q0FZLEVBQUE7O0FESWxCO0V3Q2hCRSxXdkNNYTtFdUNMYix5QnZDeUNlLEVBQUE7RXNDM0JmO0lDVkksV3ZDQ1M7SXVDQVQseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsK0N2QzhCVyxFQUFBOztBRDFCakI7RXdDaEJFLFd2Q01hO0V1Q0xiLHlCdkMyQ2UsRUFBQTtFc0M3QmY7SUNWSSxXdkNDUztJdUNBVCx5QkFBa0MsRUFBQTtFQUg5QjtJQVFKLFVBQVU7SUFDVixnRHZDZ0NXLEVBQUE7O0FENUJqQjtFd0NoQkUsY3ZDZWdCO0V1Q2RoQix5QnZDd0NlLEVBQUE7RXNDMUJmO0lDVkksY3ZDVVk7SXVDVFoseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsK0N2QzZCVyxFQUFBOztBRHpCakI7RXdDaEJFLFd2Q01hO0V1Q0xiLHlCdkNzQ2UsRUFBQTtFc0N4QmY7SUNWSSxXdkNDUztJdUNBVCx5QkFBa0MsRUFBQTtFQUg5QjtJQVFKLFVBQVU7SUFDViwrQ3ZDMkJXLEVBQUE7O0FEdkJqQjtFd0NoQkUsY3ZDZWdCO0V1Q2RoQix5QnZDTWdCLEVBQUE7RXNDUWhCO0lDVkksY3ZDVVk7SXVDVFoseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsaUR2Q0xZLEVBQUE7O0FEU2xCO0V3Q2hCRSxXdkNNYTtFdUNMYix5QnZDYWdCLEVBQUE7RXNDQ2hCO0lDVkksV3ZDQ1M7SXVDQVQseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsOEN2Q0VZLEVBQUE7O0FERWxCO0V5Q2hCRSxrQkFBb0Q7RUFDcEQsbUJ4Q3d6QnNDO0V3Q3R6QnRDLHlCeENLZ0I7RVFTZCxxQlJtTytCLEVBQUE7RVd6TC9CO0laM0NKO015Q1RJLGtCeENrekJvQyxFQUFBLEV3Q2h6QnZDOztBekNPRDtFeUNKRSxnQkFBZ0I7RUFDaEIsZUFBZTtFaENJYixnQmdDSHNCLEVBQUE7O0F6Q0UxQjtFMENaRSxrQkFBa0I7RUFDbEIsd0J6Q3c5QnlDO0V5Q3Y5QnpDLG1CekN3OUJzQztFeUN2OUJ0Qyw2QkFBNkM7RWpDVTNDLHNCUmtPZ0MsRUFBQTs7QURuT3BDO0UwQ0ZFLGNBQWMsRUFBQTs7QTFDRWhCO0UwQ0dFLGdCekNrUitCLEVBQUE7O0FEclJqQztFMENZRSxtQkFBc0QsRUFBQTtFMUNaeEQ7STBDZ0JJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLHdCekMwN0J1QztJeUN6N0J2QyxjQUFjLEVBQUE7O0ExQ3BCbEI7RTJDaEJFLGMxQnFHZ0U7RUloRzlELHlCSmdHOEQ7RTBCbkdoRSxxQjFCbUdnRSxFQUFBO0VqQnJGbEU7STJDWEkseUJBQXFDLEVBQUE7RTNDV3pDO0kyQ1BJLGNBQTBCLEVBQUE7O0EzQ085QjtFMkNoQkUsYzFCcUdnRTtFSWhHOUQseUJKZ0c4RDtFMEJuR2hFLHFCMUJtR2dFLEVBQUE7RWpCckZsRTtJMkNYSSx5QkFBcUMsRUFBQTtFM0NXekM7STJDUEksY0FBMEIsRUFBQTs7QTNDTzlCO0UyQ2hCRSxjMUJxR2dFO0VJaEc5RCx5QkpnRzhEO0UwQm5HaEUscUIxQm1HZ0UsRUFBQTtFakJyRmxFO0kyQ1hJLHlCQUFxQyxFQUFBO0UzQ1d6QztJMkNQSSxjQUEwQixFQUFBOztBM0NPOUI7RTJDaEJFLGMxQnFHZ0U7RUloRzlELHlCSmdHOEQ7RTBCbkdoRSxxQjFCbUdnRSxFQUFBO0VqQnJGbEU7STJDWEkseUJBQXFDLEVBQUE7RTNDV3pDO0kyQ1BJLGNBQTBCLEVBQUE7O0EzQ085QjtFMkNoQkUsYzFCcUdnRTtFSWhHOUQseUJKZ0c4RDtFMEJuR2hFLHFCMUJtR2dFLEVBQUE7RWpCckZsRTtJMkNYSSx5QkFBcUMsRUFBQTtFM0NXekM7STJDUEksY0FBMEIsRUFBQTs7QTNDTzlCO0UyQ2hCRSxjMUJxR2dFO0VJaEc5RCx5QkpnRzhEO0UwQm5HaEUscUIxQm1HZ0UsRUFBQTtFakJyRmxFO0kyQ1hJLHlCQUFxQyxFQUFBO0UzQ1d6QztJMkNQSSxjQUEwQixFQUFBOztBM0NPOUI7RTJDaEJFLGMxQnFHZ0U7RUloRzlELHlCSmdHOEQ7RTBCbkdoRSxxQjFCbUdnRSxFQUFBO0VqQnJGbEU7STJDWEkseUJBQXFDLEVBQUE7RTNDV3pDO0kyQ1BJLGNBQTBCLEVBQUE7O0EzQ085QjtFMkNoQkUsYzFCcUdnRTtFSWhHOUQseUJKZ0c4RDtFMEJuR2hFLHFCMUJtR2dFLEVBQUE7RWpCckZsRTtJMkNYSSx5QkFBcUMsRUFBQTtFM0NXekM7STJDUEksY0FBMEIsRUFBQTs7QUNSNUI7RUFDRTtJQUFPLDJCQUF1QyxFQUFBO0VBQzlDO0lBQUssd0JBQXdCLEVBQUEsRUFBQTs7QUFGL0I7RUFDRTtJQUFPLDJCQUF1QyxFQUFBO0VBQzlDO0lBQUssd0JBQXdCLEVBQUEsRUFBQTs7QTVDYWpDO0U0Q1JFLGFBQWE7RUFDYixZM0NpK0JzQztFMkNoK0J0QyxnQkFBZ0I7RUFDaEIsY0FBYztFMUNtSFYsa0JBdENZO0UwQzNFaEIseUIzQ0xnQjtFUVNkLHNCUmtPZ0MsRUFBQTs7QURuT3BDO0U0Q0dFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtFQUNoQixXM0NqQmE7RTJDa0JiLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIseUIzQ1NlO0VrQnBCWCwyQmxCbStCNEMsRUFBQTtFa0IvOUI1QztJbkJITjtNbUJJUSxnQkFBZ0IsRUFBQSxFeUJRdkI7O0E1Q1pEO0VxQjBCRSxxTUFBNkk7RXVCVjdJLDBCM0MwOEJzQyxFQUFBOztBRDE5QnhDO0U0Q3FCSSwwRDNDNDhCa0Q7VTJDNThCbEQsa0QzQzQ4QmtELEVBQUE7RTJDejhCaEQ7STVDeEJOO000Q3lCUSx1QkFBZTtjQUFmLGVBQWUsRUFBQSxFQUdwQjs7QTVDNUJIO0U2Q2hCRSxhQUFhO0VBQ2IsdUJBQXVCLEVBQUE7O0E3Q2V6QjtFNkNYRSxPQUFPLEVBQUE7O0E3Q1dUO0U4Q1pFLGFBQWE7RUFDYixzQkFBc0I7RUFHdEIsZUFBZTtFQUNmLGdCQUFnQjtFckNRZCxzQlJrT2dDLEVBQUE7O0FEbk9wQztFOENJRSxXQUFXO0VBQ1gsYzdDUmdCO0U2Q1NoQixtQkFBbUIsRUFBQTtFOUNOckI7SThDVUksVUFBVTtJQUNWLGM3Q2RjO0k2Q2VkLHFCQUFxQjtJQUNyQix5QjdDdEJjLEVBQUE7RURTbEI7SThDaUJJLGM3Q2xCYztJNkNtQmQseUI3QzFCYyxFQUFBOztBRFFsQjtFOEM0QkUsa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCx3QjdDZzlCeUM7RTZDNzhCekMsc0I3QzNDYTtFNkM0Q2Isc0M3Q2xDYSxFQUFBO0VEQWY7SVNVSSwrQnFDMkJrQztJckMxQmxDLGdDcUMwQmtDLEVBQUE7RTlDckN0QztJU3dCSSxtQ3FDaUJxQztJckNoQnJDLGtDcUNnQnFDLEVBQUE7RTlDekN6QztJOEM4Q0ksYzdDbERjO0k2Q21EZCxvQkFBb0I7SUFDcEIsc0I3QzFEVyxFQUFBO0VEVWY7SThDcURJLFVBQVU7SUFDVixXN0NoRVc7STZDaUVYLHlCN0NwQ2E7STZDcUNiLHFCN0NyQ2EsRUFBQTtFRG5CakI7SThDNERJLG1CQUFtQixFQUFBO0k5QzVEdkI7TThDK0RNLGdCN0NpSzJCO002Q2hLM0IscUI3Q2dLMkIsRUFBQTs7QURoT2pDO0U4QytFTSxtQkFBbUIsRUFBQTtFOUMvRXpCO0lTd0RJLGtDUjJLZ0M7SVF2TGhDLDBCcUN3Q3dDLEVBQUE7RTlDcEY1QztJUzRDSSxnQ1J1TGdDO0lRM0toQyw0QnFDaUMwQyxFQUFBO0U5Q3pGOUM7SThDNkZVLGFBQWEsRUFBQTtFOUM3RnZCO0k4Q2lHVSxxQjdDK0h1QjtJNkM5SHZCLG9CQUFvQixFQUFBO0k5Q2xHOUI7TThDcUdZLGlCN0MySHFCO002QzFIckIsc0I3QzBIcUIsRUFBQTs7QVdyTDdCO0VaM0NKO0k4QytFTSxtQkFBbUIsRUFBQTtJOUMvRXpCO01Td0RJLGtDUjJLZ0M7TVF2TGhDLDBCcUN3Q3dDLEVBQUE7STlDcEY1QztNUzRDSSxnQ1J1TGdDO01RM0toQyw0QnFDaUMwQyxFQUFBO0k5Q3pGOUM7TThDNkZVLGFBQWEsRUFBQTtJOUM3RnZCO004Q2lHVSxxQjdDK0h1QjtNNkM5SHZCLG9CQUFvQixFQUFBO005Q2xHOUI7UThDcUdZLGlCN0MySHFCO1E2QzFIckIsc0I3QzBIcUIsRUFBQSxFNkN6SHRCOztBbEM1RFA7RVozQ0o7SThDK0VNLG1CQUFtQixFQUFBO0k5Qy9FekI7TVN3REksa0NSMktnQztNUXZMaEMsMEJxQ3dDd0MsRUFBQTtJOUNwRjVDO01TNENJLGdDUnVMZ0M7TVEzS2hDLDRCcUNpQzBDLEVBQUE7STlDekY5QztNOEM2RlUsYUFBYSxFQUFBO0k5QzdGdkI7TThDaUdVLHFCN0MrSHVCO002QzlIdkIsb0JBQW9CLEVBQUE7TTlDbEc5QjtROENxR1ksaUI3QzJIcUI7UTZDMUhyQixzQjdDMEhxQixFQUFBLEU2Q3pIdEI7O0FsQzVEUDtFWjNDSjtJOEMrRU0sbUJBQW1CLEVBQUE7STlDL0V6QjtNU3dESSxrQ1IyS2dDO01RdkxoQywwQnFDd0N3QyxFQUFBO0k5Q3BGNUM7TVM0Q0ksZ0NSdUxnQztNUTNLaEMsNEJxQ2lDMEMsRUFBQTtJOUN6RjlDO004QzZGVSxhQUFhLEVBQUE7STlDN0Z2QjtNOENpR1UscUI3QytIdUI7TTZDOUh2QixvQkFBb0IsRUFBQTtNOUNsRzlCO1E4Q3FHWSxpQjdDMkhxQjtRNkMxSHJCLHNCN0MwSHFCLEVBQUEsRTZDekh0Qjs7QWxDNURQO0VaM0NKO0k4QytFTSxtQkFBbUIsRUFBQTtJOUMvRXpCO01Td0RJLGtDUjJLZ0M7TVF2TGhDLDBCcUN3Q3dDLEVBQUE7STlDcEY1QztNUzRDSSxnQ1J1TGdDO01RM0toQyw0QnFDaUMwQyxFQUFBO0k5Q3pGOUM7TThDNkZVLGFBQWEsRUFBQTtJOUM3RnZCO004Q2lHVSxxQjdDK0h1QjtNNkM5SHZCLG9CQUFvQixFQUFBO005Q2xHOUI7UThDcUdZLGlCN0MySHFCO1E2QzFIckIsc0I3QzBIcUIsRUFBQSxFNkN6SHRCOztBOUN2R1g7RVNDSSxnQnFDb0hzQixFQUFBO0U5Q3JIMUI7SThDd0hJLHFCN0N3RzZCLEVBQUE7SURoT2pDO004QzJITSxzQkFBc0IsRUFBQTs7QTlDM0g1QjtFK0NiSSxjOUJrRzhEO0U4QmpHOUQseUI5QmlHOEQsRUFBQTtFakJyRmxFO0krQ1JRLGM5QjZGMEQ7SThCNUYxRCx5QkFBeUMsRUFBQTtFL0NPakQ7SStDSFEsVzlDUE87SThDUVAseUI5QnVGMEQ7SThCdEYxRCxxQjlCc0YwRCxFQUFBOztBakJyRmxFO0UrQ2JJLGM5QmtHOEQ7RThCakc5RCx5QjlCaUc4RCxFQUFBO0VqQnJGbEU7SStDUlEsYzlCNkYwRDtJOEI1RjFELHlCQUF5QyxFQUFBO0UvQ09qRDtJK0NIUSxXOUNQTztJOENRUCx5QjlCdUYwRDtJOEJ0RjFELHFCOUJzRjBELEVBQUE7O0FqQnJGbEU7RStDYkksYzlCa0c4RDtFOEJqRzlELHlCOUJpRzhELEVBQUE7RWpCckZsRTtJK0NSUSxjOUI2RjBEO0k4QjVGMUQseUJBQXlDLEVBQUE7RS9DT2pEO0krQ0hRLFc5Q1BPO0k4Q1FQLHlCOUJ1RjBEO0k4QnRGMUQscUI5QnNGMEQsRUFBQTs7QWpCckZsRTtFK0NiSSxjOUJrRzhEO0U4QmpHOUQseUI5QmlHOEQsRUFBQTtFakJyRmxFO0krQ1JRLGM5QjZGMEQ7SThCNUYxRCx5QkFBeUMsRUFBQTtFL0NPakQ7SStDSFEsVzlDUE87SThDUVAseUI5QnVGMEQ7SThCdEYxRCxxQjlCc0YwRCxFQUFBOztBakJyRmxFO0UrQ2JJLGM5QmtHOEQ7RThCakc5RCx5QjlCaUc4RCxFQUFBO0VqQnJGbEU7SStDUlEsYzlCNkYwRDtJOEI1RjFELHlCQUF5QyxFQUFBO0UvQ09qRDtJK0NIUSxXOUNQTztJOENRUCx5QjlCdUYwRDtJOEJ0RjFELHFCOUJzRjBELEVBQUE7O0FqQnJGbEU7RStDYkksYzlCa0c4RDtFOEJqRzlELHlCOUJpRzhELEVBQUE7RWpCckZsRTtJK0NSUSxjOUI2RjBEO0k4QjVGMUQseUJBQXlDLEVBQUE7RS9DT2pEO0krQ0hRLFc5Q1BPO0k4Q1FQLHlCOUJ1RjBEO0k4QnRGMUQscUI5QnNGMEQsRUFBQTs7QWpCckZsRTtFK0NiSSxjOUJrRzhEO0U4QmpHOUQseUI5QmlHOEQsRUFBQTtFakJyRmxFO0krQ1JRLGM5QjZGMEQ7SThCNUYxRCx5QkFBeUMsRUFBQTtFL0NPakQ7SStDSFEsVzlDUE87SThDUVAseUI5QnVGMEQ7SThCdEYxRCxxQjlCc0YwRCxFQUFBOztBakJyRmxFO0UrQ2JJLGM5QmtHOEQ7RThCakc5RCx5QjlCaUc4RCxFQUFBO0VqQnJGbEU7SStDUlEsYzlCNkYwRDtJOEI1RjFELHlCQUF5QyxFQUFBO0UvQ09qRDtJK0NIUSxXOUNQTztJOENRUCx5QjlCdUYwRDtJOEJ0RjFELHFCOUJzRjBELEVBQUE7O0FqQnJGbEU7RWdEaEJFLFlBQVk7RTlDOEhSLGlCQXRDWTtFOEN0RmhCLGdCL0NtUytCO0UrQ2xTL0IsY0FBYztFQUNkLFcvQ1lhO0UrQ1hiLHlCL0NDYTtFK0NBYixXQUFXLEVBQUE7RWhEVWI7SWdETkksVy9DTVc7SStDTFgscUJBQXFCLEVBQUE7RWhES3pCO0lnREFNLFlBQVksRUFBQTs7QWhEQWxCO0VnRFlFLFVBQVU7RUFDViw2QkFBNkI7RUFDN0IsU0FBUyxFQUFBOztBaERkWDtFZ0RxQkUsb0JBQW9CLEVBQUE7O0FoRHJCdEI7RWlEaEJFLGdCaEQ0NEJ1QztFZ0QzNEJ2QyxnQkFBZ0I7RS9DNkhaLG1CQXRDWTtFK0NwRmhCLDJDaERFYTtFZ0REYiw0QkFBNEI7RUFDNUIsb0NoRDY0Qm1EO0VnRDU0Qm5ELGdEaERTYTtFZ0RSYixtQ0FBMkI7VUFBM0IsMkJBQTJCO0VBQzNCLFVBQVU7RXhDUVIsc0JSbTRCc0MsRUFBQTtFRHA0QjFDO0lpREhJLHNCaERnNEJzQyxFQUFBO0VENzNCMUM7SWlEQ0ksVUFBVSxFQUFBO0VqRERkO0lpREtJLGNBQWM7SUFDZCxVQUFVLEVBQUE7RWpETmQ7SWlEVUksYUFBYSxFQUFBOztBakRWakI7RWlEZUUsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix3QmhENDJCd0M7RWdEMzJCeEMsY2hEdEJnQjtFZ0R1QmhCLDJDaEQ3QmE7RWdEOEJiLDRCQUE0QjtFQUM1Qiw0Q2hEbzNCb0QsRUFBQTs7QUR6NEJ0RDtFaUR5QkUsZ0JoRG8yQndDLEVBQUE7O0FENzNCMUM7RWtEVEUsZ0JBQWdCLEVBQUE7RWxEU2xCO0lrRE5JLGtCQUFrQjtJQUNsQixnQkFBZ0IsRUFBQTs7QWxES3BCO0VrRENFLGVBQWU7RUFDZixNQUFNO0VBQ04sT0FBTztFQUNQLGFqRGlxQnNDO0VpRGhxQnRDLGFBQWE7RUFDYixXQUFXO0VBQ1gsWUFBWTtFQUNaLGdCQUFnQjtFQUdoQixVQUFVLEVBQUE7O0FsRFhaO0VrRG1CRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLGNqRGc1QnVDO0VpRDk0QnZDLG9CQUFvQixFQUFBO0VBR3BCO0kvQjNCSSxtQ2xCcThCb0Q7SWlEeDZCdEQsOEJqRHM2Qm1ELEVBQUE7SWtCLzdCakQ7TStCdUJKO1EvQnRCTSxnQkFBZ0IsRUFBQSxFK0J5QnJCO0VBQ0Q7SUFDRSxlakRvNkJvQyxFQUFBO0VpRGg2QnRDO0lBQ0Usc0JqRGk2QjJDLEVBQUE7O0FEcjhCL0M7RWtEeUNFLGFBQWE7RUFDYiw2QmpDZ0Y4RCxFQUFBO0VqQjFIaEU7SWtENkNJLDhCakM2RTREO0lpQzVFNUQsZ0JBQWdCLEVBQUE7RWxEOUNwQjs7SWtEbURJLGNBQWMsRUFBQTtFbERuRGxCO0lrRHVESSxnQkFBZ0IsRUFBQTs7QWxEdkRwQjtFa0Q0REUsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiw2QmpDNEQ4RCxFQUFBO0VqQjFIaEU7SWtEa0VJLGNBQWM7SUFDZCwwQmpDdUQ0RDtJaUN0RDVELDJCQUFtQjtJQUFuQix3QkFBbUI7SUFBbkIsbUJBQW1CO0lBQ25CLFdBQVcsRUFBQTtFbERyRWY7SWtEMEVJLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsWUFBWSxFQUFBO0lsRDVFaEI7TWtEK0VNLGdCQUFnQixFQUFBO0lsRC9FdEI7TWtEbUZNLGFBQWEsRUFBQTs7QWxEbkZuQjtFa0QwRkUsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsV0FBVztFQUdYLG9CQUFvQjtFQUNwQixzQmpEM0dhO0VpRDRHYiw0QkFBNEI7RUFDNUIsb0NqRG5HYTtFUUNYLHFCUm1PK0I7RWlEN0hqQyxVQUFVLEVBQUE7O0FsRHZHWjtFa0Q0R0UsZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsYWpEcWpCc0M7RWlEcGpCdEMsWUFBWTtFQUNaLGFBQWE7RUFDYixzQmpEbEhhLEVBQUE7RURBZjtJa0RxSFcsVUFBVSxFQUFBO0VsRHJIckI7SWtEc0hXLFlqRDh6QjJCLEVBQUE7O0FEcDdCdEM7RWtENEhFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsOEJBQThCO0VBQzlCLGtCakQyekJzQztFaUQxekJ0QyxnQ2pEdklnQjtFUWlCZCwwQ1FnSDREO0VSL0c1RCwyQ1ErRzRELEVBQUE7RWpCMUhoRTtJa0RvSUksa0JqRHN6Qm9DO0lpRHB6QnBDLDhCQUE2RixFQUFBOztBbER0SWpHO0VrRDRJRSxnQkFBZ0I7RUFDaEIsZ0JqRDRJK0IsRUFBQTs7QUR6UmpDO0VrRG1KRSxrQkFBa0I7RUFHbEIsY0FBYztFQUNkLGFqRHl3QnNDLEVBQUE7O0FEaDZCeEM7RWtENEpFLGFBQWE7RUFDYixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLHlCQUF5QjtFQUN6QixnQkFBZ0U7RUFDaEUsNkJqRHhLZ0I7RVErQmQsOENRa0c0RDtFUmpHNUQsNkNRaUc0RCxFQUFBO0VqQjFIaEU7SWtEeUtJLGVBQXdDLEVBQUE7O0FsRHpLNUM7RWtEK0tFLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0IsRUFBQTs7QXRDeElkO0VaM0NKO0lrRDBMSSxnQmpEcXdCcUM7SWlEcHdCckMsb0JBQXlDLEVBQUE7RWxEM0w3QztJa0QrTEksK0JqQ3JFNEQsRUFBQTtJakIxSGhFO01rRGtNTSxnQ2pDeEUwRCxFQUFBO0VqQjFIaEU7SWtEdU1JLCtCakM3RTRELEVBQUE7SWpCMUhoRTtNa0QwTU0sNEJqQ2hGMEQ7TWlDaUYxRCwyQkFBbUI7TUFBbkIsd0JBQW1CO01BQW5CLG1CQUFtQixFQUFBO0VsRDNNekI7SWtEbU5jLGdCakQ2dUIyQixFQUFBLEVpRDd1Qkg7O0F0Q3hLbEM7RVozQ0o7O0lrRHlOSSxnQmpEcXVCcUMsRUFBQSxFaURwdUJ0Qzs7QXRDL0tDO0VaM0NKO0lrRDhOYyxpQmpEK3RCNEIsRUFBQSxFaUQvdEJKOztBbEQ5TnRDO0VtRGZFLGtCQUFrQjtFQUNsQixhbERxckJzQztFa0RwckJ0QyxjQUFjO0VBQ2QsU2xENDFCbUM7RW1EaDJCbkMsa01uRHlSaU47RW1EdlJqTixrQkFBa0I7RUFDbEIsZ0JuRGlTK0I7RW1EaFMvQixnQm5EcVMrQjtFbURwUy9CLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIscUJBQXFCO0VBQ3JCLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFbERnSFosbUJBdENZO0VpRDlFaEIscUJBQXFCO0VBQ3JCLFVBQVUsRUFBQTtFbkRLWjtJbURIVyxZbERnMUIyQixFQUFBO0VENzBCdEM7SW1EQUksa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxhbERnMUJxQztJa0QvMEJyQyxjbERnMUJxQyxFQUFBO0lEbjFCekM7TW1ETU0sa0JBQWtCO01BQ2xCLFdBQVc7TUFDWCx5QkFBeUI7TUFDekIsbUJBQW1CLEVBQUE7O0FuRFR6QjtFbURlRSxpQkFBZ0MsRUFBQTtFbkRmbEM7SW1Ea0JJLFNBQVMsRUFBQTtJbkRsQmI7TW1EcUJNLE1BQU07TUFDTiw2QkFBZ0U7TUFDaEUsc0JsRHZCUyxFQUFBOztBREFmO0VtRDZCRSxpQmxEc3pCdUMsRUFBQTtFRG4xQnpDO0ltRGdDSSxPQUFPO0lBQ1AsYWxEa3pCcUM7SWtEanpCckMsY2xEZ3pCcUMsRUFBQTtJRGwxQnpDO01tRHFDTSxRQUFRO01BQ1Isb0NBQTJGO01BQzNGLHdCbER2Q1MsRUFBQTs7QURBZjtFbUQ2Q0UsaUJBQWdDLEVBQUE7RW5EN0NsQztJbURnREksTUFBTSxFQUFBO0luRGhEVjtNbURtRE0sU0FBUztNQUNULDZCbEQreEJtQztNa0Q5eEJuQyx5QmxEckRTLEVBQUE7O0FEQWY7RW1EMkRFLGlCbER3eEJ1QyxFQUFBO0VEbjFCekM7SW1EOERJLFFBQVE7SUFDUixhbERveEJxQztJa0RueEJyQyxjbERreEJxQyxFQUFBO0lEbDFCekM7TW1EbUVNLE9BQU87TUFDUCxvQ2xEK3dCbUM7TWtEOXdCbkMsdUJsRHJFUyxFQUFBOztBREFmO0VtRDJGRSxnQmxEOHVCdUM7RWtEN3VCdkMsdUJsRG12QnVDO0VrRGx2QnZDLFdsRHZHYTtFa0R3R2Isa0JBQWtCO0VBQ2xCLHNCbEQvRmE7RVFDWCxzQlJrT2dDLEVBQUE7O0FEbk9wQztFcURoQkUsa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsYXBEbXJCc0M7RW9EbHJCdEMsY0FBYztFQUNkLGdCcEQ4MkJ1QztFbURuM0J2QyxrTW5EeVJpTjtFbUR2UmpOLGtCQUFrQjtFQUNsQixnQm5EaVMrQjtFbURoUy9CLGdCbkRxUytCO0VtRHBTL0IsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixxQkFBcUI7RUFDckIsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VsRGdIWixtQkF0Q1k7RW1EN0VoQixxQkFBcUI7RUFDckIsc0JwRE5hO0VvRE9iLDRCQUE0QjtFQUM1QixvQ3BERWE7RVFDWCxxQlJtTytCLEVBQUE7RURwT25DO0lxREdJLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsV3BEODJCb0M7SW9ENzJCcEMsY3BEODJCcUM7SW9ENzJCckMsZ0JwRDZOK0IsRUFBQTtJRHBPbkM7TXFEV00sa0JBQWtCO01BQ2xCLGNBQWM7TUFDZCxXQUFXO01BQ1gseUJBQXlCO01BQ3pCLG1CQUFtQixFQUFBOztBckRmekI7RXFEcUJFLHFCcEQrMUJ1QyxFQUFBO0VEcDNCekM7SXFEd0JJLDJCcENrRzRELEVBQUE7SWpCMUhoRTtNcUQyQk0sU0FBUztNQUNULDZCQUFnRTtNQUNoRSxxQ3BEMDFCaUUsRUFBQTtJRHYzQnZFO01xRGlDTSxXcEQrTDJCO01vRDlMM0IsNkJBQWdFO01BQ2hFLHNCcEQ3Q1MsRUFBQTs7QURVZjtFcUR5Q0UsbUJwRDIwQnVDLEVBQUE7RURwM0J6QztJcUQ0Q0kseUJwQzhFNEQ7SW9DN0U1RCxhcER1MEJxQztJb0R0MEJyQyxZcERxMEJvQztJb0RwMEJwQyxnQkFBZ0MsRUFBQTtJckQvQ3BDO01xRGtETSxPQUFPO01BQ1Asb0NBQTJGO01BQzNGLHVDcERtMEJpRSxFQUFBO0lEdjNCdkU7TXFEd0RNLFNwRHdLMkI7TW9EdkszQixvQ0FBMkY7TUFDM0Ysd0JwRHBFUyxFQUFBOztBRFVmO0VxRGdFRSxrQnBEb3pCdUMsRUFBQTtFRHAzQnpDO0lxRG1FSSx3QnBDdUQ0RCxFQUFBO0lqQjFIaEU7TXFEc0VNLE1BQU07TUFDTixvQ0FBMkY7TUFDM0Ysd0NwRCt5QmlFLEVBQUE7SUR2M0J2RTtNcUQ0RU0sUXBEb0oyQjtNb0RuSjNCLG9DQUEyRjtNQUMzRix5QnBEeEZTLEVBQUE7RURVZjtJcURvRkksa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixTQUFTO0lBQ1QsY0FBYztJQUNkLFdwRDJ4Qm9DO0lvRDF4QnBDLG9CQUFzQztJQUN0QyxXQUFXO0lBQ1gsZ0NwRCt3QnVELEVBQUE7O0FEMTJCM0Q7RXFEZ0dFLG9CcERveEJ1QyxFQUFBO0VEcDNCekM7SXFEbUdJLDBCcEN1QjREO0lvQ3RCNUQsYXBEZ3hCcUM7SW9EL3dCckMsWXBEOHdCb0M7SW9EN3dCcEMsZ0JBQWdDLEVBQUE7SXJEdEdwQztNcUR5R00sUUFBUTtNQUNSLG9DcEQwd0JtQztNb0R6d0JuQyxzQ3BENHdCaUUsRUFBQTtJRHYzQnZFO01xRCtHTSxVcERpSDJCO01vRGhIM0Isb0NwRG93Qm1DO01vRG53Qm5DLHVCcEQzSFMsRUFBQTs7QURVZjtFcUR3SUUsdUJwRHF1QndDO0VvRHB1QnhDLGdCQUFnQjtFbkQzQlosZUF0Q1k7RW1Eb0VoQix5QnBEOHRCeUQ7RW9EN3RCekQsZ0NBQXlFO0U1Q25JdkUsMENRZ0g0RDtFUi9HNUQsMkNRK0c0RCxFQUFBO0VqQjFIaEU7SXFEaUpJLGFBQWEsRUFBQTs7QXJEakpqQjtFcURzSkUsdUJwRHV0QndDO0VvRHR0QnhDLGNwRHhKZ0IsRUFBQTs7QURDbEI7RXNESEUsa0JBQWtCLEVBQUE7O0F0REdwQjtFc0RDRSxtQkFBbUIsRUFBQTs7QXRERHJCO0VzREtFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsZ0JBQWdCLEVBQUE7RXREUGxCO0l1RGZJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsV0FBVyxFQUFBOztBdkRhZjtFc0RZRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLFdBQVc7RUFDWCxXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLG1DQUEyQjtVQUEzQiwyQkFBMkI7RW5DbEJ2QixzQ2xCMGpDa0YsRUFBQTtFa0J0akNsRjtJbkJITjtNbUJJUSxnQkFBZ0IsRUFBQSxFbUNldkI7O0F0RG5CRDs7O0VzRHdCRSxjQUFjLEVBQUE7O0F0RHhCaEI7O0VzRDZCRSwyQkFBMkIsRUFBQTs7QXREN0I3Qjs7RXNEa0NFLDRCQUE0QixFQUFBOztBdERsQzlCO0VzRDRDSSxVQUFVO0VBQ1YsNEJBQTRCO0VBQzVCLGVBQWUsRUFBQTs7QXREOUNuQjs7O0VzRG9ESSxVQUFVO0VBQ1YsVUFBVSxFQUFBOztBdERyRGQ7O0VzRDBESSxVQUFVO0VBQ1YsVUFBVTtFbkM1RFIsMkJsQnlqQ2tDLEVBQUE7RWtCcmpDbEM7SW5CSE47O01tQklRLGdCQUFnQixFQUFBLEVtQ3lEckI7O0F0RDdESDs7RXNEdUVFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sU0FBUztFQUNULFVBQVU7RUFFVixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixVckRxOUJzQztFcURwOUJ0QyxXckQxRmE7RXFEMkZiLGtCQUFrQjtFQUNsQixZckRtOUJxQztFa0J0aUNqQyw4QmxCd2lDZ0QsRUFBQTtFa0JwaUNoRDtJbkJITjs7TW1CSVEsZ0JBQWdCLEVBQUEsRW1Dd0Z2QjtFdEQ1RkQ7OztJc0R1RkksV3JEakdXO0lxRGtHWCxxQkFBcUI7SUFDckIsVUFBVTtJQUNWLFlyRDQ4Qm1DLEVBQUE7O0FEdGlDdkM7RXNEOEZFLE9BQU8sRUFBQTs7QXREOUZUO0VzRG9HRSxRQUFRLEVBQUE7O0F0RHBHVjs7RXNENkdFLHFCQUFxQjtFQUNyQixXckRxOEJ1QztFcURwOEJ2QyxZckRvOEJ1QztFcURuOEJ2QyxxQ0FBcUMsRUFBQTs7QXREaEh2QztFc0RtSEUsc05yQzFFZ0YsRUFBQTs7QWpCekNsRjtFc0RzSEUsdU5yQzdFZ0YsRUFBQTs7QWpCekNsRjtFc0RnSUUsa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixTQUFTO0VBQ1QsT0FBTztFQUNQLFdBQVc7RUFDWCxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLGVBQWU7RUFFZixpQnJEMjVCc0M7RXFEMTVCdEMsZ0JyRDA1QnNDO0VxRHo1QnRDLGdCQUFnQixFQUFBO0V0RDNJbEI7SXNEOElJLHVCQUF1QjtJQUN2QixjQUFjO0lBQ2QsV3JEeTVCcUM7SXFEeDVCckMsV3JEeTVCb0M7SXFEeDVCcEMsaUJyRDA1Qm9DO0lxRHo1QnBDLGdCckR5NUJvQztJcUR4NUJwQyxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLHNCckRoS1c7SXFEaUtYLDRCQUE0QjtJQUU1QixrQ0FBaUU7SUFDakUscUNBQW9FO0lBQ3BFLFdBQVc7SW5DNUpULDZCbEIraUMrQyxFQUFBO0lrQjNpQy9DO01uQkhOO1FtQklRLGdCQUFnQixFQUFBLEVtQ3lKckI7RXREN0pIO0lzRGdLSSxVQUFVLEVBQUE7O0F0RGhLZDtFc0QwS0Usa0JBQWtCO0VBQ2xCLFVBQTJDO0VBQzNDLFlBQVk7RUFDWixTQUEwQztFQUMxQyxXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixXckQzTGE7RXFENExiLGtCQUFrQixFQUFBOztBRS9McEI7RUFDRTtJQUFLLHlCQUF5QixFQUFBLEVBQUE7O0FBRGhDO0VBQ0U7SUFBSyx5QkFBeUIsRUFBQSxFQUFBOztBeERZaEM7RXdEUkUscUJBQXFCO0VBQ3JCLFd2RHFrQzBCO0V1RHBrQzFCLFl2RG9rQzBCO0V1RG5rQzFCLDJCQUEyQjtFQUMzQixpQ0FBZ0Q7RUFDaEQsK0JBQStCO0VBRS9CLGtCQUFrQjtFQUNsQixzREFBOEM7VUFBOUMsOENBQThDLEVBQUE7O0F4REFoRDtFd0RJRSxXdkQ4akM0QjtFdUQ3akM1QixZdkQ2akM0QjtFdUQ1akM1QixtQnZEOGpDNEIsRUFBQTs7QXVEdmpDOUI7RUFDRTtJQUNFLG1CQUFtQixFQUFBO0VBRXJCO0lBQ0UsVUFBVTtJQUNWLGVBQWUsRUFBQSxFQUFBOztBQU5uQjtFQUNFO0lBQ0UsbUJBQW1CLEVBQUE7RUFFckI7SUFDRSxVQUFVO0lBQ1YsZUFBZSxFQUFBLEVBQUE7O0F4RG5CbkI7RXdEd0JFLHFCQUFxQjtFQUNyQixXdkRxaUMwQjtFdURwaUMxQixZdkRvaUMwQjtFdURuaUMxQiwyQkFBMkI7RUFDM0IsOEJBQThCO0VBRTlCLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1Ysb0RBQTRDO1VBQTVDLDRDQUE0QyxFQUFBOztBeERoQzlDO0V3RG9DRSxXdkQ4aEM0QjtFdUQ3aEM1QixZdkQ2aEM0QixFQUFBOztBRGxrQzlCO0V5RGZxQixtQ0FBbUMsRUFBQTs7QXpEZXhEO0V5RGRxQiw4QkFBOEIsRUFBQTs7QXpEY25EO0V5RGJxQixpQ0FBaUMsRUFBQTs7QXpEYXREO0V5RFpxQixpQ0FBaUMsRUFBQTs7QXpEWXREO0V5RFhxQixzQ0FBc0MsRUFBQTs7QXpEVzNEO0V5RFZxQixtQ0FBbUMsRUFBQTs7QXpEVXhEO0UwRFhJLG9DQUFtQyxFQUFBOztBMURXdkM7OztFMEROTSxvQ0FBZ0QsRUFBQTs7QTFETXREO0UwRFhJLG9DQUFtQyxFQUFBOztBMURXdkM7OztFMEROTSxvQ0FBZ0QsRUFBQTs7QTFETXREO0UwRFhJLG9DQUFtQyxFQUFBOztBMURXdkM7OztFMEROTSxvQ0FBZ0QsRUFBQTs7QTFETXREO0UwRFhJLG9DQUFtQyxFQUFBOztBMURXdkM7OztFMEROTSxvQ0FBZ0QsRUFBQTs7QTFETXREO0UwRFhJLG9DQUFtQyxFQUFBOztBMURXdkM7OztFMEROTSxvQ0FBZ0QsRUFBQTs7QTFETXREO0UwRFhJLG9DQUFtQyxFQUFBOztBMURXdkM7OztFMEROTSxvQ0FBZ0QsRUFBQTs7QTFETXREO0UwRFhJLG9DQUFtQyxFQUFBOztBMURXdkM7Ozs7O0UwRE5NLG9DQUFnRCxFQUFBOztBMURNdEQ7RTBEWEksb0NBQW1DLEVBQUE7O0ExRFd2Qzs7O0UwRE5NLG9DQUFnRCxFQUFBOztBMURNdEQ7RTJESkUsaUNBQW1DLEVBQUE7O0EzRElyQztFMkRBRSx3Q0FBd0MsRUFBQTs7QTNEQTFDO0U0RFhrQixvQ0FBb0QsRUFBQTs7QTVEV3RFO0U0RFZrQix3Q0FBd0QsRUFBQTs7QTVEVTFFO0U0RFRrQiwwQ0FBMEQsRUFBQTs7QTVEUzVFO0U0RFJrQiwyQ0FBMkQsRUFBQTs7QTVEUTdFO0U0RFBrQix5Q0FBeUQsRUFBQTs7QTVETzNFO0U0RExtQixvQkFBb0IsRUFBQTs7QTVES3ZDO0U0REptQix3QkFBd0IsRUFBQTs7QTVESTNDO0U0REhtQiwwQkFBMEIsRUFBQTs7QTVERzdDO0U0REZtQiwyQkFBMkIsRUFBQTs7QTVERTlDO0U0RERtQix5QkFBeUIsRUFBQTs7QTVEQzVDO0U0REdJLGdDQUErQixFQUFBOztBNURIbkM7RTRER0ksZ0NBQStCLEVBQUE7O0E1REhuQztFNERHSSxnQ0FBK0IsRUFBQTs7QTVESG5DO0U0REdJLGdDQUErQixFQUFBOztBNURIbkM7RTRER0ksZ0NBQStCLEVBQUE7O0E1REhuQztFNERHSSxnQ0FBK0IsRUFBQTs7QTVESG5DO0U0REdJLGdDQUErQixFQUFBOztBNURIbkM7RTRER0ksZ0NBQStCLEVBQUE7O0E1REhuQztFNERRRSw2QkFBK0IsRUFBQTs7QTVEUmpDO0U0RGdCRSxnQ0FBMkMsRUFBQTs7QTVEaEI3QztFNERvQkUsaUNBQXdDLEVBQUE7O0E1RHBCMUM7RTREd0JFLDBDQUFpRDtFQUNqRCwyQ0FBa0QsRUFBQTs7QTVEekJwRDtFNEQ2QkUsMkNBQWtEO0VBQ2xELDhDQUFxRCxFQUFBOztBNUQ5QnZEO0U0RGtDRSw4Q0FBcUQ7RUFDckQsNkNBQW9ELEVBQUE7O0E1RG5DdEQ7RTREdUNFLDBDQUFpRDtFQUNqRCw2Q0FBb0QsRUFBQTs7QTVEeEN0RDtFNEQ0Q0UsZ0NBQTJDLEVBQUE7O0E1RDVDN0M7RTREZ0RFLDZCQUE2QixFQUFBOztBNURoRC9CO0U0RG9ERSwrQkFBdUMsRUFBQTs7QTVEcER6QztFNER3REUsMkJBQTJCLEVBQUE7O0E1RHhEN0I7RXVEZkksY0FBYztFQUNkLFdBQVc7RUFDWCxXQUFXLEVBQUE7O0F2RGFmO0U2RE44Qix3QkFBMEIsRUFBQTs7QTdETXhEO0U2RE44QiwwQkFBMEIsRUFBQTs7QTdETXhEO0U2RE44QixnQ0FBMEIsRUFBQTs7QTdETXhEO0U2RE44Qix5QkFBMEIsRUFBQTs7QTdETXhEO0U2RE44Qix5QkFBMEIsRUFBQTs7QTdETXhEO0U2RE44Qiw2QkFBMEIsRUFBQTs7QTdETXhEO0U2RE44Qiw4QkFBMEIsRUFBQTs7QTdETXhEO0U2RE44Qix3QkFBMEIsRUFBQTs7QTdETXhEO0U2RE44QiwrQkFBMEIsRUFBQTs7QWpEaURwRDtFWjNDSjtJNkROOEIsd0JBQTBCLEVBQUE7RTdETXhEO0k2RE44QiwwQkFBMEIsRUFBQTtFN0RNeEQ7STZETjhCLGdDQUEwQixFQUFBO0U3RE14RDtJNkROOEIseUJBQTBCLEVBQUE7RTdETXhEO0k2RE44Qix5QkFBMEIsRUFBQTtFN0RNeEQ7STZETjhCLDZCQUEwQixFQUFBO0U3RE14RDtJNkROOEIsOEJBQTBCLEVBQUE7RTdETXhEO0k2RE44Qix3QkFBMEIsRUFBQTtFN0RNeEQ7STZETjhCLCtCQUEwQixFQUFBLEVBQUk7O0FqRGlEeEQ7RVozQ0o7STZETjhCLHdCQUEwQixFQUFBO0U3RE14RDtJNkROOEIsMEJBQTBCLEVBQUE7RTdETXhEO0k2RE44QixnQ0FBMEIsRUFBQTtFN0RNeEQ7STZETjhCLHlCQUEwQixFQUFBO0U3RE14RDtJNkROOEIseUJBQTBCLEVBQUE7RTdETXhEO0k2RE44Qiw2QkFBMEIsRUFBQTtFN0RNeEQ7STZETjhCLDhCQUEwQixFQUFBO0U3RE14RDtJNkROOEIsd0JBQTBCLEVBQUE7RTdETXhEO0k2RE44QiwrQkFBMEIsRUFBQSxFQUFJOztBakRpRHhEO0VaM0NKO0k2RE44Qix3QkFBMEIsRUFBQTtFN0RNeEQ7STZETjhCLDBCQUEwQixFQUFBO0U3RE14RDtJNkROOEIsZ0NBQTBCLEVBQUE7RTdETXhEO0k2RE44Qix5QkFBMEIsRUFBQTtFN0RNeEQ7STZETjhCLHlCQUEwQixFQUFBO0U3RE14RDtJNkROOEIsNkJBQTBCLEVBQUE7RTdETXhEO0k2RE44Qiw4QkFBMEIsRUFBQTtFN0RNeEQ7STZETjhCLHdCQUEwQixFQUFBO0U3RE14RDtJNkROOEIsK0JBQTBCLEVBQUEsRUFBSTs7QWpEaUR4RDtFWjNDSjtJNkROOEIsd0JBQTBCLEVBQUE7RTdETXhEO0k2RE44QiwwQkFBMEIsRUFBQTtFN0RNeEQ7STZETjhCLGdDQUEwQixFQUFBO0U3RE14RDtJNkROOEIseUJBQTBCLEVBQUE7RTdETXhEO0k2RE44Qix5QkFBMEIsRUFBQTtFN0RNeEQ7STZETjhCLDZCQUEwQixFQUFBO0U3RE14RDtJNkROOEIsOEJBQTBCLEVBQUE7RTdETXhEO0k2RE44Qix3QkFBMEIsRUFBQTtFN0RNeEQ7STZETjhCLCtCQUEwQixFQUFBLEVBQUk7O0FBVTVEO0U3REpBO0k2RE15Qix3QkFBMEIsRUFBQTtFN0RObkQ7STZETXlCLDBCQUEwQixFQUFBO0U3RE5uRDtJNkRNeUIsZ0NBQTBCLEVBQUE7RTdETm5EO0k2RE15Qix5QkFBMEIsRUFBQTtFN0RObkQ7STZETXlCLHlCQUEwQixFQUFBO0U3RE5uRDtJNkRNeUIsNkJBQTBCLEVBQUE7RTdETm5EO0k2RE15Qiw4QkFBMEIsRUFBQTtFN0RObkQ7STZETXlCLHdCQUEwQixFQUFBO0U3RE5uRDtJNkRNeUIsK0JBQTBCLEVBQUEsRUFBSTs7QTdETnZEO0U4RGRFLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsV0FBVztFQUNYLFVBQVU7RUFDVixnQkFBZ0IsRUFBQTtFOURVbEI7SThEUEksY0FBYztJQUNkLFdBQVcsRUFBQTtFOURNZjs7Ozs7SThERUksa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixTQUFTO0lBQ1QsT0FBTztJQUNQLFdBQVc7SUFDWCxZQUFZO0lBQ1osU0FBUyxFQUFBOztBOURSYjtFOERrQk0sc0JBQTRGLEVBQUE7O0E5RGxCbEc7RThEa0JNLG1CQUE0RixFQUFBOztBOURsQmxHO0U4RGtCTSxnQkFBNEYsRUFBQTs7QTlEbEJsRztFOERrQk0saUJBQTRGLEVBQUE7O0E5RGxCbEc7RStEUG9DLDhCQUE4QixFQUFBOztBL0RPbEU7RStETm9DLGlDQUFpQyxFQUFBOztBL0RNckU7RStETG9DLHNDQUFzQyxFQUFBOztBL0RLMUU7RStESm9DLHlDQUF5QyxFQUFBOztBL0RJN0U7RStERmtDLDBCQUEwQixFQUFBOztBL0RFNUQ7RStERGtDLDRCQUE0QixFQUFBOztBL0RDOUQ7RStEQWtDLGtDQUFrQyxFQUFBOztBL0RBcEU7RStEQ2tDLHlCQUF5QixFQUFBOztBL0REM0Q7RStERWtDLHVCQUF1QixFQUFBOztBL0RGekQ7RStER2tDLHVCQUF1QixFQUFBOztBL0RIekQ7RStESWtDLHlCQUF5QixFQUFBOztBL0RKM0Q7RStES2tDLHlCQUF5QixFQUFBOztBL0RMM0Q7RStET3dDLHNDQUFzQyxFQUFBOztBL0RQOUU7RStEUXdDLG9DQUFvQyxFQUFBOztBL0RSNUU7RStEU3dDLGtDQUFrQyxFQUFBOztBL0RUMUU7RStEVXdDLHlDQUF5QyxFQUFBOztBL0RWakY7RStEV3dDLHdDQUF3QyxFQUFBOztBL0RYaEY7RStEYXFDLGtDQUFrQyxFQUFBOztBL0RidkU7RStEY3FDLGdDQUFnQyxFQUFBOztBL0RkckU7RStEZXFDLDhCQUE4QixFQUFBOztBL0RmbkU7RStEZ0JxQyxnQ0FBZ0MsRUFBQTs7QS9EaEJyRTtFK0RpQnFDLCtCQUErQixFQUFBOztBL0RqQnBFO0UrRG1Cc0Msb0NBQW9DLEVBQUE7O0EvRG5CMUU7RStEb0JzQyxrQ0FBa0MsRUFBQTs7QS9EcEJ4RTtFK0RxQnNDLGdDQUFnQyxFQUFBOztBL0RyQnRFO0UrRHNCc0MsdUNBQXVDLEVBQUE7O0EvRHRCN0U7RStEdUJzQyxzQ0FBc0MsRUFBQTs7QS9EdkI1RTtFK0R3QnNDLGlDQUFpQyxFQUFBOztBL0R4QnZFO0UrRDBCb0MsMkJBQTJCLEVBQUE7O0EvRDFCL0Q7RStEMkJvQyxpQ0FBaUMsRUFBQTs7QS9EM0JyRTtFK0Q0Qm9DLCtCQUErQixFQUFBOztBL0Q1Qm5FO0UrRDZCb0MsNkJBQTZCLEVBQUE7O0EvRDdCakU7RStEOEJvQywrQkFBK0IsRUFBQTs7QS9EOUJuRTtFK0QrQm9DLDhCQUE4QixFQUFBOztBbkRZOUQ7RVozQ0o7SStEUG9DLDhCQUE4QixFQUFBO0UvRE9sRTtJK0ROb0MsaUNBQWlDLEVBQUE7RS9ETXJFO0krRExvQyxzQ0FBc0MsRUFBQTtFL0RLMUU7SStESm9DLHlDQUF5QyxFQUFBO0UvREk3RTtJK0RGa0MsMEJBQTBCLEVBQUE7RS9ERTVEO0krRERrQyw0QkFBNEIsRUFBQTtFL0RDOUQ7SStEQWtDLGtDQUFrQyxFQUFBO0UvREFwRTtJK0RDa0MseUJBQXlCLEVBQUE7RS9ERDNEO0krREVrQyx1QkFBdUIsRUFBQTtFL0RGekQ7SStER2tDLHVCQUF1QixFQUFBO0UvREh6RDtJK0RJa0MseUJBQXlCLEVBQUE7RS9ESjNEO0krREtrQyx5QkFBeUIsRUFBQTtFL0RMM0Q7SStET3dDLHNDQUFzQyxFQUFBO0UvRFA5RTtJK0RRd0Msb0NBQW9DLEVBQUE7RS9EUjVFO0krRFN3QyxrQ0FBa0MsRUFBQTtFL0RUMUU7SStEVXdDLHlDQUF5QyxFQUFBO0UvRFZqRjtJK0RXd0Msd0NBQXdDLEVBQUE7RS9EWGhGO0krRGFxQyxrQ0FBa0MsRUFBQTtFL0RidkU7SStEY3FDLGdDQUFnQyxFQUFBO0UvRGRyRTtJK0RlcUMsOEJBQThCLEVBQUE7RS9EZm5FO0krRGdCcUMsZ0NBQWdDLEVBQUE7RS9EaEJyRTtJK0RpQnFDLCtCQUErQixFQUFBO0UvRGpCcEU7SStEbUJzQyxvQ0FBb0MsRUFBQTtFL0RuQjFFO0krRG9Cc0Msa0NBQWtDLEVBQUE7RS9EcEJ4RTtJK0RxQnNDLGdDQUFnQyxFQUFBO0UvRHJCdEU7SStEc0JzQyx1Q0FBdUMsRUFBQTtFL0R0QjdFO0krRHVCc0Msc0NBQXNDLEVBQUE7RS9EdkI1RTtJK0R3QnNDLGlDQUFpQyxFQUFBO0UvRHhCdkU7SStEMEJvQywyQkFBMkIsRUFBQTtFL0QxQi9EO0krRDJCb0MsaUNBQWlDLEVBQUE7RS9EM0JyRTtJK0Q0Qm9DLCtCQUErQixFQUFBO0UvRDVCbkU7SStENkJvQyw2QkFBNkIsRUFBQTtFL0Q3QmpFO0krRDhCb0MsK0JBQStCLEVBQUE7RS9EOUJuRTtJK0QrQm9DLDhCQUE4QixFQUFBLEVBQUk7O0FuRFlsRTtFWjNDSjtJK0RQb0MsOEJBQThCLEVBQUE7RS9ET2xFO0krRE5vQyxpQ0FBaUMsRUFBQTtFL0RNckU7SStETG9DLHNDQUFzQyxFQUFBO0UvREsxRTtJK0RKb0MseUNBQXlDLEVBQUE7RS9ESTdFO0krREZrQywwQkFBMEIsRUFBQTtFL0RFNUQ7SStERGtDLDRCQUE0QixFQUFBO0UvREM5RDtJK0RBa0Msa0NBQWtDLEVBQUE7RS9EQXBFO0krRENrQyx5QkFBeUIsRUFBQTtFL0REM0Q7SStERWtDLHVCQUF1QixFQUFBO0UvREZ6RDtJK0RHa0MsdUJBQXVCLEVBQUE7RS9ESHpEO0krRElrQyx5QkFBeUIsRUFBQTtFL0RKM0Q7SStES2tDLHlCQUF5QixFQUFBO0UvREwzRDtJK0RPd0Msc0NBQXNDLEVBQUE7RS9EUDlFO0krRFF3QyxvQ0FBb0MsRUFBQTtFL0RSNUU7SStEU3dDLGtDQUFrQyxFQUFBO0UvRFQxRTtJK0RVd0MseUNBQXlDLEVBQUE7RS9EVmpGO0krRFd3Qyx3Q0FBd0MsRUFBQTtFL0RYaEY7SStEYXFDLGtDQUFrQyxFQUFBO0UvRGJ2RTtJK0RjcUMsZ0NBQWdDLEVBQUE7RS9EZHJFO0krRGVxQyw4QkFBOEIsRUFBQTtFL0RmbkU7SStEZ0JxQyxnQ0FBZ0MsRUFBQTtFL0RoQnJFO0krRGlCcUMsK0JBQStCLEVBQUE7RS9EakJwRTtJK0RtQnNDLG9DQUFvQyxFQUFBO0UvRG5CMUU7SStEb0JzQyxrQ0FBa0MsRUFBQTtFL0RwQnhFO0krRHFCc0MsZ0NBQWdDLEVBQUE7RS9EckJ0RTtJK0RzQnNDLHVDQUF1QyxFQUFBO0UvRHRCN0U7SStEdUJzQyxzQ0FBc0MsRUFBQTtFL0R2QjVFO0krRHdCc0MsaUNBQWlDLEVBQUE7RS9EeEJ2RTtJK0QwQm9DLDJCQUEyQixFQUFBO0UvRDFCL0Q7SStEMkJvQyxpQ0FBaUMsRUFBQTtFL0QzQnJFO0krRDRCb0MsK0JBQStCLEVBQUE7RS9ENUJuRTtJK0Q2Qm9DLDZCQUE2QixFQUFBO0UvRDdCakU7SStEOEJvQywrQkFBK0IsRUFBQTtFL0Q5Qm5FO0krRCtCb0MsOEJBQThCLEVBQUEsRUFBSTs7QW5EWWxFO0VaM0NKO0krRFBvQyw4QkFBOEIsRUFBQTtFL0RPbEU7SStETm9DLGlDQUFpQyxFQUFBO0UvRE1yRTtJK0RMb0Msc0NBQXNDLEVBQUE7RS9ESzFFO0krREpvQyx5Q0FBeUMsRUFBQTtFL0RJN0U7SStERmtDLDBCQUEwQixFQUFBO0UvREU1RDtJK0REa0MsNEJBQTRCLEVBQUE7RS9EQzlEO0krREFrQyxrQ0FBa0MsRUFBQTtFL0RBcEU7SStEQ2tDLHlCQUF5QixFQUFBO0UvREQzRDtJK0RFa0MsdUJBQXVCLEVBQUE7RS9ERnpEO0krREdrQyx1QkFBdUIsRUFBQTtFL0RIekQ7SStESWtDLHlCQUF5QixFQUFBO0UvREozRDtJK0RLa0MseUJBQXlCLEVBQUE7RS9ETDNEO0krRE93QyxzQ0FBc0MsRUFBQTtFL0RQOUU7SStEUXdDLG9DQUFvQyxFQUFBO0UvRFI1RTtJK0RTd0Msa0NBQWtDLEVBQUE7RS9EVDFFO0krRFV3Qyx5Q0FBeUMsRUFBQTtFL0RWakY7SStEV3dDLHdDQUF3QyxFQUFBO0UvRFhoRjtJK0RhcUMsa0NBQWtDLEVBQUE7RS9EYnZFO0krRGNxQyxnQ0FBZ0MsRUFBQTtFL0RkckU7SStEZXFDLDhCQUE4QixFQUFBO0UvRGZuRTtJK0RnQnFDLGdDQUFnQyxFQUFBO0UvRGhCckU7SStEaUJxQywrQkFBK0IsRUFBQTtFL0RqQnBFO0krRG1Cc0Msb0NBQW9DLEVBQUE7RS9EbkIxRTtJK0RvQnNDLGtDQUFrQyxFQUFBO0UvRHBCeEU7SStEcUJzQyxnQ0FBZ0MsRUFBQTtFL0RyQnRFO0krRHNCc0MsdUNBQXVDLEVBQUE7RS9EdEI3RTtJK0R1QnNDLHNDQUFzQyxFQUFBO0UvRHZCNUU7SStEd0JzQyxpQ0FBaUMsRUFBQTtFL0R4QnZFO0krRDBCb0MsMkJBQTJCLEVBQUE7RS9EMUIvRDtJK0QyQm9DLGlDQUFpQyxFQUFBO0UvRDNCckU7SStENEJvQywrQkFBK0IsRUFBQTtFL0Q1Qm5FO0krRDZCb0MsNkJBQTZCLEVBQUE7RS9EN0JqRTtJK0Q4Qm9DLCtCQUErQixFQUFBO0UvRDlCbkU7SStEK0JvQyw4QkFBOEIsRUFBQSxFQUFJOztBbkRZbEU7RVozQ0o7SStEUG9DLDhCQUE4QixFQUFBO0UvRE9sRTtJK0ROb0MsaUNBQWlDLEVBQUE7RS9ETXJFO0krRExvQyxzQ0FBc0MsRUFBQTtFL0RLMUU7SStESm9DLHlDQUF5QyxFQUFBO0UvREk3RTtJK0RGa0MsMEJBQTBCLEVBQUE7RS9ERTVEO0krRERrQyw0QkFBNEIsRUFBQTtFL0RDOUQ7SStEQWtDLGtDQUFrQyxFQUFBO0UvREFwRTtJK0RDa0MseUJBQXlCLEVBQUE7RS9ERDNEO0krREVrQyx1QkFBdUIsRUFBQTtFL0RGekQ7SStER2tDLHVCQUF1QixFQUFBO0UvREh6RDtJK0RJa0MseUJBQXlCLEVBQUE7RS9ESjNEO0krREtrQyx5QkFBeUIsRUFBQTtFL0RMM0Q7SStET3dDLHNDQUFzQyxFQUFBO0UvRFA5RTtJK0RRd0Msb0NBQW9DLEVBQUE7RS9EUjVFO0krRFN3QyxrQ0FBa0MsRUFBQTtFL0RUMUU7SStEVXdDLHlDQUF5QyxFQUFBO0UvRFZqRjtJK0RXd0Msd0NBQXdDLEVBQUE7RS9EWGhGO0krRGFxQyxrQ0FBa0MsRUFBQTtFL0RidkU7SStEY3FDLGdDQUFnQyxFQUFBO0UvRGRyRTtJK0RlcUMsOEJBQThCLEVBQUE7RS9EZm5FO0krRGdCcUMsZ0NBQWdDLEVBQUE7RS9EaEJyRTtJK0RpQnFDLCtCQUErQixFQUFBO0UvRGpCcEU7SStEbUJzQyxvQ0FBb0MsRUFBQTtFL0RuQjFFO0krRG9Cc0Msa0NBQWtDLEVBQUE7RS9EcEJ4RTtJK0RxQnNDLGdDQUFnQyxFQUFBO0UvRHJCdEU7SStEc0JzQyx1Q0FBdUMsRUFBQTtFL0R0QjdFO0krRHVCc0Msc0NBQXNDLEVBQUE7RS9EdkI1RTtJK0R3QnNDLGlDQUFpQyxFQUFBO0UvRHhCdkU7SStEMEJvQywyQkFBMkIsRUFBQTtFL0QxQi9EO0krRDJCb0MsaUNBQWlDLEVBQUE7RS9EM0JyRTtJK0Q0Qm9DLCtCQUErQixFQUFBO0UvRDVCbkU7SStENkJvQyw2QkFBNkIsRUFBQTtFL0Q3QmpFO0krRDhCb0MsK0JBQStCLEVBQUE7RS9EOUJuRTtJK0QrQm9DLDhCQUE4QixFQUFBLEVBQUk7O0EvRC9CdEU7RWdFWDRCLHNCQUFzQixFQUFBOztBaEVXbEQ7RWdFVjRCLHVCQUF1QixFQUFBOztBaEVVbkQ7RWdFVDRCLHNCQUFzQixFQUFBOztBcERvRDlDO0VaM0NKO0lnRVg0QixzQkFBc0IsRUFBQTtFaEVXbEQ7SWdFVjRCLHVCQUF1QixFQUFBO0VoRVVuRDtJZ0VUNEIsc0JBQXNCLEVBQUEsRUFBSTs7QXBEb0RsRDtFWjNDSjtJZ0VYNEIsc0JBQXNCLEVBQUE7RWhFV2xEO0lnRVY0Qix1QkFBdUIsRUFBQTtFaEVVbkQ7SWdFVDRCLHNCQUFzQixFQUFBLEVBQUk7O0FwRG9EbEQ7RVozQ0o7SWdFWDRCLHNCQUFzQixFQUFBO0VoRVdsRDtJZ0VWNEIsdUJBQXVCLEVBQUE7RWhFVW5EO0lnRVQ0QixzQkFBc0IsRUFBQSxFQUFJOztBcERvRGxEO0VaM0NKO0lnRVg0QixzQkFBc0IsRUFBQTtFaEVXbEQ7SWdFVjRCLHVCQUF1QixFQUFBO0VoRVVuRDtJZ0VUNEIsc0JBQXNCLEVBQUEsRUFBSTs7QWhFU3REO0VpRWQyQixtQ0FBOEI7S0FBOUIsZ0NBQThCO01BQTlCLCtCQUE4QjtVQUE5QiwyQkFBOEIsRUFBQTs7QWpFY3pEO0VpRWQyQixvQ0FBOEI7S0FBOUIsaUNBQThCO01BQTlCLGdDQUE4QjtVQUE5Qiw0QkFBOEIsRUFBQTs7QWpFY3pEO0VpRWQyQixvQ0FBOEI7S0FBOUIsaUNBQThCO01BQTlCLGdDQUE4QjtVQUE5Qiw0QkFBOEIsRUFBQTs7QWpFY3pEO0VrRWR3Qix5QkFBMkIsRUFBQTs7QWxFY25EO0VrRWR3QiwyQkFBMkIsRUFBQTs7QWxFY25EO0VtRWIyQiwyQkFBOEIsRUFBQTs7QW5FYXpEO0VtRWIyQiw2QkFBOEIsRUFBQTs7QW5FYXpEO0VtRWIyQiw2QkFBOEIsRUFBQTs7QW5FYXpEO0VtRWIyQiwwQkFBOEIsRUFBQTs7QW5FYXpEO0VtRWIyQixtQ0FBOEI7RUFBOUIsMkJBQThCLEVBQUE7O0FuRWF6RDtFbUVQRSxlQUFlO0VBQ2YsTUFBTTtFQUNOLFFBQVE7RUFDUixPQUFPO0VBQ1AsYWxFc3FCc0MsRUFBQTs7QURucUJ4QztFbUVDRSxlQUFlO0VBQ2YsUUFBUTtFQUNSLFNBQVM7RUFDVCxPQUFPO0VBQ1AsYWxFOHBCc0MsRUFBQTs7QWtFMXBCVjtFbkVUOUI7SW1FVUksd0JBQWdCO0lBQWhCLGdCQUFnQjtJQUNoQixNQUFNO0lBQ04sYWxFc3BCb0MsRUFBQSxFa0VwcEJ2Qzs7QW5FZEQ7RW9FWEUsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixXQUFXO0VBQ1gsVUFBVTtFQUNWLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsc0JBQXNCO0VBQ3RCLG1CQUFtQjtFQUNuQixTQUFTLEVBQUE7O0FwRUdYO0VvRVNJLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixVQUFVO0VBQ1YsbUJBQW1CLEVBQUE7O0FwRWR2QjtFcUVmYSw4REFBcUMsRUFBQTs7QXJFZWxEO0VxRWRVLHdEQUFrQyxFQUFBOztBckVjNUM7RXFFYmEsdURBQXFDLEVBQUE7O0FyRWFsRDtFcUVaZSwyQkFBMkIsRUFBQTs7QXJFWTFDO0VzRVgyQixxQkFBNEIsRUFBQTs7QXRFV3ZEO0VzRVgyQixxQkFBNEIsRUFBQTs7QXRFV3ZEO0VzRVgyQixxQkFBNEIsRUFBQTs7QXRFV3ZEO0VzRVgyQixzQkFBNEIsRUFBQTs7QXRFV3ZEO0VzRVgyQixzQkFBNEIsRUFBQTs7QXRFV3ZEO0VzRVgyQixzQkFBNEIsRUFBQTs7QXRFV3ZEO0VzRVgyQixzQkFBNEIsRUFBQTs7QXRFV3ZEO0VzRVgyQixzQkFBNEIsRUFBQTs7QXRFV3ZEO0VzRVgyQix1QkFBNEIsRUFBQTs7QXRFV3ZEO0VzRVgyQix1QkFBNEIsRUFBQTs7QXRFV3ZEO0VzRVBVLDBCQUEwQixFQUFBOztBdEVPcEM7RXNFTlUsMkJBQTJCLEVBQUE7O0F0RU1yQztFc0VGYywyQkFBMkIsRUFBQTs7QXRFRXpDO0VzRURjLDRCQUE0QixFQUFBOztBdEVDMUM7RXNFQ1UsdUJBQXVCLEVBQUE7O0F0RURqQztFc0VFVSx3QkFBd0IsRUFBQTs7QXRFRmxDO0V1RVB3QyxvQkFBNEIsRUFBQTs7QXZFT3BFOztFdUVKVSx3QkFBb0MsRUFBQTs7QXZFSTlDOztFdUVBVSwwQkFBd0MsRUFBQTs7QXZFQWxEOztFdUVJVSwyQkFBMEMsRUFBQTs7QXZFSnBEOztFdUVRVSx5QkFBc0MsRUFBQTs7QXZFUmhEO0V1RVB3QywwQkFBNEIsRUFBQTs7QXZFT3BFOztFdUVKVSw4QkFBb0MsRUFBQTs7QXZFSTlDOztFdUVBVSxnQ0FBd0MsRUFBQTs7QXZFQWxEOztFdUVJVSxpQ0FBMEMsRUFBQTs7QXZFSnBEOztFdUVRVSwrQkFBc0MsRUFBQTs7QXZFUmhEO0V1RVB3Qyx5QkFBNEIsRUFBQTs7QXZFT3BFOztFdUVKVSw2QkFBb0MsRUFBQTs7QXZFSTlDOztFdUVBVSwrQkFBd0MsRUFBQTs7QXZFQWxEOztFdUVJVSxnQ0FBMEMsRUFBQTs7QXZFSnBEOztFdUVRVSw4QkFBc0MsRUFBQTs7QXZFUmhEO0V1RVB3Qyx1QkFBNEIsRUFBQTs7QXZFT3BFOztFdUVKVSwyQkFBb0MsRUFBQTs7QXZFSTlDOztFdUVBVSw2QkFBd0MsRUFBQTs7QXZFQWxEOztFdUVJVSw4QkFBMEMsRUFBQTs7QXZFSnBEOztFdUVRVSw0QkFBc0MsRUFBQTs7QXZFUmhEO0V1RVB3Qyx5QkFBNEIsRUFBQTs7QXZFT3BFOztFdUVKVSw2QkFBb0MsRUFBQTs7QXZFSTlDOztFdUVBVSwrQkFBd0MsRUFBQTs7QXZFQWxEOztFdUVJVSxnQ0FBMEMsRUFBQTs7QXZFSnBEOztFdUVRVSw4QkFBc0MsRUFBQTs7QXZFUmhEO0V1RVB3Qyx1QkFBNEIsRUFBQTs7QXZFT3BFOztFdUVKVSwyQkFBb0MsRUFBQTs7QXZFSTlDOztFdUVBVSw2QkFBd0MsRUFBQTs7QXZFQWxEOztFdUVJVSw4QkFBMEMsRUFBQTs7QXZFSnBEOztFdUVRVSw0QkFBc0MsRUFBQTs7QXZFUmhEO0V1RVB3QyxxQkFBNEIsRUFBQTs7QXZFT3BFOztFdUVKVSx5QkFBb0MsRUFBQTs7QXZFSTlDOztFdUVBVSwyQkFBd0MsRUFBQTs7QXZFQWxEOztFdUVJVSw0QkFBMEMsRUFBQTs7QXZFSnBEOztFdUVRVSwwQkFBc0MsRUFBQTs7QXZFUmhEO0V1RVB3QywyQkFBNEIsRUFBQTs7QXZFT3BFOztFdUVKVSwrQkFBb0MsRUFBQTs7QXZFSTlDOztFdUVBVSxpQ0FBd0MsRUFBQTs7QXZFQWxEOztFdUVJVSxrQ0FBMEMsRUFBQTs7QXZFSnBEOztFdUVRVSxnQ0FBc0MsRUFBQTs7QXZFUmhEO0V1RVB3QywwQkFBNEIsRUFBQTs7QXZFT3BFOztFdUVKVSw4QkFBb0MsRUFBQTs7QXZFSTlDOztFdUVBVSxnQ0FBd0MsRUFBQTs7QXZFQWxEOztFdUVJVSxpQ0FBMEMsRUFBQTs7QXZFSnBEOztFdUVRVSwrQkFBc0MsRUFBQTs7QXZFUmhEO0V1RVB3Qyx3QkFBNEIsRUFBQTs7QXZFT3BFOztFdUVKVSw0QkFBb0MsRUFBQTs7QXZFSTlDOztFdUVBVSw4QkFBd0MsRUFBQTs7QXZFQWxEOztFdUVJVSwrQkFBMEMsRUFBQTs7QXZFSnBEOztFdUVRVSw2QkFBc0MsRUFBQTs7QXZFUmhEO0V1RVB3QywwQkFBNEIsRUFBQTs7QXZFT3BFOztFdUVKVSw4QkFBb0MsRUFBQTs7QXZFSTlDOztFdUVBVSxnQ0FBd0MsRUFBQTs7QXZFQWxEOztFdUVJVSxpQ0FBMEMsRUFBQTs7QXZFSnBEOztFdUVRVSwrQkFBc0MsRUFBQTs7QXZFUmhEO0V1RVB3Qyx3QkFBNEIsRUFBQTs7QXZFT3BFOztFdUVKVSw0QkFBb0MsRUFBQTs7QXZFSTlDOztFdUVBVSw4QkFBd0MsRUFBQTs7QXZFQWxEOztFdUVJVSwrQkFBMEMsRUFBQTs7QXZFSnBEOztFdUVRVSw2QkFBc0MsRUFBQTs7QXZFUmhEO0V1RWdCZ0MsMkJBQTJCLEVBQUE7O0F2RWhCM0Q7O0V1RW1CVSwrQkFBK0IsRUFBQTs7QXZFbkJ6Qzs7RXVFdUJVLGlDQUFpQyxFQUFBOztBdkV2QjNDOztFdUUyQlUsa0NBQWtDLEVBQUE7O0F2RTNCNUM7O0V1RStCVSxnQ0FBZ0MsRUFBQTs7QXZFL0IxQztFdUVnQmdDLDBCQUEyQixFQUFBOztBdkVoQjNEOztFdUVtQlUsOEJBQStCLEVBQUE7O0F2RW5CekM7O0V1RXVCVSxnQ0FBaUMsRUFBQTs7QXZFdkIzQzs7RXVFMkJVLGlDQUFrQyxFQUFBOztBdkUzQjVDOztFdUUrQlUsK0JBQWdDLEVBQUE7O0F2RS9CMUM7RXVFZ0JnQyx3QkFBMkIsRUFBQTs7QXZFaEIzRDs7RXVFbUJVLDRCQUErQixFQUFBOztBdkVuQnpDOztFdUV1QlUsOEJBQWlDLEVBQUE7O0F2RXZCM0M7O0V1RTJCVSwrQkFBa0MsRUFBQTs7QXZFM0I1Qzs7RXVFK0JVLDZCQUFnQyxFQUFBOztBdkUvQjFDO0V1RWdCZ0MsMEJBQTJCLEVBQUE7O0F2RWhCM0Q7O0V1RW1CVSw4QkFBK0IsRUFBQTs7QXZFbkJ6Qzs7RXVFdUJVLGdDQUFpQyxFQUFBOztBdkV2QjNDOztFdUUyQlUsaUNBQWtDLEVBQUE7O0F2RTNCNUM7O0V1RStCVSwrQkFBZ0MsRUFBQTs7QXZFL0IxQztFdUVnQmdDLHdCQUEyQixFQUFBOztBdkVoQjNEOztFdUVtQlUsNEJBQStCLEVBQUE7O0F2RW5CekM7O0V1RXVCVSw4QkFBaUMsRUFBQTs7QXZFdkIzQzs7RXVFMkJVLCtCQUFrQyxFQUFBOztBdkUzQjVDOztFdUUrQlUsNkJBQWdDLEVBQUE7O0F2RS9CMUM7RXVFcUN1Qix1QkFBdUIsRUFBQTs7QXZFckM5Qzs7RXVFd0NNLDJCQUEyQixFQUFBOztBdkV4Q2pDOztFdUU0Q00sNkJBQTZCLEVBQUE7O0F2RTVDbkM7O0V1RWdETSw4QkFBOEIsRUFBQTs7QXZFaERwQzs7RXVFb0RNLDRCQUE0QixFQUFBOztBM0RUOUI7RVozQ0o7SXVFUHdDLG9CQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsd0JBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSwwQkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLDJCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUseUJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QywwQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDhCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsZ0NBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxpQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLCtCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MseUJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw2QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLCtCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsZ0NBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw4QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHVCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsMkJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSw2QkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLDhCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsNEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx5QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDZCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsK0JBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxnQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDhCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsdUJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSwyQkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDZCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsOEJBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw0QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHFCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUseUJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSwyQkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLDRCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsMEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QywyQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLCtCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsaUNBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxrQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLGdDQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsMEJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw4QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLGdDQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsaUNBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSwrQkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHdCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsNEJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSw4QkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLCtCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsNkJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QywwQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDhCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsZ0NBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxpQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLCtCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0Msd0JBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw0QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDhCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsK0JBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw2QkFBc0MsRUFBQTtFdkVSaEQ7SXVFZ0JnQywyQkFBMkIsRUFBQTtFdkVoQjNEOztJdUVtQlUsK0JBQStCLEVBQUE7RXZFbkJ6Qzs7SXVFdUJVLGlDQUFpQyxFQUFBO0V2RXZCM0M7O0l1RTJCVSxrQ0FBa0MsRUFBQTtFdkUzQjVDOztJdUUrQlUsZ0NBQWdDLEVBQUE7RXZFL0IxQztJdUVnQmdDLDBCQUEyQixFQUFBO0V2RWhCM0Q7O0l1RW1CVSw4QkFBK0IsRUFBQTtFdkVuQnpDOztJdUV1QlUsZ0NBQWlDLEVBQUE7RXZFdkIzQzs7SXVFMkJVLGlDQUFrQyxFQUFBO0V2RTNCNUM7O0l1RStCVSwrQkFBZ0MsRUFBQTtFdkUvQjFDO0l1RWdCZ0Msd0JBQTJCLEVBQUE7RXZFaEIzRDs7SXVFbUJVLDRCQUErQixFQUFBO0V2RW5CekM7O0l1RXVCVSw4QkFBaUMsRUFBQTtFdkV2QjNDOztJdUUyQlUsK0JBQWtDLEVBQUE7RXZFM0I1Qzs7SXVFK0JVLDZCQUFnQyxFQUFBO0V2RS9CMUM7SXVFZ0JnQywwQkFBMkIsRUFBQTtFdkVoQjNEOztJdUVtQlUsOEJBQStCLEVBQUE7RXZFbkJ6Qzs7SXVFdUJVLGdDQUFpQyxFQUFBO0V2RXZCM0M7O0l1RTJCVSxpQ0FBa0MsRUFBQTtFdkUzQjVDOztJdUUrQlUsK0JBQWdDLEVBQUE7RXZFL0IxQztJdUVnQmdDLHdCQUEyQixFQUFBO0V2RWhCM0Q7O0l1RW1CVSw0QkFBK0IsRUFBQTtFdkVuQnpDOztJdUV1QlUsOEJBQWlDLEVBQUE7RXZFdkIzQzs7SXVFMkJVLCtCQUFrQyxFQUFBO0V2RTNCNUM7O0l1RStCVSw2QkFBZ0MsRUFBQTtFdkUvQjFDO0l1RXFDdUIsdUJBQXVCLEVBQUE7RXZFckM5Qzs7SXVFd0NNLDJCQUEyQixFQUFBO0V2RXhDakM7O0l1RTRDTSw2QkFBNkIsRUFBQTtFdkU1Q25DOztJdUVnRE0sOEJBQThCLEVBQUE7RXZFaERwQzs7SXVFb0RNLDRCQUE0QixFQUFBLEVBQzdCOztBM0RWRDtFWjNDSjtJdUVQd0Msb0JBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSx3QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDBCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsMkJBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSx5QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLDBCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsOEJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSxnQ0FBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGlDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsK0JBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx5QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDZCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsK0JBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxnQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDhCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsdUJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSwyQkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDZCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsOEJBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw0QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHlCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsNkJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSwrQkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGdDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsOEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx1QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDJCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsNkJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSw4QkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDRCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MscUJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSx5QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDJCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsNEJBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSwwQkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLDJCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsK0JBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSxpQ0FBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGtDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsZ0NBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QywwQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDhCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsZ0NBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxpQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLCtCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0Msd0JBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw0QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDhCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsK0JBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw2QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLDBCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsOEJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSxnQ0FBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGlDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsK0JBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx3QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDRCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsOEJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSwrQkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDZCQUFzQyxFQUFBO0V2RVJoRDtJdUVnQmdDLDJCQUEyQixFQUFBO0V2RWhCM0Q7O0l1RW1CVSwrQkFBK0IsRUFBQTtFdkVuQnpDOztJdUV1QlUsaUNBQWlDLEVBQUE7RXZFdkIzQzs7SXVFMkJVLGtDQUFrQyxFQUFBO0V2RTNCNUM7O0l1RStCVSxnQ0FBZ0MsRUFBQTtFdkUvQjFDO0l1RWdCZ0MsMEJBQTJCLEVBQUE7RXZFaEIzRDs7SXVFbUJVLDhCQUErQixFQUFBO0V2RW5CekM7O0l1RXVCVSxnQ0FBaUMsRUFBQTtFdkV2QjNDOztJdUUyQlUsaUNBQWtDLEVBQUE7RXZFM0I1Qzs7SXVFK0JVLCtCQUFnQyxFQUFBO0V2RS9CMUM7SXVFZ0JnQyx3QkFBMkIsRUFBQTtFdkVoQjNEOztJdUVtQlUsNEJBQStCLEVBQUE7RXZFbkJ6Qzs7SXVFdUJVLDhCQUFpQyxFQUFBO0V2RXZCM0M7O0l1RTJCVSwrQkFBa0MsRUFBQTtFdkUzQjVDOztJdUUrQlUsNkJBQWdDLEVBQUE7RXZFL0IxQztJdUVnQmdDLDBCQUEyQixFQUFBO0V2RWhCM0Q7O0l1RW1CVSw4QkFBK0IsRUFBQTtFdkVuQnpDOztJdUV1QlUsZ0NBQWlDLEVBQUE7RXZFdkIzQzs7SXVFMkJVLGlDQUFrQyxFQUFBO0V2RTNCNUM7O0l1RStCVSwrQkFBZ0MsRUFBQTtFdkUvQjFDO0l1RWdCZ0Msd0JBQTJCLEVBQUE7RXZFaEIzRDs7SXVFbUJVLDRCQUErQixFQUFBO0V2RW5CekM7O0l1RXVCVSw4QkFBaUMsRUFBQTtFdkV2QjNDOztJdUUyQlUsK0JBQWtDLEVBQUE7RXZFM0I1Qzs7SXVFK0JVLDZCQUFnQyxFQUFBO0V2RS9CMUM7SXVFcUN1Qix1QkFBdUIsRUFBQTtFdkVyQzlDOztJdUV3Q00sMkJBQTJCLEVBQUE7RXZFeENqQzs7SXVFNENNLDZCQUE2QixFQUFBO0V2RTVDbkM7O0l1RWdETSw4QkFBOEIsRUFBQTtFdkVoRHBDOztJdUVvRE0sNEJBQTRCLEVBQUEsRUFDN0I7O0EzRFZEO0VaM0NKO0l1RVB3QyxvQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLHdCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsMEJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSwyQkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLHlCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsMEJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw4QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLGdDQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsaUNBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSwrQkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHlCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsNkJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSwrQkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGdDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsOEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx1QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDJCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsNkJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSw4QkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDRCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MseUJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw2QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLCtCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsZ0NBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw4QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHVCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsMkJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSw2QkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLDhCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsNEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QyxxQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLHlCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsMkJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSw0QkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDBCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsMkJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSwrQkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLGlDQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsa0NBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSxnQ0FBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLDBCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsOEJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSxnQ0FBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLGlDQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsK0JBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx3QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDRCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsOEJBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSwrQkFBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDZCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsMEJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw4QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLGdDQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsaUNBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSwrQkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHdCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsNEJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSw4QkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLCtCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsNkJBQXNDLEVBQUE7RXZFUmhEO0l1RWdCZ0MsMkJBQTJCLEVBQUE7RXZFaEIzRDs7SXVFbUJVLCtCQUErQixFQUFBO0V2RW5CekM7O0l1RXVCVSxpQ0FBaUMsRUFBQTtFdkV2QjNDOztJdUUyQlUsa0NBQWtDLEVBQUE7RXZFM0I1Qzs7SXVFK0JVLGdDQUFnQyxFQUFBO0V2RS9CMUM7SXVFZ0JnQywwQkFBMkIsRUFBQTtFdkVoQjNEOztJdUVtQlUsOEJBQStCLEVBQUE7RXZFbkJ6Qzs7SXVFdUJVLGdDQUFpQyxFQUFBO0V2RXZCM0M7O0l1RTJCVSxpQ0FBa0MsRUFBQTtFdkUzQjVDOztJdUUrQlUsK0JBQWdDLEVBQUE7RXZFL0IxQztJdUVnQmdDLHdCQUEyQixFQUFBO0V2RWhCM0Q7O0l1RW1CVSw0QkFBK0IsRUFBQTtFdkVuQnpDOztJdUV1QlUsOEJBQWlDLEVBQUE7RXZFdkIzQzs7SXVFMkJVLCtCQUFrQyxFQUFBO0V2RTNCNUM7O0l1RStCVSw2QkFBZ0MsRUFBQTtFdkUvQjFDO0l1RWdCZ0MsMEJBQTJCLEVBQUE7RXZFaEIzRDs7SXVFbUJVLDhCQUErQixFQUFBO0V2RW5CekM7O0l1RXVCVSxnQ0FBaUMsRUFBQTtFdkV2QjNDOztJdUUyQlUsaUNBQWtDLEVBQUE7RXZFM0I1Qzs7SXVFK0JVLCtCQUFnQyxFQUFBO0V2RS9CMUM7SXVFZ0JnQyx3QkFBMkIsRUFBQTtFdkVoQjNEOztJdUVtQlUsNEJBQStCLEVBQUE7RXZFbkJ6Qzs7SXVFdUJVLDhCQUFpQyxFQUFBO0V2RXZCM0M7O0l1RTJCVSwrQkFBa0MsRUFBQTtFdkUzQjVDOztJdUUrQlUsNkJBQWdDLEVBQUE7RXZFL0IxQztJdUVxQ3VCLHVCQUF1QixFQUFBO0V2RXJDOUM7O0l1RXdDTSwyQkFBMkIsRUFBQTtFdkV4Q2pDOztJdUU0Q00sNkJBQTZCLEVBQUE7RXZFNUNuQzs7SXVFZ0RNLDhCQUE4QixFQUFBO0V2RWhEcEM7O0l1RW9ETSw0QkFBNEIsRUFBQSxFQUM3Qjs7QTNEVkQ7RVozQ0o7SXVFUHdDLG9CQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsd0JBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSwwQkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLDJCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUseUJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QywwQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDhCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsZ0NBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxpQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLCtCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MseUJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw2QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLCtCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsZ0NBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw4QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHVCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsMkJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSw2QkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLDhCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsNEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3Qyx5QkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDZCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsK0JBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxnQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLDhCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsdUJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSwyQkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDZCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsOEJBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw0QkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHFCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUseUJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSwyQkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLDRCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsMEJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QywyQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLCtCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsaUNBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxrQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLGdDQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0MsMEJBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw4QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLGdDQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsaUNBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSwrQkFBc0MsRUFBQTtFdkVSaEQ7SXVFUHdDLHdCQUE0QixFQUFBO0V2RU9wRTs7SXVFSlUsNEJBQW9DLEVBQUE7RXZFSTlDOztJdUVBVSw4QkFBd0MsRUFBQTtFdkVBbEQ7O0l1RUlVLCtCQUEwQyxFQUFBO0V2RUpwRDs7SXVFUVUsNkJBQXNDLEVBQUE7RXZFUmhEO0l1RVB3QywwQkFBNEIsRUFBQTtFdkVPcEU7O0l1RUpVLDhCQUFvQyxFQUFBO0V2RUk5Qzs7SXVFQVUsZ0NBQXdDLEVBQUE7RXZFQWxEOztJdUVJVSxpQ0FBMEMsRUFBQTtFdkVKcEQ7O0l1RVFVLCtCQUFzQyxFQUFBO0V2RVJoRDtJdUVQd0Msd0JBQTRCLEVBQUE7RXZFT3BFOztJdUVKVSw0QkFBb0MsRUFBQTtFdkVJOUM7O0l1RUFVLDhCQUF3QyxFQUFBO0V2RUFsRDs7SXVFSVUsK0JBQTBDLEVBQUE7RXZFSnBEOztJdUVRVSw2QkFBc0MsRUFBQTtFdkVSaEQ7SXVFZ0JnQywyQkFBMkIsRUFBQTtFdkVoQjNEOztJdUVtQlUsK0JBQStCLEVBQUE7RXZFbkJ6Qzs7SXVFdUJVLGlDQUFpQyxFQUFBO0V2RXZCM0M7O0l1RTJCVSxrQ0FBa0MsRUFBQTtFdkUzQjVDOztJdUUrQlUsZ0NBQWdDLEVBQUE7RXZFL0IxQztJdUVnQmdDLDBCQUEyQixFQUFBO0V2RWhCM0Q7O0l1RW1CVSw4QkFBK0IsRUFBQTtFdkVuQnpDOztJdUV1QlUsZ0NBQWlDLEVBQUE7RXZFdkIzQzs7SXVFMkJVLGlDQUFrQyxFQUFBO0V2RTNCNUM7O0l1RStCVSwrQkFBZ0MsRUFBQTtFdkUvQjFDO0l1RWdCZ0Msd0JBQTJCLEVBQUE7RXZFaEIzRDs7SXVFbUJVLDRCQUErQixFQUFBO0V2RW5CekM7O0l1RXVCVSw4QkFBaUMsRUFBQTtFdkV2QjNDOztJdUUyQlUsK0JBQWtDLEVBQUE7RXZFM0I1Qzs7SXVFK0JVLDZCQUFnQyxFQUFBO0V2RS9CMUM7SXVFZ0JnQywwQkFBMkIsRUFBQTtFdkVoQjNEOztJdUVtQlUsOEJBQStCLEVBQUE7RXZFbkJ6Qzs7SXVFdUJVLGdDQUFpQyxFQUFBO0V2RXZCM0M7O0l1RTJCVSxpQ0FBa0MsRUFBQTtFdkUzQjVDOztJdUUrQlUsK0JBQWdDLEVBQUE7RXZFL0IxQztJdUVnQmdDLHdCQUEyQixFQUFBO0V2RWhCM0Q7O0l1RW1CVSw0QkFBK0IsRUFBQTtFdkVuQnpDOztJdUV1QlUsOEJBQWlDLEVBQUE7RXZFdkIzQzs7SXVFMkJVLCtCQUFrQyxFQUFBO0V2RTNCNUM7O0l1RStCVSw2QkFBZ0MsRUFBQTtFdkUvQjFDO0l1RXFDdUIsdUJBQXVCLEVBQUE7RXZFckM5Qzs7SXVFd0NNLDJCQUEyQixFQUFBO0V2RXhDakM7O0l1RTRDTSw2QkFBNkIsRUFBQTtFdkU1Q25DOztJdUVnRE0sOEJBQThCLEVBQUE7RXZFaERwQzs7SXVFb0RNLDRCQUE0QixFQUFBLEVBQzdCOztBdkVyREw7RXdFWEksa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsU0FBUztFQUNULE9BQU87RUFDUCxVQUFVO0VBRVYsb0JBQW9CO0VBQ3BCLFdBQVc7RUFFWCxrQ0FBa0MsRUFBQTs7QXhFQ3RDO0V5RVhrQiw0R0FBOEMsRUFBQTs7QXpFV2hFO0V5RVBpQiw4QkFBOEIsRUFBQTs7QXpFTy9DO0V5RU5pQiw4QkFBOEIsRUFBQTs7QXpFTS9DO0V5RUxpQiw4QkFBOEIsRUFBQTs7QXpFSy9DO0UwRWJFLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CLEVBQUE7O0ExRVdyQjtFeUVJNEIsMkJBQTJCLEVBQUE7O0F6RUp2RDtFeUVLNEIsNEJBQTRCLEVBQUE7O0F6RUx4RDtFeUVNNEIsNkJBQTZCLEVBQUE7O0E3RHFDckQ7RVozQ0o7SXlFSTRCLDJCQUEyQixFQUFBO0V6RUp2RDtJeUVLNEIsNEJBQTRCLEVBQUE7RXpFTHhEO0l5RU00Qiw2QkFBNkIsRUFBQSxFQUFJOztBN0RxQ3pEO0VaM0NKO0l5RUk0QiwyQkFBMkIsRUFBQTtFekVKdkQ7SXlFSzRCLDRCQUE0QixFQUFBO0V6RUx4RDtJeUVNNEIsNkJBQTZCLEVBQUEsRUFBSTs7QTdEcUN6RDtFWjNDSjtJeUVJNEIsMkJBQTJCLEVBQUE7RXpFSnZEO0l5RUs0Qiw0QkFBNEIsRUFBQTtFekVMeEQ7SXlFTTRCLDZCQUE2QixFQUFBLEVBQUk7O0E3RHFDekQ7RVozQ0o7SXlFSTRCLDJCQUEyQixFQUFBO0V6RUp2RDtJeUVLNEIsNEJBQTRCLEVBQUE7RXpFTHhEO0l5RU00Qiw2QkFBNkIsRUFBQSxFQUFJOztBekVON0Q7RXlFWW1CLG9DQUFvQyxFQUFBOztBekVadkQ7RXlFYW1CLG9DQUFvQyxFQUFBOztBekVidkQ7RXlFY21CLHFDQUFxQyxFQUFBOztBekVkeEQ7RXlFa0J1QiwyQkFBMEMsRUFBQTs7QXpFbEJqRTtFeUVtQnVCLCtCQUE0QyxFQUFBOztBekVuQm5FO0V5RW9CdUIsMkJBQTJDLEVBQUE7O0F6RXBCbEU7RXlFcUJ1QiwyQkFBeUMsRUFBQTs7QXpFckJoRTtFeUVzQnVCLDhCQUEyQyxFQUFBOztBekV0QmxFO0V5RXVCdUIsNkJBQTZCLEVBQUE7O0F6RXZCcEQ7RXlFMkJjLHNCQUF3QixFQUFBOztBekUzQnRDO0UyRVhJLHlCQUF3QixFQUFBOztBM0VXNUI7RTJFTlEseUJBQTBFLEVBQUE7O0EzRU1sRjtFMkVYSSx5QkFBd0IsRUFBQTs7QTNFVzVCO0UyRU5RLHlCQUEwRSxFQUFBOztBM0VNbEY7RTJFWEkseUJBQXdCLEVBQUE7O0EzRVc1QjtFMkVOUSx5QkFBMEUsRUFBQTs7QTNFTWxGO0UyRVhJLHlCQUF3QixFQUFBOztBM0VXNUI7RTJFTlEseUJBQTBFLEVBQUE7O0EzRU1sRjtFMkVYSSx5QkFBd0IsRUFBQTs7QTNFVzVCO0UyRU5RLHlCQUEwRSxFQUFBOztBM0VNbEY7RTJFWEkseUJBQXdCLEVBQUE7O0EzRVc1QjtFMkVOUSx5QkFBMEUsRUFBQTs7QTNFTWxGO0UyRVhJLHlCQUF3QixFQUFBOztBM0VXNUI7RTJFTlEseUJBQTBFLEVBQUE7O0EzRU1sRjtFMkVYSSx5QkFBd0IsRUFBQTs7QTNFVzVCO0UyRU5RLHlCQUEwRSxFQUFBOztBM0VNbEY7RXlFaUNhLHlCQUE2QixFQUFBOztBekVqQzFDO0V5RWtDYyx5QkFBNkIsRUFBQTs7QXpFbEMzQztFeUVvQ2lCLG9DQUFrQyxFQUFBOztBekVwQ25EO0V5RXFDaUIsMENBQWtDLEVBQUE7O0F6RXJDbkQ7RTRFZEUsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsNkJBQTZCO0VBQzdCLFNBQVMsRUFBQTs7QTVFVVg7RXlFNkN3QixnQ0FBZ0MsRUFBQTs7QXpFN0N4RDtFeUVnREUsZ0NBQWdDLEVBQUE7O0F6RWhEbEM7RXlFcURjLHlCQUF5QixFQUFBOztBekVyRHZDO0U2RVZFLDhCQUE4QixFQUFBOztBN0VVaEM7RTZFTkUsNkJBQTZCLEVBQUEiLCJmaWxlIjoidG9nZ2xlLWJvb3RzdHJhcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zJztcclxuQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlcyc7XHJcblxyXG5AaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zJztcclxuQGltcG9ydCAnbWl4aW5zLW92ZXJyaWRlcyc7XHJcblxyXG5ib2R5LmJvb3RzdHJhcCB7XHJcbiAgICBtYXJnaW46IDA7IC8vIDFcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8vIDJcclxufVxyXG5cclxuLmJvb3RzdHJhcCB7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3Mvcm9vdCc7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvcmVib290JztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90eXBlJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9pbWFnZXMnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2NvZGUnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2dyaWQnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3RhYmxlcyc7XHJcblxyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zJztcclxuICAgIEBpbXBvcnQgJ2Zvcm0tb3ZlcnJpZGVzJztcclxuXHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYnV0dG9ucyc7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdHJhbnNpdGlvbnMnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Ryb3Bkb3duJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9idXR0b24tZ3JvdXAnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2lucHV0LWdyb3VwJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jdXN0b20tZm9ybXMnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL25hdic7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbmF2YmFyJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jYXJkJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9icmVhZGNydW1iJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9wYWdpbmF0aW9uJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9iYWRnZSc7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvanVtYm90cm9uJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9hbGVydCc7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvcHJvZ3Jlc3MnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21lZGlhJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9saXN0LWdyb3VwJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jbG9zZSc7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdG9hc3RzJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9tb2RhbCc7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdG9vbHRpcCc7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvcG9wb3Zlcic7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvY2Fyb3VzZWwnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3NwaW5uZXJzJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMnO1xyXG5cclxuICAgIC5uYXZiYXItdGhlbWVkIHtcclxuICAgICAgICBAZXh0ZW5kIC5iZy1saWdodDtcclxuICAgICAgICBAZXh0ZW5kIC5uYXZiYXItbGlnaHQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICksXG4gICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLFwiJTNjXCIpLFxuICAoXCI+XCIsXCIlM2VcIiksXG4gIChcIiNcIixcIiUyM1wiKSxcbiAgKFwiKFwiLFwiJTI4XCIpLFxuICAoXCIpXCIsXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6ICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15IC8gMikgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1sZyAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplIC8gMiAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIG5vLXJlcGVhdCByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZSAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICAgICksXG4gICAgXCJpbnZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICApLFxuICApLFxuICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRuYXYtZGl2aWRlci1tYXJnaW4teSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIHN1YnRyYWN0KCRwb3BvdmVyLWJvcmRlci1yYWRpdXMsICRwb3BvdmVyLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuLy8gTWFyZ2luIGJldHdlZW4gZWxlbWVudHMgaW4gZm9vdGVyLCBtdXN0IGJlIGxvd2VyIHRoYW4gb3IgZXF1YWwgdG8gMiAqICRtb2RhbC1pbm5lci1wYWRkaW5nXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjVMNC4yNSA0bDIuNS0yLjVMNS4yNSAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNMi43NSAwbC0xLjUgMS41TDMuNzUgNGwtMi41IDIuNUwyLjc1IDhsNC00LTQtNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIFNwaW5uZXJzXG5cbiRzcGlubmVyLXdpZHRoOiAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogIC4yNWVtICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBVdGlsaXRpZXNcblxuJGRpc3BsYXlzOiBub25lLCBpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1yb3csIHRhYmxlLWNlbGwsIGZsZXgsIGlubGluZS1mbGV4ICFkZWZhdWx0O1xuJG92ZXJmbG93czogYXV0bywgaGlkZGVuICFkZWZhdWx0O1xuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XG4kdXNlci1zZWxlY3RzOiBhbGwsIGF1dG8sIG5vbmUgIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcblxuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIGZvbnQtcmVzaXppbmdcbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSBmb250IHNpemVcbiRyZnMtYmFzZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLWZvbnQtc2l6ZS11bml0OiByZW0gIWRlZmF1bHQ7XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgZm9udC1zaXplIHN0YXJ0cyBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuLy8gUmVzaXplIGZvbnQtc2l6ZSBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IFwibnVtYmVyXCIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHRvIGZhbHNlXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLWZvbnQtc2l6ZSB1bml0XG4kcmZzLWJhc2UtZm9udC1zaXplLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLWZvbnQtc2l6ZSk7XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLWZvbnQtc2l6ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicHhcIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInJlbVwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInB4XCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInJlbVwiIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIGZvbnQtc2l6ZSBtaXhpblxuQG1peGluIHJmcygkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIENhY2hlICRmcyB1bml0XG4gICRmcy11bml0OiBpZih0eXBlLW9mKCRmcykgPT0gXCJudW1iZXJcIiwgdW5pdCgkZnMpLCBmYWxzZSk7XG5cbiAgLy8gQWRkICFpbXBvcnRhbnQgc3VmZml4IGlmIG5lZWRlZFxuICAkcmZzLXN1ZmZpeDogaWYoJGltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICAvLyBJZiAkZnMgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJGZzIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgQGlmIG5vdCAkZnMtdW5pdCBvciAkZnMtdW5pdCAhPSBcIlwiIGFuZCAkZnMtdW5pdCAhPSBcInB4XCIgYW5kICRmcy11bml0ICE9IFwicmVtXCIgb3IgJGZzID09IDAge1xuICAgIGZvbnQtc2l6ZTogI3skZnN9I3skcmZzLXN1ZmZpeH07XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFZhcmlhYmxlcyBmb3Igc3RvcmluZyBzdGF0aWMgYW5kIGZsdWlkIHJlc2NhbGluZ1xuICAgICRyZnMtc3RhdGljOiBudWxsO1xuICAgICRyZnMtZmx1aWQ6IG51bGw7XG5cbiAgICAvLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRmcyBmb3IgY2FsY3VsYXRpb25zXG4gICAgQGlmICRmcy11bml0ID09IFwicHhcIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICRmcy11bml0ID09IFwicmVtXCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGRlZmF1bHQgZm9udC1zaXplXG4gICAgQGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtIHtcbiAgICAgICRyZnMtc3RhdGljOiAjeyRmcyAvICRyZnMtcmVtLXZhbHVlfXJlbSN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHB4IHtcbiAgICAgICRyZnMtc3RhdGljOiAjeyRmc31weCN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJgI3skcmZzLWZvbnQtc2l6ZS11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1mb250LXNpemUtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG4gICAgfVxuXG4gICAgLy8gT25seSBhZGQgbWVkaWEgcXVlcnkgaWYgZm9udC1zaXplIGlzIGJpZ2dlciBhcyB0aGUgbWluaW11bSBmb250LXNpemVcbiAgICAvLyBJZiAkcmZzLWZhY3RvciA9PSAxLCBubyByZXNjYWxpbmcgd2lsbCB0YWtlIHBsYWNlXG4gICAgQGlmICRmcyA+ICRyZnMtYmFzZS1mb250LXNpemUgYW5kICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHtcbiAgICAgICRtaW4td2lkdGg6IG51bGw7XG4gICAgICAkdmFyaWFibGUtdW5pdDogbnVsbDtcblxuICAgICAgLy8gQ2FsY3VsYXRlIG1pbmltdW0gZm9udC1zaXplIGZvciBnaXZlbiBmb250LXNpemVcbiAgICAgICRmcy1taW46ICRyZnMtYmFzZS1mb250LXNpemUgKyAoJGZzIC0gJHJmcy1iYXNlLWZvbnQtc2l6ZSkgLyAkcmZzLWZhY3RvcjtcblxuICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiBnaXZlbiBmb250LXNpemUgYW5kIG1pbmltdW0gZm9udC1zaXplIGZvciBnaXZlbiBmb250LXNpemVcbiAgICAgICRmcy1kaWZmOiAkZnMgLSAkZnMtbWluO1xuXG4gICAgICAvLyBCYXNlIGZvbnQtc2l6ZSBmb3JtYXR0aW5nXG4gICAgICAvLyBObyBuZWVkIHRvIGNoZWNrIGlmIHRoZSB1bml0IGlzIHZhbGlkLCBiZWNhdXNlIHdlIGRpZCB0aGF0IGJlZm9yZVxuICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7JGZzLW1pbiAvICRyZnMtcmVtLXZhbHVlfXJlbSwgI3skZnMtbWlufXB4KTtcblxuICAgICAgLy8gSWYgdHdvLWRpbWVuc2lvbmFsLCB1c2Ugc21hbGxlc3Qgb2Ygc2NyZWVuIHdpZHRoIGFuZCBoZWlnaHRcbiAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAkdmFyaWFibGUtd2lkdGg6ICN7JGZzLWRpZmYgKiAxMDAgLyAkcmZzLWJyZWFrcG9pbnR9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgIC8vIFNldCB0aGUgY2FsY3VsYXRlZCBmb250LXNpemUuXG4gICAgICAkcmZzLWZsdWlkOiBjYWxjKCN7JG1pbi13aWR0aH0gKyAjeyR2YXJpYWJsZS13aWR0aH0pICN7JHJmcy1zdWZmaXh9O1xuICAgIH1cblxuICAgIC8vIFJlbmRlcmluZ1xuICAgIEBpZiAkcmZzLWZsdWlkID09IG51bGwge1xuICAgICAgLy8gT25seSByZW5kZXIgc3RhdGljIGZvbnQtc2l6ZSBpZiBubyBmbHVpZCBmb250LXNpemUgaXMgYXZhaWxhYmxlXG4gICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkbXEtdmFsdWU6IG51bGw7XG5cbiAgICAgIC8vIFJGUyBicmVha3BvaW50IGZvcm1hdHRpbmdcbiAgICAgIEBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSByZW0ge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50IC8gJHJmcy1yZW0tdmFsdWV9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH07XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnR9cHg7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImRpc2FibGVcIiB7XG4gICAgICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksXG4gICAgICAgIC8vIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgZm9udCBzaXplXG4gICAgICAgICYsXG4gICAgICAgIC5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICYuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSwgKG1heC1oZWlnaHQ6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgICAgICAgICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAgICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4IHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBsZW5ndGgtemVyby1uby11bml0XG4gICAgICAgICAgICBtaW4td2lkdGg6IDB2dztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgICAgICAgICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAgICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4IHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBsZW5ndGgtemVyby1uby11bml0XG4gICAgICAgICAgICBtaW4td2lkdGg6IDB2dztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGZvbnQtc2l6ZSAmIHJlc3BvbnNpdmUtZm9udC1zaXplIG1peGluIHVzZXMgUkZTIHRvIHJlc2NhbGUgZm9udCBzaXplc1xuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cbiIsIi8vIERvIG5vdCBmb3JnZXQgdG8gdXBkYXRlIGdldHRpbmctc3RhcnRlZC90aGVtaW5nLm1kIVxuOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgYXQtcnVsZS1uby12ZW5kb3ItcHJlZml4LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBydWxlOiBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUsIHN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lXG4vLyBvbiBlbGVtZW50cyB0aGF0IHByb2dyYW1tYXRpY2FsbHkgcmVjZWl2ZSBmb2N1cyBidXQgd291bGRuJ3Qgbm9ybWFsbHkgc2hvdyBhIHZpc2libGVcbi8vIGZvY3VzIG91dGxpbmUuIEluIGdlbmVyYWwsIHRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBvdXRsaW5lIGlzIG9ubHkgYXBwbGllZCBpZiB0aGVcbi8vIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBlbGVtZW50IHJlY2VpdmluZyBwcm9ncmFtbWF0aWMgZm9jdXMgd2FzIGEga2V5Ym9hcmQgaW50ZXJhY3Rpb24sXG4vLyBvciB0aGUgYnJvd3NlciBoYXMgc29tZWhvdyBkZXRlcm1pbmVkIHRoYXQgdGhlIHVzZXIgaXMgcHJpbWFyaWx5IGEga2V5Ym9hcmQgdXNlciBhbmQvb3Jcbi8vIHdhbnRzIGZvY3VzIG91dGxpbmVzIHRvIGFsd2F5cyBiZSBwcmVzZW50ZWQuXG4vL1xuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86Zm9jdXMtdmlzaWJsZVxuLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wMy9mb2N1cy12aXNpYmxlLWFuZC1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb2RlXG4vL1xuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG5wcmUge1xuICAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbiAgbWFyZ2luLXRvcDogMDtcbiAgLy8gUmVzZXQgYnJvd3NlciBkZWZhdWx0IG9mIGAxZW1gIHRvIHVzZSBgcmVtYHNcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLy8gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG4gIG92ZXJmbG93OiBhdXRvO1xuICAvLyBEaXNhYmxlIGF1dG8taGlkaW5nIHNjcm9sbGJhciBpbiBJRSAmIGxlZ2FjeSBFZGdlIHRvIGF2b2lkIG92ZXJsYXAsXG4gIC8vIG1ha2luZyBpdCBpbXBvc3NpYmxlIHRvIGludGVyYWN0IHdpdGggdGhlIGNvbnRlbnRcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmcge1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgU1ZHIG92ZXJmbG93IGJ1ZyBpbiBJRTEwLzExIGlzIHN0aWxsIHJlcXVpcmVkLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNjg3OFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG50aCB7XG4gIC8vIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgZnJvbSB0aGUgYDxib2R5PmAsIG9yIHRoZVxuICAvLyBjbG9zZXN0IHBhcmVudCB3aXRoIGEgc2V0IGB0ZXh0LWFsaWduYC5cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBXb3JrIGFyb3VuZCBhIEZpcmVmb3gvSUUgYnVnIHdoZXJlIHRoZSB0cmFuc3BhcmVudCBgYnV0dG9uYCBiYWNrZ3JvdW5kXG4vLyByZXN1bHRzIGluIGEgbG9zcyBvZiB0aGUgZGVmYXVsdCBgYnV0dG9uYCBmb2N1cyBzdHlsZXMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlL1xuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjVyZW0pO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpOyB9XG5oMiwgLmgyIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpOyB9XG5oMywgLmgzIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpOyB9XG5oNCwgLmg0IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpOyB9XG5oNSwgLmg1IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpOyB9XG5oNiwgLmg2IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpOyB9XG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkxLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTItc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5My1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXk0LXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg5MCUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemUpO1xuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQoKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkKCkge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAvIDI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbiIsIi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIC8vIFN0cmVhbWxpbmUgdGhlIHN0eWxlIHdoZW4gaW5zaWRlIGFuY2hvcnMgdG8gYXZvaWQgYnJva2VuIHVuZGVybGluZSBhbmQgbW9yZVxuICBhID4gJiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGtiZC1mb250LXNpemUpO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGtiZC1ib3gtc2hhZG93KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEwMCUpO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6ICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgJiA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlIC8gJGNvdW50O1xuICAgIG1heC13aWR0aDogMTAwJSAvICRjb3VudDtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXItbWF4LXdpZHRocygpO1xuICB9XG5cbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTQxMFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6ICR0YWJsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgY29sb3I6ICR0YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJvcmRlci1sZXZlbCkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXIgIT0gbnVsbCB7XG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCBvciB1bml0KCRudW0pID09IFwiJVwiIG9yIHVuaXQoJHByZXYtbnVtKSA9PSBcIiVcIiB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gVXNlZCB0byBlbnN1cmUgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwLCAkbWFwLW5hbWU6IFwiJGdyaWQtYnJlYWtwb2ludHNcIikge1xuICBAaWYgbGVuZ3RoKCRtYXApID4gMCB7XG4gICAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluICN7JG1hcC1uYW1lfSBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gU2VlIGh0dHBzOi8vY29kZXBlbi5pby9rZXZpbndlYmVyL3Blbi9kWFdvUndcbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRlc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgLy8gRG8gbm90IGVzY2FwZSB0aGUgdXJsIGJyYWNrZXRzXG4gICAgICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwidXJsKFwiKSA9PSAxIHtcbiAgICAgICAgJHN0cmluZzogdXJsKFwiI3tzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgNiwgLTMpLCAkY2hhciwgJGVuY29kZWQpfVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yLCAkZGFyazogJHlpcS10ZXh0LWRhcmssICRsaWdodDogJHlpcS10ZXh0LWxpZ2h0KSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xuXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkZGFyaztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkbGlnaHQ7XG4gIH1cbn1cblxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICRibGFjaywgJHdoaXRlKTtcbiAgJGxldmVsOiBhYnMoJGxldmVsKTtcblxuICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xufVxuXG4vLyBSZXR1cm4gdmFsaWQgY2FsY1xuQGZ1bmN0aW9uIGFkZCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxICsgJHZhbHVlMjtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSArICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiArIFwiKSArICR2YWx1ZTIpO1xufVxuXG5AZnVuY3Rpb24gc3VidHJhY3QoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwgYW5kICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAtJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSAtICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gLSAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgLSBcIikgKyAkdmFsdWUyKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBSZW1vdmUgc2VsZWN0IG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGlucHV0LWNvbG9yO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+LzxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICZbc2l6ZV0sXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIGZvciB3b3JrYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0gfiAuZm9ybS1jaGVjay1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGJhc2UgLmZvcm0tY2hlY2tcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG5cbiAgLy8gVW5kbyAuZm9ybS1jaGVjay1pbnB1dCBkZWZhdWx0cyBhbmQgYWRkIHNvbWUgYG1hcmdpbi1yaWdodGAuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlciBzaWRlIHZhbGlkYXRpb24uXG5cbkBlYWNoICRzdGF0ZSwgJGRhdGEgaW4gJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMge1xuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCBtYXAtZ2V0KCRkYXRhLCBjb2xvciksIG1hcC1nZXQoJGRhdGEsIGljb24pKTtcbn1cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cblxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUHJldmVudCBzaG9ydGVyIGVsZW1lbnRzIGZyb20gZ3Jvd2luZyB0byBzYW1lIGhlaWdodCBhcyBvdGhlcnMgKGUuZy4sIHNtYWxsIGJ1dHRvbnMgZ3Jvd2luZyB0byBub3JtYWwgc2l6ZWQgYnV0dG9uIGhlaWdodClcblxuICAvLyBCZWNhdXNlIHdlIHVzZSBmbGV4LCB0aGUgaW5pdGlhbCBzaXppbmcgb2YgY2hlY2tib3hlcyBpcyBjb2xsYXBzZWQgYW5kXG4gIC8vIGRvZXNuJ3Qgb2NjdXB5IHRoZSBmdWxsLXdpZHRoICh3aGljaCBpcyB3aGF0IHdlIHdhbnQgZm9yIHhzIGdyaWQgdGllciksXG4gIC8vIHNvIHdlIGZvcmNlIHRoYXQgaGVyZS5cbiAgLmZvcm0tY2hlY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAsXG4gICAgLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZvcm0tY29udHJvbC1mb2N1cygpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsIGVzY2FwZS1zdmcoJGljb24pICRjdXN0b20tc2VsZWN0LWJnIG5vLXJlcGVhdCAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uIC8gJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi53YXMtdmFsaWRhdGVkIHtcclxuICAgIEBlYWNoICRzdGF0ZSwgJGRhdGEgaW4gJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xyXG5cclxuICAgICAgICAuaXMtI3skc3RhdGV9IH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgICAuaXMtI3skc3RhdGV9IH4gLiN7JHN0YXRlfS10b29sdGlwLFxyXG4gICAgICAgIDojeyRzdGF0ZX0gfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxyXG4gICAgICAgIDojeyRzdGF0ZX0gfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAwO1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZHJvcGRvd24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIGVuYWJsZWQgUG9wcGVyLmpzLCByZXNldCBiYXNpYyBkcm9wZG93biBwb3NpdGlvblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5kcm9wZG93bi1tZW51IHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxufVxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZywgJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXksIHRydWUpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgLy8gUHJldmVudCBkcm9wZG93biBvdmVyZmxvdyBpZiB0aGVyZSdzIG5vIHBhZGRpbmdcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI3NzAzXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duKCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogJG5hdi1kaXZpZGVyLWNvbG9yLCAkbWFyZ2luLXk6ICRuYXYtZGl2aWRlci1tYXJnaW4teSwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogJG1hcmdpbi15IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgbmF2LWRpdmlkZXIoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gICAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyLFxuICAuZHJvcHVwICY6OmFmdGVyLFxuICAuZHJvcHJpZ2h0ICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wbGVmdCAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5zaG93IC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94IGFuZCByYWRpbyBvcHRpb25zXG4vL1xuLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgYnJvd3NlcidzIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFjaywgcG93ZXJlZCBieSB0aGVcbi8vIGByZXF1aXJlZGAgYXR0cmlidXRlLCB3ZSBoYXZlIHRvIFwiaGlkZVwiIHRoZSBpbnB1dHMgdmlhIGBjbGlwYC4gV2UgY2Fubm90IHVzZVxuLy8gYGRpc3BsYXk6IG5vbmU7YCBvciBgdmlzaWJpbGl0eTogaGlkZGVuO2AgYXMgdGhhdCBhbHNvIGhpZGVzIHRoZSBwb3BvdmVyLlxuLy8gU2ltcGx5IHZpc3VhbGx5IGhpZGluZyB0aGUgaW5wdXRzIHZpYSBgb3BhY2l0eWAgd291bGQgbGVhdmUgdGhlbSBjbGlja2FibGUgaW5cbi8vIGNlcnRhaW4gY2FzZXMgd2hpY2ggaXMgcHJldmVudGVkIGJ5IHVzaW5nIGBjbGlwYCBhbmQgYHBvaW50ZXItZXZlbnRzYC5cbi8vIFRoaXMgd2F5LCB3ZSBlbnN1cmUgYSBET00gZWxlbWVudCBpcyB2aXNpYmxlIHRvIHBvc2l0aW9uIHRoZSBwb3BvdmVyIGZyb20uXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEyNzk0IGFuZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTQ1NTkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbi5idG4tZ3JvdXAtdG9nZ2xlIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCB2YWx1ZVxuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5jdXN0b20tc2VsZWN0LFxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xuICAgIG1pbi13aWR0aDogMDsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzYyNDcxNDAvd2h5LWRvbnQtZmxleC1pdGVtcy1zaHJpbmstcGFzdC1jb250ZW50LXNpemVcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgKyAuZm9ybS1jb250cm9sLFxuICAgICsgLmN1c3RvbS1zZWxlY3QsXG4gICAgKyAuY3VzdG9tLWZpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuY3VzdG9tLXNlbGVjdDpmb2N1cyxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGN1c3RvbSBmaWxlIGlucHV0IGFib3ZlIHRoZSBsYWJlbFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMge1xuICAgIHotaW5kZXg6IDQ7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmN1c3RvbS1zZWxlY3Qge1xuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7IEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7IH1cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAvLyBDdXN0b20gZmlsZSBpbnB1dHMgaGF2ZSBtb3JlIGNvbXBsZXggbWFya3VwLCB0aHVzIHJlcXVpcmluZyBkaWZmZXJlbnRcbiAgLy8gYm9yZGVyLXJhZGl1cyBvdmVycmlkZXMuXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmRcbi8vXG4vLyBXaGlsZSBpdCByZXF1aXJlcyBvbmUgZXh0cmEgbGF5ZXIgb2YgSFRNTCBmb3IgZWFjaCwgZGVkaWNhdGVkIHByZXBlbmQgYW5kXG4vLyBhcHBlbmQgZWxlbWVudHMgYWxsb3cgdXMgdG8gMSkgYmUgbGVzcyBjbGV2ZXIsIDIpIHNpbXBsaWZ5IG91ciBzZWxlY3RvcnMsIGFuZFxuLy8gMykgc3VwcG9ydCBIVE1MNSBmb3JtIHZhbGlkYXRpb24uXG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kLFxuLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gIH1cblxuICAuYnRuICsgLmJ0bixcbiAgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgfVxufVxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7IG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cbi5pbnB1dC1ncm91cC1hcHBlbmQgeyBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBBbGxvdyB1c2Ugb2YgPGxhYmVsPiBlbGVtZW50cyBieSBvdmVycmlkaW5nIG91ciBkZWZhdWx0IG1hcmdpbi1ib3R0b21cbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpOyAvLyBNYXRjaCBpbnB1dHNcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZCByb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbiIsIi8vIEVtYmVkZGVkIGljb25zIGZyb20gT3BlbiBJY29uaWMuXG4vLyBSZWxlYXNlZCB1bmRlciBNSVQgYW5kIGNvcHlyaWdodCAyMDE0IFdheWJ1cnkuXG4vLyBodHRwczovL3VzZWljb25pYy5jb20vb3BlblxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEJhc2UgY2xhc3MgdGFrZXMgY2FyZSBvZiBhbGwgdGhlIGtleSBiZWhhdmlvcmFsIGFzcGVjdHMuXG5cbi5jdXN0b20tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBoZWlnaHQ6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gY29udHJvbCBpbmRpY2F0b3JzXG4vL1xuLy8gQnVpbGQgdGhlIGN1c3RvbSBjb250cm9scyBvdXQgb2YgcHNldWRvLWVsZW1lbnRzLlxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGN1cnNvcjogJGN1c3RvbS1jb250cm9sLWN1cnNvcjtcblxuICAvLyBCYWNrZ3JvdW5kLWNvbG9yIGFuZCAod2hlbiBlbmFibGVkKSBncmFkaWVudFxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgYm9yZGVyOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvciBzb2xpZCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBGb3JlZ3JvdW5kIChpY29uKVxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDI7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJSAvICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplfTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgICAmOmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cbi8vIFJhZGlvc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciByYWRpb3MuXG5cbi5jdXN0b20tcmFkaW8ge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHN3aXRjaGVzXG4vL1xuLy8gVHdlYWsgYSBmZXcgdGhpbmdzIGZvciBzd2l0Y2hlc1xuXG4uY3VzdG9tLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xuXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC13aWR0aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGFkZCgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMiwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIGxlZnQ6IGFkZCgtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlciksICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU7XG4gICAgICBoZWlnaHQ6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIC4xNXMgZWFzZS1pbi1vdXQsICRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGN1c3RvbS1zd2l0Y2gtd2lkdGggLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHBzOi8vcHJpbWVyLmdpdGh1Yi5pby8uXG4vL1xuXG4uY3VzdG9tLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iZyAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1cywgMCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdyk7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdywgJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cblxuICAgICY6Oi1tcy12YWx1ZSB7XG4gICAgICAvLyBGb3IgdmlzdWFsIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgcGxhdGZvcm1zL2Jyb3dzZXJzLFxuICAgICAgLy8gc3VwcHJlc3MgdGhlIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAgIH1cbiAgfVxuXG4gICZbbXVsdGlwbGVdLFxuICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBIaWRlcyB0aGUgZGVmYXVsdCBjYXJldCBpbiBJRTExXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbSk7XG59XG5cbi5jdXN0b20tc2VsZWN0LWxnIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc7XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbn1cblxuXG4vLyBGaWxlXG4vL1xuLy8gQ3VzdG9tIGZpbGUgaW5wdXQuXG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcblxuICAmOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgYm94LXNoYWRvdzogJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIHRvIHdvcmsgYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0gfiAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdmFsdWUgaW4gJGN1c3RvbS1maWxlLXRleHQge1xuICAgICY6bGFuZygjeyRsYW5nfSkgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICR2YWx1ZTtcbiAgICB9XG4gIH1cblxuICB+IC5jdXN0b20tZmlsZS1sYWJlbFtkYXRhLWJyb3dzZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtYnJvd3NlKTtcbiAgfVxufVxuXG4uY3VzdG9tLWZpbGUtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1maWxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYmc7XG4gIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtYm94LXNoYWRvdyk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyO1xuICAgIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgYm9yZGVyLWxlZnQ6IGluaGVyaXQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzIDApO1xuICB9XG59XG5cbi8vIFJhbmdlXG4vL1xuLy8gU3R5bGUgcmFuZ2UgaW5wdXRzIHRoZSBzYW1lIGFjcm9zcyBicm93c2Vycy4gVmVuZG9yLXNwZWNpZmljIHJ1bGVzIGZvciBwc2V1ZG9cbi8vIGVsZW1lbnRzIGNhbm5vdCBiZSBtaXhlZC4gQXMgc3VjaCwgdGhlcmUgYXJlIG5vIHNoYXJlZCBzdHlsZXMgZm9yIGZvY3VzIG9yXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cblxuLmN1c3RvbS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGFkZCgkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCwgJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoICogMik7XG4gIHBhZGRpbmc6IDA7IC8vIE5lZWQgdG8gcmVzZXQgcGFkZGluZ1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLy8gUHNldWRvLWVsZW1lbnRzIG11c3QgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIHJ1bGVzZXRzIHRvIGhhdmUgYW4gZWZmZWN0LlxuICAgIC8vIE5vIGJveC1zaGFkb3coKSBtaXhpbiBmb3IgZm9jdXMgYWNjZXNzaWJpbGl0eS5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1zLXRodW1iICAgICAgICAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICgkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodCAtICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0KSAvIDI7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXG4gICAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7IC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7ICAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1zLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCAvIDI7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgLy8gYXJiaXRyYXJ5P1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbi5jdXN0b20tZmlsZS1sYWJlbCxcbi5jdXN0b20tc2VsZWN0IHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzLCBgPHVsPmBzIG9yIGA8b2w+YHMuXG5cbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nLXkgJG5hdi1saW5rLXBhZGRpbmcteDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcblxuICAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLm5hdi1saW5rIHtcbiAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdi10YWJzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBDb250ZW50c1xuLy9cbi8vIE5hdmJhclxuLy8gTmF2YmFyIGJyYW5kXG4vLyBOYXZiYXIgbmF2XG4vLyBOYXZiYXIgdGV4dFxuLy8gTmF2YmFyIGRpdmlkZXJcbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vLyBOYXZiYXIgcG9zaXRpb25cbi8vIE5hdmJhciB0aGVtZXNcblxuXG4vLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuY29udGFpbmVyLFxuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItYnJhbmQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVudGF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvciBuZXN0aW5nIGNvbnRhaW5lcnMsIGhhdmUgdG8gcmVkZWNsYXJlIGZvciBhbGlnbm1lbnQgcHVycG9zZXNcbiAgICAgICAgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgLy8gQ2hhbmdlcyBmbGV4LWJhc2VzIHRvIGF1dG8gYmVjYXVzZSBvZiBhbiBJRTEwIGJ1Z1xuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGl0ZSBsaW5rcyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kXG4ubmF2YmFyLWRhcmsge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogJGNhcmQtaGVpZ2h0O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIGltYWdlIHNpemUgYnVnIGluIElFXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjg4NTVcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNvbG9yO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0kY2FyZC1zcGFjZXIteSAvIDI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzIDAgMCk7XG4gIH1cblxuICArIC5saXN0LWdyb3VwIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14IC8gMjtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBmbGV4LXNocmluazogMDsgLy8gRm9yIElFOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5Mzk2XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIENhcmQgZGVja1xuXG4uY2FyZC1kZWNrIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWRlY2stbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogLSRjYXJkLWRlY2stbWFyZ2luO1xuXG4gICAgLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGRlZmF1bHRcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1ncm91cC1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENvbHVtbnNcbi8vXG5cbi5jYXJkLWNvbHVtbnMge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtY29sdW1ucy1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgY29sdW1uLWNvdW50OiAkY2FyZC1jb2x1bW5zLWNvdW50O1xuICAgIGNvbHVtbi1nYXA6ICRjYXJkLWNvbHVtbnMtZ2FwO1xuICAgIG9ycGhhbnM6IDE7XG4gICAgd2lkb3dzOiAxO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBEb24ndCBsZXQgdGhlbSB2ZXJ0aWNhbGx5IHNwYW4gbXVsdGlwbGUgY29sdW1uc1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIERvbid0IGxldCB0aGVpciB3aWR0aCBjaGFuZ2VcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQWNjb3JkaW9uXG4vL1xuXG4uYWNjb3JkaW9uIHtcbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRicmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBTdXBwcmVzcyB1bmRlcmxpbmluZyBvZiB0aGUgc2VwYXJhdG9yIGluIG1vZGVybiBicm93c2Vyc1xuICAgICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICBjb250ZW50OiBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIElFOS0xMSBoYWNrIHRvIHByb3Blcmx5IGhhbmRsZSBoeXBlcmxpbmsgdW5kZXJsaW5lcyBmb3IgYnJlYWRjcnVtYnMgYnVpbHRcbiAgLy8gd2l0aG91dCBgPHVsPmBzLiBUaGUgYDo6YmVmb3JlYCBwc2V1ZG8tZWxlbWVudCBnZW5lcmF0ZXMgYW4gZWxlbWVudFxuICAvLyAqd2l0aGluKiB0aGUgLmJyZWFkY3J1bWItaXRlbSBhbmQgdGhlcmVieSBpbmhlcml0cyB0aGUgYHRleHQtZGVjb3JhdGlvbmAuXG4gIC8vXG4gIC8vIFRvIHRyaWNrIElFIGludG8gc3VwcHJlc3NpbmcgdGhlIHVuZGVybGluZSwgd2UgZ2l2ZSB0aGUgcHNldWRvLWVsZW1lbnQgYW5cbiAgLy8gdW5kZXJsaW5lIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlbW92ZSBpdC5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJGJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy15ICRiYWRnZS1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYmFkZ2UtdHJhbnNpdGlvbik7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gUGlsbCBiYWRnZXNcbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLmJhZGdlLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctbGVmdDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBiYWRnZXMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJhZGdlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cygpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzKCkge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBjb2xvcjogJGp1bWJvdHJvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjbG9zZS1mb250LXNpemUgKyAkYWxlcnQtcGFkZGluZy14ICogMjtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYm9yZGVyLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZztcblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYgKyAmIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIDYpKTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnRvYXN0IHtcbiAgbWF4LXdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBjaGVhcCByb3VuZGVkIGNvcm5lcnMgb24gbmVzdGVkIGl0ZW1zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4ubW9kYWwtb3BlbiB7XG4gIC8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5tb2RhbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IC8vIElFMTAvMTFcbiAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7IC8vIElFMTAvMTFcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAvLyBFbnN1cmUgYG1vZGFsLWRpYWxvZy1jZW50ZXJlZGAgZXh0ZW5kcyB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXcgKElFMTAvMTEpXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIElFMTBcbiAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7IC8vIFJlc2V0IGhlaWdodCB0byAwIGV4Y2VwdCBvbiBJRVxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAvLyBFbnN1cmUgYC5tb2RhbC1ib2R5YCBzaG93cyBzY3JvbGxiYXIgKElFMTAvMTEpXG4gICYubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiAkbW9kYWwtY29udGVudC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nIC0gJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAvIDI7XG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiAqIHtcbiAgICBtYXJnaW46ICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1sZWZ0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGxlZnQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoIC8gMjtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICByaWdodDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgNTAlIC8gMTAwJSAxMDAlO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpO1xufVxuXG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIG9yZGVyZWQgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhIGxpc3QgaXRlbSBmb3IgZWFjaFxuLy8gc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBvdmVycmlkZSA8b2w+IGRlZmF1bHRcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIC8vIFVzZSB0cmFuc3BhcmVudCBib3JkZXJzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgIGJvcmRlci10b3A6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IC41O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMjtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBib3JkZXI6ICRzcGlubmVyLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHNwaW5uZXItYm9yZGVyIC43NXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xuICBib3JkZXItd2lkdGg6ICRzcGlubmVyLWJvcmRlci13aWR0aC1zbTtcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLnNwaW5uZXItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IHNwaW5uZXItZ3JvdyAuNzVzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy1ncmFkaWVudC12YXJpYW50YCBtaXhpblwiLCBcInY0LjUuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQGVhY2ggJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvIGluICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Mge1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teDogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMSk7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAyKTtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS0jeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14fWJ5I3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teX0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSAvICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJHVzZXItc2VsZWN0cyB7XG4gIC51c2VyLXNlbGVjdC0jeyR2YWx1ZX0geyB1c2VyLXNlbGVjdDogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLnNoYWRvdy1zbSB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3cgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LWxnIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGcgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1ub25lIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gV2lkdGggYW5kIGhlaWdodFxuXG5AZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAod2lkdGg6IHcsIGhlaWdodDogaCkge1xuICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc2l6ZXMge1xuICAgIC4jeyRhYmJyZXZ9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi5tdy0xMDAgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuLm1oLTEwMCB7IG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vLyBWaWV3cG9ydCBhZGRpdGlvbmFsIGhlbHBlcnNcblxuLm1pbi12dy0xMDAgeyBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi5taW4tdmgtMTAwIHsgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuXG4udnctMTAwIHsgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi52aC0xMDAgeyBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2lucyAoZS5nLiwgd2hlcmUgYC5tYi1uMWAgaXMgbmVnYXRpdmUgdmVyc2lvbiBvZiBgLm1iLTFgKVxuICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAwIHtcbiAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tdCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tYiN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8vIEp1c3QgaW4gY2FzZSBgcG9pbnRlci1ldmVudHM6IG5vbmVgIGlzIHNldCBvbiBhIHBhcmVudFxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gSUUxMCBidWdmaXgsIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjk0Nzk2Ny9pZTEwLWhvdmVyLXBzZXVkby1jbGFzcy1kb2VzbnQtd29yay13aXRob3V0LWJhY2tncm91bmQtY29sb3JcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi50ZXh0LW1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFpbXBvcnRhbnQ7IH1cblxuLy8gQWxpZ25tZW50XG5cbi50ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udGV4dC13cmFwICAgICB7IHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbi8vIFJlc2V0XG5cbi50ZXh0LXJlc2V0IHsgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1lbXBoYXNpcy12YXJpYW50KClgXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtaGlkZSgpYFwiLCBcInY0LjEuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuIl19 */
