/* to override bootstraps values we need to be before the bootstrap import */
/*!
 * Bootstrap Grid v5.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
@import '../../node_modules/highlight.js/styles/github.css';
:root {
  --bs-base: #333;
  --bs-typo: #4a4a4a;
  --bs-primary: #99ffff;
  --bs-secondary: #dc83d1;
  --bs-tertiary: #b729a5;
  --bs-quaternary: #efabe6;
  --bs-fiventh: #ffddfb;
  --bs-primaryBG: #d3fbfb;
  --bs-readBG: #fffcf0;
  --bs-grey: #777;
  --bs-white: #ffffff;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-bg: #fff;
}

.container,
.container-fluid,
.container-sm {
  width: 100%;
  padding-right: var(--bs-gutter-x, 0.75rem);
  padding-left: var(--bs-gutter-x, 0.75rem);
  margin-right: auto;
  margin-left: auto;
}

.container {
  max-width: 100%;
}

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

.col {
  flex: 1 0 0%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 500px) {
  .col-smmd {
    flex: 1 0 0%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .g-smmd-5,
.gy-smmd-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .g-md-5,
.gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .g-lg-5,
.gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1240px) {
  .col-xl {
    flex: 1 0 0%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .g-xl-5,
.gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
.d-inline {
  display: inline !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 500px) {
  .d-smmd-inline {
    display: inline !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .ps-smmd-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 768px) {
  .d-md-inline {
    display: inline !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .ps-md-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .ps-lg-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 1240px) {
  .d-xl-inline {
    display: inline !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }

  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }

  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .justify-content-xl-start {
    justify-content: flex-start !important;
  }

  .justify-content-xl-end {
    justify-content: flex-end !important;
  }

  .justify-content-xl-center {
    justify-content: center !important;
  }

  .justify-content-xl-between {
    justify-content: space-between !important;
  }

  .justify-content-xl-around {
    justify-content: space-around !important;
  }

  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }

  .align-items-xl-start {
    align-items: flex-start !important;
  }

  .align-items-xl-end {
    align-items: flex-end !important;
  }

  .align-items-xl-center {
    align-items: center !important;
  }

  .align-items-xl-baseline {
    align-items: baseline !important;
  }

  .align-items-xl-stretch {
    align-items: stretch !important;
  }

  .align-content-xl-start {
    align-content: flex-start !important;
  }

  .align-content-xl-end {
    align-content: flex-end !important;
  }

  .align-content-xl-center {
    align-content: center !important;
  }

  .align-content-xl-between {
    align-content: space-between !important;
  }

  .align-content-xl-around {
    align-content: space-around !important;
  }

  .align-content-xl-stretch {
    align-content: stretch !important;
  }

  .align-self-xl-auto {
    align-self: auto !important;
  }

  .align-self-xl-start {
    align-self: flex-start !important;
  }

  .align-self-xl-end {
    align-self: flex-end !important;
  }

  .align-self-xl-center {
    align-self: center !important;
  }

  .align-self-xl-baseline {
    align-self: baseline !important;
  }

  .align-self-xl-stretch {
    align-self: stretch !important;
  }

  .order-xl-first {
    order: -1 !important;
  }

  .order-xl-0 {
    order: 0 !important;
  }

  .order-xl-1 {
    order: 1 !important;
  }

  .order-xl-2 {
    order: 2 !important;
  }

  .order-xl-3 {
    order: 3 !important;
  }

  .order-xl-4 {
    order: 4 !important;
  }

  .order-xl-5 {
    order: 5 !important;
  }

  .order-xl-last {
    order: 6 !important;
  }

  .m-xl-0 {
    margin: 0 !important;
  }

  .m-xl-1 {
    margin: 0.25rem !important;
  }

  .m-xl-2 {
    margin: 0.5rem !important;
  }

  .m-xl-3 {
    margin: 1rem !important;
  }

  .m-xl-4 {
    margin: 1.5rem !important;
  }

  .m-xl-5 {
    margin: 3rem !important;
  }

  .m-xl-auto {
    margin: auto !important;
  }

  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }

  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }

  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }

  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }

  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }

  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }

  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }

  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }

  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }

  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }

  .mt-xl-0 {
    margin-top: 0 !important;
  }

  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }

  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }

  .mt-xl-3 {
    margin-top: 1rem !important;
  }

  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }

  .mt-xl-5 {
    margin-top: 3rem !important;
  }

  .mt-xl-auto {
    margin-top: auto !important;
  }

  .me-xl-0 {
    margin-right: 0 !important;
  }

  .me-xl-1 {
    margin-right: 0.25rem !important;
  }

  .me-xl-2 {
    margin-right: 0.5rem !important;
  }

  .me-xl-3 {
    margin-right: 1rem !important;
  }

  .me-xl-4 {
    margin-right: 1.5rem !important;
  }

  .me-xl-5 {
    margin-right: 3rem !important;
  }

  .me-xl-auto {
    margin-right: auto !important;
  }

  .mb-xl-0 {
    margin-bottom: 0 !important;
  }

  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }

  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }

  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }

  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }

  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }

  .mb-xl-auto {
    margin-bottom: auto !important;
  }

  .ms-xl-0 {
    margin-left: 0 !important;
  }

  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }

  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }

  .ms-xl-3 {
    margin-left: 1rem !important;
  }

  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }

  .ms-xl-5 {
    margin-left: 3rem !important;
  }

  .ms-xl-auto {
    margin-left: auto !important;
  }

  .p-xl-0 {
    padding: 0 !important;
  }

  .p-xl-1 {
    padding: 0.25rem !important;
  }

  .p-xl-2 {
    padding: 0.5rem !important;
  }

  .p-xl-3 {
    padding: 1rem !important;
  }

  .p-xl-4 {
    padding: 1.5rem !important;
  }

  .p-xl-5 {
    padding: 3rem !important;
  }

  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }

  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }

  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }

  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }

  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }

  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  .pt-xl-0 {
    padding-top: 0 !important;
  }

  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }

  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }

  .pt-xl-3 {
    padding-top: 1rem !important;
  }

  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }

  .pt-xl-5 {
    padding-top: 3rem !important;
  }

  .pe-xl-0 {
    padding-right: 0 !important;
  }

  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }

  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }

  .pe-xl-3 {
    padding-right: 1rem !important;
  }

  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }

  .pe-xl-5 {
    padding-right: 3rem !important;
  }

  .pb-xl-0 {
    padding-bottom: 0 !important;
  }

  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }

  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }

  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }

  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }

  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }

  .ps-xl-0 {
    padding-left: 0 !important;
  }

  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }

  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }

  .ps-xl-3 {
    padding-left: 1rem !important;
  }

  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }

  .ps-xl-5 {
    padding-left: 3rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }

  .d-print-inline-block {
    display: inline-block !important;
  }

  .d-print-block {
    display: block !important;
  }

  .d-print-grid {
    display: grid !important;
  }

  .d-print-table {
    display: table !important;
  }

  .d-print-table-row {
    display: table-row !important;
  }

  .d-print-table-cell {
    display: table-cell !important;
  }

  .d-print-flex {
    display: flex !important;
  }

  .d-print-inline-flex {
    display: inline-flex !important;
  }

  .d-print-none {
    display: none !important;
  }
}
/*loop over all breaking points*/
.mb--50 {
  margin-bottom: 50px !important;
}

.mt--50 {
  margin-top: 50px !important;
}

.p--50 {
  padding: 50px;
}

.pl--50 {
  padding-left: 50px !important;
}

.pr--50 {
  padding-right: 50px !important;
}

.pt--50 {
  padding-top: 50px !important;
}

.pb--50 {
  padding-bottom: 50px !important;
}

.mb--100 {
  margin-bottom: 100px !important;
}

.mt--100 {
  margin-top: 100px !important;
}

.p--100 {
  padding: 100px;
}

.pl--100 {
  padding-left: 100px !important;
}

.pr--100 {
  padding-right: 100px !important;
}

.pt--100 {
  padding-top: 100px !important;
}

.pb--100 {
  padding-bottom: 100px !important;
}

.mb--200 {
  margin-bottom: 200px !important;
}

.mt--200 {
  margin-top: 200px !important;
}

.p--200 {
  padding: 200px;
}

.pl--200 {
  padding-left: 200px !important;
}

.pr--200 {
  padding-right: 200px !important;
}

.pt--200 {
  padding-top: 200px !important;
}

.pb--200 {
  padding-bottom: 200px !important;
}

@media (min-width: 768px) {
  .pt--100 {
    padding-top: 100px !important;
  }

  .pb--100 {
    padding-bottom: 100px !important;
  }

  .mt--100 {
    margin-top: 100px !important;
  }

  .mb--100 {
    margin-bottom: 100px !important;
  }

  .mb-md-100 {
    margin-bottom: 100px !important;
  }

  .p-md--100 {
    padding: 100px;
  }

  .pl-md--100 {
    padding-left: 100px;
  }

  .pt-md--100 {
    padding-top: 100px !important;
  }

  .pb-md--100 {
    padding-bottom: 100px !important;
  }

  .pt--200 {
    padding-top: 200px !important;
  }

  .pb--200 {
    padding-bottom: 200px !important;
  }

  .mt--200 {
    margin-top: 200px !important;
  }

  .mb--200 {
    margin-bottom: 200px !important;
  }

  .mb-md-200 {
    margin-bottom: 200px !important;
  }

  .p-md--200 {
    padding: 200px;
  }

  .pl-md--200 {
    padding-left: 200px;
  }

  .pt-md--200 {
    padding-top: 200px !important;
  }

  .pb-md--200 {
    padding-bottom: 200px !important;
  }
}
.bg-base {
  background-color: #333;
}

.bg-typo {
  background-color: #4a4a4a;
}

.bg-primary {
  background-color: #99ffff;
}

.bg-secondary {
  background-color: #dc83d1;
}

.bg-tertiary {
  background-color: #b729a5;
}

.bg-quaternary {
  background-color: #efabe6;
}

.bg-fiventh {
  background-color: #ffddfb;
}

.bg-primaryBG {
  background-color: #d3fbfb;
}

.bg-readBG {
  background-color: #fffcf0;
}

.bg-grey {
  background-color: #777;
}

.bg-white {
  background-color: #ffffff;
}

.gradient--dark {
  background: #333333;
  background: linear-gradient(315deg, #020024 0%, #525252 100%);
}

.gradient--light {
  background: #99ffff;
  background: linear-gradient(315deg, #99ffff 0%, #d3fbfb 100%);
}

.gradient--seamless {
  background: linear-gradient(315deg, #fffcf0 0%, #fff 100%);
}

.seamless {
  box-shadow: 0px 0px 35px #aaa;
}

.circle {
  border-radius: 50%;
  overflow: hidden;
}

.reverse {
  flex-direction: row-reverse;
}

.loading {
  position: relative;
}
.loading:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: white;
  opacity: 0.5;
}
.loading:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-image: url("../../img/loader.svg");
  background-position: center 40%;
  background-size: 30%;
  background-repeat: no-repeat;
}

.w-100 {
  width: 100%;
}

.h-100 {
  height: 100%;
}

.rounded {
  border-radius: 20px;
  overflow: hidden;
}

.svg-base svg path {
  fill: #333;
}

.overflow-scroll {
  overflow: scroll;
}

pre {
  background-color: #eee;
}
pre .hljs {
  background-color: transparent;
}

.position-relative {
  position: relative;
}

.z-index-1 {
  z-index: 1;
}

.reset-margin p:last-child {
  margin-bottom: 0;
}

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

svg,
img {
  max-width: 100%;
  display: block;
  height: auto;
}

figure {
  margin: 0px;
}

iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 5/3;
}

.lazy-container {
  position: relative;
}
.lazy-container:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("data:image/svg+xml;base64,PCEtLSBCeSBTYW0gSGVyYmVydCAoQHNoZXJiKSwgZm9yIGV2ZXJ5b25lLiBNb3JlIEAgaHR0cDovL2dvby5nbC83QUp6YkwgLS0+Cjxzdmcgd2lkdGg9IjM4IiBoZWlnaHQ9IjM4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjYWFhIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGNpcmNsZSBzdHJva2Utb3BhY2l0eT0iLjUiIGN4PSIxOCIgY3k9IjE4IiByPSIxOCIvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzYgMThjMC05Ljk0LTguMDYtMTgtMTgtMTgiPgogICAgICAgICAgICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0KICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iCiAgICAgICAgICAgICAgICAgICAgdHlwZT0icm90YXRlIgogICAgICAgICAgICAgICAgICAgIGZyb209IjAgMTggMTgiCiAgICAgICAgICAgICAgICAgICAgdG89IjM2MCAxOCAxOCIKICAgICAgICAgICAgICAgICAgICBkdXI9IjFzIgogICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICAgICAgICAgIDwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 10%;
  transition: opacity 1s;
}
.lazy-container.lazy-container--loaded:after {
  opacity: 0;
}
.lazy-container img {
  position: absolute;
  top: 0;
  left: 0;
}
.lazy-container.lazy-container--transparent {
  background-color: transparent;
}

[data-bg] {
  position: relative;
  overflow: hidden;
}
[data-bg]:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("data:image/svg+xml;base64,PCEtLSBCeSBTYW0gSGVyYmVydCAoQHNoZXJiKSwgZm9yIGV2ZXJ5b25lLiBNb3JlIEAgaHR0cDovL2dvby5nbC83QUp6YkwgLS0+Cjxzdmcgd2lkdGg9IjM4IiBoZWlnaHQ9IjM4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjYWFhIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGNpcmNsZSBzdHJva2Utb3BhY2l0eT0iLjUiIGN4PSIxOCIgY3k9IjE4IiByPSIxOCIvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzYgMThjMC05Ljk0LTguMDYtMTgtMTgtMTgiPgogICAgICAgICAgICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0KICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iCiAgICAgICAgICAgICAgICAgICAgdHlwZT0icm90YXRlIgogICAgICAgICAgICAgICAgICAgIGZyb209IjAgMTggMTgiCiAgICAgICAgICAgICAgICAgICAgdG89IjM2MCAxOCAxOCIKICAgICAgICAgICAgICAgICAgICBkdXI9IjFzIgogICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICAgICAgICAgIDwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 10%;
  transition: opacity 1s, top 0s linear 1s;
}
[data-bg].lazy--loaded:after {
  opacity: 0;
  top: -1000%;
}

.bg-cover {
  background-size: cover;
}

textarea,
input[type=text],
input[type=number],
input[type=tel],
input[type=email],
select {
  width: 100%;
  background-color: rgba(13, 110, 253, 0.25);
  height: 50px;
  line-height: 50px;
  border: none;
  padding: 0 15px;
}

textarea {
  height: 300px;
  line-height: 20px;
}

.af-form {
  max-width: 900px;
  width: 90%;
  margin: auto;
}

.acf-fields {
  display: grid;
  grid-template-columns: 50% 50%;
}
.acf-fields label {
  font-size: 12px;
  font-weight: bold;
}
.acf-fields select,
.acf-fields input {
  background-color: white;
  border: 1px solid #D6D6D6;
}
.acf-fields .af-field-type-message {
  grid-column-start: 1;
  grid-column-end: 3;
}
.acf-fields .af-field-type-message p {
  font-size: 24px;
  font-weight: bold;
  margin: 0;
  margin-top: 30px;
}
.acf-fields .af-field-type-true-false,
.acf-fields .af-field-titel-des-beitrags,
.acf-fields .af-field-type-select,
.acf-fields .af-field-type-repeater {
  grid-column-start: 1;
  grid-column-end: 3;
}
.acf-fields .acf-actions {
  height: 50px;
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.acf-fields .acf-actions .acf-button {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: blue;
  height: 50px;
  padding-left: 10px;
  padding-right: 10px;
  color: white;
  font-size: 12px;
  min-width: 110px;
  font-weight: bold;
  text-transform: uppercase;
  border-radius: 2px;
}
.acf-fields .af-submit .acf-button {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: blue;
  height: 50px;
  padding-left: 10px;
  padding-right: 10px;
  color: white;
  font-size: 12px;
  min-width: 110px;
  font-weight: bold;
  text-transform: uppercase;
  border-radius: 2px;
  -webkit-appearance: none;
  border: none;
}

.acf-fields > .acf-field {
  border-top: none !important;
}

/*loop over all breaking points*/
@media (min-width: 0) {
  .btn--1 {
    font-size: 16px;
    line-height: 45px;
    height: 45px;
    padding: 0 2em;
  }
}
@media (min-width: 0) {
  .btn--2 {
    font-size: 14px;
    line-height: 30px;
    height: 30px;
    padding: 0 2em;
  }
}
@media (min-width: 768px) {
  .btn--1 {
    font-size: 20px;
    line-height: 50px;
    height: 50px;
  }
}
@media (min-width: 768px) {
  .btn--2 {
    font-size: 16px;
    line-height: 36px;
    height: 36px;
  }
}
.btn {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 6px;
  background-color: #99ffff;
  color: white;
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
  transition: background-color 0.3s linear, color 0.3s linear;
  border: none;
  -moz-appearance: none;
  text-decoration: none !important;
}
@media (min-width: 1240px) {
  .btn {
    display: inline-block;
  }
}
.btn:hover {
  background-color: #dc83d1;
  color: #99ffff;
}
.btn.btn--secondary {
  background-color: #dc83d1;
  color: white;
}
.btn.btn--secondary:hover {
  background-color: #770b6a;
}
.btn.btn--tertiary {
  background-color: #b729a5;
  color: white;
}
.btn.btn--tertiary:hover {
  background-color: #770b6a;
}
.btn.btn--grey {
  background-color: #777;
  color: white;
}
.btn.btn--loading {
  background-image: url(../../src/img/loader.svg) !important;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 70% 70%;
  color: transparent !important;
}

@font-face {
  font-family: "CircularMedium";
  src: url("../../src/fonts/lineto-circular-medium.eot");
  src: url("../../src/fonts/lineto-circular-medium.eot?#iefix") format("embedded-opentype"), url("../../src/fonts/lineto-circular-medium.woff2") format("woff2"), url("../../src/fonts/lineto-circular-medium.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
/* roboto-condensed-300 - latin */
@font-face {
  font-family: "Roboto Condensed Light";
  font-style: normal;
  font-weight: 300;
  src: url("../../src/fonts/roboto-condensed-v25-latin-300.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../../src/fonts/roboto-condensed-v25-latin-300.eot?#iefix") format("embedded-opentype"), url("../../src/fonts/roboto-condensed-v25-latin-300.woff2") format("woff2"), url("../../src/fonts/roboto-condensed-v25-latin-300.woff") format("woff"), url("../../src/fonts/roboto-condensed-v25-latin-300.ttf") format("truetype"), url("../../src/fonts/roboto-condensed-v25-latin-300.svg#RobotoCondensed") format("svg");
  /* Legacy iOS */
}
/* roboto-condensed-regular - latin */
@font-face {
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 400;
  src: url("../../src/fonts/roboto-condensed-v25-latin-regular.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../../src/fonts/roboto-condensed-v25-latin-regular.eot?#iefix") format("embedded-opentype"), url("../../src/fonts/roboto-condensed-v25-latin-regular.woff2") format("woff2"), url("../../src/fonts/roboto-condensed-v25-latin-regular.woff") format("woff"), url("../../src/fonts/roboto-condensed-v25-latin-regular.ttf") format("truetype"), url("../../src/fonts/roboto-condensed-v25-latin-regular.svg#RobotoCondensed") format("svg");
  /* Legacy iOS */
}
/* roboto-condensed-700 - latin */
@font-face {
  font-family: "Roboto Condensed Bold";
  font-style: normal;
  font-weight: 700;
  src: url("../../src/fonts/roboto-condensed-v25-latin-700.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../../src/fonts/roboto-condensed-v25-latin-700.eot?#iefix") format("embedded-opentype"), url("../../src/fonts/roboto-condensed-v25-latin-700.woff2") format("woff2"), url("../../src/fonts/roboto-condensed-v25-latin-700.woff") format("woff"), url("../../src/fonts/roboto-condensed-v25-latin-700.ttf") format("truetype"), url("../../src/fonts/roboto-condensed-v25-latin-700.svg#RobotoCondensed") format("svg");
  /* Legacy iOS */
}
body {
  font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #4a4a4a;
}
@media (min-width: 0) {
  body {
    font-size: 18px;
    line-height: 150%;
  }
}
@media (min-width: 768px) {
  body {
    font-size: 19px;
  }
}

p,
ul {
  font-weight: normal;
  margin-top: 0;
  margin-bottom: 30px;
}

h1,
h2,
h3,
h4,
h5,
.h1,
.h2,
.h3,
.h4,
.h5 {
  margin-top: 0;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  font-weight: 700;
  margin-bottom: 20px;
  font-family: "Roboto Condensed Bold";
}

/*loop over all breaking points*/
@media (min-width: 0) {
  .h1 {
    font-size: 8vh;
    line-height: 110%;
  }
}
@media (min-width: 0) {
  .h1_2 {
    font-size: 6px;
    line-height: 110%;
  }
}
@media (min-width: 0) {
  .h2 {
    font-size: 34px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .h3 {
    font-size: 26px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .h4 {
    font-size: 20px;
    line-height: 130%;
    font-weight: 300;
  }
}
@media (min-width: 0) {
  .hbody {
    font-size: 18px;
    line-height: 150%;
  }
}
@media (min-width: 0) {
  .hsmall {
    font-size: 14px;
    line-height: 150%;
  }
}
@media (min-width: 768px) {
  .h1 {
    font-size: 70px;
    line-height: 110%;
  }
}
@media (min-width: 768px) {
  .h1_2 {
    font-size: 50px;
    line-height: 110%;
  }
}
@media (min-width: 768px) {
  .h2 {
    font-size: 38px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .h3 {
    font-size: 29px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .h4 {
    font-size: 20px;
    line-height: 130%;
    font-weight: 300;
  }
}
@media (min-width: 768px) {
  .hbody {
    font-size: 19px;
  }
}
a {
  text-decoration: none;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-left {
  text-align: left !important;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-underline {
  text-decoration: underline;
}

.text-shadow {
  text-shadow: 0px 1px 5px #020024;
}

.text-letterspacing-wide {
  letter-spacing: 2px;
}

.font-light {
  font-family: "Roboto Condensed Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.font-regular {
  font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.list .list--inline {
  padding: 0;
  margin: 0;
}
.list .list--inline li {
  margin-bottom: 10px;
  list-style-type: none;
}
@media (min-width: 0) {
  .list .list--inline li {
    display: inline-block;
  }
}

.list-container ul {
  padding-left: 25px;
  margin-bottom: 30px;
}
.list-container ul li {
  margin-bottom: 10px;
  list-style-type: none;
  position: relative;
}
.list-container ul li:before {
  content: "";
  position: absolute;
  top: 2px;
  left: -25px;
  color: #99ffff;
  display: inline-block;
  width: 1em;
  height: 1.2em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" id="check"><path fill="none" d="M0 0h24v24H0V0z"></path><path fill="%23b729a5" d="M9 16.17L5.53 12.7c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41l4.18 4.18c.39.39 1.02.39 1.41 0L20.29 7.71c.39-.39.39-1.02 0-1.41-.39-.39-1.02-.39-1.41 0L9 16.17z"></path></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.separator {
  padding-top: 15px;
  border-top: 4px solid black;
}

.separator--bottom {
  padding-bottom: 15px;
  border-bottom: 2px solid black;
}

.typo-deco h2 strong {
  background: linear-gradient(180deg, transparent 0, transparent 56%, #efabe6 56.01%, #efabe6 96%, transparent 96.01%);
}
.typo-deco a {
  color: #4a4a4a;
  text-decoration: underline;
}
.typo-deco a:hover {
  text-decoration: none;
}

.text-base {
  color: #333;
}
.text-base a {
  color: #333;
}

.text-typo {
  color: #4a4a4a;
}
.text-typo a {
  color: #4a4a4a;
}

.text-primary {
  color: #99ffff;
}
.text-primary a {
  color: #99ffff;
}

.text-secondary {
  color: #dc83d1;
}
.text-secondary a {
  color: #dc83d1;
}

.text-tertiary {
  color: #b729a5;
}
.text-tertiary a {
  color: #b729a5;
}

.text-quaternary {
  color: #efabe6;
}
.text-quaternary a {
  color: #efabe6;
}

.text-fiventh {
  color: #ffddfb;
}
.text-fiventh a {
  color: #ffddfb;
}

.text-primaryBG {
  color: #d3fbfb;
}
.text-primaryBG a {
  color: #d3fbfb;
}

.text-readBG {
  color: #fffcf0;
}
.text-readBG a {
  color: #fffcf0;
}

.text-grey {
  color: #777;
}
.text-grey a {
  color: #777;
}

.text-white {
  color: #ffffff;
}
.text-white a {
  color: #ffffff;
}

a {
  color: #38b1b1;
}
a:hover {
  color: #770b6a;
}

.wysiwyg {
  /*loop over all breaking points*/
}
@media (min-width: 0) {
  .wysiwyg h1 {
    font-size: 8vh;
    line-height: 110%;
  }
}
@media (min-width: 0) {
  .wysiwyg h1_2 {
    font-size: 6px;
    line-height: 110%;
  }
}
@media (min-width: 0) {
  .wysiwyg h2 {
    font-size: 34px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .wysiwyg h3 {
    font-size: 26px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .wysiwyg h4 {
    font-size: 20px;
    line-height: 130%;
    font-weight: 300;
  }
}
@media (min-width: 0) {
  .wysiwyg hbody {
    font-size: 18px;
    line-height: 150%;
  }
}
@media (min-width: 0) {
  .wysiwyg hsmall {
    font-size: 14px;
    line-height: 150%;
  }
}
@media (min-width: 768px) {
  .wysiwyg h1 {
    font-size: 70px;
    line-height: 110%;
  }
}
@media (min-width: 768px) {
  .wysiwyg h1_2 {
    font-size: 50px;
    line-height: 110%;
  }
}
@media (min-width: 768px) {
  .wysiwyg h2 {
    font-size: 38px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .wysiwyg h3 {
    font-size: 29px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .wysiwyg h4 {
    font-size: 20px;
    line-height: 130%;
    font-weight: 300;
  }
}
@media (min-width: 768px) {
  .wysiwyg hbody {
    font-size: 19px;
  }
}

.social {
  text-align: center;
  display: flex;
  margin: 0;
  padding: 0;
  justify-content: center;
}
.social li {
  list-style-type: none;
  margin: 0 5px;
  padding: 0;
}
.social svg {
  height: 40px;
  width: 40px;
  display: block;
}

footer {
  height: 100vh;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 2;
  position: relative;
}

.logo {
  max-width: 167px;
}
@media (min-width: 768px) {
  .logo {
    max-width: 226px;
  }
}
@media (min-width: 1240px) {
  .logo {
    max-width: 264px;
  }
}

.header {
  position: relative;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
}
.header .header__inner {
  position: relative;
  transition: all 0.5s ease-out;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 2;
}
.header .header__inner:after {
  content: "";
  display: block;
  height: 20px;
  width: 20px;
  bottom: 60px;
  left: 50%;
  margin-left: -10px;
  position: absolute;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke-width='1.5' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9L12 15L18 9' stroke='%2399ffff' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  animation: bounce 2s infinite;
}
.header.header--mini .header__inner {
  height: auto;
  padding: 80px 0;
}
.header.header--mini .header__inner:after {
  display: none;
}

@keyframes bounce {
  0% {
    transform: translateY(0px);
  }
  30% {
    transform: translateY(30px);
  }
  100% {
    transform: translateY(0px);
  }
}
#sidebar {
  position: fixed;
  z-index: 10;
  background: #333333;
  background: linear-gradient(315deg, #020024 0%, #525252 100%);
  opacity: 0;
  transition: all 0.3s;
  bottom: 0;
  width: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
#sidebar ul {
  display: flex;
  margin: 0;
  padding: 0;
}
#sidebar ul li {
  flex-basis: 100%;
  list-style-type: none;
  margin: 0;
  position: relative;
}
#sidebar ul li a {
  text-align: center;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  transition: all 0.3s;
}
#sidebar ul li a svg path {
  fill: white;
}
#sidebar ul li span {
  display: none;
}
#sidebar ul li:last-child {
  border: none;
}
#sidebar ul li.active a svg path {
  fill: #99ffff;
}
@media (min-width: 768px) {
  #sidebar {
    top: 0;
    left: -200px;
    height: 100vh;
    width: auto;
  }
  #sidebar ul {
    display: block;
  }
  #sidebar ul li a {
    display: block;
  }
  #sidebar ul li a:focus {
    background-color: black;
  }
  #sidebar ul li span {
    opacity: 0;
    transform: translateX(-10px);
    background: linear-gradient(315deg, #020024 0%, #525252 100%);
    color: #99ffff;
    transition: all 0.3s;
    position: absolute;
    padding: 5px 10px;
    width: 200px;
    height: 100%;
    top: 0;
    right: -200px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: -1;
  }
  #sidebar ul li:hover span {
    opacity: 1;
    transform: translateX(0);
    z-index: 1;
  }
}
#sidebar.active {
  opacity: 1;
  left: 0;
}
#sidebar svg {
  width: 35px;
}
#sidebar svg path {
  fill: #99ffff;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

#wrapper {
  min-height: 100vh;
  position: relative;
}
#wrapper:after {
  content: "";
  display: block;
  height: 100%;
  width: 1px;
  top: 0;
  left: 50%;
  position: absolute;
  background-color: #c0cbcb;
  z-index: 0;
}

#content {
  position: relative;
}
#content #js-scrollFiller {
  display: block;
  width: 3px;
  top: 0;
  left: 50%;
  position: absolute;
  background-color: #333;
  z-index: 1;
  margin-left: -1px;
  transition: height 0.1s;
}
#content #js-scrollFiller:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-top: 10px solid #333;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  bottom: -5px;
  left: 50%;
  margin-left: -5px;
  position: absolute;
}

.grid {
  display: grid;
  grid-template-columns: calc(5% - 20px + var(--bs-gutter-x, 0.75rem)) repeat(12, 1fr) calc(5% + var(--bs-gutter-x, 0.75rem) - 20px);
  gap: 20px;
  position: relative;
}
.grid__text {
  grid-column-start: 2;
  grid-column-end: 7;
  grid-row-start: 1;
  grid-row-end: 1;
  padding: 80px 0;
}
.grid__banner {
  grid-column-start: 1;
  grid-column-end: 14;
  grid-row-start: 1;
  grid-row-end: 1;
}
.grid__image {
  grid-column-start: 7;
  grid-column-end: 15;
  grid-row-start: 1;
  grid-row-end: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.grid__image img {
  max-width: 100%;
  height: auto;
  display: block;
}

.card {
  border-radius: 20px;
  position: relative;
  z-index: 1;
}
.card .card__icon {
  position: absolute;
  top: 0px;
  left: 50%;
  width: 70px;
  height: 70px;
  background-color: #333;
  display: flex;
  padding: 10px;
  border-radius: 50%;
  z-index: 1;
  transform: translate(-50%, -50%) scale(0);
  transition: all 0.3s;
}
.card .card__icon svg {
  margin: auto;
  display: block;
  width: 40px;
}
.card .card__icon svg path {
  fill: #99ffff;
}
.card .card__headline {
  background-color: #333;
  background: -webkit-linear-gradient(top left, #1a1a1a, #525252);
  background: -moz-linear-gradient(top left, #1a1a1a, #525252);
  background: linear-gradient(to bottom right, #1a1a1a, #525252);
  color: #99ffff;
  text-align: center;
  padding: 42px;
  padding-bottom: 24px;
  text-transform: uppercase;
  font-weight: 700;
  position: relative;
  border-top-right-radius: 20px;
  border-top-left-radius: 20px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .card .card__headline {
    padding: 60px;
    padding-bottom: 48px;
  }
}
.card .card__headline h2 {
  font-size: 35px;
  line-height: 42px;
  opacity: 0;
  transform: translateX(-100px);
  transition: all 0.3s 0.3s;
}
.card .card__image {
  background-color: white;
}
.card .card__content {
  padding: 20px;
  background-color: white;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
}
@media (min-width: 768px) {
  .card .card__content {
    padding: 60px;
  }
}

.active .card__icon {
  transform: translate(-50%, -50%) scale(1);
}
.active .card__headline h2 {
  opacity: 1;
  transform: translateX(0);
}

.stripe--1 {
  width: 40px;
  left: calc(-60vw + 40px);
  background-color: #fff;
}
@media (min-width: 768px) {
  .stripe--1 {
    left: 40px;
  }
}
@media (min-width: 992px) {
  .stripe--1 {
    left: calc(35vw + 40px);
  }
}
@media (min-width: 1240px) {
  .stripe--1 {
    left: calc(45vw + 40px);
  }
}
@media (min-width: ) {
  .stripe--1 {
    left: calc(50vw + 40px);
  }
}

.stripe--2 {
  width: 50px;
  left: calc(-60vw + 100px);
  background-color: #99ffff;
}
@media (min-width: 768px) {
  .stripe--2 {
    left: 100px;
  }
}
@media (min-width: 992px) {
  .stripe--2 {
    left: calc(35vw + 100px);
  }
}
@media (min-width: 1240px) {
  .stripe--2 {
    left: calc(45vw + 100px);
  }
}
@media (min-width: ) {
  .stripe--2 {
    left: calc(50vw + 100px);
  }
}

.stripe--3 {
  width: 60px;
  left: calc(-60vw + 180px);
  background-color: #38b1b1;
}
@media (min-width: 768px) {
  .stripe--3 {
    left: 180px;
  }
}
@media (min-width: 992px) {
  .stripe--3 {
    left: calc(35vw + 180px);
  }
}
@media (min-width: 1240px) {
  .stripe--3 {
    left: calc(45vw + 180px);
  }
}
@media (min-width: ) {
  .stripe--3 {
    left: calc(50vw + 180px);
  }
}

.stripe--4 {
  width: 70px;
  left: calc(-60vw + 280px);
  background-color: #dc83d1;
}
@media (min-width: 768px) {
  .stripe--4 {
    left: 280px;
  }
}
@media (min-width: 992px) {
  .stripe--4 {
    left: calc(35vw + 280px);
  }
}
@media (min-width: 1240px) {
  .stripe--4 {
    left: calc(45vw + 280px);
  }
}
@media (min-width: ) {
  .stripe--4 {
    left: calc(50vw + 280px);
  }
}

.stripe--5 {
  width: 80px;
  left: calc(-60vw + 400px);
  background-color: #b729a5;
}
@media (min-width: 768px) {
  .stripe--5 {
    left: 400px;
  }
}
@media (min-width: 992px) {
  .stripe--5 {
    left: calc(35vw + 400px);
  }
}
@media (min-width: 1240px) {
  .stripe--5 {
    left: calc(45vw + 400px);
  }
}
@media (min-width: ) {
  .stripe--5 {
    left: calc(50vw + 400px);
  }
}

.stripe--6 {
  width: 90px;
  left: calc(-60vw + 540px);
  background-color: #770b6a;
}
@media (min-width: 768px) {
  .stripe--6 {
    left: 540px;
  }
}
@media (min-width: 992px) {
  .stripe--6 {
    left: calc(35vw + 540px);
  }
}
@media (min-width: 1240px) {
  .stripe--6 {
    left: calc(45vw + 540px);
  }
}
@media (min-width: ) {
  .stripe--6 {
    left: calc(50vw + 540px);
  }
}

.stripe {
  position: absolute;
  z-index: 1;
  transform: skew(-45deg);
  transform-origin: bottom;
  bottom: -20vh;
  z-index: 1;
  transition: all 0.1s;
}
.stripe.stripe--min {
  width: 10px;
  bottom: -50px;
  left: inherit;
  transition: all 0.5s 0.6s;
}
.stripe.stripe--min.stripe--1 {
  right: 90px;
}
.stripe.stripe--min.stripe--2 {
  right: 110px;
}
.stripe.stripe--min.stripe--3 {
  right: 130px;
}
.stripe.stripe--min.stripe--4 {
  right: 150px;
}
.stripe.stripe--min.stripe--5 {
  right: 170px;
}
.stripe.stripe--min.stripe--6 {
  right: 190px;
}
@media (min-width: 768px) {
  .stripe.stripe--min {
    width: 20px;
  }
  .stripe.stripe--min.stripe--1 {
    right: 120px;
  }
  .stripe.stripe--min.stripe--2 {
    right: 160px;
  }
  .stripe.stripe--min.stripe--3 {
    right: 200px;
  }
  .stripe.stripe--min.stripe--4 {
    right: 240px;
  }
  .stripe.stripe--min.stripe--5 {
    right: 280px;
  }
  .stripe.stripe--min.stripe--6 {
    right: 320px;
  }
}

.blog-teaser {
  position: relative;
  overflow: hidden;
  display: block;
}
.blog-teaser img {
  transition: transform 0.4s ease;
}
.blog-teaser:hover img {
  transform: scale(1.06);
}
.blog-teaser__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, transparent 60%);
}
.blog-teaser__overlay h2 {
  color: #fff;
  margin-bottom: 0;
}
.blog-teaser__category {
  display: block;
  color: rgba(255, 255, 255, 0.7);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .blog-teaser__category {
    font-size: 11px;
  }
}

.modal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  z-index: -100;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.7);
  transition: opacity 0.5s;
  display: flex;
}
.modal.modal--table .modal__inner {
  max-width: 90%;
}
.modal.modal--loading .modal__inner:after {
  opacity: 1;
  z-index: 1;
}
.modal.modal--opened {
  z-index: 100;
  opacity: 1;
}
.modal.modal--opened .modal__inner {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.5s ease-in-out 0.5s;
}
.modal .modal__inner {
  opacity: 0;
  position: relative;
  z-index: 1;
  max-width: 900px;
  max-height: 90%;
  width: 90%;
  height: 90%;
  background-color: white;
  display: flex;
  justify-content: space-between;
  border-radius: 2px;
  transform: translateY(-200px);
  overflow-y: scroll;
}
.modal .modal__inner:after {
  transition: opacity 0.3s;
  z-index: -1;
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  background-color: white;
  background-image: url("../../src/img/loader.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 40px;
}
.modal .modal__inner .modal__content {
  width: 100%;
  height: 100%;
}
.modal .modal__close-btn {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0px;
  right: 0px;
  cursor: pointer;
  background-image: url("../../src/img/btn-close.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -moz-appearance: none;
  border: none;
  background-color: transparent;
}
.modal.modal--full .modal__inner {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
}
.modal.modal--full .modal__close-btn {
  position: fixed;
  top: 0px;
  right: 0px;
  background-color: #eee;
  width: 30px;
  height: 30px;
  background-image: url("../../src/img/btn-close-black.svg");
  z-index: 100;
}
@media (min-width: 768px) {
  .modal.modal--full .modal__close-btn {
    top: 30px;
    right: 30px;
    background-color: transparent;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAtZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvbnRhaW5lcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NvbnRhaW5lci5zY3NzIiwidmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FwaS5zY3NzIiwidXRpbGl0aWVzL3NwYWNpbmcuc2NzcyIsInV0aWxpdGllcy9iYWNrZ3JvdW5kcy5zY3NzIiwidXRpbGl0aWVzL2hlbHBlcnMuc2NzcyIsInV0aWxpdGllcy9ub3JtYWxpemUuc2NzcyIsInV0aWxpdGllcy9tZWRpYS5zY3NzIiwiZm9ybXMvZm9ybXMuc2NzcyIsInR5cG8vYnV0dG9ucy5zY3NzIiwidHlwby9mb250cy5zY3NzIiwidHlwby90eXBvLnNjc3MiLCJ0eXBvL2ljb25zLnNjc3MiLCJsYXlvdXQvZm9vdGVyLnNjc3MiLCJsYXlvdXQvaGVhZGVyLnNjc3MiLCJsYXlvdXQvc2lkZWJhci5zY3NzIiwibGF5b3V0L3N0cnVjdHVyZS5zY3NzIiwidWkuc2NzcyIsIm1vZHVsZXMvbW9kYWwuc2NzcyJdLCJuYW1lcyI6W10sIm1h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QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0FDMUROO0VEVUU7SUFDRTs7O0VBR0Y7SUFwQ0o7SUFDQTs7O0VBY0E7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBK0JFO0lBaERKO0lBQ0E7OztFQXFEUTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQXVFUTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQW1FTTtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7QUMxRE47RURVRTtJQUNFOzs7RUFHRjtJQXBDSjtJQUNBOzs7RUFjQTtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUErQkU7SUFoREo7SUFDQTs7O0VBcURRO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBdUVRO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBbUVNO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztBQzFETjtFRFVFO0lBQ0U7OztFQUdGO0lBcENKO0lBQ0E7OztFQWNBO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQStCRTtJQWhESjtJQUNBOzs7RUFxRFE7SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUF1RVE7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUFtRU07QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0FFMURGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QURQUjtFQ0FJO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7QURQUjtFQ0FJO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7QURQUjtFQ0FJO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7QURQUjtFQ0FJO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQ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R0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtBQUFXO0VBQ1g7QUFBWTs7O0FBR2Q7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQ3JhSDtBQUFBO0VBRUc7RUFDQTtFQUNBOzs7QUFHSDtFQUNHOzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7O0FBT0g7RUFDRzs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QUFHSDtFQUNHOztBQUdIO0VBQ0c7RUFDQTtFQUNBOztBQUdIO0VBQ0c7OztBQUlOO0VBQ0c7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxZQUNHOztBQUtIO0VBQ0c7RUFDQTs7O0FBU1Q7RUFDRzs7O0FDMUZIO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1HO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0g7RUFDRztFQUNBOzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7O0FBR0g7RUFDRztFQUNBOztBQUNBO0VBQ0c7RUFDQTs7QUFFSDtBQUFBO0VBRUc7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7O0FBQ0E7RUFDRztFQUNBO0VBQ0E7RUFDTDs7QUFHRDtBQUFBO0FBQUE7QUFBQTtFQUlHO0VBQ0E7O0FBRUg7RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtOO0VBQ0c7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtF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O0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTtJQUlBOzs7QUFYVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTtJQUlBOzs7QUFYVDtFQUNHO0lBRU07Ozs7QUN4UXJCO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7O0FDaEJOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDUkg7RUFDRzs7QUFDQTtFQUZIO0lBR007OztBQUVIO0VBTEg7SUFNTTs7OztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtIO0VBQ0c7RUFDQTs7QUFFQTtFQUNHOzs7QUFNWjtFQUNHO0lBQ0c7O0VBRUg7SUFDRzs7RUFFSDtJQUNHOzs7QUM5RE47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRztFQUNHOztBQUtUO0VBQ0c7O0FBR0g7RUFDRzs7QUFNTTtFQUNHOztBQVFsQjtFQTVESDtJQTZETTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNH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Q0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBTEE7RUFKSDtJQUtNOzs7O0FDMU1UO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRztFQUNHOztBQU1BO0VBQ0c7RUFDQTs7QUFLVDtFQUNHO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7O0FBR047RUFDRztFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBT0E7RUFDQTs7QUFOQTtFQVJIO0lBU007SUFDQTtJQUNBIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAndmFyaWFibGVzJzsgLyogdG8gb3ZlcnJpZGUgYm9vdHN0cmFwcyB2YWx1ZXMgd2UgbmVlZCB0byBiZSBiZWZvcmUgdGhlIGJvb3RzdHJhcCBpbXBvcnQgKi9cbkBpbXBvcnQgJy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAtZ3JpZCc7XG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuXG5AaW1wb3J0ICcuL3V0aWxpdGllcy9zcGFjaW5nJztcbkBpbXBvcnQgJy4vdXRpbGl0aWVzL2JhY2tncm91bmRzJztcbkBpbXBvcnQgJy4vdXRpbGl0aWVzL2hlbHBlcnMnO1xuQGltcG9ydCAnLi91dGlsaXRpZXMvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4vdXRpbGl0aWVzL21lZGlhJztcblxuQGltcG9ydCAnLi9mb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICcuL3R5cG8vYnV0dG9ucyc7XG5AaW1wb3J0ICcuL3R5cG8vZm9udHMnO1xuQGltcG9ydCAnLi90eXBvL3R5cG8nO1xuQGltcG9ydCAnLi90eXBvL2ljb25zJztcblxuQGltcG9ydCAnLi9sYXlvdXQvZm9vdGVyJztcbkBpbXBvcnQgJy4vbGF5b3V0L2hlYWRlcic7XG5AaW1wb3J0ICcuL2xheW91dC9zaWRlYmFyJztcbkBpbXBvcnQgJy4vbGF5b3V0L3N0cnVjdHVyZSc7XG5cbkBpbXBvcnQgJy4vdWknO1xuXG5AaW1wb3J0ICcuL21vZHVsZXMvbW9kYWwnO1xuQGltcG9ydCAnLi4vLi4vbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9zdHlsZXMvZ2l0aHViLmNzcyc7XG4iLCIvKiFcbiAqIEJvb3RzdHJhcCBHcmlkIHY1LjEuMyAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMjEgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIxIFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICovXG5cbiRpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nOiB0cnVlICFkZWZhdWx0O1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbkBpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY29udGFpbmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdXRpbGl0aWVzXCI7XG5cbkBpbXBvcnQgXCJ2ZW5kb3IvcmZzXCI7XG5cbkBpbXBvcnQgXCJyb290XCI7XG5cbkBpbXBvcnQgXCJjb250YWluZXJzXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuXG5AaW1wb3J0IFwidXRpbGl0aWVzXCI7XG4vLyBPbmx5IHVzZSB0aGUgdXRpbGl0aWVzIHdlIG5lZWRcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdXRpbGl0aWVzOiBtYXAtZ2V0LW11bHRpcGxlKFxuICAkdXRpbGl0aWVzLFxuICAoXG4gICAgXCJkaXNwbGF5XCIsXG4gICAgXCJvcmRlclwiLFxuICAgIFwiZmxleFwiLFxuICAgIFwiZmxleC1kaXJlY3Rpb25cIixcbiAgICBcImZsZXgtZ3Jvd1wiLFxuICAgIFwiZmxleC1zaHJpbmtcIixcbiAgICBcImZsZXgtd3JhcFwiLFxuICAgIFwianVzdGlmeS1jb250ZW50XCIsXG4gICAgXCJhbGlnbi1pdGVtc1wiLFxuICAgIFwiYWxpZ24tY29udGVudFwiLFxuICAgIFwiYWxpZ24tc2VsZlwiLFxuICAgIFwibWFyZ2luXCIsXG4gICAgXCJtYXJnaW4teFwiLFxuICAgIFwibWFyZ2luLXlcIixcbiAgICBcIm1hcmdpbi10b3BcIixcbiAgICBcIm1hcmdpbi1lbmRcIixcbiAgICBcIm1hcmdpbi1ib3R0b21cIixcbiAgICBcIm1hcmdpbi1zdGFydFwiLFxuICAgIFwibmVnYXRpdmUtbWFyZ2luXCIsXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4teFwiLFxuICAgIFwibmVnYXRpdmUtbWFyZ2luLXlcIixcbiAgICBcIm5lZ2F0aXZlLW1hcmdpbi10b3BcIixcbiAgICBcIm5lZ2F0aXZlLW1hcmdpbi1lbmRcIixcbiAgICBcIm5lZ2F0aXZlLW1hcmdpbi1ib3R0b21cIixcbiAgICBcIm5lZ2F0aXZlLW1hcmdpbi1zdGFydFwiLFxuICAgIFwicGFkZGluZ1wiLFxuICAgIFwicGFkZGluZy14XCIsXG4gICAgXCJwYWRkaW5nLXlcIixcbiAgICBcInBhZGRpbmctdG9wXCIsXG4gICAgXCJwYWRkaW5nLWVuZFwiLFxuICAgIFwicGFkZGluZy1ib3R0b21cIixcbiAgICBcInBhZGRpbmctc3RhcnRcIixcbiAgKVxuKTtcblxuQGltcG9ydCBcInV0aWxpdGllcy9hcGlcIjtcbiIsIjpyb290IHtcbiAgLy8gTm90ZTogQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG5cbiAgLy8gQ29sb3JzXG4gIC8vXG4gIC8vIEdlbmVyYXRlIHBhbGV0dGVzIGZvciBmdWxsIGNvbG9ycywgZ3JheXMsIGFuZCB0aGVtZSBjb2xvcnMuXG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkZ3JheXMge1xuICAgIC0tI3skdmFyaWFibGUtcHJlZml4fWdyYXktI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtcmdiIHtcbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH0jeyRjb2xvcn0tcmdiOiAjeyR2YWx1ZX07XG4gIH1cblxuICAtLSN7JHZhcmlhYmxlLXByZWZpeH13aGl0ZS1yZ2I6ICN7dG8tcmdiKCR3aGl0ZSl9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ibGFjay1yZ2I6ICN7dG8tcmdiKCRibGFjayl9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ib2R5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktY29sb3IpfTtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnKX07XG5cbiAgLy8gRm9udHNcblxuICAvLyBOb3RlOiBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Zm9udC1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Zm9udC1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWdyYWRpZW50OiAjeyRncmFkaWVudH07XG5cbiAgLy8gUm9vdCBhbmQgYm9keVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBjdXN0b20tcHJvcGVydHktZW1wdHktbGluZS1iZWZvcmVcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9keS12YXJpYWJsZXNcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH1yb290LWZvbnQtc2l6ZTogI3skZm9udC1zaXplLXJvb3R9O1xuICB9XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWJvZHktZm9udC1mYW1pbHk6ICN7JGZvbnQtZmFtaWx5LWJhc2V9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ib2R5LWZvbnQtc2l6ZTogI3skZm9udC1zaXplLWJhc2V9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ib2R5LWZvbnQtd2VpZ2h0OiAjeyRmb250LXdlaWdodC1iYXNlfTtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Ym9keS1saW5lLWhlaWdodDogI3skbGluZS1oZWlnaHQtYmFzZX07XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3J9O1xuICBAaWYgJGJvZHktdGV4dC1hbGlnbiAhPSBudWxsIHtcbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ib2R5LXRleHQtYWxpZ246ICN7JGJvZHktdGV4dC1hbGlnbn07XG4gIH1cbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Ym9keS1iZzogI3skYm9keS1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuICAvLyBzdHlsZWxpbnQtZW5hYmxlIGN1c3RvbS1wcm9wZXJ0eS1lbXB0eS1saW5lLWJlZm9yZVxufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBtaXhpbnNcblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRjb250YWluZXItcGFkZGluZy14KSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3V0dGVyLXgsICN7JGd1dHRlcn0pO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteCwgI3skZ3V0dGVyfSk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIGNvbG9yc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRjb2xvcnM6IChcbiAgIGJhc2U6ICMzMzMsXG4gICB0eXBvOiAjNGE0YTRhLFxuICAgcHJpbWFyeTogIzk5ZmZmZixcbiAgIHNlY29uZGFyeTogI2RjODNkMSxcbiAgIHRlcnRpYXJ5OiAjYjcyOWE1LFxuICAgcXVhdGVybmFyeTogI2VmYWJlNixcbiAgIGZpdmVudGg6ICNmZmRkZmIsXG4gICBwcmltYXJ5Qkc6ICNkM2ZiZmIsXG4gICByZWFkQkc6ICNmZmZjZjAsXG4gICBncmV5OiAjNzc3LFxuICAgJ3doaXRlJzogI2ZmZmZmZixcbik7XG5cbiRzdHJpcGVzOiAoXG4gICAxOiAjZmZmLFxuICAgMjogIzk5ZmZmZixcbiAgIDM6ICMzOGIxYjEsXG4gICA0OiAjZGM4M2QxLFxuICAgNTogI2I3MjlhNSxcbiAgIDY6ICM3NzBiNmEsXG4pO1xuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIHR5cG9cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kdHlwbzogKFxuICAgc206IChcbiAgICAgIDE6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogOHZoLFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDExMCUsXG4gICAgICApLFxuICAgICAgMV8yOiAoXG4gICAgICAgICBmb250LXNpemU6IDZweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMTAlLFxuICAgICAgKSxcbiAgICAgIDI6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMzRweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlLFxuICAgICAgKSxcbiAgICAgIDM6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMjZweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlLFxuICAgICAgKSxcbiAgICAgIDQ6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMjBweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlLFxuICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMCxcbiAgICAgICksXG4gICAgICBib2R5OiAoXG4gICAgICAgICBmb250LXNpemU6IDE4cHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTUwJSxcbiAgICAgICksXG4gICAgICBzbWFsbDogKFxuICAgICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCUsXG4gICAgICApLFxuICAgKSxcbiAgIG1kOiAoXG4gICAgICAxOiAoXG4gICAgICAgICBmb250LXNpemU6IDcwcHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTEwJSxcbiAgICAgICksXG4gICAgICAxXzI6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogNTBweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMTAlLFxuICAgICAgKSxcbiAgICAgIDI6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMzhweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlLFxuICAgICAgKSxcbiAgICAgIDM6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMjlweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlLFxuICAgICAgKSxcbiAgICAgIDQ6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMjBweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlLFxuICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMCxcbiAgICAgICksXG4gICAgICBib2R5OiAoXG4gICAgICAgICBmb250LXNpemU6IDE5cHgsXG4gICAgICApLFxuICAgKSxcbik7XG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gYnJlYWtpbmdwb2ludHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICAgc206IDAsXG4gICBzbW1kOiA1MDBweCxcbiAgIG1kOiA3NjhweCxcbiAgIGxnOiA5OTJweCxcbiAgIHhsOiAxMjQwcHgsIC8vIG1heDogMjU2MHB4LCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsXG4pO1xuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgIHNtOiAxMDAlLFxuKTtcblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBzcGFjaW5nXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJHNwYWNlczogKFxuICAgc206IChcbiAgICAgIDUwOiA1MHB4LFxuICAgICAgMTAwOiAxMDBweCxcbiAgICAgIDIwMDogMjAwcHgsXG4gICApLFxuICAgbWQ6IChcbiAgICAgIDEwMDogMTAwcHgsXG4gICAgICAyMDA6IDIwMHB4LFxuICAgKSxcbik7XG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gYnV0dG9uc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRidXR0b25zOiAoXG4gICBzbTogKFxuICAgICAgMTogKFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHgsXG4gICAgICAgICBoZWlnaHQ6IDQ1cHgsXG4gICAgICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICAgICBwYWRkaW5nOiAwIDJlbSxcbiAgICAgICksXG4gICAgICAyOiAoXG4gICAgICAgICBsaW5lLWhlaWdodDogMzBweCxcbiAgICAgICAgIGhlaWdodDogMzBweCxcbiAgICAgICAgIGZvbnQtc2l6ZTogMTRweCxcbiAgICAgICAgIHBhZGRpbmc6IDAgMmVtLFxuICAgICAgKSxcbiAgICksXG4gICBtZDogKFxuICAgICAgMTogKFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHgsXG4gICAgICAgICBoZWlnaHQ6IDUwcHgsXG4gICAgICAgICBmb250LXNpemU6IDIwcHgsXG4gICAgICApLFxuICAgICAgMjogKFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHgsXG4gICAgICAgICBoZWlnaHQ6IDM2cHgsXG4gICAgICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICApLFxuICAgKSxcbik7XG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gdGltZXNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kdGltZXM6IChcbiAgIGZhc3Q6IDAuM3MsXG4gICBtZWRpdW06IDAuNXMsXG4gICBzbG93OiAxcyxcbik7XG4iLCIvLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuXG4gICAgPiAqIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5KCk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWNzc2dyaWQge1xuICAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9cm93cywgMSksIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWNvbHVtbnMsICN7JGdyaWQtY29sdW1uc30pLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWdhcCwgI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcblxuICAgIEBpbmNsdWRlIG1ha2UtY3NzZ3JpZCgpO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvLyBUT0RPOiBSZXZpc2l0IGNhbGMgb3JkZXIgYWZ0ZXIgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LWJvb3RzdHJhcC9yZWFjdC1ib290c3RyYXAvaXNzdWVzLzYwMzkgaXMgZml4ZWRcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC8vIEFkZCBib3ggc2l6aW5nIGlmIG9ubHkgdGhlIGdyaWQgaXMgbG9hZGVkXG4gIGJveC1zaXppbmc6IGlmKHZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcsIGJvcmRlci1ib3gsIG51bGwpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2Ugc2V0IHRoZSB3aWR0aFxuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQcmV2ZW50IGAuY29sLWF1dG9gLCBgLmNvbGAgKCYgcmVzcG9uc2l2ZSB2YXJpYW50cykgZnJvbSBicmVha2luZyBvdXQgdGhlIGdyaWRcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXRvcDogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci15KTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplOiBmYWxzZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRzaXplIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG5cbiAgfSBAZWxzZSB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06IGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gIH1cbn1cblxuLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXg6IDEgMCAwJTsgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICB9XG5cbiAgICAgIC5yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy9cbiAgICAgIC8vIE1ha2UgdXNlIG9mIGAuZy0qYCwgYC5neC0qYCBvciBgLmd5LSpgIHV0aWxpdGllcyB0byBjaGFuZ2Ugc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRndXR0ZXJzIHtcbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd4I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3kjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3V0dGVyLXk6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jc3NncmlkKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5nLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgd2l0aCBgMWAgYmVjYXVzZSBgMGAgaXMgYW5kIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5nLXN0YXJ0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0KTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBVdGlsaXR5IGdlbmVyYXRvclxuLy8gVXNlZCB0byBnZW5lcmF0ZSB1dGlsaXRpZXMgJiBwcmludCB1dGlsaXRpZXNcbkBtaXhpbiBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgsICRpcy1yZnMtbWVkaWEtcXVlcnk6IGZhbHNlKSB7XG4gICR2YWx1ZXM6IG1hcC1nZXQoJHV0aWxpdHksIHZhbHVlcyk7XG5cbiAgLy8gSWYgdGhlIHZhbHVlcyBhcmUgYSBsaXN0IG9yIHN0cmluZywgY29udmVydCBpdCBpbnRvIGEgbWFwXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09IFwic3RyaW5nXCIgb3IgdHlwZS1vZihudGgoJHZhbHVlcywgMSkpICE9IFwibGlzdFwiIHtcbiAgICAkdmFsdWVzOiB6aXAoJHZhbHVlcywgJHZhbHVlcyk7XG4gIH1cblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgJHByb3BlcnRpZXM6IG1hcC1nZXQoJHV0aWxpdHksIHByb3BlcnR5KTtcblxuICAgIC8vIE11bHRpcGxlIHByb3BlcnRpZXMgYXJlIHBvc3NpYmxlLCBmb3IgZXhhbXBsZSB3aXRoIHZlcnRpY2FsIG9yIGhvcml6b250YWwgbWFyZ2lucyBvciBwYWRkaW5nc1xuICAgIEBpZiB0eXBlLW9mKCRwcm9wZXJ0aWVzKSA9PSBcInN0cmluZ1wiIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhcHBlbmQoKCksICRwcm9wZXJ0aWVzKTtcbiAgICB9XG5cbiAgICAvLyBVc2UgY3VzdG9tIGNsYXNzIGlmIHByZXNlbnRcbiAgICAkcHJvcGVydHktY2xhc3M6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjbGFzcyksIG1hcC1nZXQoJHV0aWxpdHksIGNsYXNzKSwgbnRoKCRwcm9wZXJ0aWVzLCAxKSk7XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZigkcHJvcGVydHktY2xhc3MgPT0gbnVsbCwgXCJcIiwgJHByb3BlcnR5LWNsYXNzKTtcblxuICAgIC8vIFN0YXRlIHBhcmFtcyB0byBnZW5lcmF0ZSBwc2V1ZG8tY2xhc3Nlc1xuICAgICRzdGF0ZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIHN0YXRlKSwgbWFwLWdldCgkdXRpbGl0eSwgc3RhdGUpLCAoKSk7XG5cbiAgICAkaW5maXg6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCBzdHItc2xpY2UoJGluZml4LCAxLCAxKSA9PSBcIi1cIiwgc3RyLXNsaWNlKCRpbmZpeCwgMiksICRpbmZpeCk7XG5cbiAgICAvLyBEb24ndCBwcmVmaXggaWYgdmFsdWUga2V5IGlzIG51bGwgKGVnLiB3aXRoIHNoYWRvdyBjbGFzcylcbiAgICAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXI6IGlmKCRrZXksIGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCAkaW5maXggPT0gXCJcIiwgXCJcIiwgXCItXCIpICsgJGtleSwgXCJcIik7XG5cbiAgICBAaWYgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSB7XG4gICAgICAvLyBJbnNpZGUgdGhlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgJGlzLXJmcy1tZWRpYS1xdWVyeSB7XG4gICAgICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWUpO1xuXG4gICAgICAgIC8vIERvIG5vdCByZW5kZXIgYW55dGhpbmcgaWYgZmx1aWQgYW5kIG5vbiBmbHVpZCB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgICAgICR2YWx1ZTogaWYoJHZhbCA9PSByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKSwgbnVsbCwgJHZhbCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2YWx1ZTogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGlzLWNzcy12YXI6IG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXIpO1xuICAgICRpcy1sb2NhbC12YXJzOiBtYXAtZ2V0KCR1dGlsaXR5LCBsb2NhbC12YXJzKTtcbiAgICAkaXMtcnRsOiBtYXAtZ2V0KCR1dGlsaXR5LCBydGwpO1xuXG4gICAgQGlmICR2YWx1ZSAhPSBudWxsIHtcbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmJlZ2luOnJlbW92ZSAqL1xuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLWNzcy12YXIge1xuICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH0jeyRwcm9wZXJ0eS1jbGFzc306ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH0jeyRwcm9wZXJ0eS1jbGFzc306ICN7JHZhbHVlfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgQGVhY2ggJGxvY2FsLXZhciwgJHZhbHVlIGluICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmVuZDpyZW1vdmUgKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExvb3Agb3ZlciBlYWNoIGJyZWFrcG9pbnRcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG5cbiAgLy8gR2VuZXJhdGUgbWVkaWEgcXVlcnkgaWYgbmVlZGVkXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIChtYXAtZ2V0KCR1dGlsaXR5LCByZXNwb25zaXZlKSBvciAkaW5maXggPT0gXCJcIikge1xuICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBSRlMgcmVzY2FsaW5nXG5AbWVkaWEgKG1pbi13aWR0aDogJHJmcy1tcS12YWx1ZSkge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmIChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkgPCAkcmZzLWJyZWFrcG9pbnQpIHtcbiAgICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4LCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByaW50IHV0aWxpdGllc1xuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHV0aWxpdHkgbmVlZHMgcHJpbnQgc3R5bGVzXG4gICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHByaW50KSA9PSB0cnVlIHtcbiAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksIFwiLXByaW50XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBzcGFjaW5nXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuICAgLypsb29wIG92ZXIgYWxsIGJyZWFraW5nIHBvaW50cyovXG4gICBAZWFjaCAkcXVlcnlfbmFtZSwgJHF1ZXJ5X3ZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHsgICAgXG4gICAgICBcbiAgICAvL2lmIGJyZWFraW5nIHBvaW50IG5vdCBlbXB0eVxuICAgICAgQGlmIG1hcC1nZXQoJHNwYWNlcywgJHF1ZXJ5X25hbWUpICE9IG51bGwgeyAgICAgICAgICAgIFxuICAgICAgICAgQGlmICRxdWVyeV92YWx1ZSA9PSAwIHtcbiAgICAgICAgICAgIEBkZWJ1ZyAkcXVlcnlfdmFsdWU7XG4gICAgICAgICAgICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluIG1hcC1nZXQoJHNwYWNlcywgJHF1ZXJ5X25hbWUpIHtcbiAgICAgICAgICAgICAgIEBpZiAkbmFtZSAhPSBudWxsIHtcbiAgICAgICAgICAgICAgIC5tYi0tI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAubXQtLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAucC0tI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHZhbHVlO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgLnBsLS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgLnByLS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIC5wdC0tI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgLnBiLS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICBAZGVidWcgJHF1ZXJ5X3ZhbHVlO1xuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcXVlcnlfdmFsdWUpe1xuICAgICAgICAgICAgIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gbWFwLWdldCgkc3BhY2VzLCAkcXVlcnlfbmFtZSkge1xuICAgICAgICAgICAgICAgIEBpZiAkbmFtZSAhPSBudWxsIHtcbiAgICAgICAgICAgICAgICAgICAgIC5wdC0tI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgLnBiLS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAubXQtLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgLm1iLS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgICAgICAubWItI3skcXVlcnlfbmFtZX0tI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgIC5wLSN7JHF1ZXJ5X25hbWV9LS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgIC5wbC0jeyRxdWVyeV9uYW1lfS0tI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgIC5wdC0jeyRxdWVyeV9uYW1lfS0tI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAucGItI3skcXVlcnlfbmFtZX0tLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICB9XG4gICAgfSBcbiB9IiwiQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgIC5iZy0jeyRuYW1lfSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmFsdWU7XG4gICB9XG59XG5cbi5ncmFkaWVudC0tZGFyayB7XG4gICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDMxNWRlZywgIzAyMDAyNCAwJSwgIzUyNTI1MiAxMDAlKTtcbn1cblxuLmdyYWRpZW50LS1saWdodCB7XG4gICBiYWNrZ3JvdW5kOiByZ2IoMTUzLCAyNTUsIDI1NSk7XG4gICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzE1ZGVnLCByZ2JhKDE1MywgMjU1LCAyNTUsIDEpIDAlLCByZ2JhKDIxMSwgMjUxLCAyNTEsIDEpIDEwMCUpO1xufVxuXG4uZ3JhZGllbnQtLXNlYW1sZXNzIHtcbiAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzMTVkZWcsIG1hcC1nZXQoJGNvbG9ycywgcmVhZEJHKSAwJSwgI2ZmZiAxMDAlKTtcbn1cblxuLnNlYW1sZXNzIHtcbiAgIGJveC1zaGFkb3c6IDBweCAwcHggMzVweCAjYWFhO1xufVxuIiwiLmNpcmNsZSB7XG4gICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmV2ZXJzZSB7XG4gICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5sb2FkaW5nIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICB9XG5cbiAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1nL2xvYWRlci5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA0MCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICB9XG59XG5cbi53LTEwMCB7XG4gICB3aWR0aDogMTAwJTtcbn1cblxuLmgtMTAwIHtcbiAgIGhlaWdodDogMTAwJTtcbn1cblxuLnJvdW5kZWQge1xuICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zdmctYmFzZSB7XG4gICBzdmcge1xuICAgICAgcGF0aCB7XG4gICAgICAgICBmaWxsOiBtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgICAgfVxuICAgfVxufVxuXG4ub3ZlcmZsb3ctc2Nyb2xsIHtcbiAgIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbnByZSB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuXG4gICAuaGxqcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgIH1cbn1cblxuLnBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnotaW5kZXgtMSB7XG4gICB6LWluZGV4OiAxO1xufVxuXG4ucmVzZXQtbWFyZ2luIHtcbiAgIHAge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICB9XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gKi9cblxuIGh0bWwge1xuICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiB9XG4gXG4gLyoqXG4gICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAqL1xuIFxuIGJvZHkge1xuICAgbWFyZ2luOiAwO1xuIH1cbiBcbiAvKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBcbiAvKipcbiAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICogYW5kIEZpcmVmb3guXG4gICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgKi9cbiBcbiBhcnRpY2xlLFxuIGFzaWRlLFxuIGRldGFpbHMsXG4gZmlnY2FwdGlvbixcbiBmaWd1cmUsXG4gZm9vdGVyLFxuIGhlYWRlcixcbiBtYWluLFxuIG1lbnUsXG4gbmF2LFxuIHNlY3Rpb24sXG4gc3VtbWFyeSB7XG4gICBkaXNwbGF5OiBibG9jaztcbiB9XG4gXG4gLyoqXG4gICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICovXG4gXG4gYXVkaW8sXG4gY2FudmFzLFxuIHByb2dyZXNzLFxuIHZpZGVvIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gfVxuIFxuIC8qKlxuICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgKi9cbiBcbiBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgZGlzcGxheTogbm9uZTtcbiAgIGhlaWdodDogMDtcbiB9XG4gXG4gLyoqXG4gICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgKi9cbiBcbiBbaGlkZGVuXSxcbiB0ZW1wbGF0ZSB7XG4gICBkaXNwbGF5OiBub25lO1xuIH1cbiBcbiAvKiBMaW5rc1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4gLyoqXG4gICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICovXG4gXG4gYSB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiB9XG4gXG4gLyoqXG4gICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgKi9cbiBcbiBhOmFjdGl2ZSxcbiBhOmhvdmVyIHtcbiAgIG91dGxpbmU6IDA7XG4gfVxuIFxuIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBcbiAvKipcbiAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICovXG4gXG4gYWJiclt0aXRsZV0ge1xuICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiB9XG4gXG4gLyoqXG4gICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAqL1xuIFxuIGIsXG4gc3Ryb25nIHtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuIH1cbiBcbiAvKipcbiAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICovXG4gXG4gZGZuIHtcbiAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiB9XG4gXG4gLyoqXG4gICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgKi9cbiBcbiBoMSB7XG4gICBmb250LXNpemU6IDJlbTtcbiAgIG1hcmdpbjogMC42N2VtIDA7XG4gfVxuIFxuIC8qKlxuICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICovXG4gXG4gbWFyayB7XG4gICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgY29sb3I6ICMwMDA7XG4gfVxuIFxuIC8qKlxuICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAqL1xuIFxuIHNtYWxsIHtcbiAgIGZvbnQtc2l6ZTogODAlO1xuIH1cbiBcbiAvKipcbiAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICovXG4gXG4gc3ViLFxuIHN1cCB7XG4gICBmb250LXNpemU6IDc1JTtcbiAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuIH1cbiBcbiBzdXAge1xuICAgdG9wOiAtMC41ZW07XG4gfVxuIFxuIHN1YiB7XG4gICBib3R0b206IC0wLjI1ZW07XG4gfVxuIFxuIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuIFxuIC8qKlxuICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAqL1xuIFxuIGltZyB7XG4gICBib3JkZXI6IDA7XG4gfVxuIFxuIC8qKlxuICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAqL1xuIFxuIHN2Zzpub3QoOnJvb3QpIHtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG4gfVxuIFxuIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuIFxuIC8qKlxuICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAqL1xuIFxuIGZpZ3VyZSB7XG4gICBtYXJnaW46IDFlbSA0MHB4O1xuIH1cbiBcbiAvKipcbiAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICovXG4gXG4gaHIge1xuICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICBoZWlnaHQ6IDA7XG4gfVxuIFxuIC8qKlxuICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAqL1xuIFxuIHByZSB7XG4gICBvdmVyZmxvdzogYXV0bztcbiB9XG4gXG4gLyoqXG4gICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAqL1xuIFxuIGNvZGUsXG4ga2JkLFxuIHByZSxcbiBzYW1wIHtcbiAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgIGZvbnQtc2l6ZTogMWVtO1xuIH1cbiBcbiAvKiBGb3Jtc1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4gLyoqXG4gICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICovXG4gXG4gLyoqXG4gICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICovXG4gXG4gYnV0dG9uLFxuIGlucHV0LFxuIG9wdGdyb3VwLFxuIHNlbGVjdCxcbiB0ZXh0YXJlYSB7XG4gICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgbWFyZ2luOiAwOyAvKiAzICovXG4gfVxuIFxuIC8qKlxuICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAqL1xuIFxuIGJ1dHRvbiB7XG4gICBvdmVyZmxvdzogdmlzaWJsZTtcbiB9XG4gXG4gLyoqXG4gICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICovXG4gXG4gYnV0dG9uLFxuIHNlbGVjdCB7XG4gICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiB9XG4gXG4gLyoqXG4gICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICovXG4gXG4gYnV0dG9uLFxuIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbiBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiB9XG4gXG4gLyoqXG4gICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgKi9cbiBcbiBidXR0b25bZGlzYWJsZWRdLFxuIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgIGN1cnNvcjogZGVmYXVsdDtcbiB9XG4gXG4gLyoqXG4gICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAqL1xuIFxuIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICBib3JkZXI6IDA7XG4gICBwYWRkaW5nOiAwO1xuIH1cbiBcbiAvKipcbiAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICovXG4gXG4gaW5wdXQge1xuICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiB9XG4gXG4gLyoqXG4gICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICpcbiAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICovXG4gXG4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICBwYWRkaW5nOiAwOyAvKiAyICovXG4gfVxuIFxuIC8qKlxuICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICovXG4gXG4gaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgIGhlaWdodDogYXV0bztcbiB9XG4gXG4gLyoqXG4gICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgKi9cbiBcbiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuIH1cbiBcbiAvKipcbiAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAqL1xuIFxuIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gfVxuIFxuIC8qKlxuICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgKi9cbiBcbiBmaWVsZHNldCB7XG4gICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgbWFyZ2luOiAwIDJweDtcbiAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiB9XG4gXG4gLyoqXG4gICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgKi9cbiBcbiBsZWdlbmQge1xuICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICBwYWRkaW5nOiAwOyAvKiAyICovXG4gfVxuIFxuIC8qKlxuICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICovXG4gXG4gdGV4dGFyZWEge1xuICAgb3ZlcmZsb3c6IGF1dG87XG4gfVxuIFxuIC8qKlxuICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgKi9cbiBcbiBvcHRncm91cCB7XG4gICBmb250LXdlaWdodDogYm9sZDtcbiB9XG4gXG4gLyogVGFibGVzXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBcbiAvKipcbiAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICovXG4gXG4gdGFibGUge1xuICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgIGJvcmRlci1zcGFjaW5nOiAwO1xuIH1cbiBcbiB0ZCxcbiB0aCB7XG4gICBwYWRkaW5nOiAwO1xuIH0iLCJzdmcsXG5pbWcge1xuICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBoZWlnaHQ6IGF1dG87XG59XG5cbmZpZ3VyZSB7XG4gICBtYXJnaW46IDBweDtcbn1cblxuaWZyYW1lIHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgaGVpZ2h0OiBhdXRvO1xuICAgYXNwZWN0LXJhdGlvOiA1LzM7XG59XG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gbGF6eVxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi5sYXp5LWNvbnRhaW5lciB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQQ0V0TFNCQ2VTQlRZVzBnU0dWeVltVnlkQ0FvUUhOb1pYSmlLU3dnWm05eUlHVjJaWEo1YjI1bExpQk5iM0psSUVBZ2FIUjBjRG92TDJkdmJ5NW5iQzgzUVVwNllrd2dMUzArQ2p4emRtY2dkMmxrZEdnOUlqTTRJaUJvWldsbmFIUTlJak00SWlCMmFXVjNRbTk0UFNJd0lEQWdNemdnTXpnaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2MzUnliMnRsUFNJallXRmhJajRLSUNBZ0lEeG5JR1pwYkd3OUltNXZibVVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJK0NpQWdJQ0FnSUNBZ1BHY2dkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTVNBeEtTSWdjM1J5YjJ0bExYZHBaSFJvUFNJeUlqNEtJQ0FnSUNBZ0lDQWdJQ0FnUEdOcGNtTnNaU0J6ZEhKdmEyVXRiM0JoWTJsMGVUMGlMalVpSUdONFBTSXhPQ0lnWTNrOUlqRTRJaUJ5UFNJeE9DSXZQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk16WWdNVGhqTUMwNUxqazBMVGd1TURZdE1UZ3RNVGd0TVRnaVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHRnVhVzFoZEdWVWNtRnVjMlp2Y20wS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhkSFJ5YVdKMWRHVk9ZVzFsUFNKMGNtRnVjMlp2Y20waUNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGx3WlQwaWNtOTBZWFJsSWdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWnliMjA5SWpBZ01UZ2dNVGdpQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHODlJak0yTUNBeE9DQXhPQ0lLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa2RYSTlJakZ6SWdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjR1ZoZEVOdmRXNTBQU0pwYm1SbFptbHVhWFJsSWk4K0NpQWdJQ0FnSUNBZ0lDQWdJRHd2Y0dGMGFENEtJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQThMMmMrQ2p3dmMzWm5QZz09Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBmb3VydGgpO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSBtYXAtZ2V0KCR0aW1lcywgc2xvdyk7XG4gICB9XG5cbiAgICYubGF6eS1jb250YWluZXItLWxvYWRlZDphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgfVxuXG4gICBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgIH1cblxuICAgJi5sYXp5LWNvbnRhaW5lci0tdHJhbnNwYXJlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICB9XG59XG5cbltkYXRhLWJnXSB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUENFdExTQkNlU0JUWVcwZ1NHVnlZbVZ5ZENBb1FITm9aWEppS1N3Z1ptOXlJR1YyWlhKNWIyNWxMaUJOYjNKbElFQWdhSFIwY0RvdkwyZHZieTVuYkM4M1FVcDZZa3dnTFMwK0NqeHpkbWNnZDJsa2RHZzlJak00SWlCb1pXbG5hSFE5SWpNNElpQjJhV1YzUW05NFBTSXdJREFnTXpnZ016Z2lJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdjM1J5YjJ0bFBTSWpZV0ZoSWo0S0lDQWdJRHhuSUdacGJHdzlJbTV2Ym1VaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSStDaUFnSUNBZ0lDQWdQR2NnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb01TQXhLU0lnYzNSeWIydGxMWGRwWkhSb1BTSXlJajRLSUNBZ0lDQWdJQ0FnSUNBZ1BHTnBjbU5zWlNCemRISnZhMlV0YjNCaFkybDBlVDBpTGpVaUlHTjRQU0l4T0NJZ1kzazlJakU0SWlCeVBTSXhPQ0l2UGdvZ0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5NellnTVRoak1DMDVMamswTFRndU1EWXRNVGd0TVRndE1UZ2lQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQR0Z1YVcxaGRHVlVjbUZ1YzJadmNtMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoZEhSeWFXSjFkR1ZPWVcxbFBTSjBjbUZ1YzJadmNtMGlDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEhsd1pUMGljbTkwWVhSbElnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1p5YjIwOUlqQWdNVGdnTVRnaUNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkRzg5SWpNMk1DQXhPQ0F4T0NJS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtkWEk5SWpGeklnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsY0dWaGRFTnZkVzUwUFNKcGJtUmxabWx1YVhSbElpOCtDaUFnSUNBZ0lDQWdJQ0FnSUR3dmNHRjBhRDRLSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0E4TDJjK0Nqd3ZjM1puUGc9PScpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZm91cnRoKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICBvcGFjaXR5IG1hcC1nZXQoJHRpbWVzLCBzbG93KSxcbiAgICAgICAgIHRvcCAwcyBsaW5lYXIgbWFwLWdldCgkdGltZXMsIHNsb3cpO1xuICAgfVxuXG4gICAmLmxhenktLWxvYWRlZCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICB0b3A6IC0xMDAwJTtcbiAgICAgIH1cbiAgIH1cbn1cblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBiYWNrZ3JvdW5kc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi5iZy1jb3ZlciB7XG4gICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuIiwidGV4dGFyZWEsXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdudW1iZXInXSxcbmlucHV0W3R5cGU9J3RlbCddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSxcbnNlbGVjdHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeSwgMC4yNSk7XG4gICBoZWlnaHQ6IDUwcHg7XG4gICBsaW5lLWhlaWdodDogNTBweDtcbiAgIGJvcmRlcjogbm9uZTtcbiAgIHBhZGRpbmc6IDAgMTVweDtcbn1cblxudGV4dGFyZWEge1xuICAgaGVpZ2h0OiAzMDBweDtcbiAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG4uYWYtZm9ybXtcbiAgIG1heC13aWR0aDo5MDBweDtcbiAgIHdpZHRoOjkwJTtcbiAgIG1hcmdpbjphdXRvO1xufVxuXG4uYWNmLWZpZWxkc3tcbiAgIGRpc3BsYXk6IGdyaWQ7XG4gICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XG4gICBsYWJlbHtcbiAgICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgIH1cbiAgIHNlbGVjdCxcbiAgIGlucHV0e1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCNENkQ2RDY7XG4gICB9XG5cbiAgIC5hZi1maWVsZC10eXBlLW1lc3NhZ2V7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogMztcbiAgICAgIHB7XG4gICAgICAgICBmb250LXNpemU6MjRweDtcbiAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIH1cbiAgIH1cbiAgIC5hZi1maWVsZC10eXBlLXRydWUtZmFsc2UsXG4gICAuYWYtZmllbGQtdGl0ZWwtZGVzLWJlaXRyYWdzLFxuICAgLmFmLWZpZWxkLXR5cGUtc2VsZWN0LFxuICAgLmFmLWZpZWxkLXR5cGUtcmVwZWF0ZXJ7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogMztcbiAgIH1cbiAgIC5hY2YtYWN0aW9uc3tcbiAgICAgIGhlaWdodDo1MHB4O1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IFxuICAgICAgLmFjZi1idXR0b257XG4gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xuICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgIG1pbi13aWR0aDogMTEwcHg7XG4gICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgIFxuICAgICAgfVxuICAgfVxuLmFmLXN1Ym1pdHtcbiAgIC5hY2YtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgIH1cbn1cbn1cblxuXG5cbi5hY2YtZmllbGRzID4gLmFjZi1maWVsZHtcbiAgIGJvcmRlci10b3A6bm9uZSAhaW1wb3J0YW50O1xufSIsIi8qbG9vcCBvdmVyIGFsbCBicmVha2luZyBwb2ludHMqL1xuQGVhY2ggJHF1ZXJ5X25hbWUsICRxdWVyeV92YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAvL2lmIGJyZWFraW5nIHBvaW50IG5vdCBlbXB0eSAoPSBmYWxzZSlcbiAgIEBpZiBtYXAtZ2V0KCRidXR0b25zLCAkcXVlcnlfbmFtZSkgIT0gbnVsbCB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluIG1hcC1kZWVwLWdldCgkYnV0dG9ucywgJHF1ZXJ5X25hbWUpIHtcbiAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkcXVlcnlfbmFtZSkpIHtcbiAgICAgICAgICAgIC5idG4tLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkdmFsdWUsIGZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwgYW5kIG1hcC1kZWVwLWdldCgkdmFsdWUsIGxpbmUtaGVpZ2h0KSAhPSBudWxsIHtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJHZhbHVlLCBsaW5lLWhlaWdodCk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwgYW5kIG1hcC1kZWVwLWdldCgkdmFsdWUsIGhlaWdodCkgIT0gbnVsbCB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1kZWVwLWdldCgkdmFsdWUsIGhlaWdodCk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9XG4gICAgICAgICAgICAgICAgICBudWxsIGFuZFxuICAgICAgICAgICAgICAgICAgbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGV0dGVyLXNwYWNpbmcpICE9XG4gICAgICAgICAgICAgICAgICAwcHggYW5kXG4gICAgICAgICAgICAgICAgICBtYXAtZGVlcC1nZXQoJHZhbHVlLCBsZXR0ZXItc3BhY2luZykgIT1cbiAgICAgICAgICAgICAgICAgIG51bGxcbiAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZGVlcC1nZXQoJHZhbHVlLCBsZXR0ZXItc3BhY2luZyk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwgYW5kIG1hcC1kZWVwLWdldCgkdmFsdWUsIHBhZGRpbmcpICE9IG51bGwge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgcGFkZGluZyk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbi5idG4ge1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIHhsKSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgfVxuICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBwcmltYXJ5KTtcbiAgIGNvbG9yOiB3aGl0ZTtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICBmb250LXdlaWdodDogNzAwO1xuICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciBtYXAtZ2V0KCR0aW1lcywgZmFzdCkgbGluZWFyLCBjb2xvciBtYXAtZ2V0KCR0aW1lcywgZmFzdCkgbGluZWFyO1xuICAgYm9yZGVyOiBub25lO1xuICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBzZWNvbmRhcnkpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgcHJpbWFyeSk7XG4gICB9XG5cbiAgICYuYnRuLS1zZWNvbmRhcnkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBzZWNvbmRhcnkpO1xuICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHN0cmlwZXMsIDYpO1xuICAgICAgfVxuICAgfVxuXG4gICAmLmJ0bi0tdGVydGlhcnkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCB0ZXJ0aWFyeSk7XG4gICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc3RyaXBlcywgNik7XG4gICAgICB9XG4gICB9XG5cbiAgICYuYnRuLS1ncmV5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZ3JleSk7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICB9XG5cbiAgICYuYnRuLS1sb2FkaW5nIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9zcmMvaW1nL2xvYWRlci5zdmcpICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNzAlIDcwJTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgfVxufVxuIiwiQGZvbnQtZmFjZSB7XG4gICBmb250LWZhbWlseTogJ0NpcmN1bGFyTWVkaXVtJztcbiAgIHNyYzogdXJsKCcuLi8uLi9zcmMvZm9udHMvbGluZXRvLWNpcmN1bGFyLW1lZGl1bS5lb3QnKTtcbiAgIHNyYzogdXJsKCcuLi8uLi9zcmMvZm9udHMvbGluZXRvLWNpcmN1bGFyLW1lZGl1bS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgdXJsKCcuLi8uLi9zcmMvZm9udHMvbGluZXRvLWNpcmN1bGFyLW1lZGl1bS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgIHVybCgnLi4vLi4vc3JjL2ZvbnRzL2xpbmV0by1jaXJjdWxhci1tZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogcm9ib3RvLWNvbmRlbnNlZC0zMDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICBmb250LWZhbWlseTogJ1JvYm90byBDb25kZW5zZWQgTGlnaHQnO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgIHNyYzogdXJsKCcuLi8uLi9zcmMvZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MjUtbGF0aW4tMzAwLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gICBzcmM6IGxvY2FsKCcnKSwgdXJsKCcuLi8uLi9zcmMvZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MjUtbGF0aW4tMzAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAvKiBJRTYtSUU4ICovIHVybCgnLi4vLi4vc3JjL2ZvbnRzL3JvYm90by1jb25kZW5zZWQtdjI1LWxhdGluLTMwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqLyB1cmwoJy4uLy4uL3NyYy9mb250cy9yb2JvdG8tY29uZGVuc2VkLXYyNS1sYXRpbi0zMDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgLyogTW9kZXJuIEJyb3dzZXJzICovIHVybCgnLi4vLi4vc3JjL2ZvbnRzL3JvYm90by1jb25kZW5zZWQtdjI1LWxhdGluLTMwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqLyB1cmwoJy4uLy4uL3NyYy9mb250cy9yb2JvdG8tY29uZGVuc2VkLXYyNS1sYXRpbi0zMDAuc3ZnI1JvYm90b0NvbmRlbnNlZCcpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbn1cbi8qIHJvYm90by1jb25kZW5zZWQtcmVndWxhciAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIENvbmRlbnNlZCc7XG4gICBmb250LXN0eWxlOiBub3JtYWw7XG4gICBmb250LXdlaWdodDogNDAwO1xuICAgc3JjOiB1cmwoJy4uLy4uL3NyYy9mb250cy9yb2JvdG8tY29uZGVuc2VkLXYyNS1sYXRpbi1yZWd1bGFyLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gICBzcmM6IGxvY2FsKCcnKSwgdXJsKCcuLi8uLi9zcmMvZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MjUtbGF0aW4tcmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgLyogSUU2LUlFOCAqLyB1cmwoJy4uLy4uL3NyYy9mb250cy9yb2JvdG8tY29uZGVuc2VkLXYyNS1sYXRpbi1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovIHVybCgnLi4vLi4vc3JjL2ZvbnRzL3JvYm90by1jb25kZW5zZWQtdjI1LWxhdGluLXJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgLyogTW9kZXJuIEJyb3dzZXJzICovIHVybCgnLi4vLi4vc3JjL2ZvbnRzL3JvYm90by1jb25kZW5zZWQtdjI1LWxhdGluLXJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi8gdXJsKCcuLi8uLi9zcmMvZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MjUtbGF0aW4tcmVndWxhci5zdmcjUm9ib3RvQ29uZGVuc2VkJylcbiAgICAgICAgIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbn1cbi8qIHJvYm90by1jb25kZW5zZWQtNzAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkIEJvbGQnO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgIHNyYzogdXJsKCcuLi8uLi9zcmMvZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MjUtbGF0aW4tNzAwLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gICBzcmM6IGxvY2FsKCcnKSwgdXJsKCcuLi8uLi9zcmMvZm9udHMvcm9ib3RvLWNvbmRlbnNlZC12MjUtbGF0aW4tNzAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAvKiBJRTYtSUU4ICovIHVybCgnLi4vLi4vc3JjL2ZvbnRzL3JvYm90by1jb25kZW5zZWQtdjI1LWxhdGluLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqLyB1cmwoJy4uLy4uL3NyYy9mb250cy9yb2JvdG8tY29uZGVuc2VkLXYyNS1sYXRpbi03MDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgLyogTW9kZXJuIEJyb3dzZXJzICovIHVybCgnLi4vLi4vc3JjL2ZvbnRzL3JvYm90by1jb25kZW5zZWQtdjI1LWxhdGluLTcwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqLyB1cmwoJy4uLy4uL3NyYy9mb250cy9yb2JvdG8tY29uZGVuc2VkLXYyNS1sYXRpbi03MDAuc3ZnI1JvYm90b0NvbmRlbnNlZCcpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gc2l6aW5nXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuYm9keSB7XG4gICBmb250LWZhbWlseTogJ1JvYm90byBDb25kZW5zZWQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgdHlwbyk7XG5cbiAgIEBlYWNoICRxdWVyeV9uYW1lLCAkcXVlcnlfdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG1hcC1kZWVwLWdldCgkdHlwbywgJHF1ZXJ5X25hbWUpICE9IG51bGwge1xuICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRxdWVyeV9uYW1lKSkge1xuICAgICAgICAgICAgQGlmIG1hcC1kZWVwLWdldCgkdHlwbywgJHF1ZXJ5X25hbWUsIGJvZHksIGZvbnQtc2l6ZSkgIT0gbnVsbCB7XG4gICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkdHlwbywgJHF1ZXJ5X25hbWUsIGJvZHksIGZvbnQtc2l6ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiBtYXAtZGVlcC1nZXQoJHR5cG8sICRxdWVyeV9uYW1lLCBib2R5LCBsaW5lLWhlaWdodCkgIT0gbnVsbCB7XG4gICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbWFwLWRlZXAtZ2V0KCR0eXBvLCAkcXVlcnlfbmFtZSwgYm9keSwgbGluZS1oZWlnaHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgbWFwLWRlZXAtZ2V0KCR0eXBvLCAkcXVlcnlfbmFtZSwgYm9keSwgbGV0dGVyLXNwYWNpbmcpICE9IG51bGwge1xuICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1kZWVwLWdldCgkdHlwbywgJHF1ZXJ5X25hbWUsIGJvZHksIGxldHRlci1zcGFjaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxucCxcbnVsIHtcbiAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICBtYXJnaW4tdG9wOiAwO1xuICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbi5oMSxcbi5oMixcbi5oMyxcbi5oNCxcbi5oNSB7XG4gICBtYXJnaW4tdG9wOiAwO1xuICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICBmb250LWZhbWlseTogJ1JvYm90byBDb25kZW5zZWQgQm9sZCc7XG59XG5cbi8qbG9vcCBvdmVyIGFsbCBicmVha2luZyBwb2ludHMqL1xuQGVhY2ggJHF1ZXJ5X25hbWUsICRxdWVyeV92YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAvL2lmIGJyZWFraW5nIHBvaW50IG5vdCBlbXB0eVxuICAgQGlmIG1hcC1kZWVwLWdldCgkdHlwbywgJHF1ZXJ5X25hbWUpICE9IG51bGwge1xuICAgICAgLy9sb29wIG92ZXIgYWxsIGZvbnQgdHlwZXMgKDEsIDIsIDMsIHAsIHNtYWxsKSBpbiB0aGUgYnJlYWtpbmcgcG9pbnRcbiAgICAgIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gbWFwLWRlZXAtZ2V0KCR0eXBvLCAkcXVlcnlfbmFtZSkge1xuICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRxdWVyeV9uYW1lKSkge1xuICAgICAgICAgICAgLmgjeyRuYW1lfSB7XG4gICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJHZhbHVlLCBmb250LXNpemUpO1xuICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwgYW5kIG1hcC1kZWVwLWdldCgkdmFsdWUsIGxpbmUtaGVpZ2h0KSAhPSBudWxsIHtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJHZhbHVlLCBsaW5lLWhlaWdodCk7XG4gICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgIEBpZiAkdmFsdWUgIT0gbnVsbCBhbmQgbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgZm9udC13ZWlnaHQpICE9IG51bGwge1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkdmFsdWUsIGZvbnQtd2VpZ2h0KTtcbiAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgQGlmICR2YWx1ZSAhPSBudWxsIGFuZCBtYXAtZGVlcC1nZXQoJHZhbHVlLCB1cHBlcmNhc2UpID09IHRydWUge1xuICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgQGlmICR2YWx1ZSAhPVxuICAgICAgICAgICAgICAgICAgbnVsbCBhbmRcbiAgICAgICAgICAgICAgICAgIG1hcC1kZWVwLWdldCgkdmFsdWUsIGxldHRlci1zcGFjaW5nKSAhPVxuICAgICAgICAgICAgICAgICAgMHB4IGFuZFxuICAgICAgICAgICAgICAgICAgbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGV0dGVyLXNwYWNpbmcpICE9XG4gICAgICAgICAgICAgICAgICBudWxsXG4gICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGV0dGVyLXNwYWNpbmcpO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIFRleHQgc3R5bGVzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuYSB7XG4gICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnRleHQtcmlnaHQge1xuICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbGVmdCB7XG4gICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXVwcGVyY2FzZSB7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGV4dC11bmRlcmxpbmUge1xuICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50ZXh0LXNoYWRvdyB7XG4gICB0ZXh0LXNoYWRvdzogMHB4IDFweCA1cHggIzAyMDAyNDtcbn1cblxuLnRleHQtbGV0dGVyc3BhY2luZy13aWRlIHtcbiAgIGxldHRlci1zcGFjaW5nOiAycHg7XG59XG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gZm9udHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4uZm9udC1saWdodCB7XG4gICBmb250LWZhbWlseTogJ1JvYm90byBDb25kZW5zZWQgTGlnaHQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uZm9udC1yZWd1bGFyIHtcbiAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIENvbmRlbnNlZCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gbGlzdHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4ubGlzdCB7XG4gICAubGlzdC0taW5saW5lIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgc20pKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICB9XG4gICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICB9XG4gICB9XG59XG5cbi5saXN0LWNvbnRhaW5lciB7XG4gICB1bCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgcHJpbWFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGlkPVwiY2hlY2tcIj48cGF0aCBmaWxsPVwibm9uZVwiIGQ9XCJNMCAwaDI0djI0SDBWMHpcIj48L3BhdGg+PHBhdGggZmlsbD1cIiUyM2I3MjlhNVwiIGQ9XCJNOSAxNi4xN0w1LjUzIDEyLjdjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwLS4zOS4zOS0uMzkgMS4wMiAwIDEuNDFsNC4xOCA0LjE4Yy4zOS4zOSAxLjAyLjM5IDEuNDEgMEwyMC4yOSA3LjcxYy4zOS0uMzkuMzktMS4wMiAwLTEuNDEtLjM5LS4zOS0xLjAyLS4zOS0xLjQxIDBMOSAxNi4xN3pcIj48L3BhdGg+PC9zdmc+Jyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIGRlY29yYXRpb25zXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLnNlcGFyYXRvciB7XG4gICBwYWRkaW5nLXRvcDogMTVweDtcbiAgIGJvcmRlci10b3A6IDRweCBzb2xpZCBibGFjaztcbn1cblxuLnNlcGFyYXRvci0tYm90dG9tIHtcbiAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGJsYWNrO1xufVxuXG4udHlwby1kZWNvIHtcbiAgIGgyIHtcbiAgICAgIHN0cm9uZyB7XG4gICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAxODBkZWcsXG4gICAgICAgICAgICB0cmFuc3BhcmVudCAwLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQgNTYlLFxuICAgICAgICAgICAgbWFwLWdldCgkY29sb3JzLCBxdWF0ZXJuYXJ5KSA1Ni4wMSUsXG4gICAgICAgICAgICBtYXAtZ2V0KCRjb2xvcnMsIHF1YXRlcm5hcnkpIDk2JSxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50IDk2LjAxJVxuICAgICAgICAgKTtcbiAgICAgIH1cbiAgIH1cblxuICAgYSB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCB0eXBvKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgIH1cbn1cblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBjb2xvcnNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5AZWFjaCAkbmFtZSwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgLnRleHQtI3skbmFtZX0ge1xuICAgICAgY29sb3I6ICR2YWx1ZTtcblxuICAgICAgYSB7XG4gICAgICAgICBjb2xvcjogJHZhbHVlO1xuICAgICAgfVxuICAgfVxufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIGxpbmtzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuYSB7XG4gICBjb2xvcjogbWFwLWdldCgkc3RyaXBlcywgMyk7XG5cbiAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJHN0cmlwZXMsIDYpO1xuICAgfVxufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIFdZU0lXWUdcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4ud3lzaXd5ZyB7XG4gICAvKmxvb3Agb3ZlciBhbGwgYnJlYWtpbmcgcG9pbnRzKi9cbiAgIEBlYWNoICRxdWVyeV9uYW1lLCAkcXVlcnlfdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgLy9pZiBicmVha2luZyBwb2ludCBub3QgZW1wdHlcbiAgICAgIEBpZiBtYXAtZGVlcC1nZXQoJHR5cG8sICRxdWVyeV9uYW1lKSAhPSBudWxsIHtcbiAgICAgICAgIC8vbG9vcCBvdmVyIGFsbCBmb250IHR5cGVzICgxLCAyLCAzLCBwLCBzbWFsbCkgaW4gdGhlIGJyZWFraW5nIHBvaW50XG4gICAgICAgICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluIG1hcC1kZWVwLWdldCgkdHlwbywgJHF1ZXJ5X25hbWUpIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkcXVlcnlfbmFtZSkpIHtcbiAgICAgICAgICAgICAgIGgjeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJHZhbHVlLCBmb250LXNpemUpO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwgYW5kIG1hcC1kZWVwLWdldCgkdmFsdWUsIGxpbmUtaGVpZ2h0KSAhPSBudWxsIHtcbiAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJHZhbHVlLCBsaW5lLWhlaWdodCk7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIEBpZiAkdmFsdWUgIT0gbnVsbCBhbmQgbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgZm9udC13ZWlnaHQpICE9IG51bGwge1xuICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkdmFsdWUsIGZvbnQtd2VpZ2h0KTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgQGlmICR2YWx1ZSAhPSBudWxsIGFuZCBtYXAtZGVlcC1nZXQoJHZhbHVlLCB1cHBlcmNhc2UpID09IHRydWUge1xuICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgQGlmICR2YWx1ZSAhPVxuICAgICAgICAgICAgICAgICAgICAgbnVsbCBhbmRcbiAgICAgICAgICAgICAgICAgICAgIG1hcC1kZWVwLWdldCgkdmFsdWUsIGxldHRlci1zcGFjaW5nKSAhPVxuICAgICAgICAgICAgICAgICAgICAgMHB4IGFuZFxuICAgICAgICAgICAgICAgICAgICAgbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGV0dGVyLXNwYWNpbmcpICE9XG4gICAgICAgICAgICAgICAgICAgICBudWxsXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGV0dGVyLXNwYWNpbmcpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuIiwiLnNvY2lhbCB7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgbWFyZ2luOiAwO1xuICAgcGFkZGluZzogMDtcbiAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgIH1cblxuICAgc3ZnIHtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICB9XG59XG4iLCJmb290ZXIge1xuICAgaGVpZ2h0OiAxMDB2aDtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgei1pbmRleDogMjtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiIsIi5sb2dvIHtcbiAgIG1heC13aWR0aDogMTY3cHg7XG4gICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpKSB7XG4gICAgICBtYXgtd2lkdGg6IDIyNnB4O1xuICAgfVxuICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIHhsKSkge1xuICAgICAgbWF4LXdpZHRoOiAyNjRweDtcbiAgIH1cbn1cblxuLmhlYWRlciB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICB3aWR0aDogMTAwJTtcbiAgIHRvcDogMDtcbiAgIGxlZnQ6IDA7XG4gICB6LWluZGV4OiAxO1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgLmhlYWRlcl9faW5uZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1vdXQ7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgYm90dG9tOiA2MHB4O1xuICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQyUzRnhtbCB2ZXJzaW9uPScxLjAnICUzRiUzRSUzQ3N2ZyBmaWxsPSdub25lJyBoZWlnaHQ9JzI0JyBzdHJva2Utd2lkdGg9JzEuNScgdmlld0JveD0nMCAwIDI0IDI0JyB3aWR0aD0nMjQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J002IDlMMTIgMTVMMTggOScgc3Ryb2tlPSclMjM5OWZmZmYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgIGFuaW1hdGlvbjogYm91bmNlIDJzIGluZmluaXRlO1xuICAgICAgfVxuICAgfVxuXG4gICAmLmhlYWRlci0tbWluaSB7XG4gICAgICAuaGVhZGVyX19pbm5lciB7XG4gICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICBwYWRkaW5nOiA4MHB4IDA7XG5cbiAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAgMCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICB9XG4gICAzMCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICAgfVxuICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgIH1cbn1cbiIsIiNzaWRlYmFyIHtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIHotaW5kZXg6IDEwO1xuICAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzMTVkZWcsICMwMjAwMjQgMCUsICM1MjUyNTIgMTAwJSk7XG4gICBvcGFjaXR5OiAwO1xuICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICBib3R0b206IDA7XG4gICB3aWR0aDogMTAwdnc7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgbGkge1xuICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuXG4gICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICB9XG5cbiAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICB9XG5cbiAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgZmlsbDogbWFwLWdldCgkc3RyaXBlcywgMik7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG5cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IC0yMDBweDtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgdWwge1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzE1ZGVnLCAjMDIwMDI0IDAlLCAjNTI1MjUyIDEwMCUpO1xuICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgcmlnaHQ6IC0yMDBweDtcbiAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICAmLmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgbGVmdDogMDtcbiAgIH1cblxuICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgcGF0aCB7XG4gICAgICAgICBmaWxsOiBtYXAtZ2V0KCRjb2xvcnMsIHByaW1hcnkpO1xuICAgICAgfVxuICAgfVxufVxuIiwiKiB7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4jd3JhcHBlciB7XG4gICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGNiY2I7XG4gICAgICB6LWluZGV4OiAwO1xuICAgfVxufVxuXG4jY29udGVudCB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICNqcy1zY3JvbGxGaWxsZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogM3B4O1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjFzO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgfVxuICAgfVxufVxuXG4kZ2FwOiAyMHB4O1xuLmdyaWQge1xuICAgZGlzcGxheTogZ3JpZDtcbiAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg1JSAtICRnYXAgKyB2YXIoLS1icy1ndXR0ZXIteCwgMC43NXJlbSkpIHJlcGVhdCgxMiwgMWZyKSBjYWxjKFxuICAgICAgICAgNSUgKyB2YXIoLS1icy1ndXR0ZXIteCwgMC43NXJlbSkgLSAkZ2FwXG4gICAgICApO1xuICAgZ2FwOiAkZ2FwO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAmX190ZXh0IHtcbiAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xuICAgICAgZ3JpZC1jb2x1bW4tZW5kOiA3O1xuICAgICAgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4gICAgICBncmlkLXJvdy1lbmQ6IDE7XG4gICAgICBwYWRkaW5nOiA4MHB4IDA7XG4gICB9XG5cbiAgICZfX2Jhbm5lciB7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogMTQ7XG4gICAgICBncmlkLXJvdy1zdGFydDogMTtcbiAgICAgIGdyaWQtcm93LWVuZDogMTtcbiAgIH1cbiAgICZfX2ltYWdlIHtcbiAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiA3O1xuICAgICAgZ3JpZC1jb2x1bW4tZW5kOiAxNTtcbiAgICAgIGdyaWQtcm93LXN0YXJ0OiAxO1xuICAgICAgZ3JpZC1yb3ctZW5kOiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgaW1nIHtcbiAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgfVxufVxuIiwiJGNhcmRfc3BhY2U6IDYwcHg7XG5cbi5jYXJkIHtcbiAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICB6LWluZGV4OiAxO1xuXG4gICAuY2FyZF9faWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiBtYXAtZ2V0KCRjb2xvcnMsIHByaW1hcnkpO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICAuY2FyZF9faGVhZGxpbmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCBsZWZ0LCAjMWExYTFhLCAjNTI1MjUyKTtcbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCBsZWZ0LCAjMWExYTFhLCAjNTI1MjUyKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICMxYTFhMWEsICM1MjUyNTIpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgcHJpbWFyeSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiBjYWxjKCRjYXJkX3NwYWNlICogMC43KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCRjYXJkX3NwYWNlICogMC40KTtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgcGFkZGluZzogJGNhcmRfc3BhY2U7XG4gICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygkY2FyZF9zcGFjZSAqIDAuOCk7XG4gICAgICB9XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyMHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIGgyIHtcbiAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpO1xuICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgMC4zcztcbiAgICAgIH1cbiAgIH1cblxuICAgLmNhcmRfX2ltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgfVxuXG4gICAuY2FyZF9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgICAgcGFkZGluZzogJGNhcmRfc3BhY2U7XG4gICAgICB9XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjBweDtcbiAgIH1cbn1cblxuLmFjdGl2ZSB7XG4gICAuY2FyZF9faWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgIH1cblxuICAgLmNhcmRfX2hlYWRsaW5lIHtcbiAgICAgIGgyIHtcbiAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICB9XG4gICB9XG59XG5cbi8vIHN0cmlwZXNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGNvdW50OiAxO1xuQHdoaWxlICRjb3VudCA8PSA2IHtcbiAgICR3aWR0aDogY2FsYygzMHB4ICsgKCRjb3VudCAqIDEwcHgpKTtcbiAgIC5zdHJpcGUtLSN7JGNvdW50fSB7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuXG4gICAgICBsZWZ0OiBjYWxjKC02MHZ3ICsgKCRjb3VudCAqICR3aWR0aCkpO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpKSB7XG4gICAgICAgICBsZWZ0OiBjYWxjKDBweCArICgkY291bnQgKiAkd2lkdGgpKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKSkge1xuICAgICAgICAgbGVmdDogY2FsYygzNXZ3ICsgKCRjb3VudCAqICR3aWR0aCkpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgeGwpKSB7XG4gICAgICAgICBsZWZ0OiBjYWxjKDQ1dncgKyAoJGNvdW50ICogJHdpZHRoKSk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCB4eGwpKSB7XG4gICAgICAgICBsZWZ0OiBjYWxjKDUwdncgKyAoJGNvdW50ICogJHdpZHRoKSk7XG4gICAgICB9XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHN0cmlwZXMsICRjb3VudCk7XG4gICB9XG4gICAvLyBJbmNyZW1lbnQgdGhlIGNvdW50ZXJcbiAgICRjb3VudDogJGNvdW50ICsgMTtcbn1cblxuLnN0cmlwZSB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB6LWluZGV4OiAxO1xuICAgdHJhbnNmb3JtOiBza2V3KC00NWRlZyk7XG4gICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gICBib3R0b206IC0yMHZoO1xuICAgei1pbmRleDogMTtcbiAgIHRyYW5zaXRpb246IGFsbCAwLjFzO1xuXG4gICAmLnN0cmlwZS0tbWluIHtcbiAgICAgICR3aWR0aDogMTBweDtcbiAgICAgICR3aWR0aF9kZXNrdG9wOiAyMHB4O1xuICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICBsZWZ0OiBpbmhlcml0O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgMC42cztcblxuICAgICAgJGNvdW50OiAxO1xuICAgICAgQHdoaWxlICRjb3VudCA8PSA2IHtcbiAgICAgICAgICYuc3RyaXBlLS0jeyRjb3VudH0ge1xuICAgICAgICAgICAgcmlnaHQ6IGNhbGMoNzBweCArICRjb3VudCAqIDIgKiAkd2lkdGgpO1xuICAgICAgICAgfVxuICAgICAgICAgLy8gSW5jcmVtZW50IHRoZSBjb3VudGVyXG4gICAgICAgICAkY291bnQ6ICRjb3VudCArIDE7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgICAgIHdpZHRoOiAkd2lkdGhfZGVza3RvcDtcblxuICAgICAgICAgJGNvdW50OiAxO1xuICAgICAgICAgQHdoaWxlICRjb3VudCA8PSA2IHtcbiAgICAgICAgICAgICYuc3RyaXBlLS0jeyRjb3VudH0ge1xuICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoODBweCArICRjb3VudCAqIDIgKiAkd2lkdGhfZGVza3RvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBJbmNyZW1lbnQgdGhlIGNvdW50ZXJcbiAgICAgICAgICAgICRjb3VudDogJGNvdW50ICsgMTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBibG9nIHRlYXNlclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi5ibG9nLXRlYXNlciB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgZGlzcGxheTogYmxvY2s7XG5cbiAgIGltZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlO1xuICAgfVxuXG4gICAmOmhvdmVyIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xuICAgfVxuXG4gICAmX19vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNzUpIDAlLCB0cmFuc3BhcmVudCA2MCUpO1xuXG4gICAgICBoMiB7XG4gICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICB9XG5cbiAgICZfX2NhdGVnb3J5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgfVxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjE1ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgfVxufVxuIiwiLm1vZGFsIHtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIHdpZHRoOiAxMDAlO1xuICAgaGVpZ2h0OiAxMDAlO1xuICAgdG9wOiAwO1xuICAgbGVmdDogMDtcbiAgIHJpZ2h0OiAwO1xuICAgYm90dG9tOiAwO1xuICAgb3BhY2l0eTogMDtcbiAgIHotaW5kZXg6IC0xMDA7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICB0cmFuc2l0aW9uOiBvcGFjaXR5IG1hcC1nZXQoJHRpbWVzLCBtZWRpdW0pO1xuICAgZGlzcGxheTogZmxleDtcblxuICAgJi5tb2RhbC0tdGFibGUge1xuICAgICAgLm1vZGFsX19pbm5lciB7XG4gICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgIH1cbiAgIH1cblxuICAgJi5tb2RhbC0tbG9hZGluZyB7XG4gICAgICAubW9kYWxfX2lubmVyIHtcbiAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG5cbiAgICYubW9kYWwtLW9wZW5lZCB7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAubW9kYWxfX2lubmVyIHtcbiAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICB0cmFuc2l0aW9uOiBhbGwgbWFwLWdldCgkdGltZXMsIG1lZGl1bSkgZWFzZS1pbi1vdXQgMC41cztcbiAgICAgIH1cbiAgIH1cblxuICAgLm1vZGFsX19pbm5lciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA5MCU7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgaGVpZ2h0OiA5MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMHB4KTtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgICAgLy8gZm9yIGxvYWRpbmdcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSBtYXAtZ2V0KCR0aW1lcywgZmFzdCk7XG4gICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIHRvcDogMDtcbiAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL3NyYy9pbWcvbG9hZGVyLnN2ZycpO1xuICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwcHg7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbF9fY29udGVudCB7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgIH1cbiAgIC5tb2RhbF9fY2xvc2UtYnRuIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDBweDtcbiAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3JjL2ltZy9idG4tY2xvc2Uuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICB9XG5cbiAgICYubW9kYWwtLWZ1bGwge1xuICAgICAgLm1vZGFsX19pbm5lciB7XG4gICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbF9fY2xvc2UtYnRuIHtcbiAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgIGhlaWdodDogMzBweDtcblxuICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgIH1cbiAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3JjL2ltZy9idG4tY2xvc2UtYmxhY2suc3ZnJyk7XG4gICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICB9XG4gICB9XG59XG4iXX0= */
