/* 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)
 */
:root {
  --bs-base: #3b414f;
  --bs-primary: #f0d3f7;
  --bs-secondary: #fdf495;
  --bs-third: #c17159;
  --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-xl,
.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: 90%;
}

@media (min-width: 1440px) {
  .container-xl, .container-lg, .container-md, .container-smmd, .container {
    max-width: 1400px;
  }
}
.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: 1000px) {
  .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: 1440px) {
  .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: 1000px) {
  .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: 1440px) {
  .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--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--80 {
  margin-bottom: 80px !important;
}

.mt--80 {
  margin-top: 80px !important;
}

.p--80 {
  padding: 80px;
}

.pl--80 {
  padding-left: 80px !important;
}

.pr--80 {
  padding-right: 80px !important;
}

.pt--80 {
  padding-top: 80px !important;
}

.pb--80 {
  padding-bottom: 80px !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--80 {
    padding-top: 80px !important;
  }

  .pb--80 {
    padding-bottom: 80px !important;
  }

  .mt--80 {
    margin-top: 80px !important;
  }

  .mb--80 {
    margin-bottom: 80px !important;
  }

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

  .p-md--80 {
    padding: 80px;
  }

  .pl-md--80 {
    padding-left: 80px;
  }

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

  .pb-md--80 {
    padding-bottom: 80px !important;
  }
}
.bg-base {
  background-color: #3b414f !important;
}

.bg-primary {
  background-color: #f0d3f7 !important;
}

.bg-secondary {
  background-color: #fdf495 !important;
}

.bg-third {
  background-color: #c17159 !important;
}

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

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

/*! 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;
}

.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: 55px;
    height: 52px;
    padding: 0 30px;
  }
}
@media (min-width: 0) {
  .btn--2 {
    font-size: 13px;
    line-height: 33px;
    height: 33px;
    padding: 0 2em;
  }
}
@media (min-width: 0) {
  .btn--3 {
    font-size: 16px;
    line-height: 30px;
    height: 30px;
    padding: 0 2em;
  }
}
@media (min-width: 768px) {
  .btn--1 {
    font-size: 15px;
    line-height: 65px;
    height: 65px;
    letter-spacing: 1px;
  }
}
@media (min-width: 768px) {
  .btn--2 {
    font-size: 16px;
    line-height: 36px;
    height: 36px;
  }
}
.btn {
  display: block;
  overflow: hidden;
  border-radius: 4px;
  background-color: #fdf495;
  color: #3b414f;
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
  transition: all 0.3s;
  border: none;
  -moz-appearance: none;
  font-family: "Apris";
  position: relative;
  isolation: isolate;
  padding-right: 60px;
}
.btn * {
  position: relative;
  z-index: 1;
}
.btn.btn--third {
  color: #c17159;
}
.btn.btn--white {
  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;
}
.btn:after {
  content: "";
  display: block;
  height: 100%;
  width: 40px;
  top: 0;
  right: 10px;
  position: absolute;
  background-image: url('data:image/svg+xml,<svg class="deco" width="402" height="402" viewBox="0 0 402 402" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M200.992 0L221.945 68.6387L263.098 9.83184L261.825 81.6026L319.125 38.3894L295.743 106.241L363.594 82.8588L320.381 140.158L392.152 138.885L333.345 180.038L401.983 200.992L333.345 221.945L392.152 263.098L320.381 261.825L363.594 319.125L295.743 295.743L319.125 363.594L261.825 320.381L263.098 392.152L221.945 333.345L200.992 401.983L180.038 333.345L138.885 392.152L140.158 320.381L82.8588 363.594L106.241 295.743L38.3894 319.125L81.6026 261.825L9.83184 263.098L68.6387 221.945L0 200.992L68.6387 180.038L9.83184 138.885L81.6026 140.158L38.3894 82.8588L106.241 106.241L82.8588 38.3894L140.158 81.6026L138.885 9.83184L180.038 68.6387L200.992 0Z" fill="%23F0D3F7" /></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  z-index: -1;
  transition: all 0.5s;
}
.btn:hover {
  padding-right: 45px;
  padding-left: 45px;
  color: #3b414f;
}
.btn:hover:after {
  transform: scale(15);
}

@font-face {
  font-family: "Inter";
  src: url("../../src/fonts/Inter-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../../src/fonts/Inter-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Apris";
  src: url("../../src/fonts/Apris-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Apris-Medium";
  src: url("../../src/fonts/Apris-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Apris-Italic";
  src: url("../../src/fonts/Apris-MediumItalic.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Apris";
  src: url("../../src/fonts/Apris-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
body {
  font-family: "Inter";
  color: #3b414f;
}
@media (min-width: 0) {
  body {
    font-size: 16px;
    line-height: 150%;
  }
}
@media (min-width: 768px) {
  body {
    font-size: 20px;
    line-height: 150%;
  }
}
@media (min-width: 1000px) {
  body {
    font-size: 20px;
    line-height: 150%;
  }
}

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: normal;
  margin-bottom: 20px;
  font-family: "Apris";
}

/*loop over all breaking points*/
@media (min-width: 0) {
  .h1 {
    font-size: 8vh;
    line-height: 110%;
  }
}
@media (min-width: 0) {
  .h2 {
    font-size: 34px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .h3 {
    font-size: 27px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .h4 {
    font-size: 20px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .h5 {
    font-size: 16px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .h6 {
    font-size: 13px;
    line-height: 130%;
  }
}
@media (min-width: 0) {
  .h7 {
    font-size: 13px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .hbody {
    font-size: 16px;
    line-height: 150%;
  }
}
@media (min-width: 0) {
  .hsmall {
    font-size: 16px;
    line-height: 150%;
  }
}
@media (min-width: 768px) {
  .h1 {
    font-size: 70px;
    line-height: 110%;
  }
}
@media (min-width: 768px) {
  .h2 {
    font-size: 40px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .h3 {
    font-size: 29px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .h4 {
    font-size: 26px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .h5 {
    font-size: 20px;
    line-height: 120%;
  }
}
@media (min-width: 768px) {
  .h6 {
    font-size: 16px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .h7 {
    font-size: 13px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .hbody {
    font-size: 20px;
    line-height: 150%;
  }
}
@media (min-width: 768px) {
  .hsmall {
    font-size: 20px;
    line-height: 150%;
  }
}
@media (min-width: 1000px) {
  .h1 {
    font-size: 120px;
    line-height: 110%;
  }
}
@media (min-width: 1000px) {
  .h2 {
    font-size: 40px;
    line-height: 125%;
  }
}
@media (min-width: 1000px) {
  .h3 {
    font-size: 36px;
    line-height: 125%;
  }
}
@media (min-width: 1000px) {
  .h4 {
    font-size: 25px;
    line-height: 125%;
  }
}
@media (min-width: 1000px) {
  .h5 {
    font-size: 20px;
    line-height: 120%;
  }
}
@media (min-width: 1000px) {
  .h6 {
    font-size: 16px;
    line-height: 125%;
  }
}
@media (min-width: 1000px) {
  .h7 {
    font-size: 13px;
    line-height: 125%;
  }
}
@media (min-width: 1000px) {
  .hbody {
    font-size: 20px;
    line-height: 150%;
  }
}
@media (min-width: 1000px) {
  .hsmall {
    font-size: 20px;
    line-height: 150%;
  }
}
.font-serif {
  font-family: "Apris";
}

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

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

.separator {
  padding-top: 15px;
  border-top: 4px solid black;
}

.separator--bottom {
  padding-bottom: 15px;
  border-bottom: 2px solid black;
}

.text-base {
  color: #3b414f;
}
.text-base a {
  color: #3b414f;
}

.text-primary {
  color: #f0d3f7;
}
.text-primary a {
  color: #f0d3f7;
}

.text-secondary {
  color: #fdf495;
}
.text-secondary a {
  color: #fdf495;
}

.text-third {
  color: #c17159;
}
.text-third a {
  color: #c17159;
}

.text-white {
  color: #ffffff;
}
.text-white a {
  color: #ffffff;
}

a {
  color: #f0d3f7;
}
a:hover {
  color: #c17159;
}

.wysiwyg a {
  color: #3b414f;
  text-decoration: underline;
}

.actors-page {
  background-color: #f4e6e1;
  min-height: 100vh;
}

.actors-hero {
  position: relative;
  height: 340px;
  overflow: hidden;
  background-color: #000;
}
@media (min-width: 768px) {
  .actors-hero {
    min-height: 50vh;
  }
}
@media (min-width: 1000px) {
  .actors-hero {
    min-height: 50vh;
  }
}
.actors-hero__bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #000;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  animation: fadeIn 1s ease 0s both;
}
.actors-hero__title {
  position: absolute;
  bottom: 0;
  left: 24px;
  right: 24px;
  font-family: "Apris-Medium", sans-serif;
  font-size: clamp(50px, 10vw, 180px);
  line-height: 1;
  color: #fdf495;
  margin: 0;
  z-index: 2;
  pointer-events: none;
  padding-bottom: 10vh;
  animation: fadeUp 0.7s ease 0.9s both;
}
@media (min-width: 768px) {
  .actors-hero__title {
    left: 40px;
  }
}
@media (min-width: 1000px) {
  .actors-hero__title {
    left: 60px;
  }
}

.about-team-header {
  background-color: #fdf495;
  padding: 10px 15px;
  margin-top: 64px;
  margin-bottom: 32px;
}
@media (min-width: 768px) {
  .about-team-header {
    margin-top: 80px;
    margin-bottom: 40px;
  }
}
@media (min-width: 1000px) {
  .about-team-header {
    margin-top: 96px;
    margin-bottom: 48px;
  }
}
.about-team-header__title {
  font-family: "Apris-Medium", sans-serif;
  font-size: clamp(24px, 4vw, 48px);
  line-height: 1;
  color: #3b414f;
  margin: 0;
}

.actors-bar {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0 24px 0;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .actors-bar {
    padding: 0px 40px 0;
  }
}
@media (min-width: 1000px) {
  .actors-bar {
    padding: 0px 60px 0;
  }
}

.actors-tabs {
  display: flex;
  align-items: center;
  background-color: #f0d3f7;
  border-radius: 4px;
  padding: 5px;
  gap: 2px;
  flex-wrap: wrap;
  border: 1px solid #e5cdeb;
  margin-top: -24px;
}
.actors-tabs__item {
  font-family: "Apris-Medium", sans-serif;
  font-size: 16px;
  line-height: 1;
  color: #3b414f;
  text-decoration: none;
  padding: 7px 16px;
  border-radius: 3px;
  transition: color 0.3s, background-color 0.3s;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .actors-tabs__item {
    font-size: 20px;
    padding: 9px 20px;
  }
}
.actors-tabs__item.is-active {
  background-color: #fff;
  color: #c17159;
  pointer-events: none;
}
.actors-tabs__item:hover:not(.is-active) {
  opacity: 0.7;
}

.actors-view-toggle {
  display: flex;
  align-items: center;
  gap: 12px;
  align-self: flex-end;
  margin-top: 42px;
  margin-bottom: 26px;
}
.actors-view-toggle__item {
  font-family: "Apris", sans-serif;
  font-size: 24px;
  line-height: 1;
  color: #3b414f;
  text-decoration: none;
  opacity: 0.35;
  transition: opacity 0.3s;
}
@media (min-width: 1000px) {
  .actors-view-toggle__item {
    font-size: 36px;
  }
}
.actors-view-toggle__item.is-active {
  opacity: 1;
  color: #c17159;
  pointer-events: none;
}
.actors-view-toggle__item:hover:not(.is-active) {
  opacity: 0.65;
}

.actors-grid {
  transition: opacity 0.22s ease;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}
.actors-grid.is-fading {
  opacity: 0;
}
@media (min-width: 768px) {
  .actors-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1000px) {
  .actors-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.actors-grid__empty {
  grid-column: 1/-1;
  font-family: "Apris", sans-serif;
  font-size: 24px;
  color: #3b414f;
  padding: 40px 0;
  text-align: center;
  opacity: 0.5;
}
.actors-grid--list {
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
@media (max-width: 767px) {
  .actors-grid--list {
    grid-template-columns: 1fr;
  }
}
.actors-grid--list .actor-card {
  aspect-ratio: unset;
  border-radius: 0;
  overflow: visible;
  color: #3b414f;
}
.actors-grid--list .actor-card__bg, .actors-grid--list .actor-card__overlay {
  display: none;
}
.actors-grid--list .actor-card__info {
  position: static;
  padding: 1px 0;
  text-align: right;
  transform: none !important;
  transition: none;
}
.actors-grid--list .actor-card__name {
  line-height: 1.1;
}
.actors-grid--list .actor-card__first-name {
  display: inline;
  font-size: clamp(12px, 3cqw, 18px);
  color: #3b414f;
  padding-left: 4%;
}
.actors-grid--list .actor-card__last-name {
  display: inline;
  font-size: clamp(22px, 8cqw, 44px);
  color: #3b414f;
  text-shadow: none;
}
.actors-grid--list .actor-card__extra {
  display: none !important;
  max-height: 0 !important;
}
.actors-grid--list .actor-card:hover .actors-grid--list .actor-card__bg {
  transform: none;
}

.actor-card {
  container-type: inline-size;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  aspect-ratio: 3/4.5;
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
  transition: opacity 0.26s ease, transform 0.26s ease;
}
.actor-card.is-out {
  opacity: 0;
  transform: scale(0.94);
  pointer-events: none;
}
.actor-card__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-color: #303540;
  transition: transform 0.6s ease;
  will-change: transform;
}
.actor-card:hover .actor-card__bg {
  transform: scale(1.04);
}
.actor-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(23, 28, 37, 0) 55%, rgba(37, 49, 33, 0.9) 100%);
  pointer-events: none;
  transition: background-color 0.3s;
}
.actor-card:hover .actor-card__overlay {
  background-color: rgba(0, 0, 0, 0.2);
}
.actor-card__info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  padding: 20px;
}
@media (min-width: 1000px) {
  .actor-card__info {
    padding: 25px;
  }
}
.actor-card__name {
  font-family: "Apris-Medium", sans-serif;
}
.actor-card__first-name {
  font-family: "Apris-Italic", sans-serif;
  font-size: clamp(14px, 5cqw, 22px);
  line-height: 0.9;
  display: block;
  margin-bottom: 2px;
  padding-left: 4%;
  color: #fff;
  transition: color 0.3s;
}
.actor-card__last-name {
  font-size: clamp(26px, 12cqw, 63px);
  line-height: 1;
  display: block;
  color: #fff;
  transition: color 0.3s;
}
.actor-card__extra {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 10px;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.3s ease 0.1s;
}
.actor-card:hover .actor-card__extra {
  max-height: 300px;
  opacity: 1;
}
.actor-card:hover .actor-card__first-name, .actor-card:hover .actor-card__last-name {
  color: white;
}
.actor-card__meta {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  text-shadow: 0 2px 42px rgba(0, 0, 0, 0.5), 0 4px 32px rgba(0, 0, 0, 0.15);
}
.actor-card__langs {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
}

.actors-grid--team {
  gap: 24px;
  padding: 0 24px 48px;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  .actors-grid--team {
    padding: 0 40px 48px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1000px) {
  .actors-grid--team {
    padding: 0 60px 64px;
    grid-template-columns: repeat(4, 1fr);
  }
}

.team-card {
  container-type: inline-size;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
}
.team-card__icon {
  width: 100%;
}
.team-card__icon svg {
  width: 100%;
  height: auto;
  display: block;
}
.team-card__name {
  font-family: "Apris", sans-serif;
  font-size: clamp(13px, 5cqw, 20px);
  line-height: 1.3;
  color: #3b414f;
}

.team-overlay {
  position: fixed;
  inset: 0;
  z-index: 9000;
  background-color: #f0d3f7;
  clip-path: circle(0px at 50% 50%);
  pointer-events: none;
  overflow-y: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.team-overlay.is-open {
  pointer-events: all;
}
.team-overlay__inner {
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 100px 20px 60px;
  opacity: 0;
  transition: opacity 0.35s ease;
  box-sizing: border-box;
  max-width: 600px;
}
@media (min-width: 768px) {
  .team-overlay__inner {
    padding: 100px 60px 80px;
  }
}
.team-overlay.content-visible .team-overlay__inner {
  opacity: 1;
}
.team-overlay__close {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 9001;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: 40px;
  line-height: 1;
  color: #3b414f;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.team-overlay__close:hover {
  opacity: 1 !important;
}
.team-overlay.content-visible .team-overlay__close {
  opacity: 0.45;
  pointer-events: all;
}

.team-member-modal {
  width: 100%;
  max-width: 680px;
}
.team-member-modal__img {
  display: block;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 28px;
}
@media (min-width: 768px) {
  .team-member-modal__img {
    width: 220px;
    height: 220px;
  }
}
.team-member-modal__name {
  font-family: "Apris-Medium", sans-serif;
  font-size: clamp(28px, 4vw, 56px);
  line-height: 1;
  color: #3b414f;
  margin: 0 0 28px;
}
.team-member-modal__content {
  font-family: "Inter", sans-serif;
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.7;
  color: #3b414f;
  text-align: left;
}
.team-member-modal__content p {
  margin-bottom: 16px;
}

.contact-page {
  min-height: 100vh;
  background-color: #fff;
}

.contact-hero {
  position: relative;
  height: 340px;
  overflow: hidden;
  background-color: #000;
}
@media (min-width: 768px) {
  .contact-hero {
    min-height: 50vh;
  }
}
.contact-hero__bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  animation: fadeIn 1s ease 0s both;
}
.contact-hero__title {
  position: absolute;
  bottom: 0;
  left: 24px;
  right: 24px;
  font-family: "Apris-Medium", sans-serif;
  font-size: clamp(50px, 10vw, 180px);
  line-height: 1;
  color: #fdf495;
  margin: 0;
  z-index: 2;
  pointer-events: none;
  padding-bottom: 10vh;
  animation: fadeUp 0.7s ease 0.9s both;
}
@media (min-width: 768px) {
  .contact-hero__title {
    left: 40px;
  }
}
@media (min-width: 1000px) {
  .contact-hero__title {
    left: 60px;
  }
}

.contact-content {
  background-color: #fdf495;
  padding: 64px 24px;
}
@media (min-width: 768px) {
  .contact-content {
    padding: 80px 40px;
  }
}
@media (min-width: 1000px) {
  .contact-content {
    padding: 96px 60px;
  }
}

.news-page {
  background-color: #fff;
  min-height: 100vh;
}

.news-hero {
  position: relative;
  height: 340px;
  overflow: hidden;
  background-color: #000;
}
@media (min-width: 768px) {
  .news-hero {
    min-height: 50vh;
  }
}
.news-hero__bg {
  position: absolute;
  top: -35vh;
  bottom: -35vh;
  left: 0;
  right: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  animation: fadeIn 1s ease 0s both;
}
.news-hero__title {
  position: absolute;
  bottom: 0;
  left: 24px;
  right: 24px;
  font-family: "Apris-Medium", sans-serif;
  font-size: clamp(50px, 10vw, 180px);
  line-height: 1;
  color: #fdf495;
  margin: 0;
  z-index: 2;
  pointer-events: none;
  padding-bottom: 10vh;
  animation: fadeUp 0.7s ease 0.9s both;
}
@media (min-width: 768px) {
  .news-hero__title {
    left: 40px;
  }
}
@media (min-width: 1000px) {
  .news-hero__title {
    left: 60px;
  }
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: 10px 24px 64px;
}
@media (min-width: 768px) {
  .news-grid {
    grid-template-columns: repeat(3, 1fr);
    padding: 10px 40px 80px;
  }
}
@media (min-width: 1000px) {
  .news-grid {
    padding: 10px 60px 96px;
  }
}
.news-grid__empty {
  grid-column: 1/-1;
  font-family: "Apris", sans-serif;
  font-size: 24px;
  color: #3b414f;
  padding: 40px 0;
  text-align: center;
  opacity: 0.5;
}

.news-more {
  display: flex;
  justify-content: center;
  padding: 0 24px 80px;
}
@media (min-width: 768px) {
  .news-more {
    padding: 0 40px 96px;
  }
}
.news-more__btn {
  position: relative;
  font-family: "Apris-Medium", sans-serif;
  font-size: 18px;
  color: #3b414f;
  background: none;
  border: 1.5px solid #3b414f;
  border-radius: 9999px;
  padding: 12px 40px;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
}
.news-more__btn:hover {
  background-color: #3b414f;
  color: #fff;
}
.news-more__btn.is-loading {
  color: transparent;
  pointer-events: none;
}
.news-more__btn .news-more__loader {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
}
.news-more__btn.is-loading .news-more__loader {
  display: block;
}

.news-card {
  position: relative;
  display: block;
  aspect-ratio: 1/1;
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none;
}
.news-card__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-color: #303540;
}
.news-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(23, 28, 37, 0.85) 100%);
  pointer-events: none;
  transition: background 0.3s;
}
.news-card:hover .news-card__overlay {
  background: rgba(240, 211, 247, 0.92);
}
.news-card__type {
  position: absolute;
  top: 14px;
  right: 14px;
  font-size: 16px;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.45);
  border-radius: 50%;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.news-card__info {
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: 18px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
@media (min-width: 1000px) {
  .news-card__info {
    padding: 22px;
  }
}
.news-card:hover .news-card__info {
  opacity: 1;
  transform: translateY(0);
}
.news-card__date {
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #3b414f;
  letter-spacing: 0.05em;
  margin-top: auto;
  margin-bottom: 4px;
  display: block;
  opacity: 0.6;
}
.news-card__caption {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: #3b414f;
  margin: 0;
}

.talent-page {
  background-color: white;
}

.talent-hero {
  position: relative;
  height: 100vh;
  background-color: #3b414f;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.talent-hero__bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  will-change: transform;
}
@media (min-width: 768px) {
  .talent-hero__bg {
    background-position: left center;
  }
}
.talent-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(0, 0, 0, 0.55) 100%);
  pointer-events: none;
}
.talent-hero__name {
  position: absolute;
  bottom: 0;
  left: 24px;
  z-index: 1;
  padding-bottom: 10vh;
}
@media (min-width: 768px) {
  .talent-hero__name {
    left: 40px;
  }
}
@media (min-width: 1000px) {
  .talent-hero__name {
    left: 60px;
  }
}
.talent-hero__first-name {
  display: block;
  font-family: "Apris-Italic", sans-serif;
  font-size: clamp(24px, 3.5vw, 56px);
  line-height: 1;
  color: #fdf495;
  margin-bottom: 4px;
  animation: fadeUp 0.7s ease 0.2s both;
  margin-left: 3vw;
}
.talent-hero__last-name {
  display: block;
  font-family: "Apris-Medium", sans-serif;
  font-size: clamp(72px, 11vw, 220px);
  line-height: 0.85;
  color: #fdf495;
  animation: fadeUp 0.7s ease 0.4s both;
}
.talent-hero__role {
  display: block;
  font-family: "Apris-Italic", sans-serif;
  font-size: clamp(18px, 2vw, 36px);
  line-height: 1;
  color: #fdf495;
  opacity: 0.75;
  margin-top: 26px;
  text-align: right;
  animation: fadeUp 0.7s ease 0.6s both;
}

.talent-hero--slider {
  background: none;
}
.talent-hero--slider .talent-hero-swiper {
  position: absolute;
  inset: 0;
}
.talent-hero--slider .swiper-slide.talent-hero__slide {
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.talent-hero--slider .talent-hero-swiper__prev,
.talent-hero--slider .talent-hero-swiper__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  background: none;
  border: none;
  outline: none;
  color: #fff;
  padding: 16px;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.3s;
  display: flex;
  align-items: center;
}
.talent-hero--slider .talent-hero-swiper__prev svg,
.talent-hero--slider .talent-hero-swiper__next svg {
  width: 14px;
  height: 26px;
}
.talent-hero--slider .talent-hero-swiper__prev:focus,
.talent-hero--slider .talent-hero-swiper__next:focus {
  outline: none;
}
.talent-hero--slider .talent-hero-swiper__prev:hover,
.talent-hero--slider .talent-hero-swiper__next:hover {
  opacity: 1;
}
.talent-hero--slider .talent-hero-swiper__prev {
  left: 0;
}
.talent-hero--slider .talent-hero-swiper__prev svg {
  transform: scaleX(-1);
}
.talent-hero--slider .talent-hero-swiper__next {
  right: 0;
}
.talent-hero--slider .talent-hero-swiper__pagination {
  position: absolute;
  bottom: 24px;
  left: 0;
  right: 0;
  z-index: 3;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.talent-hero--slider .talent-hero-swiper__pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: background-color 0.3s;
}
.talent-hero--slider .talent-hero-swiper__pagination .swiper-pagination-bullet-active {
  background: #fff;
}

.talent-bar {
  padding: 0 24px;
  margin-top: -20px;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
@media (min-width: 768px) {
  .talent-bar {
    padding: 0 40px;
    flex-wrap: nowrap;
  }
}
@media (min-width: 1000px) {
  .talent-bar {
    padding: 0 60px;
    margin-top: -27px;
  }
}

.talent-download {
  margin-left: auto;
  font-family: "Apris-Medium", sans-serif;
  font-size: 16px;
  line-height: 1;
  color: #3b414f;
  text-decoration: none;
  padding: 12px 16px;
  border-radius: 4px;
  background-color: #fdf495;
  white-space: nowrap;
  transition: background-color 0.3s;
}
@media (min-width: 768px) {
  .talent-download {
    font-size: 20px;
    padding: 14px 20px;
  }
}
.talent-download:hover {
  background-color: #f0d3f7;
  color: #3b414f;
}

.talent-tabs {
  display: flex;
  align-items: center;
  background-color: #f0d3f7;
  border-radius: 4px;
  padding: 5px;
  gap: 2px;
  border: 1px solid #e5cdeb;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}
@media (min-width: 768px) {
  .talent-tabs {
    overflow-x: visible;
  }
}
.talent-tabs__item {
  font-family: "Apris-Medium", sans-serif;
  font-size: 16px;
  line-height: 1;
  color: #3b414f;
  text-decoration: none;
  padding: 7px 16px;
  border-radius: 3px;
  transition: color 0.3s, background-color 0.3s;
  white-space: nowrap;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .talent-tabs__item {
    font-size: 20px;
    padding: 9px 20px;
  }
}
.talent-tabs__item.is-active {
  color: #c17159;
  pointer-events: none;
}
.talent-tabs__item:hover:not(.is-active) {
  opacity: 0.5;
  color: #3b414f;
}

.talent-section {
  padding: 40px 24px 80px;
}
@media (min-width: 768px) {
  .talent-section {
    padding: 48px 40px 96px;
  }
}
@media (min-width: 1000px) {
  .talent-section {
    padding: 56px 60px 120px;
  }
}

.talent-skills {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 80px;
}
@media (max-width: 768px) {
  .talent-skills {
    grid-template-columns: 1fr;
  }
}

.skill-row {
  display: flex;
  flex-direction: column;
  padding: 12px 0;
  border-bottom: 1px solid rgba(59, 65, 79, 0.1);
}
.skill-row--training {
  border-bottom: none;
  padding-bottom: 0;
}
.skill-row__label {
  font-family: "Apris-Medium", sans-serif;
  font-size: clamp(20px, 0.9vw, 13px);
  color: #3b414f;
  line-height: 1;
  margin-bottom: 4px;
}
.skill-row__value {
  font-family: "Inter", sans-serif;
  font-size: clamp(13px, 1.1vw, 15px);
  color: rgba(59, 65, 79, 0.55);
  line-height: 1.5;
}

.skill-training {
  display: flex;
  flex-direction: column;
}
.skill-training__entry {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 0 16px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(59, 65, 79, 0.1);
}
.skill-training__year {
  font-family: "Inter", sans-serif;
  font-size: clamp(11px, 0.9vw, 13px);
  color: rgba(59, 65, 79, 0.45);
  padding-top: 2px;
  line-height: 1;
}
.skill-training__name {
  font-family: "Inter", sans-serif;
  font-size: clamp(13px, 1.1vw, 15px);
  color: rgba(59, 65, 79, 0.55);
  line-height: 1.4;
}

.vita-heading {
  font-family: "Apris-Medium", sans-serif;
  font-size: clamp(18px, 3vw, 28px);
  line-height: 1.2;
  color: #3b414f;
  margin: 52px 0 0;
  padding: 5px 10px;
  background-color: #fdf495;
}
.vita-heading:first-child {
  margin-top: 0;
}
.vita-heading--awards {
  margin-top: 56px;
}
.vita-heading__selection {
  font-family: "Apris-Italic", sans-serif;
  opacity: 0.45;
}

.vita-list {
  margin-top: 8px;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  padding-left: 24px;
}
@media (min-width: 1000px) {
  .vita-list {
    padding-left: 40px;
  }
}

.vita-entry {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 0 24px;
  padding: 4px 0;
  align-items: baseline;
}
@media (min-width: 768px) {
  .vita-entry {
    grid-template-columns: 30px 1fr;
  }
}
.vita-entry__year {
  font-family: "Apris-Medium", sans-serif;
  font-size: clamp(12px, 1vw, 14px);
  color: rgba(59, 65, 79, 0.45);
  padding-top: 5px;
  line-height: 1;
}
.vita-entry__title {
  font-family: "Apris-Medium", sans-serif;
  font-size: clamp(18px, 1.3vw, 20px);
  line-height: 1.1;
  color: #3b414f;
  margin: 0 12px 0 0;
}
.vita-entry__meta {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: rgba(59, 65, 79, 0.55);
  margin: 0;
  line-height: 1.4;
}

.vita-entry-wrap {
  display: none;
  overflow: hidden;
}

.vita-show-more {
  background: none;
  border: none;
  outline: none;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: rgba(59, 65, 79, 0.5);
  cursor: pointer;
  padding: 0;
  margin-top: 10px;
  margin-bottom: 20px;
  display: block;
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.3s;
}
.vita-show-more:hover {
  opacity: 0.7;
}
.vita-show-more:focus {
  outline: none;
}

.talent-biography {
  max-width: 720px;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.7;
  color: #3b414f;
}
.talent-biography p {
  margin: 0 0 1em;
}

.talent-section__empty {
  font-family: "Apris", sans-serif;
  font-size: 20px;
  color: #3b414f;
  opacity: 0.4;
  padding: 40px 0;
  text-align: center;
}

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.gallery-lightbox.is-open {
  opacity: 1;
  pointer-events: all;
}
.gallery-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
}
.gallery-lightbox__stage {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: calc(100vw - 160px);
  max-height: 90vh;
}
@media (max-width: 767px) {
  .gallery-lightbox__stage {
    max-width: calc(100vw - 40px);
    max-height: 88vh;
  }
}
.gallery-lightbox__img {
  display: block;
  max-width: 100%;
  max-height: 75vh;
  border-radius: 12px;
  object-fit: contain;
  opacity: 0;
  transition: opacity 0.25s ease;
  flex-shrink: 1;
}
@media (max-width: 767px) {
  .gallery-lightbox__img {
    max-height: 70vh;
    border-radius: 8px;
  }
}
.gallery-lightbox__img.is-loaded {
  opacity: 1;
}
.gallery-lightbox__caption {
  margin: 10px 0 0;
  padding: 0 4px;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
  width: 100%;
  overflow-wrap: break-word;
}
@media (max-width: 767px) {
  .gallery-lightbox__caption {
    font-size: 12px;
  }
}
.gallery-lightbox__close {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 2;
  background: none;
  border: none;
  outline: none;
  color: #fff;
  font-size: 32px;
  line-height: 1;
  padding: 0;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.3s;
}
.gallery-lightbox__close:focus {
  outline: none;
}
.gallery-lightbox__close:hover {
  opacity: 1;
}
.gallery-lightbox__prev, .gallery-lightbox__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  background: none;
  border: none;
  outline: none;
  color: #fff;
  padding: 16px;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.3s;
  display: flex;
  align-items: center;
}
.gallery-lightbox__prev svg, .gallery-lightbox__next svg {
  width: 14px;
  height: 26px;
}
@media (max-width: 767px) {
  .gallery-lightbox__prev, .gallery-lightbox__next {
    padding: 10px;
  }
  .gallery-lightbox__prev svg, .gallery-lightbox__next svg {
    width: 10px;
    height: 18px;
  }
}
.gallery-lightbox__prev:focus, .gallery-lightbox__next:focus {
  outline: none;
}
.gallery-lightbox__prev:hover, .gallery-lightbox__next:hover {
  opacity: 1;
}
.gallery-lightbox__prev {
  left: 20px;
}
.gallery-lightbox__prev svg {
  transform: scaleX(-1);
}
.gallery-lightbox__next {
  right: 20px;
}
.gallery-lightbox__counter {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  pointer-events: none;
}

.talent-photos .wp-block-gallery,
.talent-photos .wp-block-image,
.talent-photos .gallery {
  margin: 0;
  padding: 0;
}
.talent-photos .wp-block-gallery {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
@media (max-width: 991px) {
  .talent-photos .wp-block-gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  .talent-photos .wp-block-gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}
.talent-photos .wp-block-gallery .wp-block-image,
.talent-photos .wp-block-gallery figure {
  margin: 0 !important;
}
.talent-photos .wp-block-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px !important;
  aspect-ratio: 3/4;
}
.talent-photos .gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
@media (max-width: 991px) {
  .talent-photos .gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  .talent-photos .gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}
.talent-photos .gallery .gallery-item {
  margin: 0;
}
.talent-photos .gallery .gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
  aspect-ratio: 3/4;
}

.talent-videos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (max-width: 767px) {
  .talent-videos {
    grid-template-columns: 1fr;
  }
}
.talent-videos__embed {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
}
.talent-videos__embed a,
.talent-videos__embed iframe,
.talent-videos__embed video,
.talent-videos__embed embed,
.talent-videos__embed object {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  border: none;
}

.footer {
  position: relative;
  overflow: hidden;
  background-color: #252932;
  color: #e6e6e6;
}
.footer__bg-logo {
  position: absolute;
  top: -30%;
  right: -10%;
  width: 50%;
  opacity: 0.03;
  pointer-events: none;
}
.footer__bg-logo svg {
  width: 100%;
  height: auto;
  display: block;
}
.footer__main {
  display: grid;
  grid-template-columns: 1fr;
  padding-top: 40px;
  padding-bottom: 40px;
  gap: 24px;
}
@media (min-width: 768px) {
  .footer__main {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1000px) {
  .footer__main {
    grid-template-columns: repeat(3, 0.6fr) 2fr;
    padding-top: 48px;
    padding-bottom: 48px;
    gap: 16px;
  }
}
.footer__col {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media (min-width: 1000px) {
  .footer__col--brand {
    align-items: flex-end;
    justify-content: flex-start;
  }
}
.footer__social {
  display: inline-flex;
  align-items: center;
  color: rgba(255, 255, 255, 0.75);
  transition: color 0.3s;
}
.footer__social:hover {
  color: #fdf495;
}
.footer__label {
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 4px;
}
.footer__brand {
  font-family: "Apris", sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 1;
  text-decoration: none;
  transition: opacity 0.3s;
}
@media (min-width: 1000px) {
  .footer__brand {
    font-size: 44px;
  }
}
.footer__brand:hover {
  opacity: 0.7;
}
.footer__brand svg {
  display: block;
  width: 160px;
  height: auto;
}
.footer__brand svg path {
  fill: #fff;
}
.footer__address {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}
.footer__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.footer__menu li {
  margin: 0;
  padding: 0;
}
.footer__menu li a {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  transition: color 0.3s;
}
.footer__menu li a:hover {
  text-decoration: underline;
}
.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 14px;
  padding-bottom: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  flex-wrap: wrap;
  gap: 8px;
}
.footer__copy {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
}
.footer__legal {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 24px;
}
.footer__legal li {
  margin: 0;
  padding: 0;
}
.footer__legal li a {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  transition: color 0.3s;
}
.footer__legal li a:hover {
  color: rgba(255, 255, 255, 0.85);
}

.logo {
  display: block;
  flex-shrink: 0;
  width: 250px;
}
@media (min-width: 1000px) {
  .logo {
    width: 300px;
  }
}
.logo .logo-static {
  display: block;
  height: 50px;
  width: auto;
}
.logo svg {
  display: none;
}
@media (min-width: 1000px) {
  .logo {
    --logo-h: 85px;
    overflow: visible;
    max-width: 100%;
    height: auto;
  }
}
@media (min-width: 1000px) and (min-width: 768px) {
  .logo {
    --logo-h: 225px;
  }
}
@media (min-width: 1000px) {
  .logo .logo-static {
    display: none;
  }
}
@media (min-width: 1000px) {
  .logo svg {
    display: block;
  }
}
@media (min-width: 1000px) {
  .logo .logo-p {
    transform: translateX(0);
  }
}
@media (min-width: 1000px) {
  .logo .logo-i1 {
    transform: translateX(calc(var(--logo-h) * -143 / 234));
  }
}
@media (min-width: 1000px) {
  .logo .logo-e {
    transform: translateX(calc(var(--logo-h) * -206 / 234));
  }
}
@media (min-width: 1000px) {
  .logo .logo-l {
    transform: translateX(calc(var(--logo-h) * -339 / 234));
  }
}
@media (min-width: 1000px) {
  .logo .logo-k {
    transform: translateX(calc(var(--logo-h) * -410 / 234));
  }
}
@media (min-width: 1000px) {
  .logo .logo-i2 {
    transform: translateX(calc(var(--logo-h) * -535 / 234));
  }
}
@media (min-width: 1000px) {
  .logo .logo-n {
    transform: translateX(calc(var(--logo-h) * -597 / 234));
  }
}
@media (min-width: 1000px) {
  .logo .logo-d {
    transform: translateX(calc(var(--logo-h) * -737 / 234));
  }
}
@media (min-width: 1000px) {
  .logo .logo-p,
.logo .logo-i1,
.logo .logo-e,
.logo .logo-l,
.logo .logo-i2,
.logo .logo-n,
.logo .logo-d {
    opacity: 0;
  }
}
@media (min-width: 1000px) {
  .logo .logo-p,
.logo .logo-i1,
.logo .logo-e,
.logo .logo-l,
.logo .logo-k,
.logo .logo-i2,
.logo .logo-n,
.logo .logo-d {
    transition: transform 0.5s ease, opacity 0.3s ease;
  }
}
@media (min-width: 1000px) {
  .logo:hover .logo-p,
.logo:hover .logo-i1,
.logo:hover .logo-e,
.logo:hover .logo-l,
.logo:hover .logo-k,
.logo:hover .logo-i2,
.logo:hover .logo-n,
.logo:hover .logo-d {
    transform: translateX(0);
    opacity: 1;
  }
}

#header {
  position: fixed;
  width: 100%;
  margin: auto;
  z-index: 3;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  top: 0px;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
#header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55) 0%, transparent 100%);
  opacity: 1;
  pointer-events: none;
}
#header #header-inner {
  position: relative;
  height: 100px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  padding: 0 24px;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
@media (min-width: 768px) {
  #header #header-inner {
    padding: 0 40px;
  }
}
@media (min-width: 1000px) {
  #header #header-inner {
    padding: 0 60px;
  }
}
#header #header-inner ul li {
  display: inline-block;
  margin-left: 14px;
  margin-right: 14px;
  font-size: 16px;
  letter-spacing: 0.5px;
  line-height: normal;
}
#header #header-inner ul li:first-child {
  margin-left: 0;
}
@media (min-width: 768px) {
  #header #header-inner ul li {
    margin-left: 5px;
    margin-right: 5px;
    font-size: 14px;
  }
}
@media (min-width: 1100px) {
  #header #header-inner ul li {
    margin-left: 10px;
    margin-right: 10px;
    font-size: 16px;
  }
}
@media (min-width: 1330px) {
  #header #header-inner ul li {
    margin-left: 20px;
    margin-right: 20px;
    font-size: 21px;
  }
}
#header .main-menu {
  font-family: "Apris-Medium";
}
#header .main-menu ul {
  margin-bottom: 0;
}
#header .main-menu ul .current-menu-item a {
  text-decoration: underline;
}
#header .main-menu.main-menu--right {
  font-family: "Apris-Italic";
}

.scroll #header::before {
  opacity: 1;
}
@media (max-width: 1000px) {
  .hamburger {
    display: block;
  }

  .main-menu {
    display: none;
  }
}
.hamburger {
  display: none;
  cursor: pointer;
  background-color: transparent;
  border: 0;
  margin: 0;
  padding: 8px;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 500;
  transition: opacity 0.3s;
}
.hamburger:hover {
  opacity: 0.7;
}

.hamburger-box {
  width: 32px;
  height: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  display: block;
  height: 1.5px;
  background-color: #fdf495;
  border-radius: 2px;
  position: absolute;
  transition: transform 0.2s ease, opacity 0.2s ease, top 0.2s ease, bottom 0.2s ease, width 0.3s ease;
}

.hamburger-inner {
  width: 32px;
  top: 50%;
  margin-top: -1px;
}
.hamburger-inner::before {
  content: "";
  width: 20px;
  top: -9px;
  left: 0;
}
.hamburger-inner::after {
  content: "";
  width: 32px;
  bottom: -9px;
  left: 0;
}

body.sidebar-open .hamburger--squeeze .hamburger-inner {
  transform: rotate(45deg);
  width: 32px;
  transition-delay: 0.1s;
}
body.sidebar-open .hamburger--squeeze .hamburger-inner::before {
  width: 32px;
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.1s ease, width 0.2s ease;
}
body.sidebar-open .hamburger--squeeze .hamburger-inner::after {
  width: 32px;
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.1s 0.1s cubic-bezier(0.215, 0.61, 0.355, 1), width 0.2s ease;
}

@media (max-width: 1000px) {
  .hamburger {
    display: block;
  }

  .main-menu {
    display: none;
  }
}
body.sidebar-open {
  overflow: hidden;
}

#sidebar {
  position: fixed;
  inset: 0;
  z-index: 200;
  background-color: #3b414f;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
@media (min-width: 1000px) {
  #sidebar {
    display: none;
  }
}
body.sidebar-open #sidebar {
  opacity: 1;
  visibility: visible;
}

.sidebar-nav {
  text-align: center;
}
.sidebar-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.sidebar-nav__list li {
  display: block;
  margin: 0;
  padding: 0;
}
.sidebar-nav__list a {
  font-family: "Apris-Medium", sans-serif;
  font-size: clamp(32px, 8vw, 56px);
  line-height: 1.15;
  color: #f0d3f7;
  text-decoration: none;
  display: block;
  padding: 6px 0;
  transition: opacity 0.3s;
}
.sidebar-nav__list a:hover {
  opacity: 0.6;
}
.sidebar-nav__list .current-menu-item a {
  text-decoration: underline;
}
.sidebar-nav__list--secondary {
  margin-top: 24px;
}
.sidebar-nav__list--secondary a {
  font-family: "Apris-Italic", sans-serif;
  font-size: clamp(20px, 5vw, 32px);
  color: #fdf495;
}

html {
  scroll-behavior: smooth;
}

body #wrapper {
  min-height: 100vh;
}
body:not(.home) .loader {
  display: none;
}

body.home .loader {
  animation: loader-spin 7s linear infinite;
  transform-origin: center;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 50px;
  height: auto;
  margin-left: -25px;
}
body.home #logo-big {
  opacity: 0;
  transition: all 0.3s ease-in-out 1s;
}
body.home #wrapper {
  opacity: 0;
  transition: opacity 1s ease-in-out 0.5s;
}
body.home.loaded .loader {
  animation: loader-grow 0.5s linear;
  animation-fill-mode: forwards;
}
body.home.loaded #logo-big {
  opacity: 1;
}
body.home.loaded #wrapper {
  opacity: 1;
}

.custom-block {
  position: relative;
}

@keyframes loader-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes loader-grow {
  from {
    transform: rotate(0deg) scale(1);
  }
  to {
    transform: rotate(135deg) scale(0);
  }
}
.content {
  padding: 10px 24px 64px;
}
@media (min-width: 768px) {
  .content {
    padding: 10px 40px 80px;
  }
}
@media (min-width: 1000px) {
  .content {
    padding: 10px 60px 96px;
  }
}

.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;
  padding: 20px;
}
.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);
}
.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: -30px;
  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--user .modal__inner {
  max-width: 400px;
  max-height: 350px;
  background-color: #f4f4f4;
}
.modal.modal--user .modal__inner .form-user-modal {
  padding: 15px;
}
.modal.modal--user .modal__inner select,
.modal.modal--user .modal__inner input[type=text],
.modal.modal--user .modal__inner input[type=password],
.modal.modal--user .modal__inner input[type=email],
.modal.modal--user .modal__inner input[type=number] {
  background-color: white;
  color: black;
  height: 44px;
  border: none;
  border: 1px solid #d6d6d6;
  border-radius: 2px;
  outline: none;
  width: 100%;
  margin-bottom: 8px;
}

body.home .logo {
  opacity: 0;
  transform: translateX(-30px);
}
body.home .main-menu {
  opacity: 0;
  transform: translateX(30px);
}

@keyframes panorama-star-pulsate {
  0%, 100% {
    transform: rotate(-35deg) scale(1);
  }
  50% {
    transform: rotate(-35deg) scale(1.12);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
body.home .panorama__overlay,
body.home .panorama__label,
body.home .panorama__headline,
body.home .panorama__text,
body.home .panorama__ctas {
  opacity: 0;
}

body.home .panorama__intro {
  animation: fadeIn 0.4s ease both;
}

body.home.intro-done .panorama__intro {
  opacity: 0;
  transition: opacity 0.5s ease;
}
body.home.intro-done .panorama__overlay {
  animation: fadeIn 0.6s ease 0s both;
}
body.home.intro-done .panorama__label {
  animation: fadeUp 0.7s ease 0s both;
}
body.home.intro-done .panorama__headline {
  animation: fadeUp 0.7s ease 0s both;
}
body.home.intro-done .panorama__text {
  animation: fadeUp 0.7s ease 0s both;
}
body.home.intro-done .logo {
  transition: all 0.8s ease-out 0.8s;
  opacity: 1;
  transform: translateX(0);
}
body.home.intro-done .main-menu {
  transition: all 0.8s ease-out 0.8s;
  opacity: 1;
  transform: translateX(0);
}
body.home.intro-done .panorama__ctas {
  animation: fadeUp 0.7s ease 0.8s both;
}

.panorama {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background-color: #3b414f;
  display: flex;
}
.panorama .deco {
  position: absolute;
  bottom: 25px;
  right: 25px;
  width: 50px;
}
.panorama #logo-big {
  width: 500px;
}
.panorama__slides {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.panorama__slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.2s ease;
}
.panorama__slide.is-active {
  opacity: 1;
}
.panorama__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
}
.panorama__intro {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  display: flex;
  justify-content: center;
}
.panorama__lottie {
  height: 100%;
}
.panorama__content {
  align-self: center;
  position: relative;
}
.panorama__label {
  display: block;
  font-family: "Apris", sans-serif;
  font-weight: 400;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fdf495;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .panorama__label {
    font-size: 18px;
    margin-bottom: 12px;
  }
}
@media (min-width: 992px) {
  .panorama__label {
    font-size: 22px;
    margin-bottom: 16px;
  }
}
.panorama__headline {
  font-family: "Apris", sans-serif;
  font-weight: 500;
  font-size: clamp(36px, 4vw, 80px);
  line-height: 1.04;
  color: #fdf495;
  margin: 0 0 16px;
  text-align: center;
}
@media (min-width: 768px) {
  .panorama__headline {
    margin-bottom: 24px;
  }
}
.panorama__headline span {
  color: #fdf495;
}
.panorama__text {
  font-family: "Inter", sans-serif;
  line-height: 1.5;
  color: white;
  margin: 0 0 32px;
}
@media (min-width: 992px) {
  .panorama__text {
    margin-bottom: 48px;
  }
}
.panorama__ctas {
  position: absolute;
  bottom: -40px;
  right: 10px;
}
@media (min-width: 768px) {
  .panorama__ctas {
    right: 0px;
    bottom: -45px;
  }
}
.panorama__cta-star {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 110px;
  text-decoration: none;
  transition: transform 0.35s ease;
}
.panorama__cta-star:hover {
  transform: scale(2);
}
.panorama__cta-star:hover svg {
  animation-play-state: paused;
}
@media (min-width: 768px) {
  .panorama__cta-star {
    width: 130px;
    height: 130px;
  }
}
@media (min-width: 1000px) {
  .panorama__cta-star {
    width: 160px;
    height: 160px;
  }
}
.panorama__cta-star svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  animation: panorama-star-pulsate 3.5s ease-in-out infinite;
}
.panorama__cta-star-label {
  position: relative;
  z-index: 1;
  font-family: "Apris-Medium", sans-serif;
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
  color: #3b414f;
  max-width: 75px;
  pointer-events: none;
  transform: rotate(-15deg);
}
@media (min-width: 768px) {
  .panorama__cta-star-label {
    font-size: 17px;
    max-width: 90px;
  }
}
@media (min-width: 1000px) {
  .panorama__cta-star-label {
    font-size: 20px;
  }
}
.panorama__scroll-hint {
  position: absolute;
  bottom: 36px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  pointer-events: none;
  z-index: 3;
}
.panorama__scroll-hint span {
  font-family: "Inter", sans-serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
}
.panorama__scroll-line {
  width: 1px;
  height: 56px;
  background-color: rgba(255, 255, 255, 0.15);
  position: relative;
  overflow: hidden;
}
.panorama__scroll-line::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.85), transparent);
  animation: scrollScan 1.8s ease-in-out infinite;
}

@keyframes scrollScan {
  0% {
    top: -50%;
  }
  100% {
    top: 120%;
  }
}
body.home .panorama__scroll-hint {
  opacity: 0;
  transition: opacity 0.8s ease;
}

body.home.loaded .panorama__scroll-hint {
  opacity: 1;
  transition: opacity 0.8s ease 1s;
}

body.scroll .panorama__scroll-hint {
  opacity: 0 !important;
  transition: opacity 0.8s ease !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAtZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvbnRhaW5lcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NvbnRhaW5lci5zY3NzIiwidmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FwaS5zY3NzIiwidXRpbGl0aWVzL3NwYWNpbmcuc2NzcyIsInV0aWxpdGllcy9iYWNrZ3JvdW5kcy5zY3NzIiwidXRpbGl0aWVzL2hlbHBlcnMuc2NzcyIsInV0aWxpdGllcy9ub3JtYWxpemUuc2NzcyIsInV0aWxpdGllcy9tZWRpYS5zY3NzIiwiZm9ybXMvZm9ybXMuc2NzcyIsInR5cG8vYnV0dG9ucy5zY3NzIiwidHlwby9mb250cy5zY3NzIiwidHlwby90eXBvLnNjc3MiLCJsYXlvdXQvYWN0b3JzLnNjc3MiLCJsYXlvdXQvY29udGFjdC5zY3NzIiwibGF5b3V0L25ld3Muc2NzcyIsImxheW91dC90YWxlbnQuc2NzcyIsImxheW91dC9mb290ZXIuc2NzcyIsImxheW91dC9oZWFkZXIuc2NzcyIsImxheW91dC9uYXZpZ2F0aW9uLnNjc3MiLCJsYXlvdXQvc2lkZWJhci5zY3NzIiwibGF5b3V0L3N0cnVjdHVyZS5zY3NzIiwibW9kdWxlcy9tb2RhbC5zY3NzIiwidWkuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBcUI7QUNBckI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7RUFRSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFHRjtFQUNBO0VBQ0E7RUFDQTtFQU1BO0VBQ0E7RUFDQTtFQVFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTs7O0FDNUNBO0FBQUE7QUFBQTtBQUFBO0VDSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEWUk7RUFDRSxXRStIZTs7O0FDcEZuQjtFSDVDRTtJQUNFLFdFK0hlOzs7QUU5SXJCO0VDQUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FESkU7RUNTRjtFQUlBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBK0NJO0VBQ0U7OztBQUdGO0VBcENKO0VBQ0E7OztBQWNBO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQStCRTtFQWhESjtFQUNBOzs7QUFxRFE7RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUF1RVE7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBbUVNO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBRjFETjtFRVVFO0lBQ0U7OztFQUdGO0lBcENKO0lBQ0E7OztFQWNBO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQStCRTtJQWhESjtJQUNBOzs7RUFxRFE7SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUF1RVE7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUFtRU07QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0FGMUROO0VFVUU7SUFDRTs7O0VBR0Y7SUFwQ0o7SUFDQTs7O0VBY0E7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBK0JFO0lBaERKO0lBQ0E7OztFQXFEUTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQXVFUTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQW1FTTtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOzs7RUFHRjtJQXBDSjtJQUNBOzs7RUFjQTtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUErQkU7SUFoREo7SUFDQTs7O0VBcURRO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBdUVRO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBbUVNO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztBRjFETjtFRVVFO0lBQ0U7OztFQUdGO0lBcENKO0lBQ0E7OztFQWNBO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQStCRTtJQWhESjtJQUNBOzs7RUFxRFE7SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUF1RVE7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUFtRU07QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0FDMURGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUhQUjtFR0FJO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7QUhQUjtFR0FJO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7QUhQUjtFR0FJO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7QUhQUjtFR0FJO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7QUNoQ1o7RUR5QlE7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0FFbEVUO0FBU1k7RUFDRzs7O0FBRUg7RUFDRzs7O0FBR0g7RUFDRyxTQVZpQjs7O0FBWXBCO0VBQ0c7OztBQUVIO0VBQ0c7OztBQUVIO0VBQ0c7OztBQUVIO0VBQ0c7OztBQXBCSDtFQUNHOzs7QUFFSDtFQUNHOzs7QUFHSDtFQUNHLFNBVmlCOzs7QUFZcEI7RUFDRzs7O0FBRUg7RUFDRzs7O0FBRUg7RUFDRzs7O0FBRUg7RUFDRzs7O0FBTVI7RUFHVztJQUNHOzs7RUFFSDtJQUNHOzs7RUFFSDtJQUNHOzs7RUFFSDtJQUNHOzs7RUFJSDtJQUNHOzs7RUFHSDtJQUNHLFNBckJZOzs7RUF3QmY7SUFDRyxjQXpCWTs7O0VBNEJmO0lBQ0c7OztFQUdIO0lBQ0c7OztFQS9CSDtJQUNHOzs7RUFFSDtJQUNHOzs7RUFFSDtJQUNHOzs7RUFFSDtJQUNHOzs7RUFJSDtJQUNHOzs7RUFHSDtJQUNHLFNBckJZOzs7RUF3QmY7SUFDRyxjQXpCWTs7O0VBNEJmO0lBQ0c7OztFQUdIO0lBQ0c7OztBQ3hFckI7RUFDRzs7O0FBREg7RUFDRzs7O0FBREg7RUFDRzs7O0FBREg7RUFDRzs7O0FBREg7RUFDRzs7O0FDRk47RUFDRztFQUNBOzs7QUFHSDtFQUNHOzs7QUFHSDtFQUVHOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSU47RUFDRzs7O0FDekNIO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1DO0VBQ0U7QUFBeUI7RUFDekI7QUFBNEI7RUFDNUI7QUFBZ0M7OztBQUdsQztBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBWUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7RUFJRTtBQUF1QjtFQUN2QjtBQUEwQjs7O0FBRzVCO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTtBQUFnQjtFQUNoQjtBQUFlO0VBQ2Y7QUFBVzs7O0FBR2I7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7QUFBNEI7RUFDNUI7QUFBaUI7OztBQUduQjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtFQUVFO0FBQXdCO0VBQ3hCO0FBQVk7OztBQUdkO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtBQUErQjtFQUMvQjtBQUF5Qjs7O0FBRzNCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7QUFBVztFQUNYO0FBQVk7OztBQUdkO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUNyYUg7QUFBQTtFQUVHO0VBQ0E7RUFDQTs7O0FBR0g7RUFDRzs7O0FBT0E7RUFFRzs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QUFHSDtFQUNHOztBQUdIO0VBQ0c7RUFDQTtFQUNBOztBQUdIO0VBQ0c7OztBQUlOO0VBRUc7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QUFJQTtFQUNHO0VBQ0E7OztBQVVUO0VBQ0c7OztBQ3JGTjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdIO0VBQ0c7RUFDQTs7O0FBR0g7RUFDRztFQUNBO0VBQ0E7OztBQUdIO0VBQ0c7RUFDQTs7QUFDQTtFQUNHO0VBQ0E7O0FBRUg7QUFBQTtFQUVHO0VBQ0E7O0FBR0g7RUFDRztFQUNBOztBQUNBO0VBQ0c7RUFDQTtFQUNBO0VBQ0w7O0FBR0Q7QUFBQTtBQUFBO0FBQUE7RUFJRztFQUNBOztBQUVIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRztFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLTjtFQUNHO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBT047RUFDRzs7O0FDdkdIO0FBS1M7RUFDRztJQUVNO0lBR0E7SUFHQTtJQVlBOzs7QUFyQlQ7RUFDRztJQUVNO0lBR0E7SUFHQTtJQVlBOzs7QUFyQlQ7RUFDRztJQUVNO0lBR0E7SUFHQTtJQVlBOzs7QUFyQlQ7RUFDRztJQUVNO0lBR0E7SUFHQTtJQVNBOzs7QUFsQlQ7RUFDRztJQUVNO0lBR0E7SUFHQTs7O0FBb0JsQjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7O0FBR0g7RUFDRzs7QUFHSDtFQUNHOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBOztBQUNBO0VBQ0c7OztBQzdGVDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUN6Q0g7RUFDRztFQUNBOztBQUdNO0VBTFQ7SUFPZTtJQUlBOzs7QUFOTjtFQUxUO0lBT2U7SUFJQTs7O0FBTk47RUFMVDtJQU9lO0lBSUE7Ozs7QUFXZjtBQUFBO0VBRUc7RUFDQTtFQUNBOzs7QUFHSDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSDtBQU1TO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQXNCbEI7RUFDRzs7O0FBR0g7RUFDRzs7O0FBR0g7RUFDRzs7O0FBR0g7RUFDRzs7O0FBR0g7RUFDRzs7O0FBR0g7RUFDRzs7O0FBR0g7RUFDRzs7O0FBUUE7RUFDRztFQUNBOztBQUVBO0VBQ0c7RUFJQTs7QUFIQTtFQUZIO0lBR007Ozs7QUFXWjtFQUNHO0VBQ0E7OztBQUdIO0VBQ0c7RUFDQTs7O0FBUUE7RUFDRyxPZHRKRzs7QWN3Skg7RUFDRyxPZHpKQTs7O0FjcUpOO0VBQ0csT2R0Skc7O0Fjd0pIO0VBQ0csT2R6SkE7OztBY3FKTjtFQUNHLE9kdEpHOztBY3dKSDtFQUNHLE9kekpBOzs7QWNxSk47RUFDRyxPZHRKRzs7QWN3Skg7RUFDRyxPZHpKQTs7O0FjcUpOO0VBQ0csT2R0Skc7O0Fjd0pIO0VBQ0csT2R6SkE7OztBY2tLVDtFQUNHOztBQUVBO0VBQ0c7OztBQVNIO0VBQ0c7RUFDQTs7O0FDckxOO0VBQ0c7RUFDQTs7O0FBS0g7RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQU5IO0lBT007OztBQUdIO0VBVkg7SUFXTTs7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBZkg7SUFnQk07OztBQUdIO0VBbkJIO0lBb0JNOzs7O0FBT1Q7RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQU5IO0lBT007SUFDQTs7O0FBR0g7RUFYSDtJQVlNO0lBQ0E7OztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFSSDtJQVNNOzs7QUFHSDtFQVpIO0lBYU07Ozs7QUFNTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDRztFQUVIOztBQUVBO0VBYkg7SUFjTTtJQUNBOzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7QUFHSDtFQUNHOzs7QUFPVDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBVEg7SUFVTTs7O0FBR0g7RUFDRztFQUNBO0VBQ0E7O0FBR0g7RUFDRzs7O0FBT1Q7RUFDRztFQU1BO0VBQ0E7RUFDQTs7QUFOQTtFQUNHOztBQU9IO0VBWEg7SUFZTTs7O0FBRUg7RUFkSDtJQWVNOzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtIO0VBQ0c7RUFDQTs7QUFFQTtFQUpIO0lBS007OztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRztFQUNBOztBQUdIO0VBQ0c7OztBQVFaO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQUNHOztBQUdIO0VBQ0c7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVJIO0lBU007OztBQUlOO0VBQ0c7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDRzs7QUFJTjtFQUNHO0VBQ0E7O0FBR0g7RUFFRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhQUNHOztBQUlOO0VBQ0c7RUFDQTtFQUNBOzs7QUFNTjtFQUNHO0VBQ0E7RUFDQTs7QUFFQTtFQUxIO0lBTU07SUFDQTs7O0FBR0g7RUFWSDtJQVdNO0lBQ0E7Ozs7QUFNTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7O0FBRUE7RUFDRztFQUNBO0VBQ0E7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTs7O0FBUU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBWEg7SUFZTTs7O0FBSU47RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFJTjtFQUNHO0VBQ0E7OztBQU1OO0VBQ0c7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVJIO0lBU007SUFDQTs7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHOzs7QUN0aUJUO0VBQ0c7RUFDQTs7O0FBS0g7RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQU5IO0lBT007OztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFmSDtJQWdCTTs7O0FBR0g7RUFuQkg7SUFvQk07Ozs7QUFPVDtFQUNHO0VBQ0E7O0FBRUE7RUFKSDtJQUtNOzs7QUFHSDtFQVJIO0lBU007Ozs7QUNqRU47RUFDRztFQUNBOzs7QUFLSDtFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBTkg7SUFPTTs7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQWZIO0lBZ0JNOzs7QUFHSDtFQW5CSDtJQW9CTTs7OztBQU9UO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFOSDtJQU9NO0lBQ0E7OztBQUdIO0VBWEg7SUFZTTs7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTU47RUFDRztFQUNBO0VBQ0E7O0FBRUE7RUFMSDtJQU1NOzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0c7O0FBR0g7RUFDRztFQUNBOztBQUdIO0VBQ0c7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7OztBQU9UO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDRzs7QUFHSDtFQWRIO0lBZU07OztBQUlOO0VBQ0c7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzVOTjtFQUNHOzs7QUFLSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBOztBQUpBO0VBUkg7SUFTTTs7O0FBTU47RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFQSDtJQVFNOzs7QUFHSDtFQVhIO0lBWU07OztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTU47RUFDRzs7QUFFQTtFQUNHO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFHSDtBQUFBO0VBRUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0c7RUFDQTs7QUFHSDtBQUFBO0VBQ0c7O0FBRUg7QUFBQTtFQUNHOztBQUlOO0VBQ0c7O0FBQ0E7RUFDRzs7QUFHTjtFQUNHOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHOzs7QUFRWjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVhIO0lBWU07SUFDQTs7O0FBR0g7RUFoQkg7SUFpQk07SUFDQTs7OztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQWJIO0lBY007SUFDQTs7O0FBR0g7RUFDRztFQUNBOzs7QUFJTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBWkg7SUFhTTs7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0c7RUFFSDtFQUNBOztBQUVBO0VBZEg7SUFlTTtJQUNBOzs7QUFHSDtFQUNHO0VBQ0E7O0FBR0g7RUFDRztFQUNBOzs7QUFPVDtFQUNHOztBQUVBO0VBSEg7SUFJTTs7O0FBR0g7RUFQSDtJQVFNOzs7O0FBTU47RUFDRztFQUNBO0VBQ0E7O0FBRUE7RUFMSDtJQU1NOzs7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7OztBQUlOO0VBQ0c7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7OztBQU1OO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFHSDtFQUNHOztBQUdIO0VBQ0c7RUFDQTs7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBUEg7SUFRTTs7OztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QUFFQTtFQVJIO0lBU007OztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFTSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJTjtFQUNHO0VBQ0E7OztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFFSDtFQUNHOzs7QUFJTjtFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7OztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVRIO0lBVU07SUFDQTs7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBVkg7SUFXTTtJQUNBOzs7QUFHSDtFQUNHOztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBWEg7SUFZTTs7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7O0FBR0g7RUFDRzs7QUFJTjtFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRztFQUNBOztBQUdIO0VBdEJIO0lBdUJNOztFQUNBO0lBQ0c7SUFDQTs7O0FBSU47RUFDRzs7QUFFSDtFQUNHOztBQUlOO0VBQ0c7O0FBQ0E7RUFDRzs7QUFJTjtFQUNHOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFRSDtBQUFBO0FBQUE7RUFHRztFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBOztBQUVBO0VBTEg7SUFNTTs7O0FBR0g7RUFUSDtJQVVNOzs7QUFHSDtBQUFBO0VBRUc7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS047RUFDRztFQUNBO0VBQ0E7O0FBRUE7RUFMSDtJQU1NOzs7QUFHSDtFQVRIO0lBVU07OztBQUdIO0VBQ0c7O0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVFaO0VBQ0c7RUFDQTtFQUNBOztBQUVBO0VBTEg7SUFNTTs7O0FBR0g7RUFDRztFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDM3RCVDtFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBOztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVBIO0lBUU07OztBQUdIO0VBWEg7SUFZTTtJQUNBO0lBQ0E7SUFDQTs7O0FBSU47RUFDRztFQUNBO0VBQ0E7O0FBR0c7RUFESDtJQUVNO0lBQ0E7OztBQUtUO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFJTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQUVBO0VBVEg7SUFVTTs7O0FBR0g7RUFFRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7QUFDQTtFQUNHOztBQUtUO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7O0FBTVo7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7OztBQzVLZjtFQUNHO0VBQ0E7RUFDQTs7QUFDQTtFQUpIO0lBS007OztBQUlIO0VBQ0c7RUFDQTtFQUNBOztBQUdIO0VBQ0c7O0FBSUg7RUFwQkg7SUFxQk07SUFRQTtJQUNBO0lBQ0E7OztBQVJBO0VBdkJOO0lBd0JTOzs7QUFKTjtFQWFHO0lBQ0c7OztBQWROO0VBaUJHO0lBQ0c7OztBQWxCTjtFQXlCRztJQUNHOzs7QUExQk47RUE0Qkc7SUFDRzs7O0FBN0JOO0VBK0JHO0lBQ0c7OztBQWhDTjtFQWtDRztJQUNHOzs7QUFuQ047RUFxQ0c7SUFDRzs7O0FBdENOO0VBd0NHO0lBQ0c7OztBQXpDTjtFQTJDRztJQUNHOzs7QUE1Q047RUE4Q0c7SUFDRzs7O0FBL0NOO0VBa0RHO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBT0c7OztBQXpETjtFQTRERztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBUUcsWUFDRzs7O0FBckVUO0VBMEVNO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFRRztJQUNBOzs7O0FBTVo7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBUUE7RUFDQTtFQUNBO0VBQ0E7O0FBVEE7RUFUSDtJQVVNOzs7QUFFSDtFQVpIO0lBYU07OztBQVNBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7O0FBR0g7RUFaSDtJQWFNO0lBQ0E7SUFDQTs7O0FBR0g7RUFsQkg7SUFtQk07SUFDQTtJQUNBOzs7QUFHSDtFQXhCSDtJQXlCTTtJQUNBO0lBQ0E7OztBQU1aO0VBQ0c7O0FBQ0E7RUFDRzs7QUFHRztFQUNHOztBQUtUO0VBQ0c7OztBQU9IO0VBQ0c7O0FBU1Q7RUFDRztJQUNHOzs7RUFHSDtJQUNHOzs7QUNoT047RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdIO0FBQUE7QUFBQTtFQUdHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQUNHOzs7QUFPTjtFQUNHO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7OztBQUtOO0VBQ0c7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0EsWUFDRzs7QUFLTjtFQUNHO0VBQ0E7RUFDQTtFQUNBLFlBQ0c7OztBQU1UO0VBQ0c7SUFDRzs7O0VBR0g7SUFDRzs7O0FDakdOO0VBQ0c7OztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0EsWUFDRzs7QUFHSDtFQWZIO0lBZ0JNOzs7QUFHSDtFQUNHO0VBQ0E7OztBQUlOO0VBQ0c7O0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHOztBQUlOO0VBQ0c7O0FBR0g7RUFDRzs7QUFFQTtFQUNHO0VBQ0E7RUFDQTs7O0FDdEVaO0VBQ0c7OztBQUlBO0VBQ0c7O0FBR0g7RUFDRzs7O0FBS0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7O0FBSUE7RUFDRztFQUNBOztBQUdIO0VBQ0c7O0FBR0g7RUFDRzs7O0FBS1Q7RUFDRzs7O0FBR0g7RUFDRztJQUNHOztFQUVIO0lBQ0c7OztBQUlOO0VBQ0c7SUFDRzs7RUFFSDtJQUNHOzs7QUFJTjtFQUNHOztBQUVBO0VBSEg7SUFJTTs7O0FBR0g7RUFQSDtJQVFNOzs7O0FDbEZOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRztFQUNHOztBQU1BO0VBQ0c7RUFDQTs7QUFLVDtFQUNHO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFJTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7O0FBR047RUFDRztFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNHO0VBQ0E7RUFDQTs7QUFDQTtFQUNHOztBQUVIO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ25IVDtFQUNHO0VBQ0E7O0FBR0g7RUFDRztFQUNBOzs7QUFJTjtFQUNHO0lBRUc7O0VBRUg7SUFDRzs7O0FBSU47RUFDRztJQUNHOztFQUVIO0lBQ0c7OztBQUlOO0VBQ0c7SUFDRztJQUNBOztFQUVIO0lBQ0c7SUFDQTs7O0FBS0g7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtHOzs7QUFJTjtFQUNHOzs7QUFJQTtFQUNHO0VBQ0E7O0FBSUg7RUFDRzs7QUFFSDtFQUNHOztBQUVIO0VBQ0c7O0FBRUg7RUFDRzs7QUFJSDtFQUNHO0VBQ0E7RUFDQTs7QUFFSDtFQUNHO0VBQ0E7RUFDQTs7QUFFSDtFQUNHOzs7QUFRTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7O0FBR0g7RUFDRztFQUNBO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFJTjtFQUNHO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHOztBQUdIO0VBQ0c7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFWSDtJQVdNO0lBQ0E7OztBQUdIO0VBZkg7SUFnQk07SUFDQTs7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVRIO0lBVU07OztBQUdIO0VBQ0c7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQU5IO0lBT007OztBQUlOO0VBQ0c7RUFDQTtFQUNBOztBQUdBO0VBTkg7SUFPTTtJQUNBOzs7QUFRTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFHSDtFQUNHOztBQUdIO0VBbEJIO0lBbUJNO0lBQ0E7OztBQUdIO0VBdkJIO0lBd0JNO0lBQ0E7OztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBWkg7SUFhTTtJQUNBOzs7QUFHSDtFQWpCSDtJQWtCTTs7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1Q7RUFDRztJQUNHOztFQUVIO0lBQ0c7OztBQUlOO0VBQ0c7RUFDQTs7O0FBR0g7RUFDRztFQUNBOzs7QUFHSDtFQUNHO0VBQ0EiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICd2YXJpYWJsZXMnOyAvKiB0byBvdmVycmlkZSBib290c3RyYXBzIHZhbHVlcyB3ZSBuZWVkIHRvIGJlIGJlZm9yZSB0aGUgYm9vdHN0cmFwIGltcG9ydCAqL1xuQGltcG9ydCAnLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC1ncmlkJztcbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5cbkBpbXBvcnQgJy4vdXRpbGl0aWVzL3NwYWNpbmcnO1xuQGltcG9ydCAnLi91dGlsaXRpZXMvYmFja2dyb3VuZHMnO1xuQGltcG9ydCAnLi91dGlsaXRpZXMvaGVscGVycyc7XG5AaW1wb3J0ICcuL3V0aWxpdGllcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi91dGlsaXRpZXMvbWVkaWEnO1xuXG5AaW1wb3J0ICcuL2Zvcm1zL2Zvcm1zJztcblxuQGltcG9ydCAnLi90eXBvL2J1dHRvbnMnO1xuQGltcG9ydCAnLi90eXBvL2ZvbnRzJztcbkBpbXBvcnQgJy4vdHlwby90eXBvJztcblxuQGltcG9ydCAnLi9sYXlvdXQvYWN0b3JzJztcbkBpbXBvcnQgJy4vbGF5b3V0L2NvbnRhY3QnO1xuQGltcG9ydCAnLi9sYXlvdXQvbmV3cyc7XG5AaW1wb3J0ICcuL2xheW91dC90YWxlbnQnO1xuQGltcG9ydCAnLi9sYXlvdXQvZm9vdGVyJztcbkBpbXBvcnQgJy4vbGF5b3V0L2hlYWRlcic7XG5AaW1wb3J0ICcuL2xheW91dC9uYXZpZ2F0aW9uJztcbkBpbXBvcnQgJy4vbGF5b3V0L3NpZGViYXInO1xuQGltcG9ydCAnLi9sYXlvdXQvc3RydWN0dXJlJztcblxuQGltcG9ydCAnLi9tb2R1bGVzL21vZGFsJztcblxuQGltcG9ydCAndWknO1xuIiwiLyohXG4gKiBCb290c3RyYXAgR3JpZCB2NS4xLjMgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIxIFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICogQ29weXJpZ2h0IDIwMTEtMjAyMSBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAqL1xuXG4kaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZzogdHJ1ZSAhZGVmYXVsdDtcblxuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuXG5AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NvbnRhaW5lclwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL3V0aWxpdGllc1wiO1xuXG5AaW1wb3J0IFwidmVuZG9yL3Jmc1wiO1xuXG5AaW1wb3J0IFwicm9vdFwiO1xuXG5AaW1wb3J0IFwiY29udGFpbmVyc1wiO1xuQGltcG9ydCBcImdyaWRcIjtcblxuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuLy8gT25seSB1c2UgdGhlIHV0aWxpdGllcyB3ZSBuZWVkXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHV0aWxpdGllczogbWFwLWdldC1tdWx0aXBsZShcbiAgJHV0aWxpdGllcyxcbiAgKFxuICAgIFwiZGlzcGxheVwiLFxuICAgIFwib3JkZXJcIixcbiAgICBcImZsZXhcIixcbiAgICBcImZsZXgtZGlyZWN0aW9uXCIsXG4gICAgXCJmbGV4LWdyb3dcIixcbiAgICBcImZsZXgtc2hyaW5rXCIsXG4gICAgXCJmbGV4LXdyYXBcIixcbiAgICBcImp1c3RpZnktY29udGVudFwiLFxuICAgIFwiYWxpZ24taXRlbXNcIixcbiAgICBcImFsaWduLWNvbnRlbnRcIixcbiAgICBcImFsaWduLXNlbGZcIixcbiAgICBcIm1hcmdpblwiLFxuICAgIFwibWFyZ2luLXhcIixcbiAgICBcIm1hcmdpbi15XCIsXG4gICAgXCJtYXJnaW4tdG9wXCIsXG4gICAgXCJtYXJnaW4tZW5kXCIsXG4gICAgXCJtYXJnaW4tYm90dG9tXCIsXG4gICAgXCJtYXJnaW4tc3RhcnRcIixcbiAgICBcIm5lZ2F0aXZlLW1hcmdpblwiLFxuICAgIFwibmVnYXRpdmUtbWFyZ2luLXhcIixcbiAgICBcIm5lZ2F0aXZlLW1hcmdpbi15XCIsXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4tdG9wXCIsXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4tZW5kXCIsXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4tYm90dG9tXCIsXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4tc3RhcnRcIixcbiAgICBcInBhZGRpbmdcIixcbiAgICBcInBhZGRpbmcteFwiLFxuICAgIFwicGFkZGluZy15XCIsXG4gICAgXCJwYWRkaW5nLXRvcFwiLFxuICAgIFwicGFkZGluZy1lbmRcIixcbiAgICBcInBhZGRpbmctYm90dG9tXCIsXG4gICAgXCJwYWRkaW5nLXN0YXJ0XCIsXG4gIClcbik7XG5cbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYXBpXCI7XG4iLCI6cm9vdCB7XG4gIC8vIE5vdGU6IEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuXG4gIC8vIENvbG9yc1xuICAvL1xuICAvLyBHZW5lcmF0ZSBwYWxldHRlcyBmb3IgZnVsbCBjb2xvcnMsIGdyYXlzLCBhbmQgdGhlbWUgY29sb3JzLlxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skdmFyaWFibGUtcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXlzIHtcbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ncmF5LSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXJnYiB7XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9I3skY29sb3J9LXJnYjogI3skdmFsdWV9O1xuICB9XG5cbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9d2hpdGUtcmdiOiAje3RvLXJnYigkd2hpdGUpfTtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9YmxhY2stcmdiOiAje3RvLXJnYigkYmxhY2spfTtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yKX07XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWJvZHktYmctcmdiOiAje3RvLXJnYigkYm9keS1iZyl9O1xuXG4gIC8vIEZvbnRzXG5cbiAgLy8gTm90ZTogVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWZvbnQtc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWZvbnQtbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ncmFkaWVudDogI3skZ3JhZGllbnR9O1xuXG4gIC8vIFJvb3QgYW5kIGJvZHlcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgY3VzdG9tLXByb3BlcnR5LWVtcHR5LWxpbmUtYmVmb3JlXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWJvZHktdmFyaWFibGVzXG4gIEBpZiAkZm9udC1zaXplLXJvb3QgIT0gbnVsbCB7XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9cm9vdC1mb250LXNpemU6ICN7JGZvbnQtc2l6ZS1yb290fTtcbiAgfVxuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ib2R5LWZvbnQtZmFtaWx5OiAjeyRmb250LWZhbWlseS1iYXNlfTtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Ym9keS1mb250LXNpemU6ICN7JGZvbnQtc2l6ZS1iYXNlfTtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Ym9keS1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtYmFzZX07XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWJvZHktbGluZS1oZWlnaHQ6ICN7JGxpbmUtaGVpZ2h0LWJhc2V9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ib2R5LWNvbG9yOiAjeyRib2R5LWNvbG9yfTtcbiAgQGlmICRib2R5LXRleHQtYWxpZ24gIT0gbnVsbCB7XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Ym9keS10ZXh0LWFsaWduOiAjeyRib2R5LXRleHQtYWxpZ259O1xuICB9XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWJvZHktYmc6ICN7JGJvZHktYmd9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9keS12YXJpYWJsZXNcbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBjdXN0b20tcHJvcGVydHktZW1wdHktbGluZS1iZWZvcmVcbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250YWluZXIgbWl4aW5zXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkY29udGFpbmVyLXBhZGRpbmcteCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14LCAjeyRndXR0ZXJ9KTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3V0dGVyLXgsICN7JGd1dHRlcn0pO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBjb2xvcnNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kY29sb3JzOiAoXG4gICBiYXNlOiAjM2I0MTRmLFxuICAgcHJpbWFyeTogI2YwZDNmNyxcbiAgIHNlY29uZGFyeTogI2ZkZjQ5NSxcbiAgIHRoaXJkOiAjYzE3MTU5LFxuICAgJ3doaXRlJzogI2ZmZmZmZixcbik7XG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gdHlwb1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiR0eXBvOiAoXG4gICBzbTogKFxuICAgICAgMTogKFxuICAgICAgICAgZm9udC1zaXplOiA4dmgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTEwJSxcbiAgICAgICksXG4gICAgICAyOiAoXG4gICAgICAgICBmb250LXNpemU6IDM0cHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTI1JSxcbiAgICAgICksXG4gICAgICAzOiAoXG4gICAgICAgICBmb250LXNpemU6IDI3cHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTI1JSxcbiAgICAgICksXG4gICAgICA0OiAoXG4gICAgICAgICBmb250LXNpemU6IDIwcHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTI1JSxcbiAgICAgICksXG4gICAgICA1OiAoXG4gICAgICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTI1JSxcbiAgICAgICksXG4gICAgICA2OiAoXG4gICAgICAgICBmb250LXNpemU6IDEzcHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTMwJSxcbiAgICAgICksXG4gICAgICA3OiAoXG4gICAgICAgICBmb250LXNpemU6IDEzcHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTI1JSxcbiAgICAgICksXG4gICAgICBib2R5OiAoXG4gICAgICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTUwJSxcbiAgICAgICksXG4gICAgICBzbWFsbDogKFxuICAgICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCUsXG4gICAgICApLFxuICAgKSxcbiAgIG1kOiAoXG4gICAgICAxOiAoXG4gICAgICAgICBmb250LXNpemU6IDcwcHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTEwJSxcbiAgICAgICksXG4gICAgICAyOiAoXG4gICAgICAgICBmb250LXNpemU6IDQwcHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTI1JSxcbiAgICAgICksXG4gICAgICAzOiAoXG4gICAgICAgICBmb250LXNpemU6IDI5cHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTI1JSxcbiAgICAgICksXG4gICAgICA0OiAoXG4gICAgICAgICBmb250LXNpemU6IDI2cHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTI1JSxcbiAgICAgICksXG4gICAgICA1OiAoXG4gICAgICAgICBmb250LXNpemU6IDIwcHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTIwJSxcbiAgICAgICksXG4gICAgICA2OiAoXG4gICAgICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTI1JSxcbiAgICAgICksXG4gICAgICA3OiAoXG4gICAgICAgICBmb250LXNpemU6IDEzcHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTI1JSxcbiAgICAgICksXG4gICAgICBib2R5OiAoXG4gICAgICAgICBmb250LXNpemU6IDIwcHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTUwJSxcbiAgICAgICksXG4gICAgICBzbWFsbDogKFxuICAgICAgICAgZm9udC1zaXplOiAyMHB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCUsXG4gICAgICApLFxuICAgKSxcbiAgIGxnOiAoXG4gICAgICAxOiAoXG4gICAgICAgICBmb250LXNpemU6IDEyMHB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDExMCUsXG4gICAgICApLFxuICAgICAgMjogKFxuICAgICAgICAgZm9udC1zaXplOiA0MHB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgMzogKFxuICAgICAgICAgZm9udC1zaXplOiAzNnB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgNDogKFxuICAgICAgICAgZm9udC1zaXplOiAyNXB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgNTogKFxuICAgICAgICAgZm9udC1zaXplOiAyMHB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCUsXG4gICAgICApLFxuICAgICAgNjogKFxuICAgICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgNzogKFxuICAgICAgICAgZm9udC1zaXplOiAxM3B4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgYm9keTogKFxuICAgICAgICAgZm9udC1zaXplOiAyMHB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCUsXG4gICAgICApLFxuICAgICAgc21hbGw6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMjBweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlLFxuICAgICAgKSxcbiAgICksXG4pO1xuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIGJyZWFraW5ncG9pbnRzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgIHNtOiAwLFxuICAgc21tZDogNTAwcHgsXG4gICBtZDogNzY4cHgsXG4gICBsZzogMTAwMHB4LFxuICAgeGw6IDE0NDBweCxcbiAgIC8vIHh4bDogMTYwMHB4LFxuICAgIC8vIG1heDogMjU2MHB4LCwsLCwsLCwsXG4pO1xuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgIHNtOiA5MCUsXG4gICB4bDogMTQwMHB4LFxuKTtcblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBzcGFjaW5nXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJHNwYWNlczogKFxuICAgc206IChcbiAgICAgIDEwMDogMTAwcHgsXG4gICAgICA4MDogODBweCxcblxuICAgICAgLy8gOTY6IDk2cHgsXG4gICAgICAvLyA4MDogNjRweCxcbiAgICAgIC8vIDY0OiAzMnB4LFxuICAgICAgLy8gNTY6IDU2cHgsXG4gICAgICAvLyA0ODogNDhweCxcbiAgICAgIC8vIDMyOiAzMnB4LFxuICAgICAgLy8gMjQ6IDI0cHgsXG4gICAgICAvLyAyNTogMjVweCxcbiAgICAgIC8vIDE2OiAxNnB4LFxuICAgICAgLy8gMTI6IDEycHgsXG4gICAgICAvLyA4OiA4cHgsXG4gICAgICAvLyA1cGVyOiA1JSxcbiAgICAgIC8vIDEwcGVyOiAxMCUsXG4gICAgICAvLyAxNXBlcjogMTUlLFxuICAgICAgIC8vIHJlc2V0OiAwLFxuICAgKSxcbiAgIG1kOiAoXG4gICAgICAxMDA6IDEwMHB4LFxuICAgICAgODA6IDgwcHgsXG4gICAgICAvLyA5NjogOTZweCxcbiAgICAgIC8vIDgwOiA4MHB4LFxuICAgICAgLy8gNjQ6IDY0cHgsXG4gICAgICAvLyA1NjogNTZweCxcbiAgICAgIC8vIDQ4OiA0OHB4LFxuICAgICAgLy8gMzI6IDMycHgsXG4gICAgICAvLyAyNDogMjRweCxcbiAgICAgIC8vIDE2OiAxNnB4LFxuICAgICAgLy8gMTI6IDEycHgsXG4gICAgICAvLyA4OiA4cHgsXG4gICAgICAvLyA1cGVyOiA1JSxcbiAgICAgIC8vIDEwcGVyOiAxMCUsXG4gICAgICAgLy8gMTVwZXI6IDE1JSxcbiAgICksXG4pO1xuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIGJ1dHRvbnNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kYnV0dG9uczogKFxuICAgc206IChcbiAgICAgIDE6IChcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4LFxuICAgICAgICAgaGVpZ2h0OiA1MnB4LFxuICAgICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgICAgcGFkZGluZzogMCAzMHB4LFxuICAgICAgKSxcbiAgICAgIDI6IChcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4LFxuICAgICAgICAgaGVpZ2h0OiAzM3B4LFxuICAgICAgICAgZm9udC1zaXplOiAxM3B4LFxuICAgICAgICAgcGFkZGluZzogMCAyZW0sXG4gICAgICApLFxuICAgICAgMzogKFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHgsXG4gICAgICAgICBoZWlnaHQ6IDMwcHgsXG4gICAgICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICAgICBwYWRkaW5nOiAwIDJlbSxcbiAgICAgICksXG4gICApLFxuICAgbWQ6IChcbiAgICAgIDE6IChcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiA2NXB4LFxuICAgICAgICAgaGVpZ2h0OiA2NXB4LFxuICAgICAgICAgZm9udC1zaXplOiAxNXB4LFxuICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweCxcbiAgICAgICksXG4gICAgICAyOiAoXG4gICAgICAgICBsaW5lLWhlaWdodDogMzZweCxcbiAgICAgICAgIGhlaWdodDogMzZweCxcbiAgICAgICAgIGZvbnQtc2l6ZTogMTZweCxcbiAgICAgICksXG4gICApLFxuKTtcblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyB0aW1lc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiR0aW1lczogKFxuICAgZmFzdDogMC4zcyxcbiAgIG1lZGl1bTogMC41cyxcbiAgIHNsb3c6IDFzLFxuKTtcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0KTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuXG4gICAgPiAqIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5KCk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWNzc2dyaWQge1xuICAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9cm93cywgMSksIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWNvbHVtbnMsICN7JGdyaWQtY29sdW1uc30pLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWdhcCwgI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcblxuICAgIEBpbmNsdWRlIG1ha2UtY3NzZ3JpZCgpO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvLyBUT0RPOiBSZXZpc2l0IGNhbGMgb3JkZXIgYWZ0ZXIgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LWJvb3RzdHJhcC9yZWFjdC1ib290c3RyYXAvaXNzdWVzLzYwMzkgaXMgZml4ZWRcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC8vIEFkZCBib3ggc2l6aW5nIGlmIG9ubHkgdGhlIGdyaWQgaXMgbG9hZGVkXG4gIGJveC1zaXppbmc6IGlmKHZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcsIGJvcmRlci1ib3gsIG51bGwpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2Ugc2V0IHRoZSB3aWR0aFxuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQcmV2ZW50IGAuY29sLWF1dG9gLCBgLmNvbGAgKCYgcmVzcG9uc2l2ZSB2YXJpYW50cykgZnJvbSBicmVha2luZyBvdXQgdGhlIGdyaWRcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXRvcDogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci15KTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplOiBmYWxzZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRzaXplIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG5cbiAgfSBAZWxzZSB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06IGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gIH1cbn1cblxuLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXg6IDEgMCAwJTsgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICB9XG5cbiAgICAgIC5yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy9cbiAgICAgIC8vIE1ha2UgdXNlIG9mIGAuZy0qYCwgYC5neC0qYCBvciBgLmd5LSpgIHV0aWxpdGllcyB0byBjaGFuZ2Ugc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRndXR0ZXJzIHtcbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd4I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3kjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3V0dGVyLXk6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jc3NncmlkKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5nLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgd2l0aCBgMWAgYmVjYXVzZSBgMGAgaXMgYW5kIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5nLXN0YXJ0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFV0aWxpdHkgZ2VuZXJhdG9yXG4vLyBVc2VkIHRvIGdlbmVyYXRlIHV0aWxpdGllcyAmIHByaW50IHV0aWxpdGllc1xuQG1peGluIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCwgJGlzLXJmcy1tZWRpYS1xdWVyeTogZmFsc2UpIHtcbiAgJHZhbHVlczogbWFwLWdldCgkdXRpbGl0eSwgdmFsdWVzKTtcblxuICAvLyBJZiB0aGUgdmFsdWVzIGFyZSBhIGxpc3Qgb3Igc3RyaW5nLCBjb252ZXJ0IGl0IGludG8gYSBtYXBcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gXCJzdHJpbmdcIiBvciB0eXBlLW9mKG50aCgkdmFsdWVzLCAxKSkgIT0gXCJsaXN0XCIge1xuICAgICR2YWx1ZXM6IHppcCgkdmFsdWVzLCAkdmFsdWVzKTtcbiAgfVxuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAkcHJvcGVydGllczogbWFwLWdldCgkdXRpbGl0eSwgcHJvcGVydHkpO1xuXG4gICAgLy8gTXVsdGlwbGUgcHJvcGVydGllcyBhcmUgcG9zc2libGUsIGZvciBleGFtcGxlIHdpdGggdmVydGljYWwgb3IgaG9yaXpvbnRhbCBtYXJnaW5zIG9yIHBhZGRpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHByb3BlcnRpZXMpID09IFwic3RyaW5nXCIge1xuICAgICAgJHByb3BlcnRpZXM6IGFwcGVuZCgoKSwgJHByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIC8vIFVzZSBjdXN0b20gY2xhc3MgaWYgcHJlc2VudFxuICAgICRwcm9wZXJ0eS1jbGFzczogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIGNsYXNzKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpLCBudGgoJHByb3BlcnRpZXMsIDEpKTtcbiAgICAkcHJvcGVydHktY2xhc3M6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBudWxsLCBcIlwiLCAkcHJvcGVydHktY2xhc3MpO1xuXG4gICAgLy8gU3RhdGUgcGFyYW1zIHRvIGdlbmVyYXRlIHBzZXVkby1jbGFzc2VzXG4gICAgJHN0YXRlOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgc3RhdGUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBzdGF0ZSksICgpKTtcblxuICAgICRpbmZpeDogaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kIHN0ci1zbGljZSgkaW5maXgsIDEsIDEpID09IFwiLVwiLCBzdHItc2xpY2UoJGluZml4LCAyKSwgJGluZml4KTtcblxuICAgIC8vIERvbid0IHByZWZpeCBpZiB2YWx1ZSBrZXkgaXMgbnVsbCAoZWcuIHdpdGggc2hhZG93IGNsYXNzKVxuICAgICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcjogaWYoJGtleSwgaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kICRpbmZpeCA9PSBcIlwiLCBcIlwiLCBcIi1cIikgKyAka2V5LCBcIlwiKTtcblxuICAgIEBpZiBtYXAtZ2V0KCR1dGlsaXR5LCByZnMpIHtcbiAgICAgIC8vIEluc2lkZSB0aGUgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiAkaXMtcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZSk7XG5cbiAgICAgICAgLy8gRG8gbm90IHJlbmRlciBhbnl0aGluZyBpZiBmbHVpZCBhbmQgbm9uIGZsdWlkIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICAgICAgJHZhbHVlOiBpZigkdmFsID09IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpLCBudWxsLCAkdmFsKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHZhbHVlOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkaXMtY3NzLXZhcjogbWFwLWdldCgkdXRpbGl0eSwgY3NzLXZhcik7XG4gICAgJGlzLWxvY2FsLXZhcnM6IG1hcC1nZXQoJHV0aWxpdHksIGxvY2FsLXZhcnMpO1xuICAgICRpcy1ydGw6IG1hcC1nZXQoJHV0aWxpdHksIHJ0bCk7XG5cbiAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6YmVnaW46cmVtb3ZlICovXG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtY3NzLXZhciB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIC0tI3skdmFyaWFibGUtcHJlZml4fSN7JHByb3BlcnR5LWNsYXNzfTogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIC0tI3skdmFyaWFibGUtcHJlZml4fSN7JHByb3BlcnR5LWNsYXNzfTogI3skdmFsdWV9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFsdWUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIC0tI3skdmFyaWFibGUtcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhbHVlfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6ZW5kOnJlbW92ZSAqL1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTG9vcCBvdmVyIGVhY2ggYnJlYWtwb2ludFxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcblxuICAvLyBHZW5lcmF0ZSBtZWRpYSBxdWVyeSBpZiBuZWVkZWRcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gTG9vcCBvdmVyIGVhY2ggdXRpbGl0eSBwcm9wZXJ0eVxuICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgLy8gT25seSBwcm9jZWVkIGlmIHJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyBhcmUgZW5hYmxlZCBvciBpZiBpdCdzIHRoZSBiYXNlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFJGUyByZXNjYWxpbmdcbkBtZWRpYSAobWluLXdpZHRoOiAkcmZzLW1xLXZhbHVlKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAaWYgKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSA8ICRyZnMtYnJlYWtwb2ludCkge1xuICAgICAgLy8gTG9vcCBvdmVyIGVhY2ggdXRpbGl0eSBwcm9wZXJ0eVxuICAgICAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAgICAgLy8gT25seSBwcm9jZWVkIGlmIHJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyBhcmUgZW5hYmxlZCBvciBpZiBpdCdzIHRoZSBiYXNlIG1lZGlhIHF1ZXJ5XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCBtYXAtZ2V0KCR1dGlsaXR5LCByZnMpIGFuZCAobWFwLWdldCgkdXRpbGl0eSwgcmVzcG9uc2l2ZSkgb3IgJGluZml4ID09IFwiXCIpIHtcbiAgICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgLy8gVGhlbiBjaGVjayBpZiB0aGUgdXRpbGl0eSBuZWVkcyBwcmludCBzdHlsZXNcbiAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLWdldCgkdXRpbGl0eSwgcHJpbnQpID09IHRydWUge1xuICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgXCItcHJpbnRcIik7XG4gICAgfVxuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIHNwYWNpbmdcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4gICAvKmxvb3Agb3ZlciBhbGwgYnJlYWtpbmcgcG9pbnRzKi9cbiAgIEBlYWNoICRxdWVyeV9uYW1lLCAkcXVlcnlfdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMgeyAgICBcbiAgICAgIFxuICAgIC8vaWYgYnJlYWtpbmcgcG9pbnQgbm90IGVtcHR5XG4gICAgICBAaWYgbWFwLWdldCgkc3BhY2VzLCAkcXVlcnlfbmFtZSkgIT0gbnVsbCB7ICAgICAgICAgICAgXG4gICAgICAgICBAaWYgJHF1ZXJ5X3ZhbHVlID09IDAge1xuICAgICAgICAgICAgQGRlYnVnICRxdWVyeV92YWx1ZTtcbiAgICAgICAgICAgIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gbWFwLWdldCgkc3BhY2VzLCAkcXVlcnlfbmFtZSkge1xuICAgICAgICAgICAgICAgQGlmICRuYW1lICE9IG51bGwge1xuICAgICAgICAgICAgICAgLm1iLS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIC5tdC0tI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgIC5wLS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkdmFsdWU7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAucGwtLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAucHItLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgLnB0LS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAucGItLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgIEBkZWJ1ZyAkcXVlcnlfdmFsdWU7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRxdWVyeV92YWx1ZSl7XG4gICAgICAgICAgICAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiBtYXAtZ2V0KCRzcGFjZXMsICRxdWVyeV9uYW1lKSB7XG4gICAgICAgICAgICAgICAgQGlmICRuYW1lICE9IG51bGwge1xuICAgICAgICAgICAgICAgICAgICAgLnB0LS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAucGItLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgIC5tdC0tI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAubWItLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgICAgIC5tYi0jeyRxdWVyeV9uYW1lfS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgLnAtI3skcXVlcnlfbmFtZX0tLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICR2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgLnBsLSN7JHF1ZXJ5X25hbWV9LS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgLnB0LSN7JHF1ZXJ5X25hbWV9LS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgIC5wYi0jeyRxdWVyeV9uYW1lfS0tI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgIH1cbiAgICB9IFxuIH0iLCJAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgLmJnLSN7JG5hbWV9IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgfVxufVxuIiwiLmNpcmNsZSB7XG4gICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICBvdmVyZmxvdzpoaWRkZW47XG59XG5cbi5yZXZlcnNlIHtcbiAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmxvYWRpbmcge1xuXG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIHRvcDowO1xuICAgICAgbGVmdDowO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgIH1cblxuICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgdG9wOjA7XG4gICAgICBsZWZ0OjA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltZy9sb2FkZXIuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgNDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzMCU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgfVxufVxuXG4udy0xMDB7XG4gICB3aWR0aDogMTAwJTtcbn0iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gKi9cblxuIGh0bWwge1xuICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiB9XG4gXG4gLyoqXG4gICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAqL1xuIFxuIGJvZHkge1xuICAgbWFyZ2luOiAwO1xuIH1cbiBcbiAvKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBcbiAvKipcbiAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICogYW5kIEZpcmVmb3guXG4gICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgKi9cbiBcbiBhcnRpY2xlLFxuIGFzaWRlLFxuIGRldGFpbHMsXG4gZmlnY2FwdGlvbixcbiBmaWd1cmUsXG4gZm9vdGVyLFxuIGhlYWRlcixcbiBtYWluLFxuIG1lbnUsXG4gbmF2LFxuIHNlY3Rpb24sXG4gc3VtbWFyeSB7XG4gICBkaXNwbGF5OiBibG9jaztcbiB9XG4gXG4gLyoqXG4gICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICovXG4gXG4gYXVkaW8sXG4gY2FudmFzLFxuIHByb2dyZXNzLFxuIHZpZGVvIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gfVxuIFxuIC8qKlxuICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgKi9cbiBcbiBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgZGlzcGxheTogbm9uZTtcbiAgIGhlaWdodDogMDtcbiB9XG4gXG4gLyoqXG4gICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgKi9cbiBcbiBbaGlkZGVuXSxcbiB0ZW1wbGF0ZSB7XG4gICBkaXNwbGF5OiBub25lO1xuIH1cbiBcbiAvKiBMaW5rc1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4gLyoqXG4gICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICovXG4gXG4gYSB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiB9XG4gXG4gLyoqXG4gICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgKi9cbiBcbiBhOmFjdGl2ZSxcbiBhOmhvdmVyIHtcbiAgIG91dGxpbmU6IDA7XG4gfVxuIFxuIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBcbiAvKipcbiAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICovXG4gXG4gYWJiclt0aXRsZV0ge1xuICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiB9XG4gXG4gLyoqXG4gICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAqL1xuIFxuIGIsXG4gc3Ryb25nIHtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuIH1cbiBcbiAvKipcbiAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICovXG4gXG4gZGZuIHtcbiAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiB9XG4gXG4gLyoqXG4gICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgKi9cbiBcbiBoMSB7XG4gICBmb250LXNpemU6IDJlbTtcbiAgIG1hcmdpbjogMC42N2VtIDA7XG4gfVxuIFxuIC8qKlxuICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICovXG4gXG4gbWFyayB7XG4gICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgY29sb3I6ICMwMDA7XG4gfVxuIFxuIC8qKlxuICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAqL1xuIFxuIHNtYWxsIHtcbiAgIGZvbnQtc2l6ZTogODAlO1xuIH1cbiBcbiAvKipcbiAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICovXG4gXG4gc3ViLFxuIHN1cCB7XG4gICBmb250LXNpemU6IDc1JTtcbiAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuIH1cbiBcbiBzdXAge1xuICAgdG9wOiAtMC41ZW07XG4gfVxuIFxuIHN1YiB7XG4gICBib3R0b206IC0wLjI1ZW07XG4gfVxuIFxuIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuIFxuIC8qKlxuICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAqL1xuIFxuIGltZyB7XG4gICBib3JkZXI6IDA7XG4gfVxuIFxuIC8qKlxuICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAqL1xuIFxuIHN2Zzpub3QoOnJvb3QpIHtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG4gfVxuIFxuIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuIFxuIC8qKlxuICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAqL1xuIFxuIGZpZ3VyZSB7XG4gICBtYXJnaW46IDFlbSA0MHB4O1xuIH1cbiBcbiAvKipcbiAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICovXG4gXG4gaHIge1xuICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICBoZWlnaHQ6IDA7XG4gfVxuIFxuIC8qKlxuICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAqL1xuIFxuIHByZSB7XG4gICBvdmVyZmxvdzogYXV0bztcbiB9XG4gXG4gLyoqXG4gICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAqL1xuIFxuIGNvZGUsXG4ga2JkLFxuIHByZSxcbiBzYW1wIHtcbiAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgIGZvbnQtc2l6ZTogMWVtO1xuIH1cbiBcbiAvKiBGb3Jtc1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4gLyoqXG4gICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICovXG4gXG4gLyoqXG4gICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICovXG4gXG4gYnV0dG9uLFxuIGlucHV0LFxuIG9wdGdyb3VwLFxuIHNlbGVjdCxcbiB0ZXh0YXJlYSB7XG4gICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgbWFyZ2luOiAwOyAvKiAzICovXG4gfVxuIFxuIC8qKlxuICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAqL1xuIFxuIGJ1dHRvbiB7XG4gICBvdmVyZmxvdzogdmlzaWJsZTtcbiB9XG4gXG4gLyoqXG4gICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICovXG4gXG4gYnV0dG9uLFxuIHNlbGVjdCB7XG4gICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiB9XG4gXG4gLyoqXG4gICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICovXG4gXG4gYnV0dG9uLFxuIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbiBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiB9XG4gXG4gLyoqXG4gICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgKi9cbiBcbiBidXR0b25bZGlzYWJsZWRdLFxuIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgIGN1cnNvcjogZGVmYXVsdDtcbiB9XG4gXG4gLyoqXG4gICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAqL1xuIFxuIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICBib3JkZXI6IDA7XG4gICBwYWRkaW5nOiAwO1xuIH1cbiBcbiAvKipcbiAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICovXG4gXG4gaW5wdXQge1xuICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiB9XG4gXG4gLyoqXG4gICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICpcbiAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICovXG4gXG4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICBwYWRkaW5nOiAwOyAvKiAyICovXG4gfVxuIFxuIC8qKlxuICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICovXG4gXG4gaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgIGhlaWdodDogYXV0bztcbiB9XG4gXG4gLyoqXG4gICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgKi9cbiBcbiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuIH1cbiBcbiAvKipcbiAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAqL1xuIFxuIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gfVxuIFxuIC8qKlxuICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgKi9cbiBcbiBmaWVsZHNldCB7XG4gICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgbWFyZ2luOiAwIDJweDtcbiAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiB9XG4gXG4gLyoqXG4gICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgKi9cbiBcbiBsZWdlbmQge1xuICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICBwYWRkaW5nOiAwOyAvKiAyICovXG4gfVxuIFxuIC8qKlxuICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICovXG4gXG4gdGV4dGFyZWEge1xuICAgb3ZlcmZsb3c6IGF1dG87XG4gfVxuIFxuIC8qKlxuICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgKi9cbiBcbiBvcHRncm91cCB7XG4gICBmb250LXdlaWdodDogYm9sZDtcbiB9XG4gXG4gLyogVGFibGVzXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBcbiAvKipcbiAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICovXG4gXG4gdGFibGUge1xuICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgIGJvcmRlci1zcGFjaW5nOiAwO1xuIH1cbiBcbiB0ZCxcbiB0aCB7XG4gICBwYWRkaW5nOiAwO1xuIH0iLCJzdmcsXG5pbWcge1xuICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBoZWlnaHQ6IGF1dG87XG59XG5cbmZpZ3VyZSB7XG4gICBtYXJnaW46MHB4O1xufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIGxhenlcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4gICAubGF6eS1jb250YWluZXIge1xuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICB0b3A6IDA7XG4gICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQQ0V0TFNCQ2VTQlRZVzBnU0dWeVltVnlkQ0FvUUhOb1pYSmlLU3dnWm05eUlHVjJaWEo1YjI1bExpQk5iM0psSUVBZ2FIUjBjRG92TDJkdmJ5NW5iQzgzUVVwNllrd2dMUzArQ2p4emRtY2dkMmxrZEdnOUlqTTRJaUJvWldsbmFIUTlJak00SWlCMmFXVjNRbTk0UFNJd0lEQWdNemdnTXpnaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2MzUnliMnRsUFNJallXRmhJajRLSUNBZ0lEeG5JR1pwYkd3OUltNXZibVVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJK0NpQWdJQ0FnSUNBZ1BHY2dkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTVNBeEtTSWdjM1J5YjJ0bExYZHBaSFJvUFNJeUlqNEtJQ0FnSUNBZ0lDQWdJQ0FnUEdOcGNtTnNaU0J6ZEhKdmEyVXRiM0JoWTJsMGVUMGlMalVpSUdONFBTSXhPQ0lnWTNrOUlqRTRJaUJ5UFNJeE9DSXZQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk16WWdNVGhqTUMwNUxqazBMVGd1TURZdE1UZ3RNVGd0TVRnaVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHRnVhVzFoZEdWVWNtRnVjMlp2Y20wS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhkSFJ5YVdKMWRHVk9ZVzFsUFNKMGNtRnVjMlp2Y20waUNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGx3WlQwaWNtOTBZWFJsSWdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWnliMjA5SWpBZ01UZ2dNVGdpQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHODlJak0yTUNBeE9DQXhPQ0lLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa2RYSTlJakZ6SWdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjR1ZoZEVOdmRXNTBQU0pwYm1SbFptbHVhWFJsSWk4K0NpQWdJQ0FnSUNBZ0lDQWdJRHd2Y0dGMGFENEtJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQThMMmMrQ2p3dmMzWm5QZz09XCIpO1xuICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwJTtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZm91cnRoKTtcbiAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgbWFwLWdldCgkdGltZXMsIHNsb3cpO1xuICAgICAgfVxuICAgICAgIFxuICAgICAgJi5sYXp5LWNvbnRhaW5lci0tbG9hZGVkOmFmdGVyIHtcbiAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICB0b3A6MDtcbiAgICAgICAgIGxlZnQ6MDtcbiAgICAgIH1cblxuICAgICAgJi5sYXp5LWNvbnRhaW5lci0tdHJhbnNwYXJlbnQge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICB9XG5cbiAgIFtkYXRhLWJnXSB7XG4gICAgICBcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICB0b3A6IDA7XG4gICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQQ0V0TFNCQ2VTQlRZVzBnU0dWeVltVnlkQ0FvUUhOb1pYSmlLU3dnWm05eUlHVjJaWEo1YjI1bExpQk5iM0psSUVBZ2FIUjBjRG92TDJkdmJ5NW5iQzgzUVVwNllrd2dMUzArQ2p4emRtY2dkMmxrZEdnOUlqTTRJaUJvWldsbmFIUTlJak00SWlCMmFXVjNRbTk0UFNJd0lEQWdNemdnTXpnaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2MzUnliMnRsUFNJallXRmhJajRLSUNBZ0lEeG5JR1pwYkd3OUltNXZibVVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJK0NpQWdJQ0FnSUNBZ1BHY2dkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTVNBeEtTSWdjM1J5YjJ0bExYZHBaSFJvUFNJeUlqNEtJQ0FnSUNBZ0lDQWdJQ0FnUEdOcGNtTnNaU0J6ZEhKdmEyVXRiM0JoWTJsMGVUMGlMalVpSUdONFBTSXhPQ0lnWTNrOUlqRTRJaUJ5UFNJeE9DSXZQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk16WWdNVGhqTUMwNUxqazBMVGd1TURZdE1UZ3RNVGd0TVRnaVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHRnVhVzFoZEdWVWNtRnVjMlp2Y20wS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhkSFJ5YVdKMWRHVk9ZVzFsUFNKMGNtRnVjMlp2Y20waUNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGx3WlQwaWNtOTBZWFJsSWdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWnliMjA5SWpBZ01UZ2dNVGdpQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHODlJak0yTUNBeE9DQXhPQ0lLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa2RYSTlJakZ6SWdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjR1ZoZEVOdmRXNTBQU0pwYm1SbFptbHVhWFJsSWk4K0NpQWdJQ0FnSUNBZ0lDQWdJRHd2Y0dGMGFENEtJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQThMMmMrQ2p3dmMzWm5QZz09XCIpO1xuICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwJTtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZm91cnRoKTtcbiAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgbWFwLWdldCgkdGltZXMsIHNsb3cpLCB0b3AgMHMgbGluZWFyIG1hcC1nZXQoJHRpbWVzLCBzbG93KTtcbiAgICAgIH1cblxuICAgICAgJi5sYXp5LS1sb2FkZWQge1xuICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdG9wOi0xMDAwJTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIGJhY2tncm91bmRzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuICAgLmJnLWNvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICB9IiwidGV4dGFyZWEsXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdudW1iZXInXSxcbmlucHV0W3R5cGU9J3RlbCddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSxcbnNlbGVjdHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeSwgMC4yNSk7XG4gICBoZWlnaHQ6IDUwcHg7XG4gICBsaW5lLWhlaWdodDogNTBweDtcbiAgIGJvcmRlcjogbm9uZTtcbiAgIHBhZGRpbmc6IDAgMTVweDtcbn1cblxudGV4dGFyZWEge1xuICAgaGVpZ2h0OiAzMDBweDtcbiAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG4uYWYtZm9ybXtcbiAgIG1heC13aWR0aDo5MDBweDtcbiAgIHdpZHRoOjkwJTtcbiAgIG1hcmdpbjphdXRvO1xufVxuXG4uYWNmLWZpZWxkc3tcbiAgIGRpc3BsYXk6IGdyaWQ7XG4gICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XG4gICBsYWJlbHtcbiAgICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgIH1cbiAgIHNlbGVjdCxcbiAgIGlucHV0e1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCNENkQ2RDY7XG4gICB9XG5cbiAgIC5hZi1maWVsZC10eXBlLW1lc3NhZ2V7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogMztcbiAgICAgIHB7XG4gICAgICAgICBmb250LXNpemU6MjRweDtcbiAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIH1cbiAgIH1cbiAgIC5hZi1maWVsZC10eXBlLXRydWUtZmFsc2UsXG4gICAuYWYtZmllbGQtdGl0ZWwtZGVzLWJlaXRyYWdzLFxuICAgLmFmLWZpZWxkLXR5cGUtc2VsZWN0LFxuICAgLmFmLWZpZWxkLXR5cGUtcmVwZWF0ZXJ7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogMztcbiAgIH1cbiAgIC5hY2YtYWN0aW9uc3tcbiAgICAgIGhlaWdodDo1MHB4O1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IFxuICAgICAgLmFjZi1idXR0b257XG4gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xuICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgIG1pbi13aWR0aDogMTEwcHg7XG4gICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgIFxuICAgICAgfVxuICAgfVxuLmFmLXN1Ym1pdHtcbiAgIC5hY2YtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgIH1cbn1cbn1cblxuXG5cbi5hY2YtZmllbGRzID4gLmFjZi1maWVsZHtcbiAgIGJvcmRlci10b3A6bm9uZSAhaW1wb3J0YW50O1xufSIsIi8qbG9vcCBvdmVyIGFsbCBicmVha2luZyBwb2ludHMqL1xuQGVhY2ggJHF1ZXJ5X25hbWUsICRxdWVyeV92YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAvL2lmIGJyZWFraW5nIHBvaW50IG5vdCBlbXB0eSAoPSBmYWxzZSlcbiAgIEBpZiBtYXAtZ2V0KCRidXR0b25zLCAkcXVlcnlfbmFtZSkgIT0gbnVsbCB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluIG1hcC1kZWVwLWdldCgkYnV0dG9ucywgJHF1ZXJ5X25hbWUpIHtcbiAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkcXVlcnlfbmFtZSkpIHtcbiAgICAgICAgICAgIC5idG4tLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkdmFsdWUsIGZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwgYW5kIG1hcC1kZWVwLWdldCgkdmFsdWUsIGxpbmUtaGVpZ2h0KSAhPSBudWxsIHtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJHZhbHVlLCBsaW5lLWhlaWdodCk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwgYW5kIG1hcC1kZWVwLWdldCgkdmFsdWUsIGhlaWdodCkgIT0gbnVsbCB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1kZWVwLWdldCgkdmFsdWUsIGhlaWdodCk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9XG4gICAgICAgICAgICAgICAgICBudWxsIGFuZFxuICAgICAgICAgICAgICAgICAgbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGV0dGVyLXNwYWNpbmcpICE9XG4gICAgICAgICAgICAgICAgICAwcHggYW5kXG4gICAgICAgICAgICAgICAgICBtYXAtZGVlcC1nZXQoJHZhbHVlLCBsZXR0ZXItc3BhY2luZykgIT1cbiAgICAgICAgICAgICAgICAgIG51bGxcbiAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZGVlcC1nZXQoJHZhbHVlLCBsZXR0ZXItc3BhY2luZyk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwgYW5kIG1hcC1kZWVwLWdldCgkdmFsdWUsIHBhZGRpbmcpICE9IG51bGwge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgcGFkZGluZyk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbi5idG4ge1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBzZWNvbmRhcnkpO1xuICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmFzZSk7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgIHRyYW5zaXRpb246IGFsbCBtYXAtZ2V0KCR0aW1lcywgZmFzdCk7XG4gICBib3JkZXI6IG5vbmU7XG4gICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICBmb250LWZhbWlseTogJ0FwcmlzJztcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG5cbiAgICoge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgIH1cblxuICAgJi5idG4tLXRoaXJkIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHRoaXJkKTtcbiAgIH1cblxuICAgJi5idG4tLXdoaXRlIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgIH1cblxuICAgJi5idG4tLWxvYWRpbmcge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL3NyYy9pbWcvbG9hZGVyLnN2ZykgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA3MCUgNzAlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICB9XG5cbiAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIGNsYXNzPVwiZGVjb1wiIHdpZHRoPVwiNDAyXCIgaGVpZ2h0PVwiNDAyXCIgdmlld0JveD1cIjAgMCA0MDIgNDAyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0yMDAuOTkyIDBMMjIxLjk0NSA2OC42Mzg3TDI2My4wOTggOS44MzE4NEwyNjEuODI1IDgxLjYwMjZMMzE5LjEyNSAzOC4zODk0TDI5NS43NDMgMTA2LjI0MUwzNjMuNTk0IDgyLjg1ODhMMzIwLjM4MSAxNDAuMTU4TDM5Mi4xNTIgMTM4Ljg4NUwzMzMuMzQ1IDE4MC4wMzhMNDAxLjk4MyAyMDAuOTkyTDMzMy4zNDUgMjIxLjk0NUwzOTIuMTUyIDI2My4wOThMMzIwLjM4MSAyNjEuODI1TDM2My41OTQgMzE5LjEyNUwyOTUuNzQzIDI5NS43NDNMMzE5LjEyNSAzNjMuNTk0TDI2MS44MjUgMzIwLjM4MUwyNjMuMDk4IDM5Mi4xNTJMMjIxLjk0NSAzMzMuMzQ1TDIwMC45OTIgNDAxLjk4M0wxODAuMDM4IDMzMy4zNDVMMTM4Ljg4NSAzOTIuMTUyTDE0MC4xNTggMzIwLjM4MUw4Mi44NTg4IDM2My41OTRMMTA2LjI0MSAyOTUuNzQzTDM4LjM4OTQgMzE5LjEyNUw4MS42MDI2IDI2MS44MjVMOS44MzE4NCAyNjMuMDk4TDY4LjYzODcgMjIxLjk0NUwwIDIwMC45OTJMNjguNjM4NyAxODAuMDM4TDkuODMxODQgMTM4Ljg4NUw4MS42MDI2IDE0MC4xNThMMzguMzg5NCA4Mi44NTg4TDEwNi4yNDEgMTA2LjI0MUw4Mi44NTg4IDM4LjM4OTRMMTQwLjE1OCA4MS42MDI2TDEzOC44ODUgOS44MzE4NEwxODAuMDM4IDY4LjYzODdMMjAwLjk5MiAwWlwiIGZpbGw9XCIlMjNGMEQzRjdcIiAvPjwvc3ZnPicpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICB9XG5cbiAgICY6aG92ZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogNDVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDE1KTtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIkBmb250LWZhY2Uge1xuICAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gICBzcmM6IHVybCgnLi4vLi4vc3JjL2ZvbnRzL0ludGVyLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICBmb250LXdlaWdodDogNDAwO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICAgc3JjOiB1cmwoJy4uLy4uL3NyYy9mb250cy9JbnRlci1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICBmb250LWZhbWlseTogJ0FwcmlzJztcbiAgIHNyYzogdXJsKCcuLi8uLi9zcmMvZm9udHMvQXByaXMtUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICBmb250LXN0eWxlOiBub3JtYWw7XG4gICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgZm9udC1mYW1pbHk6ICdBcHJpcy1NZWRpdW0nO1xuICAgc3JjOiB1cmwoJy4uLy4uL3NyYy9mb250cy9BcHJpcy1NZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICBmb250LXdlaWdodDogNTAwO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgIGZvbnQtZmFtaWx5OiAnQXByaXMtSXRhbGljJztcbiAgIHNyYzogdXJsKCcuLi8uLi9zcmMvZm9udHMvQXByaXMtTWVkaXVtSXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICBmb250LWZhbWlseTogJ0FwcmlzJztcbiAgIHNyYzogdXJsKCcuLi8uLi9zcmMvZm9udHMvQXByaXMtQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICBmb250LXN0eWxlOiBub3JtYWw7XG4gICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIHNpemluZ1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbmJvZHkge1xuICAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgIEBlYWNoICRxdWVyeV9uYW1lLCAkcXVlcnlfdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG1hcC1kZWVwLWdldCgkdHlwbywgJHF1ZXJ5X25hbWUpICE9IG51bGwge1xuICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRxdWVyeV9uYW1lKSkge1xuICAgICAgICAgICAgQGlmIG1hcC1kZWVwLWdldCgkdHlwbywgJHF1ZXJ5X25hbWUsIGJvZHksIGZvbnQtc2l6ZSkgIT0gbnVsbCB7XG4gICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkdHlwbywgJHF1ZXJ5X25hbWUsIGJvZHksIGZvbnQtc2l6ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiBtYXAtZGVlcC1nZXQoJHR5cG8sICRxdWVyeV9uYW1lLCBib2R5LCBsaW5lLWhlaWdodCkgIT0gbnVsbCB7XG4gICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbWFwLWRlZXAtZ2V0KCR0eXBvLCAkcXVlcnlfbmFtZSwgYm9keSwgbGluZS1oZWlnaHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgbWFwLWRlZXAtZ2V0KCR0eXBvLCAkcXVlcnlfbmFtZSwgYm9keSwgbGV0dGVyLXNwYWNpbmcpICE9IG51bGwge1xuICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1kZWVwLWdldCgkdHlwbywgJHF1ZXJ5X25hbWUsIGJvZHksIGxldHRlci1zcGFjaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxucCxcbnVsIHtcbiAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICBtYXJnaW4tdG9wOiAwO1xuICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbi5oMSxcbi5oMixcbi5oMyxcbi5oNCxcbi5oNSB7XG4gICBtYXJnaW4tdG9wOiAwO1xuICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICBmb250LWZhbWlseTogJ0FwcmlzJztcbn1cblxuLypsb29wIG92ZXIgYWxsIGJyZWFraW5nIHBvaW50cyovXG5AZWFjaCAkcXVlcnlfbmFtZSwgJHF1ZXJ5X3ZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgIC8vaWYgYnJlYWtpbmcgcG9pbnQgbm90IGVtcHR5XG4gICBAaWYgbWFwLWRlZXAtZ2V0KCR0eXBvLCAkcXVlcnlfbmFtZSkgIT0gbnVsbCB7XG4gICAgICAvL2xvb3Agb3ZlciBhbGwgZm9udCB0eXBlcyAoMSwgMiwgMywgcCwgc21hbGwpIGluIHRoZSBicmVha2luZyBwb2ludFxuICAgICAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiBtYXAtZGVlcC1nZXQoJHR5cG8sICRxdWVyeV9uYW1lKSB7XG4gICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJHF1ZXJ5X25hbWUpKSB7XG4gICAgICAgICAgICAuaCN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkdmFsdWUsIGZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgIEBpZiAkdmFsdWUgIT0gbnVsbCBhbmQgbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGluZS1oZWlnaHQpICE9IG51bGwge1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG1hcC1kZWVwLWdldCgkdmFsdWUsIGxpbmUtaGVpZ2h0KTtcbiAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgQGlmICR2YWx1ZSAhPVxuICAgICAgICAgICAgICAgICAgbnVsbCBhbmRcbiAgICAgICAgICAgICAgICAgIG1hcC1kZWVwLWdldCgkdmFsdWUsIGxldHRlci1zcGFjaW5nKSAhPVxuICAgICAgICAgICAgICAgICAgMHB4IGFuZFxuICAgICAgICAgICAgICAgICAgbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGV0dGVyLXNwYWNpbmcpICE9XG4gICAgICAgICAgICAgICAgICBudWxsXG4gICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGV0dGVyLXNwYWNpbmcpO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIFRleHQgc3R5bGVzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLmZvbnQtc2VyaWYge1xuICAgZm9udC1mYW1pbHk6ICdBcHJpcyc7XG59XG5cbmEge1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udGV4dC1jZW50ZXIge1xuICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWxlZnQge1xuICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC11cHBlcmNhc2Uge1xuICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRleHQtdW5kZXJsaW5lIHtcbiAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIGxpc3RzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLmxpc3Qge1xuICAgLmxpc3QtLWlubGluZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIHNtKSkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgfVxuICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgfVxuICAgfVxufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIGRlY29yYXRpb25zXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLnNlcGFyYXRvciB7XG4gICBwYWRkaW5nLXRvcDogMTVweDtcbiAgIGJvcmRlci10b3A6IDRweCBzb2xpZCBibGFjaztcbn1cblxuLnNlcGFyYXRvci0tYm90dG9tIHtcbiAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGJsYWNrO1xufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIGNvbG9yc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAudGV4dC0jeyRuYW1lfSB7XG4gICAgICBjb2xvcjogJHZhbHVlO1xuXG4gICAgICBhIHtcbiAgICAgICAgIGNvbG9yOiAkdmFsdWU7XG4gICAgICB9XG4gICB9XG59XG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gbGlua3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5hIHtcbiAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHByaW1hcnkpO1xuXG4gICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHRoaXJkKTtcbiAgIH1cbn1cblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBXWVNJV1lHXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLnd5c2l3eWcge1xuICAgYSB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgfVxufVxuIiwiLmFjdG9ycy1wYWdlIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNmNGU2ZTE7XG4gICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuLy8g4pSA4pSAIEhlcm8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5hY3RvcnMtaGVybyB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBoZWlnaHQ6IDM0MHB4O1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG5cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICB9XG5cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICB9XG5cbiAgICZfX2JnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBhbmltYXRpb246IGZhZGVJbiAxcyBlYXNlIDBzIGJvdGg7XG4gICB9XG5cbiAgICZfX3RpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDI0cHg7XG4gICAgICByaWdodDogMjRweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAnQXByaXMtTWVkaXVtJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoNTBweCwgMTB2dywgMTgwcHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBzZWNvbmRhcnkpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwdmg7XG4gICAgICBhbmltYXRpb246IGZhZGVVcCAwLjdzIGVhc2UgMC45cyBib3RoO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpKSB7XG4gICAgICAgICBsZWZ0OiA0MHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpKSB7XG4gICAgICAgICBsZWZ0OiA2MHB4O1xuICAgICAgfVxuICAgfVxufVxuXG4vLyDilIDilIAgQWJvdXQgdGVhbSBzZWN0aW9uIGhlYWRlciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmFib3V0LXRlYW0taGVhZGVyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgc2Vjb25kYXJ5KTtcbiAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgIG1hcmdpbi10b3A6IDY0cHg7XG4gICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuXG4gICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpKSB7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgIH1cblxuICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKSkge1xuICAgICAgbWFyZ2luLXRvcDogOTZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICB9XG5cbiAgICZfX3RpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnQXByaXMtTWVkaXVtJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMjRweCwgNHZ3LCA0OHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmFzZSk7XG4gICAgICBtYXJnaW46IDA7XG4gICB9XG59XG5cbi8vIOKUgOKUgCBDb250cm9scyBiYXIgKHRhYnMgKyB2aWV3IHRvZ2dsZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5hY3RvcnMtYmFyIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICBwYWRkaW5nOiAwIDI0cHggMDtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIHotaW5kZXg6IDE7XG5cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgIHBhZGRpbmc6IDBweCA0MHB4IDA7XG4gICB9XG5cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgICAgIHBhZGRpbmc6IDBweCA2MHB4IDA7XG4gICB9XG59XG5cbi8vIOKUgOKUgCBHZW5kZXIgZmlsdGVyIHRhYnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5hY3RvcnMtdGFicyB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgcHJpbWFyeSk7XG4gICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICBwYWRkaW5nOiA1cHg7XG4gICBnYXA6IDJweDtcbiAgIGZsZXgtd3JhcDogd3JhcDtcbiAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWNkZWI7XG4gICBtYXJnaW4tdG9wOiAtMjRweDtcbiAgICZfX2l0ZW0ge1xuICAgICAgZm9udC1mYW1pbHk6ICdBcHJpcy1NZWRpdW0nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDdweCAxNnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgIGNvbG9yIG1hcC1nZXQoJHRpbWVzLCBmYXN0KSxcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3IgbWFwLWdldCgkdGltZXMsIGZhc3QpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgcGFkZGluZzogOXB4IDIwcHg7XG4gICAgICB9XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCB0aGlyZCk7XG4gICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpob3Zlcjpub3QoLmlzLWFjdGl2ZSkge1xuICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgfVxuICAgfVxufVxuXG4vLyDilIDilIAgTGlzdCAvIEdhbGxlcnkgdG9nZ2xlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uYWN0b3JzLXZpZXctdG9nZ2xlIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgZ2FwOiAxMnB4O1xuICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICBtYXJnaW4tdG9wOiA0MnB4O1xuICAgbWFyZ2luLWJvdHRvbTogMjZweDtcblxuICAgJl9faXRlbSB7XG4gICAgICBmb250LWZhbWlseTogJ0FwcmlzJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmFzZSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwLjM1O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSBtYXAtZ2V0KCR0aW1lcywgZmFzdCk7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIH1cblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHRoaXJkKTtcbiAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyOm5vdCguaXMtYWN0aXZlKSB7XG4gICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgfVxuICAgfVxufVxuXG4vLyDilIDilIAgQWN0b3IgZ3JpZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmFjdG9ycy1ncmlkIHtcbiAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yMnMgZWFzZTtcblxuICAgJi5pcy1mYWRpbmcge1xuICAgICAgb3BhY2l0eTogMDtcbiAgIH1cblxuICAgZGlzcGxheTogZ3JpZDtcbiAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICBnYXA6IDZweDtcblxuICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgIH1cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICB9XG5cbiAgICZfX2VtcHR5IHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICBmb250LWZhbWlseTogJ0FwcmlzJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgICAgcGFkZGluZzogNDBweCAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgfVxuXG4gICAvLyDilIDilIAgTGlzdCB2aWV3IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gICAmLS1saXN0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICBnYXA6IDA7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICB9XG5cbiAgICAgIC5hY3Rvci1jYXJkIHtcbiAgICAgICAgIGFzcGVjdC1yYXRpbzogdW5zZXQ7XG4gICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcblxuICAgICAgICAgJl9fYmcsXG4gICAgICAgICAmX19vdmVybGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICB9XG5cbiAgICAgICAgICZfX2luZm8ge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIHBhZGRpbmc6IDFweCAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICB9XG5cbiAgICAgICAgICZfX25hbWUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgIH1cblxuICAgICAgICAgJl9fZmlyc3QtbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEycHgsIDNjcXcsIDE4cHgpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmFzZSk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQlO1xuICAgICAgICAgfVxuXG4gICAgICAgICAmX19sYXN0LW5hbWUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyMnB4LCA4Y3F3LCA0NHB4KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICB9XG5cbiAgICAgICAgICZfX2V4dHJhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgIH1cblxuICAgICAgICAgJjpob3ZlciAmX19iZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbi8vIOKUgOKUgCBBY3RvciBjYXJkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uYWN0b3ItY2FyZCB7XG4gICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICBhc3BlY3QtcmF0aW86IDMgLyA0LjU7XG4gICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgIGNvbG9yOiAjZmZmO1xuICAgdHJhbnNpdGlvbjpcbiAgICAgIG9wYWNpdHkgMC4yNnMgZWFzZSxcbiAgICAgIHRyYW5zZm9ybSAwLjI2cyBlYXNlO1xuXG4gICAmLmlzLW91dCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk0KTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgfVxuXG4gICAmX19iZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4obWFwLWdldCgkY29sb3JzLCBiYXNlKSwgNSUpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZTtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICB9XG5cbiAgICY6aG92ZXIgJl9fYmcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcbiAgIH1cblxuICAgJl9fb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjMsIDI4LCAzNywgMCkgNTUlLCByZ2JhKDM3LCA0OSwgMzMsIDAuOSkgMTAwJSk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgbWFwLWdldCgkdGltZXMsIGZhc3QpO1xuICAgfVxuXG4gICAmOmhvdmVyICZfX292ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgfVxuXG4gICAmX19pbmZvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpKSB7XG4gICAgICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgfVxuICAgfVxuXG4gICAmX19uYW1lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnQXByaXMtTWVkaXVtJywgc2Fucy1zZXJpZjtcbiAgIH1cblxuICAgJl9fZmlyc3QtbmFtZSB7XG4gICAgICBmb250LWZhbWlseTogJ0FwcmlzLUl0YWxpYycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDE0cHgsIDVjcXcsIDIycHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA0JTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgbWFwLWdldCgkdGltZXMsIGZhc3QpO1xuICAgfVxuXG4gICAmX19sYXN0LW5hbWUge1xuICAgICAgZm9udC1zaXplOiBjbGFtcCgyNnB4LCAxMmNxdywgNjNweCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciBtYXAtZ2V0KCR0aW1lcywgZmFzdCk7XG4gICB9XG5cbiAgICZfX2V4dHJhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAxMnB4O1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgbWF4LWhlaWdodCAwLjRzIGVhc2UsXG4gICAgICAgICBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzO1xuICAgfVxuXG4gICAmOmhvdmVyICZfX2V4dHJhIHtcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgIH1cblxuICAgJjpob3ZlciAmX19maXJzdC1uYW1lLFxuICAgJjpob3ZlciAmX19sYXN0LW5hbWUge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgfVxuXG4gICAmX19tZXRhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXNoYWRvdzpcbiAgICAgICAgIDAgMnB4IDQycHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgICAgMCA0cHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgfVxuXG4gICAmX19sYW5ncyB7XG4gICAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICB9XG59XG5cbi8vIOKUgOKUgCBUZWFtIGdyaWQgbW9kaWZpZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5hY3RvcnMtZ3JpZC0tdGVhbSB7XG4gICBnYXA6IDI0cHg7XG4gICBwYWRkaW5nOiAwIDI0cHggNDhweDtcbiAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgIHBhZGRpbmc6IDAgNDBweCA0OHB4O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgIH1cblxuICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKSkge1xuICAgICAgcGFkZGluZzogMCA2MHB4IDY0cHg7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgfVxufVxuXG4vLyDilIDilIAgVGVhbSBjYXJkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4udGVhbS1jYXJkIHtcbiAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICBib3JkZXI6IG5vbmU7XG4gICBjdXJzb3I6IHBvaW50ZXI7XG4gICBwYWRkaW5nOiAwO1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgZ2FwOiAxNHB4O1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAmX19pY29uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBzdmcge1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgIH1cblxuICAgJl9fbmFtZSB7XG4gICAgICBmb250LWZhbWlseTogJ0FwcmlzJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTNweCwgNWNxdywgMjBweCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmFzZSk7XG4gICB9XG59XG5cbi8vIOKUgOKUgCBUZWFtIG1vZGFsIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vLyDilIDilIAgVGVhbSBvdmVybGF5IChleHBhbmQgZnJvbSBTVkcpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4udGVhbS1vdmVybGF5IHtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIGluc2V0OiAwO1xuICAgei1pbmRleDogOTAwMDtcbiAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgcHJpbWFyeSk7XG4gICBjbGlwLXBhdGg6IGNpcmNsZSgwcHggYXQgNTAlIDUwJSk7XG4gICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgIG92ZXJmbG93LXk6IGF1dG87XG4gICBkaXNwbGF5OiBmbGV4O1xuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAmLmlzLW9wZW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgIH1cblxuICAgJl9faW5uZXIge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxMDBweCAyMHB4IDYwcHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cyBlYXNlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgICAgIHBhZGRpbmc6IDEwMHB4IDYwcHggODBweDtcbiAgICAgIH1cbiAgIH1cblxuICAgJi5jb250ZW50LXZpc2libGUgJl9faW5uZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgIH1cblxuICAgJl9fY2xvc2Uge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAyNHB4O1xuICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICB6LWluZGV4OiA5MDAxO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgfVxuXG4gICAmLmNvbnRlbnQtdmlzaWJsZSAmX19jbG9zZSB7XG4gICAgICBvcGFjaXR5OiAwLjQ1O1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgIH1cbn1cblxuLy8g4pSA4pSAIFRlYW0gbWVtYmVyIG1vZGFsIGNvbnRlbnQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi50ZWFtLW1lbWJlci1tb2RhbCB7XG4gICB3aWR0aDogMTAwJTtcbiAgIG1heC13aWR0aDogNjgwcHg7XG5cbiAgICZfX2ltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDI4cHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgICB9XG4gICB9XG5cbiAgICZfX25hbWUge1xuICAgICAgZm9udC1mYW1pbHk6ICdBcHJpcy1NZWRpdW0nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCA0dncsIDU2cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgIG1hcmdpbjogMCAwIDI4cHg7XG4gICB9XG5cbiAgICZfX2NvbnRlbnQge1xuICAgICAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDE1cHgsIDEuNXZ3LCAxOHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIHAge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIi5jb250YWN0LXBhZ2Uge1xuICAgbWluLWhlaWdodDogMTAwdmg7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4vLyDilIDilIAgSGVybyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmNvbnRhY3QtaGVybyB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBoZWlnaHQ6IDM0MHB4O1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG5cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICB9XG5cbiAgICZfX2JnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGFuaW1hdGlvbjogZmFkZUluIDFzIGVhc2UgMHMgYm90aDtcbiAgIH1cblxuICAgJl9fdGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMjRweDtcbiAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICdBcHJpcy1NZWRpdW0nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiBjbGFtcCg1MHB4LCAxMHZ3LCAxODBweCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHNlY29uZGFyeSk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTB2aDtcbiAgICAgIGFuaW1hdGlvbjogZmFkZVVwIDAuN3MgZWFzZSAwLjlzIGJvdGg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgICAgICAgIGxlZnQ6IDYwcHg7XG4gICAgICB9XG4gICB9XG59XG5cbi8vIOKUgOKUgCBDb250ZW50IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uY29udGFjdC1jb250ZW50IHtcbiAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgc2Vjb25kYXJ5KTtcbiAgIHBhZGRpbmc6IDY0cHggMjRweDtcblxuICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgcGFkZGluZzogODBweCA0MHB4O1xuICAgfVxuXG4gICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpKSB7XG4gICAgICBwYWRkaW5nOiA5NnB4IDYwcHg7XG4gICB9XG59XG4iLCIubmV3cy1wYWdlIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuLy8g4pSA4pSAIEhlcm8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5uZXdzLWhlcm8ge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgaGVpZ2h0OiAzNDBweDtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuXG4gICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpKSB7XG4gICAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICAgfVxuXG4gICAmX19iZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0zNXZoO1xuICAgICAgYm90dG9tOiAtMzV2aDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGFuaW1hdGlvbjogZmFkZUluIDFzIGVhc2UgMHMgYm90aDtcbiAgIH1cblxuICAgJl9fdGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMjRweDtcbiAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICdBcHJpcy1NZWRpdW0nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiBjbGFtcCg1MHB4LCAxMHZ3LCAxODBweCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHNlY29uZGFyeSk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTB2aDtcbiAgICAgIGFuaW1hdGlvbjogZmFkZVVwIDAuN3MgZWFzZSAwLjlzIGJvdGg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgICAgICAgIGxlZnQ6IDYwcHg7XG4gICAgICB9XG4gICB9XG59XG5cbi8vIOKUgOKUgCBHcmlkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4ubmV3cy1ncmlkIHtcbiAgIGRpc3BsYXk6IGdyaWQ7XG4gICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgZ2FwOiAxMHB4O1xuICAgcGFkZGluZzogMTBweCAyNHB4IDY0cHg7XG5cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICBwYWRkaW5nOiAxMHB4IDQwcHggODBweDtcbiAgIH1cblxuICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKSkge1xuICAgICAgcGFkZGluZzogMTBweCA2MHB4IDk2cHg7XG4gICB9XG5cbiAgICZfX2VtcHR5IHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICBmb250LWZhbWlseTogJ0FwcmlzJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgICAgcGFkZGluZzogNDBweCAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgfVxufVxuXG4vLyDilIDilIAgTG9hZCBtb3JlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4ubmV3cy1tb3JlIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgIHBhZGRpbmc6IDAgMjRweCA4MHB4O1xuXG4gICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpKSB7XG4gICAgICBwYWRkaW5nOiAwIDQwcHggOTZweDtcbiAgIH1cblxuICAgJl9fYnRuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnQXByaXMtTWVkaXVtJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogMS41cHggc29saWQgbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICAgIHBhZGRpbmc6IDEycHggNDBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIG1hcC1nZXQoJHRpbWVzLCBmYXN0KSxcbiAgICAgICAgIGNvbG9yIG1hcC1nZXQoJHRpbWVzLCBmYXN0KTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG5cbiAgICAgICYuaXMtbG9hZGluZyB7XG4gICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLm5ld3MtbW9yZV9fbG9hZGVyIHtcbiAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICB9XG5cbiAgICAgICYuaXMtbG9hZGluZyAubmV3cy1tb3JlX19sb2FkZXIge1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICB9XG59XG5cbi8vIOKUgOKUgCBDYXJkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4ubmV3cy1jYXJkIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAmX19iZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4obWFwLWdldCgkY29sb3JzLCBiYXNlKSwgNSUpO1xuICAgfVxuXG4gICAmX19vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgNDAlLCByZ2JhKDIzLCAyOCwgMzcsIDAuODUpIDEwMCUpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIG1hcC1nZXQoJHRpbWVzLCBmYXN0KTtcbiAgIH1cblxuICAgJjpob3ZlciAmX19vdmVybGF5IHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkY29sb3JzLCBwcmltYXJ5KSwgMC45Mik7XG4gICB9XG5cbiAgICZfX3R5cGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNHB4O1xuICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB3aWR0aDogMzRweDtcbiAgICAgIGhlaWdodDogMzRweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB6LWluZGV4OiAyO1xuICAgfVxuXG4gICAmX19pbmZvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHBhZGRpbmc6IDE4cHg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgb3BhY2l0eSAwLjNzIGVhc2UsXG4gICAgICAgICB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpKSB7XG4gICAgICAgICBwYWRkaW5nOiAyMnB4O1xuICAgICAgfVxuICAgfVxuXG4gICAmOmhvdmVyICZfX2luZm8ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgIH1cblxuICAgJl9fZGF0ZSB7XG4gICAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICB9XG5cbiAgICZfX2NhcHRpb24ge1xuICAgICAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmFzZSk7XG4gICAgICBtYXJnaW46IDA7XG4gICB9XG59XG4iLCIudGFsZW50LXBhZ2Uge1xuICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi8vIOKUgOKUgCBIZXJvIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4udGFsZW50LWhlcm8ge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgaGVpZ2h0OiAxMDB2aDtcbiAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmFzZSk7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICZfX2JnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICB9XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgIH1cblxuICAgJl9fb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDQwJSwgcmdiYSgwLCAwLCAwLCAwLjU1KSAxMDAlKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgfVxuXG4gICAmX19uYW1lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDI0cHg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwdmg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgICAgICAgIGxlZnQ6IDYwcHg7XG4gICAgICB9XG4gICB9XG5cbiAgICZfX2ZpcnN0LW5hbWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogJ0FwcmlzLUl0YWxpYycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDI0cHgsIDMuNXZ3LCA1NnB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgc2Vjb25kYXJ5KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgIGFuaW1hdGlvbjogZmFkZVVwIDAuN3MgZWFzZSAwLjJzIGJvdGg7XG4gICAgICBtYXJnaW4tbGVmdDogM3Z3O1xuICAgfVxuXG4gICAmX19sYXN0LW5hbWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogJ0FwcmlzLU1lZGl1bScsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDcycHgsIDExdncsIDIyMHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjg1O1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgc2Vjb25kYXJ5KTtcbiAgICAgIGFuaW1hdGlvbjogZmFkZVVwIDAuN3MgZWFzZSAwLjRzIGJvdGg7XG4gICB9XG5cbiAgICZfX3JvbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogJ0FwcmlzLUl0YWxpYycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDJ2dywgMzZweCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHNlY29uZGFyeSk7XG4gICAgICBvcGFjaXR5OiAwLjc1O1xuICAgICAgbWFyZ2luLXRvcDogMjZweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgYW5pbWF0aW9uOiBmYWRlVXAgMC43cyBlYXNlIDAuNnMgYm90aDtcbiAgIH1cbn1cblxuLy8g4pSA4pSAIEhlcm8gc2xpZGVyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4udGFsZW50LWhlcm8tLXNsaWRlciB7XG4gICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAudGFsZW50LWhlcm8tc3dpcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgfVxuXG4gICAuc3dpcGVyLXNsaWRlLnRhbGVudC1oZXJvX19zbGlkZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgIH1cblxuICAgLnRhbGVudC1oZXJvLXN3aXBlcl9fcHJldixcbiAgIC50YWxlbnQtaGVyby1zd2lwZXJfX25leHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IG1hcC1nZXQoJHRpbWVzLCBmYXN0KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBzdmcge1xuICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgIH1cblxuICAgLnRhbGVudC1oZXJvLXN3aXBlcl9fcHJldiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgc3ZnIHtcbiAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICAgIH1cbiAgIH1cbiAgIC50YWxlbnQtaGVyby1zd2lwZXJfX25leHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICB9XG5cbiAgIC50YWxlbnQtaGVyby1zd2lwZXJfX3BhZ2luYXRpb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAyNHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgei1pbmRleDogMztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogOHB4O1xuXG4gICAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgbWFwLWdldCgkdGltZXMsIGZhc3QpO1xuXG4gICAgICAgICAmLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4vLyDilIDilIAgVGFiIGJhciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLnRhbGVudC1iYXIge1xuICAgcGFkZGluZzogMCAyNHB4O1xuICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICB6LWluZGV4OiAxO1xuICAgZGlzcGxheTogZmxleDtcbiAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICBmbGV4LXdyYXA6IHdyYXA7XG4gICBnYXA6IDEwcHg7XG5cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgfVxuXG4gICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpKSB7XG4gICAgICBwYWRkaW5nOiAwIDYwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMjdweDtcbiAgIH1cbn1cblxuLnRhbGVudC1kb3dubG9hZCB7XG4gICBtYXJnaW4tbGVmdDogYXV0bztcbiAgIGZvbnQtZmFtaWx5OiAnQXByaXMtTWVkaXVtJywgc2Fucy1zZXJpZjtcbiAgIGZvbnQtc2l6ZTogMTZweDtcbiAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmFzZSk7XG4gICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHNlY29uZGFyeSk7XG4gICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciBtYXAtZ2V0KCR0aW1lcywgZmFzdCk7XG5cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHBhZGRpbmc6IDE0cHggMjBweDtcbiAgIH1cblxuICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHByaW1hcnkpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmFzZSk7XG4gICB9XG59XG5cbi50YWxlbnQtdGFicyB7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgcHJpbWFyeSk7XG4gICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICBwYWRkaW5nOiA1cHg7XG4gICBnYXA6IDJweDtcbiAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWNkZWI7XG4gICBvdmVyZmxvdy14OiBhdXRvO1xuICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpKSB7XG4gICAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgfVxuXG4gICAmX19pdGVtIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnQXByaXMtTWVkaXVtJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmFzZSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwYWRkaW5nOiA3cHggMTZweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICBjb2xvciBtYXAtZ2V0KCR0aW1lcywgZmFzdCksXG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIG1hcC1nZXQoJHRpbWVzLCBmYXN0KTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgcGFkZGluZzogOXB4IDIwcHg7XG4gICAgICB9XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHRoaXJkKTtcbiAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyOm5vdCguaXMtYWN0aXZlKSB7XG4gICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgIH1cbiAgIH1cbn1cblxuLy8g4pSA4pSAIFNlY3Rpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4udGFsZW50LXNlY3Rpb24ge1xuICAgcGFkZGluZzogNDBweCAyNHB4IDgwcHg7XG5cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgIHBhZGRpbmc6IDQ4cHggNDBweCA5NnB4O1xuICAgfVxuXG4gICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpKSB7XG4gICAgICBwYWRkaW5nOiA1NnB4IDYwcHggMTIwcHg7XG4gICB9XG59XG5cbi8vIOKUgOKUgCBTa2lsbHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi50YWxlbnQtc2tpbGxzIHtcbiAgIGRpc3BsYXk6IGdyaWQ7XG4gICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICBnYXA6IDAgODBweDtcblxuICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICB9XG59XG5cbi5za2lsbC1yb3cge1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICBwYWRkaW5nOiAxMnB4IDA7XG4gICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSg1OSwgNjUsIDc5LCAwLjEpO1xuXG4gICAmLS10cmFpbmluZyB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICB9XG5cbiAgICZfX2xhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnQXByaXMtTWVkaXVtJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMjBweCwgMC45dncsIDEzcHgpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmFzZSk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgIH1cblxuICAgJl9fdmFsdWUge1xuICAgICAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDEzcHgsIDEuMXZ3LCAxNXB4KTtcbiAgICAgIGNvbG9yOiByZ2JhKDU5LCA2NSwgNzksIDAuNTUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgIH1cbn1cblxuLnNraWxsLXRyYWluaW5nIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAmX19lbnRyeSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4MHB4IDFmcjtcbiAgICAgIGdhcDogMCAxNnB4O1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNTksIDY1LCA3OSwgMC4xKTtcbiAgIH1cblxuICAgJl9feWVhciB7XG4gICAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTFweCwgMC45dncsIDEzcHgpO1xuICAgICAgY29sb3I6IHJnYmEoNTksIDY1LCA3OSwgMC40NSk7XG4gICAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICB9XG5cbiAgICZfX25hbWUge1xuICAgICAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDEzcHgsIDEuMXZ3LCAxNXB4KTtcbiAgICAgIGNvbG9yOiByZ2JhKDU5LCA2NSwgNzksIDAuNTUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgIH1cbn1cblxuLy8g4pSA4pSAIFZpdGEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi52aXRhLWhlYWRpbmcge1xuICAgZm9udC1mYW1pbHk6ICdBcHJpcy1NZWRpdW0nLCBzYW5zLXNlcmlmO1xuICAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAzdncsIDI4cHgpO1xuICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgbWFyZ2luOiA1MnB4IDAgMDtcbiAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBzZWNvbmRhcnkpO1xuXG4gICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICB9XG5cbiAgICYtLWF3YXJkcyB7XG4gICAgICBtYXJnaW4tdG9wOiA1NnB4O1xuICAgfVxuXG4gICAmX19zZWxlY3Rpb24ge1xuICAgICAgZm9udC1mYW1pbHk6ICdBcHJpcy1JdGFsaWMnLCBzYW5zLXNlcmlmO1xuICAgICAgb3BhY2l0eTogMC40NTtcbiAgIH1cbn1cblxuLnZpdGEtbGlzdCB7XG4gICBtYXJnaW4tdG9wOiA4cHg7XG4gICBtYXJnaW4tYm90dG9tOiAwO1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG5cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgIH1cbn1cblxuLnZpdGEtZW50cnkge1xuICAgZGlzcGxheTogZ3JpZDtcbiAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzBweCAxZnI7XG4gICBnYXA6IDAgMjRweDtcbiAgIHBhZGRpbmc6IDRweCAwO1xuICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNTksIDY1LCA3OSwgMC4xKTtcbiAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblxuICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMHB4IDFmcjtcbiAgIH1cblxuICAgJl9feWVhciB7XG4gICAgICBmb250LWZhbWlseTogJ0FwcmlzLU1lZGl1bScsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDEycHgsIDF2dywgMTRweCk7XG4gICAgICBjb2xvcjogcmdiYSg1OSwgNjUsIDc5LCAwLjQ1KTtcbiAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgIH1cblxuICAgJl9fYm9keSB7XG4gICAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIC8vIGdhcDogM3B4O1xuICAgfVxuXG4gICAmX190aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogJ0FwcmlzLU1lZGl1bScsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDEuM3Z3LCAyMHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgIG1hcmdpbjogMCAxMnB4IDAgMDtcbiAgIH1cblxuICAgJl9fbWV0YSB7XG4gICAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiByZ2JhKDU5LCA2NSwgNzksIDAuNTUpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgIH1cbn1cblxuLnZpdGEtZW50cnktd3JhcCB7XG4gICBkaXNwbGF5OiBub25lO1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnZpdGEtc2hvdy1tb3JlIHtcbiAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICBib3JkZXI6IG5vbmU7XG4gICBvdXRsaW5lOiBub25lO1xuICAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICBmb250LXNpemU6IDEycHg7XG4gICBmb250LXdlaWdodDogNjAwO1xuICAgY29sb3I6IHJnYmEoNTksIDY1LCA3OSwgMC41KTtcbiAgIGN1cnNvcjogcG9pbnRlcjtcbiAgIHBhZGRpbmc6IDA7XG4gICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG4gICB0cmFuc2l0aW9uOiBvcGFjaXR5IG1hcC1nZXQoJHRpbWVzLCBmYXN0KTtcblxuICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICB9XG4gICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICB9XG59XG5cbi50YWxlbnQtYmlvZ3JhcGh5IHtcbiAgIG1heC13aWR0aDogNzIwcHg7XG4gICBmb250LXNpemU6IGNsYW1wKDE1cHgsIDEuMnZ3LCAxOHB4KTtcbiAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcblxuICAgcCB7XG4gICAgICBtYXJnaW46IDAgMCAxZW07XG4gICB9XG59XG5cbi50YWxlbnQtc2VjdGlvbl9fZW1wdHkge1xuICAgZm9udC1mYW1pbHk6ICdBcHJpcycsIHNhbnMtc2VyaWY7XG4gICBmb250LXNpemU6IDIwcHg7XG4gICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgIG9wYWNpdHk6IDAuNDtcbiAgIHBhZGRpbmc6IDQwcHggMDtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8g4pSA4pSAIEdhbGxlcnkgbGlnaHRib3gg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5nYWxsZXJ5LWxpZ2h0Ym94IHtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIGluc2V0OiAwO1xuICAgei1pbmRleDogOTAwMDtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICBvcGFjaXR5OiAwO1xuICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcblxuICAgJi5pcy1vcGVuIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgfVxuXG4gICAmX19iYWNrZHJvcCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44OCk7XG4gICB9XG5cbiAgICZfX3N0YWdlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxNjBweCk7XG4gICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDQwcHgpO1xuICAgICAgICAgbWF4LWhlaWdodDogODh2aDtcbiAgICAgIH1cbiAgIH1cblxuICAgJl9faW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogNzV2aDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICB9XG5cbiAgICAgICYuaXMtbG9hZGVkIHtcbiAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICB9XG5cbiAgICZfX2NhcHRpb24ge1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB9XG4gICB9XG5cbiAgICZfX2Nsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IG1hcC1nZXQoJHRpbWVzLCBmYXN0KTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICB9XG5cbiAgICZfX3ByZXYsXG4gICAmX19uZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSBtYXAtZ2V0KCR0aW1lcywgZmFzdCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgIH1cblxuICAgJl9fcHJldiB7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgICAgc3ZnIHtcbiAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICAgIH1cbiAgIH1cblxuICAgJl9fbmV4dCB7XG4gICAgICByaWdodDogMjBweDtcbiAgIH1cblxuICAgJl9fY291bnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDIwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICB9XG59XG5cbi8vIOKUgOKUgCBQaG90b3MgZ3JpZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLnRhbGVudC1waG90b3Mge1xuICAgLy8gV29yZFByZXNzIGdhbGxlcnkgYmxvY2tcbiAgIC53cC1ibG9jay1nYWxsZXJ5LFxuICAgLndwLWJsb2NrLWltYWdlLFxuICAgLmdhbGxlcnkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgIH1cblxuICAgLndwLWJsb2NrLWdhbGxlcnkge1xuICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgIGdhcDogNnB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIH1cblxuICAgICAgLndwLWJsb2NrLWltYWdlLFxuICAgICAgZmlndXJlIHtcbiAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgYXNwZWN0LXJhdGlvOiAzIC8gNDtcbiAgICAgIH1cbiAgIH1cblxuICAgLy8gQ2xhc3NpYyBnYWxsZXJ5IHNob3J0Y29kZSBmYWxsYmFja1xuICAgLmdhbGxlcnkge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICBnYXA6IDZweDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICB9XG5cbiAgICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMyAvIDQ7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbi8vIOKUgOKUgCBWaWRlb3MgZ3JpZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLnRhbGVudC12aWRlb3Mge1xuICAgZGlzcGxheTogZ3JpZDtcbiAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICBnYXA6IDE2cHg7XG5cbiAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICB9XG5cbiAgICZfX2VtYmVkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgLy8gMTY6OVxuXG4gICAgICBhLFxuICAgICAgaWZyYW1lLFxuICAgICAgdmlkZW8sXG4gICAgICBlbWJlZCxcbiAgICAgIG9iamVjdCB7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICBpbnNldDogMDtcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIi5mb290ZXIge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpLCAxMCUpO1xuICAgY29sb3I6IGRhcmtlbih3aGl0ZSwgMTAlKTtcblxuICAgJl9fYmctbG9nbyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0zMCU7XG4gICAgICByaWdodDogLTEwJTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBvcGFjaXR5OiAwLjAzO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgfVxuXG4gICAmX19tYWluIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICBnYXA6IDI0cHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDAuNmZyKSAyZnI7XG4gICAgICAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgfVxuICAgfVxuXG4gICAmX19jb2wge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDEycHg7XG5cbiAgICAgICYtLWJyYW5kIHtcbiAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgJl9fc29jaWFsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgbWFwLWdldCgkdGltZXMsIGZhc3QpO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHNlY29uZGFyeSk7XG4gICAgICB9XG4gICB9XG5cbiAgICZfX2xhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgIH1cblxuICAgJl9fYnJhbmQge1xuICAgICAgZm9udC1mYW1pbHk6ICdBcHJpcycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCB3aGl0ZSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IG1hcC1nZXQoJHRpbWVzLCBmYXN0KTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKSkge1xuICAgICAgICAgZm9udC1zaXplOiA0NHB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHdoaXRlKTtcbiAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICAmX19hZGRyZXNzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICBtYXJnaW46IDA7XG4gICB9XG5cbiAgICZfX21lbnUge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogNnB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciBtYXAtZ2V0KCR0aW1lcywgZmFzdCk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG5cbiAgICZfX2JvdHRvbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE0cHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogOHB4O1xuICAgfVxuXG4gICAmX19jb3B5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgIH1cblxuICAgJl9fbGVnYWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAyNHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIG1hcC1nZXQoJHRpbWVzLCBmYXN0KTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cbiIsIi5sb2dvIHtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgZmxleC1zaHJpbms6IDA7XG4gICB3aWR0aDogMjUwcHg7XG4gICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpKSB7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICB9XG5cbiAgIC8vIOKUgOKUgCBNb2JpbGU6IHN0YXRpYyBTSyBtb25vZ3JhbSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIC5sb2dvLXN0YXRpYyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgfVxuXG4gICBzdmcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgIH1cblxuICAgLy8g4pSA4pSAIERlc2t0b3A6IGFuaW1hdGVkIHdvcmRtYXJrIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKSkge1xuICAgICAgLS1sb2dvLWg6IDg1cHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgICAgIC0tbG9nby1oOiAyMjVweDtcbiAgICAgIH1cblxuICAgICAgLy8gaGVpZ2h0OiB2YXIoLS1sb2dvLWgpO1xuICAgICAgLy8gd2lkdGg6IGNhbGModmFyKC0tbG9nby1oKSAqIDI2OCAvIDIzNCk7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgLmxvZ28tc3RhdGljIHtcbiAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgIC8vIGhlaWdodDogdmFyKC0tbG9nby1oKTtcbiAgICAgICAgIC8vIHdpZHRoOiBjYWxjKHZhcigtLWxvZ28taCkgKiAxMDAwIC8gMjM0KTtcbiAgICAgIH1cblxuICAgICAgLy8gRWFjaCBsZXR0ZXIgc3RhcnRzIGF0IHg9MTIxIChyaWdodCBhZnRlciBTKSBhbmQgc2xpZGVzIHRvIGl0cyB3b3JkbWFyayBwb3NpdGlvbi5cbiAgICAgIC8vIHRyYW5zbGF0ZSA9IC0obGV0dGVyX2ZpbmFsX3ggLSAxMjEpIMOXICgtLWxvZ28taCAvIDIzNClcbiAgICAgIC5sb2dvLXAge1xuICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgfVxuICAgICAgLmxvZ28taTEge1xuICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tbG9nby1oKSAqIC0xNDMgLyAyMzQpKTtcbiAgICAgIH1cbiAgICAgIC5sb2dvLWUge1xuICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tbG9nby1oKSAqIC0yMDYgLyAyMzQpKTtcbiAgICAgIH1cbiAgICAgIC5sb2dvLWwge1xuICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tbG9nby1oKSAqIC0zMzkgLyAyMzQpKTtcbiAgICAgIH1cbiAgICAgIC5sb2dvLWsge1xuICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tbG9nby1oKSAqIC00MTAgLyAyMzQpKTtcbiAgICAgIH1cbiAgICAgIC5sb2dvLWkyIHtcbiAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKHZhcigtLWxvZ28taCkgKiAtNTM1IC8gMjM0KSk7XG4gICAgICB9XG4gICAgICAubG9nby1uIHtcbiAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKHZhcigtLWxvZ28taCkgKiAtNTk3IC8gMjM0KSk7XG4gICAgICB9XG4gICAgICAubG9nby1kIHtcbiAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKHZhcigtLWxvZ28taCkgKiAtNzM3IC8gMjM0KSk7XG4gICAgICB9XG5cbiAgICAgIC5sb2dvLXAsXG4gICAgICAubG9nby1pMSxcbiAgICAgIC5sb2dvLWUsXG4gICAgICAubG9nby1sLFxuICAgICAgLmxvZ28taTIsXG4gICAgICAubG9nby1uLFxuICAgICAgLmxvZ28tZCB7XG4gICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICAubG9nby1wLFxuICAgICAgLmxvZ28taTEsXG4gICAgICAubG9nby1lLFxuICAgICAgLmxvZ28tbCxcbiAgICAgIC5sb2dvLWssXG4gICAgICAubG9nby1pMixcbiAgICAgIC5sb2dvLW4sXG4gICAgICAubG9nby1kIHtcbiAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICB0cmFuc2Zvcm0gMC41cyBlYXNlLFxuICAgICAgICAgICAgb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAgLmxvZ28tcCxcbiAgICAgICAgIC5sb2dvLWkxLFxuICAgICAgICAgLmxvZ28tZSxcbiAgICAgICAgIC5sb2dvLWwsXG4gICAgICAgICAubG9nby1rLFxuICAgICAgICAgLmxvZ28taTIsXG4gICAgICAgICAubG9nby1uLFxuICAgICAgICAgLmxvZ28tZCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4jaGVhZGVyIHtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIHdpZHRoOiAxMDAlO1xuICAgbWFyZ2luOiBhdXRvO1xuICAgei1pbmRleDogMztcbiAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgbGVmdDogMDtcbiAgIHJpZ2h0OiAwO1xuICAgdG9wOiAwcHg7XG4gICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2Utb3V0O1xuICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDtcbiAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2Utb3V0O1xuICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1vdXQ7XG5cbiAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjU1KSAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICB9XG5cbiAgICNoZWFkZXItaW5uZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHBhZGRpbmc6IDAgMjRweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKSkge1xuICAgICAgICAgcGFkZGluZzogMCA2MHB4O1xuICAgICAgfVxuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1vdXQ7XG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2Utb3V0O1xuICAgICAgLy8gcGFkZGluZy10b3A6IDM1cHg7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMzMHB4KSB7XG4gICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgLm1haW4tbWVudSB7XG4gICAgICBmb250LWZhbWlseTogJ0FwcmlzLU1lZGl1bSc7XG4gICAgICB1bCB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5tYWluLW1lbnUtLXJpZ2h0IHtcbiAgICAgICAgIGZvbnQtZmFtaWx5OiAnQXByaXMtSXRhbGljJztcbiAgICAgIH1cbiAgIH1cbn1cblxuLnNjcm9sbCB7XG4gICAjaGVhZGVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAjaGVhZGVyLWlubmVyIHtcbiAgICAgICAgIC8vIGhlaWdodDogNzBweDtcbiAgICAgIH1cbiAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKSkge1xuICAgLmhhbWJ1cmdlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgIH1cblxuICAgLm1haW4tbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgfVxufVxuIiwiLmhhbWJ1cmdlciB7XG4gICBkaXNwbGF5OiBub25lO1xuICAgY3Vyc29yOiBwb2ludGVyO1xuICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICBib3JkZXI6IDA7XG4gICBtYXJnaW46IDA7XG4gICBwYWRkaW5nOiA4cHg7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICByaWdodDogMTZweDtcbiAgIHRvcDogNTAlO1xuICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgei1pbmRleDogNTAwO1xuICAgdHJhbnNpdGlvbjogb3BhY2l0eSBtYXAtZ2V0KCR0aW1lcywgZmFzdCk7XG5cbiAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgfVxufVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gICB3aWR0aDogMzJweDtcbiAgIGhlaWdodDogMjBweDtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyLFxuLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxuLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBoZWlnaHQ6IDEuNXB4O1xuICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBzZWNvbmRhcnkpO1xuICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgdHJhbnNpdGlvbjpcbiAgICAgIHRyYW5zZm9ybSAwLjJzIGVhc2UsXG4gICAgICBvcGFjaXR5IDAuMnMgZWFzZSxcbiAgICAgIHRvcCAwLjJzIGVhc2UsXG4gICAgICBib3R0b20gMC4ycyBlYXNlLFxuICAgICAgd2lkdGggMC4zcyBlYXNlO1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgIHdpZHRoOiAzMnB4O1xuICAgdG9wOiA1MCU7XG4gICBtYXJnaW4tdG9wOiAtMXB4O1xuXG4gICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIHRvcDogLTlweDtcbiAgICAgIGxlZnQ6IDA7XG4gICB9XG5cbiAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBib3R0b206IC05cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgfVxufVxuXG4vLyBhY3RpdmUgKFgpIHN0YXRlXG5ib2R5LnNpZGViYXItb3BlbiAuaGFtYnVyZ2VyLS1zcXVlZXplIC5oYW1idXJnZXItaW5uZXIge1xuICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgd2lkdGg6IDMycHg7XG4gICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuXG4gICAmOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICB0b3A6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgIHRvcCAwLjA3NXMgZWFzZSxcbiAgICAgICAgIG9wYWNpdHkgMC4wNzVzIDAuMXMgZWFzZSxcbiAgICAgICAgIHdpZHRoIDAuMnMgZWFzZTtcbiAgIH1cblxuICAgJjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgIGJvdHRvbSAwLjA3NXMgZWFzZSxcbiAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksXG4gICAgICAgICB3aWR0aCAwLjJzIGVhc2U7XG4gICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgIC5oYW1idXJnZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICB9XG5cbiAgIC5tYWluLW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgIH1cbn1cbiIsImJvZHkuc2lkZWJhci1vcGVuIHtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNzaWRlYmFyIHtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIGluc2V0OiAwO1xuICAgei1pbmRleDogMjAwO1xuICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgIG9wYWNpdHk6IDA7XG4gICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICB0cmFuc2l0aW9uOlxuICAgICAgb3BhY2l0eSBtYXAtZ2V0KCR0aW1lcywgbWVkaXVtKSBlYXNlLFxuICAgICAgdmlzaWJpbGl0eSBtYXAtZ2V0KCR0aW1lcywgbWVkaXVtKSBlYXNlO1xuXG4gICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgfVxuXG4gICBib2R5LnNpZGViYXItb3BlbiAmIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgfVxufVxuXG4uc2lkZWJhci1uYXYge1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAmX19saXN0IHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgIGxpIHtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgICBmb250LWZhbWlseTogJ0FwcmlzLU1lZGl1bScsIHNhbnMtc2VyaWY7XG4gICAgICAgICBmb250LXNpemU6IGNsYW1wKDMycHgsIDh2dywgNTZweCk7XG4gICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHByaW1hcnkpO1xuICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICBwYWRkaW5nOiA2cHggMDtcbiAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgbWFwLWdldCgkdGltZXMsIGZhc3QpO1xuXG4gICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmN1cnJlbnQtbWVudS1pdGVtIGEge1xuICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG5cbiAgICAgICYtLXNlY29uZGFyeSB7XG4gICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuXG4gICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQXByaXMtSXRhbGljJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMjBweCwgNXZ3LCAzMnB4KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHNlY29uZGFyeSk7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG4iLCJodG1sIHtcbiAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgICN3cmFwcGVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgfVxuXG4gICAmOm5vdCguaG9tZSkgLmxvYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgfVxufVxuXG5ib2R5LmhvbWUge1xuICAgLmxvYWRlciB7XG4gICAgICBhbmltYXRpb246IGxvYWRlci1zcGluIDdzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICB9XG5cbiAgICNsb2dvLWJpZyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMXM7XG4gICB9XG5cbiAgICN3cmFwcGVyIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2UtaW4tb3V0IDAuNXM7XG4gICB9XG5cbiAgICYubG9hZGVkIHtcbiAgICAgIC5sb2FkZXIge1xuICAgICAgICAgYW5pbWF0aW9uOiBsb2FkZXItZ3JvdyAwLjVzIGxpbmVhcjtcbiAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgfVxuXG4gICAgICAjbG9nby1iaWcge1xuICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgI3dyYXBwZXIge1xuICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgIH1cbn1cblxuLmN1c3RvbS1ibG9jayB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBrZXlmcmFtZXMgbG9hZGVyLXNwaW4ge1xuICAgZnJvbSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgIH1cbiAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICB9XG59XG5cbkBrZXlmcmFtZXMgbG9hZGVyLWdyb3cge1xuICAgZnJvbSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBzY2FsZSgxKTtcbiAgIH1cbiAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgc2NhbGUoMCk7XG4gICB9XG59XG5cbi5jb250ZW50IHtcbiAgIHBhZGRpbmc6IDEwcHggMjRweCA2NHB4O1xuXG4gICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpKSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDQwcHggODBweDtcbiAgIH1cblxuICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKSkge1xuICAgICAgcGFkZGluZzogMTBweCA2MHB4IDk2cHg7XG4gICB9XG59XG4iLCIubW9kYWwge1xuICAgcG9zaXRpb246IGZpeGVkO1xuICAgd2lkdGg6IDEwMCU7XG4gICBoZWlnaHQ6IDEwMCU7XG4gICB0b3A6IDA7XG4gICBsZWZ0OiAwO1xuICAgcmlnaHQ6IDA7XG4gICBib3R0b206IDA7XG4gICBvcGFjaXR5OiAwO1xuICAgei1pbmRleDogLTEwMDtcbiAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgIHRyYW5zaXRpb246IG9wYWNpdHkgbWFwLWdldCgkdGltZXMsIG1lZGl1bSk7XG4gICBkaXNwbGF5OiBmbGV4O1xuXG4gICAmLm1vZGFsLS10YWJsZSB7XG4gICAgICAubW9kYWxfX2lubmVyIHtcbiAgICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgfVxuICAgfVxuXG4gICAmLm1vZGFsLS1sb2FkaW5nIHtcbiAgICAgIC5tb2RhbF9faW5uZXIge1xuICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgJi5tb2RhbC0tb3BlbmVkIHtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIC5tb2RhbF9faW5uZXIge1xuICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgIHRyYW5zaXRpb246IGFsbCBtYXAtZ2V0KCR0aW1lcywgbWVkaXVtKSBlYXNlLWluLW91dCAwLjVzO1xuICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIH1cbiAgIH1cblxuICAgLm1vZGFsX19pbm5lciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA5MCU7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgaGVpZ2h0OiA5MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMHB4KTtcblxuICAgICAgLy8gZm9yIGxvYWRpbmdcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSBtYXAtZ2V0KCR0aW1lcywgZmFzdCk7XG4gICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIHRvcDogMDtcbiAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL3NyYy9pbWcvbG9hZGVyLnN2ZycpO1xuICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwcHg7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbF9fY29udGVudCB7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgIH1cbiAgIC5tb2RhbF9fY2xvc2UtYnRuIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAwcHg7XG4gICAgICByaWdodDogLTMwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3JjL2ltZy9idG4tY2xvc2Uuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICB9XG5cbiAgICYubW9kYWwtLXVzZXIge1xuICAgICAgLm1vZGFsX19pbm5lciB7XG4gICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICAgbWF4LWhlaWdodDogMzUwcHg7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgICAgICAgLmZvcm0tdXNlci1tb2RhbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgfVxuICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgaW5wdXRbdHlwZT0ndGV4dCddLFxuICAgICAgICAgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbiAgICAgICAgIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gICAgICAgICBpbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIHBhZ2UgbG9hZFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbmJvZHkuaG9tZSB7XG4gICAubG9nbyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTtcbiAgIH1cblxuICAgLm1haW4tbWVudSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xuICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHBhbm9yYW1hLXN0YXItcHVsc2F0ZSB7XG4gICAwJSxcbiAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTM1ZGVnKSBzY2FsZSgxKTtcbiAgIH1cbiAgIDUwJSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzVkZWcpIHNjYWxlKDEuMTIpO1xuICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICBmcm9tIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICB9XG4gICB0byB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVVcCB7XG4gICBmcm9tIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjRweCk7XG4gICB9XG4gICB0byB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgfVxufVxuXG5ib2R5LmhvbWUge1xuICAgLnBhbm9yYW1hX19vdmVybGF5LFxuICAgLnBhbm9yYW1hX19sYWJlbCxcbiAgIC5wYW5vcmFtYV9faGVhZGxpbmUsXG4gICAucGFub3JhbWFfX3RleHQsXG4gICAucGFub3JhbWFfX2N0YXMge1xuICAgICAgb3BhY2l0eTogMDtcbiAgIH1cbn1cblxuYm9keS5ob21lIC5wYW5vcmFtYV9faW50cm8ge1xuICAgYW5pbWF0aW9uOiBmYWRlSW4gMC40cyBlYXNlIGJvdGg7XG59XG5cbmJvZHkuaG9tZS5pbnRyby1kb25lIHtcbiAgIC5wYW5vcmFtYV9faW50cm8ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xuICAgfVxuXG4gICAvLyBHcm91cCAxOiBvdmVybGF5ICsgc2xvZ2FuIHRvZ2V0aGVyXG4gICAucGFub3JhbWFfX292ZXJsYXkge1xuICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gMC42cyBlYXNlIDBzIGJvdGg7XG4gICB9XG4gICAucGFub3JhbWFfX2xhYmVsIHtcbiAgICAgIGFuaW1hdGlvbjogZmFkZVVwIDAuN3MgZWFzZSAwcyBib3RoO1xuICAgfVxuICAgLnBhbm9yYW1hX19oZWFkbGluZSB7XG4gICAgICBhbmltYXRpb246IGZhZGVVcCAwLjdzIGVhc2UgMHMgYm90aDtcbiAgIH1cbiAgIC5wYW5vcmFtYV9fdGV4dCB7XG4gICAgICBhbmltYXRpb246IGZhZGVVcCAwLjdzIGVhc2UgMHMgYm90aDtcbiAgIH1cblxuICAgLy8gR3JvdXAgMjogc21hbGwgbG9nbyArIG5hdiArIENUQSBidXR0b24gdG9nZXRoZXIsIGFmdGVyIGdyb3VwIDFcbiAgIC5sb2dvIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzIGVhc2Utb3V0IDAuOHM7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgfVxuICAgLm1haW4tbWVudSB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44cyBlYXNlLW91dCAwLjhzO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgIH1cbiAgIC5wYW5vcmFtYV9fY3RhcyB7XG4gICAgICBhbmltYXRpb246IGZhZGVVcCAwLjdzIGVhc2UgMC44cyBib3RoO1xuICAgfVxufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIHBhbm9yYW1hXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLnBhbm9yYW1hIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIHdpZHRoOiAxMDAlO1xuICAgaGVpZ2h0OiAxMDB2aDtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgZGlzcGxheTogZmxleDtcblxuICAgLmRlY28ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAyNXB4O1xuICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICB3aWR0aDogNTBweDtcbiAgIH1cblxuICAgI2xvZ28tYmlnIHtcbiAgICAgIHdpZHRoOiA1MDBweDtcbiAgIH1cblxuICAgJl9fc2xpZGVzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIH1cblxuICAgJl9fc2xpZGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMS4ycyBlYXNlO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgfVxuXG4gICAmX19vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6ICMwMDAwMDAsICRhbHBoYTogMC40KTtcbiAgIH1cblxuICAgJl9faW50cm8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICB9XG5cbiAgICZfX2xvdHRpZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICB9XG5cbiAgICZfX2NvbnRlbnQge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgfVxuXG4gICAmX19sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiAnQXByaXMnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgc2Vjb25kYXJ5KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB9XG4gICB9XG5cbiAgICZfX2hlYWRsaW5lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnQXByaXMnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMzZweCwgNHZ3LCA4MHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjA0O1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgc2Vjb25kYXJ5KTtcbiAgICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBzZWNvbmRhcnkpO1xuICAgICAgfVxuICAgfVxuXG4gICAmX190ZXh0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIG1hcmdpbjogMCAwIDMycHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgICAgIH1cbiAgIH1cblxuICAgJl9fY3RhcyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC00MHB4O1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAvLyAuYnRuLS0xIGtlcHQgaW4gQ1NTIGZvciBwb3RlbnRpYWwgZnV0dXJlIHVzZVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpKSB7XG4gICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgYm90dG9tOiAtNDVweDtcbiAgICAgIH1cblxuICAgICAgLy8gQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKSkge1xuICAgICAgLy8gICAgcmlnaHQ6IDIwcHg7XG4gICAgICAvLyB9XG4gICB9XG5cbiAgICZfX2N0YS1zdGFyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cyBlYXNlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMik7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIgc3ZnIHtcbiAgICAgICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgIGhlaWdodDogMTMwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICBpbnNldDogMDtcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgYW5pbWF0aW9uOiBwYW5vcmFtYS1zdGFyLXB1bHNhdGUgMy41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgIH1cbiAgIH1cblxuICAgJl9fY3RhLXN0YXItbGFiZWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnQXByaXMtTWVkaXVtJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgIG1heC13aWR0aDogNzVweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE1ZGVnKTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpKSB7XG4gICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB9XG4gICB9XG5cbiAgICZfX3Njcm9sbC1oaW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMzZweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgei1pbmRleDogMztcblxuICAgICAgc3BhbiB7XG4gICAgICAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjtcbiAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xOGVtO1xuICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDUpO1xuICAgICAgfVxuICAgfVxuXG4gICAmX19zY3JvbGwtbGluZSB7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgYW5pbWF0aW9uOiBzY3JvbGxTY2FuIDEuOHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICB9XG4gICB9XG59XG5cbkBrZXlmcmFtZXMgc2Nyb2xsU2NhbiB7XG4gICAwJSB7XG4gICAgICB0b3A6IC01MCU7XG4gICB9XG4gICAxMDAlIHtcbiAgICAgIHRvcDogMTIwJTtcbiAgIH1cbn1cblxuYm9keS5ob21lIC5wYW5vcmFtYV9fc2Nyb2xsLWhpbnQge1xuICAgb3BhY2l0eTogMDtcbiAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyBlYXNlO1xufVxuXG5ib2R5LmhvbWUubG9hZGVkIC5wYW5vcmFtYV9fc2Nyb2xsLWhpbnQge1xuICAgb3BhY2l0eTogMTtcbiAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyBlYXNlIDFzO1xufVxuXG5ib2R5LnNjcm9sbCAucGFub3JhbWFfX3Njcm9sbC1oaW50IHtcbiAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyBlYXNlICFpbXBvcnRhbnQ7XG59XG4iXX0= */
