
.vue-map-container {
  position: relative;
}
.vue-map-container .vue-map {
  left: 0; right: 0; top: 0; bottom: 0;
  position: absolute;
}
.vue-map-hidden {
  display: none;
}


.vue-street-view-pano-container {
  position: relative;
}
.vue-street-view-pano-container .vue-street-view-pano {
  left: 0; right: 0; top: 0; bottom: 0;
  position: absolute;
}

/* component style */
.vue-slider-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* rail style */
.vue-slider-rail {
  background-color: #ccc;
  border-radius: 15px;
}

/* process style */
.vue-slider-process {
  background-color: #3498db;
  border-radius: 15px;
}

/* mark style */
.vue-slider-mark {
  z-index: 4;
}
.vue-slider-mark:first-child .vue-slider-mark-step, .vue-slider-mark:last-child .vue-slider-mark-step {
  display: none;
}
.vue-slider-mark-step {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.16);
}
.vue-slider-mark-label {
  font-size: 14px;
  white-space: nowrap;
}
/* dot style */
.vue-slider-dot-handle {
  cursor: pointer;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  box-sizing: border-box;
  box-shadow: 0.5px 0.5px 2px 1px rgba(0, 0, 0, 0.32);
}
.vue-slider-dot-handle-focus {
  box-shadow: 0px 0px 1px 2px rgba(52, 152, 219, 0.36);
}

.vue-slider-dot-handle-disabled {
  cursor: not-allowed;
  background-color: #ccc;
}

.vue-slider-dot-tooltip-inner {
  font-size: 14px;
  white-space: nowrap;
  padding: 2px 5px;
  min-width: 20px;
  text-align: center;
  color: #fff;
  border-radius: 5px;
  border-color: #3498db;
  background-color: #3498db;
  box-sizing: content-box;
}
.vue-slider-dot-tooltip-inner::after {
  content: "";
  position: absolute;
}
.vue-slider-dot-tooltip-inner-top::after {
  top: 100%;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  height: 0;
  width: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px;
  border-top-color: inherit;
}
.vue-slider-dot-tooltip-inner-bottom::after {
  bottom: 100%;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  height: 0;
  width: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px;
  border-bottom-color: inherit;
}
.vue-slider-dot-tooltip-inner-left::after {
  left: 100%;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  height: 0;
  width: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px;
  border-left-color: inherit;
}
.vue-slider-dot-tooltip-inner-right::after {
  right: 100%;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  height: 0;
  width: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px;
  border-right-color: inherit;
}

.vue-slider-dot-tooltip-wrapper {
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.vue-slider-dot-tooltip-wrapper-show {
  opacity: 1;
}

/*# sourceMappingURL=default.css.map */

.vidbg-container {
  overflow: hidden;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.vidbg-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}


:root {
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1;
}

.animated {
  -webkit-animation-duration: var(--animate-duration);
          animation-duration: var(--animate-duration);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

.animated.repeat-1 {
  -webkit-animation-iteration-count: var(--animate-repeat);
          animation-iteration-count: var(--animate-repeat);
}

.animated.repeat-2 {
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
          animation-iteration-count: calc(var(--animate-repeat) * 2);
}

.animated.repeat-3 {
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
          animation-iteration-count: calc(var(--animate-repeat) * 3);
}

.animated.delay-1s {
  -webkit-animation-delay: var(--animate-delay);
          animation-delay: var(--animate-delay);
}

.animated.delay-2s {
  -webkit-animation-delay: calc(var(--animate-delay) * 2);
          animation-delay: calc(var(--animate-delay) * 2);
}

.animated.delay-3s {
  -webkit-animation-delay: calc(var(--animate-delay) * 3);
          animation-delay: calc(var(--animate-delay) * 3);
}

.animated.delay-4s {
  -webkit-animation-delay: calc(var(--animate-delay) * 4);
          animation-delay: calc(var(--animate-delay) * 4);
}

.animated.delay-5s {
  -webkit-animation-delay: calc(var(--animate-delay) * 5);
          animation-delay: calc(var(--animate-delay) * 5);
}

.animated.faster {
  -webkit-animation-duration: calc(var(--animate-duration) / 2);
          animation-duration: calc(var(--animate-duration) / 2);
}

.animated.fast {
  -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
          animation-duration: calc(var(--animate-duration) * 0.8);
}

.animated.slow {
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
          animation-duration: calc(var(--animate-duration) * 2);
}

.animated.slower {
  -webkit-animation-duration: calc(var(--animate-duration) * 3);
          animation-duration: calc(var(--animate-duration) * 3);
}

@media print, (prefers-reduced-motion: reduce) {
  .animated {
    -webkit-animation-duration: 1ms !important;
            animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
            transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
  }

  .animated[class*='Out'] {
    opacity: 0;
  }
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
          animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

.slideInRight {
  -webkit-animation-name: slideInRight;
          animation-name: slideInRight;
}

@charset "UTF-8";

/**
 * Main
 */

/**
 * Grid columns number
 *
 * Number of columns in the grid, it override `$grid-columns` from
 * bootstrap-sass. It means, if you wish, that you can instantiate a grid of 8,
 * for example.
 *
 * @see https://github.com/twbs/bootstrap-sass/blob/master/assets/stylesheets/bootstrap/_variables.scss#L329
 */

/**
 * Gutter width
 *
 * Padding between columns. Gets divided in half for the left and right, it
 * overide `$grid-gutter-width` from bootstrap-sass
 *
 * @see http://stackoverflow.com/a/28193872/5091221
 * @see https://github.com/twbs/bootstrap-sass/blob/master/assets/stylesheets/bootstrap/_variables.scss#L331
 */

/**
 * Grid breakpoints
 *
 * Define the minimum dimensions at which your layout will change,
 * adapting to different screen sizes, for use in media queries.
 *
 * @see https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss#L180
 */

.row:not(.no-gutters) {
  margin-right: -5px;
  margin-left: -5px;
}

.row:not(.no-gutters) > .col,
.row:not(.no-gutters) > .Card-list__column,
.row:not(.no-gutters) > [class*="col-"] {
  padding-right: 5px;
  padding-left: 5px;
}

@media (min-width: 754px) {
  .row:not(.no-gutters) {
    margin-right: -5px;
    margin-left: -5px;
  }

  .row:not(.no-gutters) > .col,
  .row:not(.no-gutters) > .Card-list__column,
  .row:not(.no-gutters) > [class*="col-"] {
    padding-right: 5px;
    padding-left: 5px;
  }
}

@media (min-width: 992px) {
  .row:not(.no-gutters) {
    margin-right: -10px;
    margin-left: -10px;
  }

  .row:not(.no-gutters) > .col,
  .row:not(.no-gutters) > .Card-list__column,
  .row:not(.no-gutters) > [class*="col-"] {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media (min-width: 1200px) {
  .row:not(.no-gutters) {
    margin-right: -10px;
    margin-left: -10px;
  }

  .row:not(.no-gutters) > .col,
  .row:not(.no-gutters) > .Card-list__column,
  .row:not(.no-gutters) > [class*="col-"] {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media (min-width: 1400px) {
  .row:not(.no-gutters) {
    margin-right: -10px;
    margin-left: -10px;
  }

  .row:not(.no-gutters) > .col,
  .row:not(.no-gutters) > .Card-list__column,
  .row:not(.no-gutters) > [class*="col-"] {
    padding-right: 10px;
    padding-left: 10px;
  }
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

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

.container {
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
  margin-right: auto;
  margin-left: auto;
  max-width: 1140px;
}

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

@media (min-width: 992px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 960px;
  }
}

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

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

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

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

.container,
.container-sm,
.container-md,
.container-lg,
.container-hd {
  max-width: 1140px;
}

.row {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

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

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

.col,
.Card-list__column {
  flex-basis: 0;
  -webkit-box-flex: 1;
          flex-grow: 1;
  min-width: 0;
  max-width: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.order-first {
  -webkit-box-ordinal-group: 0;
          order: -1;
}

.order-last {
  -webkit-box-ordinal-group: 14;
          order: 13;
}

.order-0 {
  -webkit-box-ordinal-group: 1;
          order: 0;
}

.order-1 {
  -webkit-box-ordinal-group: 2;
          order: 1;
}

.order-2 {
  -webkit-box-ordinal-group: 3;
          order: 2;
}

.order-3 {
  -webkit-box-ordinal-group: 4;
          order: 3;
}

.order-4 {
  -webkit-box-ordinal-group: 5;
          order: 4;
}

.order-5 {
  -webkit-box-ordinal-group: 6;
          order: 5;
}

.order-6 {
  -webkit-box-ordinal-group: 7;
          order: 6;
}

.order-7 {
  -webkit-box-ordinal-group: 8;
          order: 7;
}

.order-8 {
  -webkit-box-ordinal-group: 9;
          order: 8;
}

.order-9 {
  -webkit-box-ordinal-group: 10;
          order: 9;
}

.order-10 {
  -webkit-box-ordinal-group: 11;
          order: 10;
}

.order-11 {
  -webkit-box-ordinal-group: 12;
          order: 11;
}

.order-12 {
  -webkit-box-ordinal-group: 13;
          order: 12;
}

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 754px) {
  .col-sm {
    flex-basis: 0;
    -webkit-box-flex: 1;
            flex-grow: 1;
    min-width: 0;
    max-width: 100%;
  }

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

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

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

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

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

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

  .col-sm-auto {
    -webkit-box-flex: 0;
            flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-sm-1 {
    -webkit-box-flex: 0;
            flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }

  .col-sm-2 {
    -webkit-box-flex: 0;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .col-sm-3 {
    -webkit-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%;
  }

  .col-sm-4 {
    -webkit-box-flex: 0;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .col-sm-5 {
    -webkit-box-flex: 0;
            flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }

  .col-sm-6 {
    -webkit-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%;
  }

  .col-sm-7 {
    -webkit-box-flex: 0;
            flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }

  .col-sm-8 {
    -webkit-box-flex: 0;
            flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }

  .col-sm-9 {
    -webkit-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%;
  }

  .col-sm-10 {
    -webkit-box-flex: 0;
            flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }

  .col-sm-11 {
    -webkit-box-flex: 0;
            flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }

  .col-sm-12 {
    -webkit-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%;
  }

  .order-sm-first {
    -webkit-box-ordinal-group: 0;
            order: -1;
  }

  .order-sm-last {
    -webkit-box-ordinal-group: 14;
            order: 13;
  }

  .order-sm-0 {
    -webkit-box-ordinal-group: 1;
            order: 0;
  }

  .order-sm-1 {
    -webkit-box-ordinal-group: 2;
            order: 1;
  }

  .order-sm-2 {
    -webkit-box-ordinal-group: 3;
            order: 2;
  }

  .order-sm-3 {
    -webkit-box-ordinal-group: 4;
            order: 3;
  }

  .order-sm-4 {
    -webkit-box-ordinal-group: 5;
            order: 4;
  }

  .order-sm-5 {
    -webkit-box-ordinal-group: 6;
            order: 5;
  }

  .order-sm-6 {
    -webkit-box-ordinal-group: 7;
            order: 6;
  }

  .order-sm-7 {
    -webkit-box-ordinal-group: 8;
            order: 7;
  }

  .order-sm-8 {
    -webkit-box-ordinal-group: 9;
            order: 8;
  }

  .order-sm-9 {
    -webkit-box-ordinal-group: 10;
            order: 9;
  }

  .order-sm-10 {
    -webkit-box-ordinal-group: 11;
            order: 10;
  }

  .order-sm-11 {
    -webkit-box-ordinal-group: 12;
            order: 11;
  }

  .order-sm-12 {
    -webkit-box-ordinal-group: 13;
            order: 12;
  }

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 992px) {
  .col-md {
    flex-basis: 0;
    -webkit-box-flex: 1;
            flex-grow: 1;
    min-width: 0;
    max-width: 100%;
  }

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

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

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

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

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

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

  .col-md-auto {
    -webkit-box-flex: 0;
            flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-md-1 {
    -webkit-box-flex: 0;
            flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }

  .col-md-2 {
    -webkit-box-flex: 0;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .col-md-3 {
    -webkit-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%;
  }

  .col-md-4 {
    -webkit-box-flex: 0;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .col-md-5 {
    -webkit-box-flex: 0;
            flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }

  .col-md-6 {
    -webkit-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%;
  }

  .col-md-7 {
    -webkit-box-flex: 0;
            flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }

  .col-md-8 {
    -webkit-box-flex: 0;
            flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }

  .col-md-9 {
    -webkit-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%;
  }

  .col-md-10 {
    -webkit-box-flex: 0;
            flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }

  .col-md-11 {
    -webkit-box-flex: 0;
            flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }

  .col-md-12 {
    -webkit-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%;
  }

  .order-md-first {
    -webkit-box-ordinal-group: 0;
            order: -1;
  }

  .order-md-last {
    -webkit-box-ordinal-group: 14;
            order: 13;
  }

  .order-md-0 {
    -webkit-box-ordinal-group: 1;
            order: 0;
  }

  .order-md-1 {
    -webkit-box-ordinal-group: 2;
            order: 1;
  }

  .order-md-2 {
    -webkit-box-ordinal-group: 3;
            order: 2;
  }

  .order-md-3 {
    -webkit-box-ordinal-group: 4;
            order: 3;
  }

  .order-md-4 {
    -webkit-box-ordinal-group: 5;
            order: 4;
  }

  .order-md-5 {
    -webkit-box-ordinal-group: 6;
            order: 5;
  }

  .order-md-6 {
    -webkit-box-ordinal-group: 7;
            order: 6;
  }

  .order-md-7 {
    -webkit-box-ordinal-group: 8;
            order: 7;
  }

  .order-md-8 {
    -webkit-box-ordinal-group: 9;
            order: 8;
  }

  .order-md-9 {
    -webkit-box-ordinal-group: 10;
            order: 9;
  }

  .order-md-10 {
    -webkit-box-ordinal-group: 11;
            order: 10;
  }

  .order-md-11 {
    -webkit-box-ordinal-group: 12;
            order: 11;
  }

  .order-md-12 {
    -webkit-box-ordinal-group: 13;
            order: 12;
  }

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 1200px) {
  .col-lg {
    flex-basis: 0;
    -webkit-box-flex: 1;
            flex-grow: 1;
    min-width: 0;
    max-width: 100%;
  }

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

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

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

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

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

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

  .col-lg-auto {
    -webkit-box-flex: 0;
            flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-lg-1 {
    -webkit-box-flex: 0;
            flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }

  .col-lg-2 {
    -webkit-box-flex: 0;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .col-lg-3 {
    -webkit-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%;
  }

  .col-lg-4 {
    -webkit-box-flex: 0;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .col-lg-5 {
    -webkit-box-flex: 0;
            flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }

  .col-lg-6 {
    -webkit-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%;
  }

  .col-lg-7 {
    -webkit-box-flex: 0;
            flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }

  .col-lg-8 {
    -webkit-box-flex: 0;
            flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }

  .col-lg-9 {
    -webkit-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%;
  }

  .col-lg-10 {
    -webkit-box-flex: 0;
            flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }

  .col-lg-11 {
    -webkit-box-flex: 0;
            flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }

  .col-lg-12 {
    -webkit-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%;
  }

  .order-lg-first {
    -webkit-box-ordinal-group: 0;
            order: -1;
  }

  .order-lg-last {
    -webkit-box-ordinal-group: 14;
            order: 13;
  }

  .order-lg-0 {
    -webkit-box-ordinal-group: 1;
            order: 0;
  }

  .order-lg-1 {
    -webkit-box-ordinal-group: 2;
            order: 1;
  }

  .order-lg-2 {
    -webkit-box-ordinal-group: 3;
            order: 2;
  }

  .order-lg-3 {
    -webkit-box-ordinal-group: 4;
            order: 3;
  }

  .order-lg-4 {
    -webkit-box-ordinal-group: 5;
            order: 4;
  }

  .order-lg-5 {
    -webkit-box-ordinal-group: 6;
            order: 5;
  }

  .order-lg-6 {
    -webkit-box-ordinal-group: 7;
            order: 6;
  }

  .order-lg-7 {
    -webkit-box-ordinal-group: 8;
            order: 7;
  }

  .order-lg-8 {
    -webkit-box-ordinal-group: 9;
            order: 8;
  }

  .order-lg-9 {
    -webkit-box-ordinal-group: 10;
            order: 9;
  }

  .order-lg-10 {
    -webkit-box-ordinal-group: 11;
            order: 10;
  }

  .order-lg-11 {
    -webkit-box-ordinal-group: 12;
            order: 11;
  }

  .order-lg-12 {
    -webkit-box-ordinal-group: 13;
            order: 12;
  }

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 1400px) {
  .col-hd {
    flex-basis: 0;
    -webkit-box-flex: 1;
            flex-grow: 1;
    min-width: 0;
    max-width: 100%;
  }

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

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

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

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

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

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

  .col-hd-auto {
    -webkit-box-flex: 0;
            flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-hd-1 {
    -webkit-box-flex: 0;
            flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }

  .col-hd-2 {
    -webkit-box-flex: 0;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .col-hd-3 {
    -webkit-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%;
  }

  .col-hd-4 {
    -webkit-box-flex: 0;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .col-hd-5 {
    -webkit-box-flex: 0;
            flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }

  .col-hd-6 {
    -webkit-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%;
  }

  .col-hd-7 {
    -webkit-box-flex: 0;
            flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }

  .col-hd-8 {
    -webkit-box-flex: 0;
            flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }

  .col-hd-9 {
    -webkit-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%;
  }

  .col-hd-10 {
    -webkit-box-flex: 0;
            flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }

  .col-hd-11 {
    -webkit-box-flex: 0;
            flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }

  .col-hd-12 {
    -webkit-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%;
  }

  .order-hd-first {
    -webkit-box-ordinal-group: 0;
            order: -1;
  }

  .order-hd-last {
    -webkit-box-ordinal-group: 14;
            order: 13;
  }

  .order-hd-0 {
    -webkit-box-ordinal-group: 1;
            order: 0;
  }

  .order-hd-1 {
    -webkit-box-ordinal-group: 2;
            order: 1;
  }

  .order-hd-2 {
    -webkit-box-ordinal-group: 3;
            order: 2;
  }

  .order-hd-3 {
    -webkit-box-ordinal-group: 4;
            order: 3;
  }

  .order-hd-4 {
    -webkit-box-ordinal-group: 5;
            order: 4;
  }

  .order-hd-5 {
    -webkit-box-ordinal-group: 6;
            order: 5;
  }

  .order-hd-6 {
    -webkit-box-ordinal-group: 7;
            order: 6;
  }

  .order-hd-7 {
    -webkit-box-ordinal-group: 8;
            order: 7;
  }

  .order-hd-8 {
    -webkit-box-ordinal-group: 9;
            order: 8;
  }

  .order-hd-9 {
    -webkit-box-ordinal-group: 10;
            order: 9;
  }

  .order-hd-10 {
    -webkit-box-ordinal-group: 11;
            order: 10;
  }

  .order-hd-11 {
    -webkit-box-ordinal-group: 12;
            order: 11;
  }

  .order-hd-12 {
    -webkit-box-ordinal-group: 13;
            order: 12;
  }

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

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

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

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

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

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

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

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

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

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

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

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

.d-none,
.Site-footer__middle__decor,
.Banner__image,
.Site-menu__item.Site-menu__item--button svg.close,
.menu-mobile--is-open .Site-menu__item.Site-menu__item--button svg.open,
.Tutorials-videos__navigation,
.Flight-detail__date__label,
.Breadcrumb__item:last-child::after,
.Scroll-back-to-top,
.Card-destination__aside,
.Card-selector.is-selected .Card-selector__icon__chevron,
.Card-selector__icon__check,
.Card-inspiration__aside,
.Plane-trip[hidden="true"],
.Plane-trip__arrow,
.Reportage__carousel__button,
.Home-page .Quick-search,
.Flight-plan .Flight__arrival,
.Flight__airline,
.Parking-page__map__desktop,
.Destination__accordion div.is-active .Destination__accordion__horizontal-line,
.visually-hidden {
  display: none !important;
}

.d-inline,
.Site-footer__column__title svg,
.Breadcrumb__item::after {
  display: inline !important;
}

.d-inline-block,
.Site-menu__footer img,
.Flight-detail__item img,
.Company__logo img,
.Travel-diary__item,
.Prepare__item,
.Alert__dismiss svg,
.Button,
.Shares__item,
.Push__link,
.Push__link::after,
.Ordered-list__item__image,
.Widget-real-time-flight .Widget__group,
.Reportage__carousel__item,
.Site-header .Logo--lyon-aeroport,
.Site-header .Logo--vinci-aeroport,
.Language-selector,
.Spin-button.Spin-button--large .Spin-button__information::before,
.Dropdown.Dropdown--center,
.Parking-page__choices__item,
.Parking-page__map__mobile,
.Parking-page__informations .Carousel__item {
  display: inline-block !important;
}

.d-block,
.Hero.Hero--has-widget,
.Hero.Hero--has-widgets,
.Hero__icon svg,
.Taskbar__item a,
.Image-caption.Image-caption--background::after,
.Table::after,
.Banner--has-image::after,
.Site-menu__item.Site-menu__item--account.Site-menu__item--account-online a span.green-point,
.Site-menu__item.Site-menu__item--button svg.open,
.menu-mobile--is-open .Site-menu__item.Site-menu__item--button svg.close,
.Button.Button--tertiary small,
.Push,
.Card-destination::after,
.Card-destination__option,
.Card-destination__option::after,
.Card-favorite,
.Card-favorite::after,
.Card-parking__more,
.Card-selector__icon__chevron,
.Card-selector.is-selected .Card-selector__icon__check,
.Card-information__thumbnail img,
.Card-list__body ul li::before,
.Card-discovery::after,
.Card,
.Card-promotionnelle,
.Card-inspiration::after,
.Carousel__items.flickity-enabled,
.Ordered-list__item__body::after,
.Widget--track-a-flight__item__estimated small,
.Reportage__header::after,
.Calendar__tooltip::before,
.Calendar__cell__inner button,
.Checkbox button::after,
.Filters__button,
.Range__aside__label div,
.Insta-gram__item__img,
.Language-selector__item a,
.Quick-search__item small,
.Switch__slider::before,
.Destination__accordion__anchor,
.Destination__accordion__header__title a,
.Destination__accordion__header__title button {
  display: block !important;
}

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

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

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

.d-flex,
.Tutorials-videos .flickity-page-dots,
.Alert__navigation,
.Carousel__items > .flickity-page-dots,
.Parking-page__choices .flickity-page-dots,
.Destination__list .flickity-page-dots,
.Site-header__list,
.Site-footer__column__title,
.Site-footer__bottom a,
.Hero,
.Hero__image,
.Taskbar__items,
.Table__column,
.Rich-list__item,
.List__item,
.List__item__body,
.Video__inner,
.Video__controls,
.Site-menu,
.Site-menu__body,
.Site-menu__button,
.Site-menu__items,
.Site-menu__item.Site-menu__item--cart a span,
.Site-menu__item > a,
.Site-menu__item > button,
.Site-menu__item > p,
.Site-menu__footer,
.Company__logo,
.Travel-diary__form,
.Travel-diary__form button[type="submit"],
.Alert__item,
.Alert__body,
.Alert__aside,
.MenuAccount-subtitle > p,
.MenuAccount-list-group .panel-item > a,
.MenuAccount-list-group .panel-item > button,
.Button.Button--icon,
.Button.Button--icon-light,
.Button.Button--tertiary,
.Button.Button--extra-large,
.Button--navigation,
.Breadcrumb,
.Shares__link,
.Link,
.Accordion__item__header,
.Card-icon,
.Card-video__body,
.Card-destination,
.Card-destination__title,
.Card-favorite__body,
.Card-parking,
.Card-selector,
.Card-selector__label,
.Card-selector__icon,
.Card-useful-information,
.Card-information--advertising,
.Card-list,
.Card-discovery__body,
.Card-inspiration,
.Card-inspiration__title,
.Carousel__items,
.Plane-trip__body,
.Ordered-list__item__body,
.Widget--parking-reservation,
.Widget--book-a-flight,
.Widget--track-a-flight,
.Widget--track-a-flight__item,
.Widget__title,
.Widget__panel,
.Widget__group--two-brothers,
.Widget__group--two-children,
.Widget__group--three-children,
.Widget__group--one-and-two-children,
.Widget__tabs__navigation,
.Widget__dropdowns,
.Widget__help_middle,
.Widget-real-time-flight__navigation,
.Widget-real-time-flight__navigation button,
.Calendars__header,
.Calendar__header,
.Calendar .Calendar__next,
.Calendar .Calendar__previous,
.Pagination__items,
.Pagination__item__link,
.Checkbox,
.List-button,
.List-button[aria-orientation="horizontal"] ul,
.List-button__navigation,
.Range,
.Range__thumb,
.Range__aside,
.Enjoy__icon,
.Slideshow__items > .flickity-page-dots,
.Slideshow__item,
.Theme,
.Theme__item,
.Theme__item [role="radio"],
.Insta-gram__overlay,
.Socials,
.Socials li a,
.Quick-search__item,
.Quick-search__item__icon,
.Flight-type,
.Flight-plan,
.Flight-plan__body,
.Flight-plan__body::before,
.Flight-plan__body::after,
.Flight__header__body,
.Flight__body,
.Card-readmore,
.Card-readmore__title,
.Spin-button,
.Spin-button__column,
.Dropdown,
.Dropdown__button,
.Input-date__button,
.Input-time,
.Select-time,
.Input-time__button,
.Input,
.Input__label--search,
.Search-form,
.Switch__slider,
.Badge,
.error404,
.error404__wrapper,
.Parking-page__informations__card__list li,
.Destination__legends__item p,
.List-page__result,
.List-page__result button,
.Page__filters__item {
  display: -webkit-box !important;
  display: flex !important;
}

.d-inline-flex,
.Alert__item__scrollable,
.Alert__text,
.Button.Button--icon.Button--medium,
.Card-parking .Badge.Badge--extra-extra-small.Badge--rounded.Badge--info,
.Switch {
  display: -webkit-inline-box !important;
  display: inline-flex !important;
}

@media (min-width: 754px) {
  .d-sm-none,
  .Switch__label br {
    display: none !important;
  }

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

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

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

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

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

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

  .d-sm-flex {
    display: -webkit-box !important;
    display: flex !important;
  }

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

@media (min-width: 992px) {
  .d-md-none,
  .Site-footer__column__title svg,
  .Site-menu__button,
  .Site-menu__button svg,
  .Site-menu__footer,
  .Filters__button,
  .Favorites .flickity-page-dots,
  .Parking-page__map__mobile {
    display: none !important;
  }

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

  .d-md-inline-block,
  .Site-footer__column__title,
  .Site-menu__item,
  .Parking-page__map__desktop {
    display: inline-block !important;
  }

  .d-md-block,
  .Site-footer__middle__decor,
  .Banner__image,
  .Site-menu,
  .Site-menu__body,
  .Flight-detail__date__label,
  .Card-destination__aside,
  .Card-inspiration__aside,
  .Home-page .Quick-search,
  .Flight-plan .Flight__arrival,
  .Flight__airline {
    display: block !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,
  .Tutorials-videos__navigation,
  .Alert__inner,
  .Scroll-back-to-top,
  .Push,
  .Accordion__item__header__body,
  .Plane-trip__arrow,
  .Reportage__carousel__button {
    display: -webkit-box !important;
    display: flex !important;
  }

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

@media (min-width: 1200px) {
  .d-lg-none {
    display: none !important;
  }

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

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

  .d-lg-block {
    display: block !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: -webkit-box !important;
    display: flex !important;
  }

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

@media (min-width: 1400px) {
  .d-hd-none {
    display: none !important;
  }

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

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

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

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

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

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

  .d-hd-flex {
    display: -webkit-box !important;
    display: flex !important;
  }

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

@media print {
  .d-print-none {
    display: none !important;
  }

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

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

  .d-print-block {
    display: block !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: -webkit-box !important;
    display: flex !important;
  }

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

.flex-row,
.List__item,
.Breadcrumb,
.Accordion__item__header,
.Plane-trip__body,
.Widget__group--two-brothers,
.Widget__group--two-children,
.Widget__group--three-children,
.Widget__group--one-and-two-children,
.Quick-search__item,
.Spin-button--large .Spin-button__column {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
          flex-direction: row !important;
}

.flex-column,
.Table__column,
.Rich-list__item,
.List__item__body,
.Video__inner,
.Site-menu,
.Site-menu__body,
.Travel-diary__form,
.Button.Button--icon-light,
.Card-icon,
.Card-video__body,
.Card-destination,
.Card-favorite__body,
.Card-parking,
.Card-selector,
.Card-selector__label,
.Card-useful-information,
.Card-information--advertising,
.Card-discovery__body,
.Card-inspiration,
.Ordered-list__item__body,
.Widget--parking-reservation,
.Widget--book-a-flight,
.Widget--track-a-flight,
.Widget__title,
.Widget__panel,
.Range__aside,
.Enjoy__icon,
.Slideshow__item,
.Theme__item [role="radio"],
.Insta-gram__overlay,
.Flight__body,
.Card-readmore,
.Search-form,
.error404,
.error404__wrapper {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
          flex-direction: column !important;
}

.flex-row-reverse {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
          flex-direction: row-reverse !important;
}

.flex-column-reverse {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: reverse !important;
          flex-direction: column-reverse !important;
}

.flex-wrap,
.Carousel__items,
.Widget__group--two-brothers,
.Widget__group--two-children,
.Widget__group--three-children,
.Widget__group--one-and-two-children {
  flex-wrap: wrap !important;
}

.flex-nowrap,
.List-button[aria-orientation="horizontal"] ul {
  flex-wrap: nowrap !important;
}

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

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

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

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

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

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

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

.justify-content-end,
.Card-favorite__body,
.Card-discovery__body {
  -webkit-box-pack: end !important;
          justify-content: flex-end !important;
}

.justify-content-center,
.Tutorials-videos .flickity-page-dots,
.Alert__navigation,
.Carousel__items > .flickity-page-dots,
.Parking-page__choices .flickity-page-dots,
.Destination__list .flickity-page-dots,
.Video__inner,
.Video__controls,
.Site-menu__item.Site-menu__item--cart a span,
.Company__logo,
.Travel-diary__form button[type="submit"],
.Alert__dismiss,
.Button.Button--icon,
.Button.Button--icon-light,
.Button--navigation,
.Shares__link,
.Accordion__item__header,
.Card-icon,
.Card-selector,
.Card-selector__icon,
.Card-useful-information,
.Ordered-list__item__body,
.Widget-real-time-flight__navigation button,
.Reportage__carousel__button,
.Calendar .Calendar__next,
.Calendar .Calendar__previous,
.Pagination__item__link,
.List-button__navigation,
.Range__thumb,
.Enjoy__icon,
.Slideshow__items > .flickity-page-dots,
.Theme__item [role="radio"],
.Insta-gram__overlay,
.Socials li a,
.Quick-search__item__icon,
.Badge,
.Destination__legends__item p,
.Page__filters__item {
  -webkit-box-pack: center !important;
          justify-content: center !important;
}

.justify-content-between,
.Site-footer__column__title,
.Tutorials-videos__navigation,
.Link,
.Plane-trip__body,
.List-button,
.Range__aside,
.Socials,
.Flight-plan,
.Flight-plan__body,
.Switch__slider,
.List-page__result {
  -webkit-box-pack: justify !important;
          justify-content: space-between !important;
}

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

.align-items-start,
.Site-menu .Site-menu__items,
.Alert__item {
  -webkit-box-align: start !important;
          align-items: flex-start !important;
}

.align-items-end,
.Flight-plan__body {
  -webkit-box-align: end !important;
          align-items: flex-end !important;
}

.align-items-center,
.Tutorials-videos .flickity-page-dots,
.Alert__navigation,
.Carousel__items > .flickity-page-dots,
.Parking-page__choices .flickity-page-dots,
.Destination__list .flickity-page-dots,
.Site-footer__column__title,
.Site-footer__bottom a,
.Rich-list__item,
.Video__inner,
.Video__controls,
.Site-menu__button,
.Site-menu__items,
.Site-menu__item.Site-menu__item--cart a span,
.Site-menu__item > a,
.Site-menu__item > button,
.Site-menu__item > p,
.Site-menu__footer,
.Tutorials-videos__navigation,
.Company__logo,
.Travel-diary__form button[type="submit"],
.Alert__body,
.Alert__dismiss,
.MenuAccount-subtitle > p,
.MenuAccount-list-group .panel-item > a,
.MenuAccount-list-group .panel-item > button,
.Button.Button--icon,
.Button.Button--icon-light,
.Button.Button--tertiary,
.Button.Button--extra-large,
.Button--navigation,
.Shares__link,
.Link,
.Accordion__item__header,
.Card-icon,
.Card-destination__title,
.Card-favorite__body,
.Card-selector,
.Card-selector__label,
.Card-selector__icon,
.Card-useful-information,
.Card-inspiration__title,
.Plane-trip__body,
.Widget--track-a-flight__item,
.Widget__title,
.Widget__group--two-brothers,
.Reportage__carousel__button,
.Calendar__header,
.Calendar .Calendar__next,
.Calendar .Calendar__previous,
.Pagination__item__link,
.Checkbox,
.List-button,
.List-button__navigation,
.Range__thumb,
.Enjoy__icon,
.Slideshow__items > .flickity-page-dots,
.Theme__item [role="radio"],
.Insta-gram__overlay,
.Socials li a,
.Quick-search__item,
.Quick-search__item__icon,
.Flight-type,
.Flight__header__body,
.Flight__body,
.Card-readmore__title,
.Spin-button,
.Spin-button--large .Spin-button__column:last-child,
.Dropdown,
.Dropdown__button,
.Input-date__button,
.Input-time,
.Select-time,
.Input-time__button,
.Input,
.Input__label--search,
.Switch,
.Switch__slider,
.Badge,
.Parking-page__informations__card__list li,
.Destination__legends__item p,
.List-page__result,
.List-page__result button,
.Page__filters__item {
  -webkit-box-align: center !important;
          align-items: center !important;
}

.align-items-baseline,
.Alert__item__scrollable,
.Alert__text {
  -webkit-box-align: baseline !important;
          align-items: baseline !important;
}

.align-items-stretch {
  -webkit-box-align: stretch !important;
          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;
}

@media (min-width: 754px) {
  .flex-sm-row,
  .Rich-list__item {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
            flex-direction: row !important;
  }

  .flex-sm-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
            flex-direction: column !important;
  }

  .flex-sm-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
            flex-direction: row-reverse !important;
  }

  .flex-sm-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
            flex-direction: column-reverse !important;
  }

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

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

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

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

  .flex-sm-grow-0 {
    -webkit-box-flex: 0 !important;
            flex-grow: 0 !important;
  }

  .flex-sm-grow-1 {
    -webkit-box-flex: 1 !important;
            flex-grow: 1 !important;
  }

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

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

  .justify-content-sm-start {
    -webkit-box-pack: start !important;
            justify-content: flex-start !important;
  }

  .justify-content-sm-end {
    -webkit-box-pack: end !important;
            justify-content: flex-end !important;
  }

  .justify-content-sm-center {
    -webkit-box-pack: center !important;
            justify-content: center !important;
  }

  .justify-content-sm-between {
    -webkit-box-pack: justify !important;
            justify-content: space-between !important;
  }

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

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

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

  .align-items-sm-center {
    -webkit-box-align: center !important;
            align-items: center !important;
  }

  .align-items-sm-baseline {
    -webkit-box-align: baseline !important;
            align-items: baseline !important;
  }

  .align-items-sm-stretch {
    -webkit-box-align: stretch !important;
            align-items: stretch !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 992px) {
  .flex-md-row,
  .Table__column,
  .Travel-diary__form,
  .Button.Button--icon-light,
  .Push,
  .Flight__body,
  .Search-form {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
            flex-direction: row !important;
  }

  .flex-md-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
            flex-direction: column !important;
  }

  .flex-md-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
            flex-direction: row-reverse !important;
  }

  .flex-md-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
            flex-direction: column-reverse !important;
  }

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

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

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

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

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

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

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

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

  .justify-content-md-start,
  .Accordion__item__header,
  .Page__filters__item {
    -webkit-box-pack: start !important;
            justify-content: flex-start !important;
  }

  .justify-content-md-end,
  .Slideshow__items > .flickity-page-dots {
    -webkit-box-pack: end !important;
            justify-content: flex-end !important;
  }

  .justify-content-md-center,
  .Taskbar__items,
  .Plane-trip__arrow {
    -webkit-box-pack: center !important;
            justify-content: center !important;
  }

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

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

  .align-items-md-start,
  .Flight-plan {
    -webkit-box-align: start !important;
            align-items: flex-start !important;
  }

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

  .align-items-md-center,
  .Site-menu .Site-menu__items,
  .Alert__item,
  .Push,
  .Accordion__item__header__body,
  .Plane-trip__arrow {
    -webkit-box-align: center !important;
            align-items: center !important;
  }

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

  .align-items-md-stretch {
    -webkit-box-align: stretch !important;
            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;
  }
}

@media (min-width: 1200px) {
  .flex-lg-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
            flex-direction: row !important;
  }

  .flex-lg-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
            flex-direction: column !important;
  }

  .flex-lg-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
            flex-direction: row-reverse !important;
  }

  .flex-lg-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
            flex-direction: column-reverse !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .align-items-lg-stretch {
    -webkit-box-align: stretch !important;
            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;
  }
}

@media (min-width: 1400px) {
  .flex-hd-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
            flex-direction: row !important;
  }

  .flex-hd-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
            flex-direction: column !important;
  }

  .flex-hd-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
            flex-direction: row-reverse !important;
  }

  .flex-hd-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
            flex-direction: column-reverse !important;
  }

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

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

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

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

  .flex-hd-grow-0 {
    -webkit-box-flex: 0 !important;
            flex-grow: 0 !important;
  }

  .flex-hd-grow-1 {
    -webkit-box-flex: 1 !important;
            flex-grow: 1 !important;
  }

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

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

  .justify-content-hd-start {
    -webkit-box-pack: start !important;
            justify-content: flex-start !important;
  }

  .justify-content-hd-end {
    -webkit-box-pack: end !important;
            justify-content: flex-end !important;
  }

  .justify-content-hd-center {
    -webkit-box-pack: center !important;
            justify-content: center !important;
  }

  .justify-content-hd-between {
    -webkit-box-pack: justify !important;
            justify-content: space-between !important;
  }

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

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

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

  .align-items-hd-center {
    -webkit-box-align: center !important;
            align-items: center !important;
  }

  .align-items-hd-baseline {
    -webkit-box-align: baseline !important;
            align-items: baseline !important;
  }

  .align-items-hd-stretch {
    -webkit-box-align: stretch !important;
            align-items: stretch !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * Easings
 * Animation timing functions variables in SCSS
 *
 * Based on Easings by Andrey Sitnik (Autoprefixer / PostCSS) and Matthew Lein's
 * easing animation tool.
 *
 * Also used on Velocity.js animation library.
 *
 * @uses map-get( $easings, $key ) to retrieve directory value from map
 * @type map
 * @see http://easings.net/
 * @autor Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

/**
 * Color variation
 *
 * Each colors used in the theme.
 *
 * @uses get_color( $key, $value ) to retrieve color value
 * @type nested map
 * @see http://erskinedesign.com/blog/friendlier-colour-names-sass-maps/
 * @see http://www.colorhexa.com/ to pickup color name
 */

/**
 *
 *
 *
 * @type map
 */

/**
 * Font
 *
 * A map containing all information about fonts
 *
 * @type map
 */

/**
 * Base
 */

/**
 * Outer gutter width
 *
 * (Most of the time it's the size of a gutter divide by 2.)
 * Useful for the container.
 */

/**
 * Prototype width
 *
 * From Photoshop, Sketch, Illustrator, Paint maybe? 😝
 */

/**
 * Container width without grid outer gutter width
 *
 * Width keep from prototype
 */

/**
 * Container sizes
 *
 * Sizes keep from prototype (grid + outer gutter * 2 )
 */

/**
 * Prototype height
 */

/**
 * Spacers
 *
 * Usefull for padding and margin utilities rythm
 */

/**
 * Directories
 *
 * Each directories used in this theme.
 *
 * @uses 	map-get( $directories, $key ) to retrieve directory value
 * @type 	map
 * @author 	Jérémy Levron <jeremylevron@19h47.fr>
 */

/**
 *
 */

/*
VINCI COLORS
============
*/

/*
VINCI BLUE
Use for buttons rollover
R: 0 ; G: 73; B: 144
#004990
*/

/*
VINCI LIGHT BLUE
Use for links rollover
R: 0 ; G: 120; B: 240
#0078f0
*/

/*
VINCI SKY BLUE
Use for buttons and flat bloc
R: 0 ; G: 97; B: 194
#0061c2
*/

/*
VINCI DARK BLUE
Use for current text
R: 16 ; G: 33; B: 58
#10213a
*/

/*
LIGHT GREY
Use for background
R: 248 ; G: 250; B: 250
#f8fafa
*/

/*
MEDIUM GREY
Use for secondary text and inactive icons on white background
R: 161 ; G: 167; B: 172
#a1a7ac
*/

/*
DARK GREY
Use for secondary text and inactive icons on light grey background
R: 113 ; G: 121; B: 128
#717980
*/

/*
GREEN MINT
Use for label in carte promotionnelle
R: 52 ; G: 186; B: 108
#34BA6C
*/

/**
 * Main
 */

@font-face {
  font-family: 'Vinci Sans';
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-extra-light.eot");
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-extra-light.woff2") format("woff2"), url("/themes/adl/fonts/vinci-sans/vinci-sans-extra-light.woff") format("woff"), url("/themes/adl/fonts/vinci-sans/vinci-sans-extra-light.eot?#iefix") format("embedded-opentype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Vinci Sans';
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-medium.eot");
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-medium.woff2") format("woff2"), url("/themes/adl/fonts/vinci-sans/vinci-sans-medium.woff") format("woff"), url("/themes/adl/fonts/vinci-sans/vinci-sans-medium.eot?#iefix") format("embedded-opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Vinci Sans';
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-regular.eot");
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-regular.woff2") format("woff2"), url("/themes/adl/fonts/vinci-sans/vinci-sans-regular.woff") format("woff"), url("/themes/adl/fonts/vinci-sans/vinci-sans-regular.eot?#iefix") format("embedded-opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Vinci Sans';
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-light.eot");
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-light.woff2") format("woff2"), url("/themes/adl/fonts/vinci-sans/vinci-sans-light.woff") format("woff"), url("/themes/adl/fonts/vinci-sans/vinci-sans-light.eot?#iefix") format("embedded-opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Vinci Sans';
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-light-italic.eot");
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-light-italic.woff2") format("woff2"), url("/themes/adl/fonts/vinci-sans/vinci-sans-light-italic.woff") format("woff"), url("/themes/adl/fonts/vinci-sans/vinci-sans-light-italic.eot?#iefix") format("embedded-opentype");
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: 'Vinci Sans';
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-bold-italic.eot");
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-bold-italic.woff2") format("woff2"), url("/themes/adl/fonts/vinci-sans/vinci-sans-bold-italic.woff") format("woff"), url("/themes/adl/fonts/vinci-sans/vinci-sans-bold-italic.eot?#iefix") format("embedded-opentype");
  font-weight: 700;
  font-style: italic;
}

@font-face {
  font-family: 'Vinci Sans';
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-bold.eot");
  src: url("/themes/adl/fonts/vinci-sans/vinci-sans-bold.woff2") format("woff2"), url("/themes/adl/fonts/vinci-sans/vinci-sans-bold.woff") format("woff"), url("/themes/adl/fonts/vinci-sans/vinci-sans-bold.eot?#iefix") format("embedded-opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Saturday Champagne';
  src: url("/themes/adl/fonts/saturday-champagne/saturday-champagne-regular.eot");
  src: url("/themes/adl/fonts/saturday-champagne/saturday-champagne-regular.woff2") format("woff2"), url("/themes/adl/fonts/saturday-champagne/saturday-champagne-regular.woff") format("woff"), url("/themes/adl/fonts/saturday-champagne/saturday-champagne-regular.eot?#iefix") format("embedded-opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Reenie Beanie';
  src: url("/themes/adl/fonts/Reenie_Beanie/ReenieBeanie-Regular.eot");
  src: url("/themes/adl/fonts/Reenie_Beanie/ReenieBeanie-Regular.woff2") format("woff2"), url("/themes/adl/fonts/Reenie_Beanie/ReenieBeanie-Regular.woff") format("woff"), url("/themes/adl/fonts/Reenie_Beanie/ReenieBeanie-Regular.eot?#iefix") format("embedded-opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/*!
 * ress.css • v2.0.2
 * MIT License
 * github.com/filipelinhares/ress
 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: break-word;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */

hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
  height: 0;
  /* Add the correct box sizing in Firefox */
}

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: none;
  /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder;
  /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */

input {
  border-radius: 0;
}

/* Replace pointer cursor in disabled elements */

[disabled] {
  cursor: default;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
  /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type="search"] {
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */

button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
  color: inherit;
}

/* Remove inner padding and border in Firefox 4+ */

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

/* Replace focus style removed in the border reset above */

button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

/* Style select like a standard input */

select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
  /* Change font properties to `inherit` in Chrome and Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */

img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */

progress {
  vertical-align: baseline;
}

svg:not([fill]) {
  fill: currentColor;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */

/* Hide content from screens but not screenreaders */

@media screen {
  [hidden~="screen"] {
    display: inherit;
  }

  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Specify the progress cursor of updating elements */

[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */

[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */

[aria-disabled] {
  cursor: default;
}

/*! Flickity v2.2.1
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: rgba(255, 255, 255, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}

/* right to left */

.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

.tippy-box[data-animation=fade][data-state=hidden] {
  opacity: 0;
}

[data-tippy-root] {
  max-width: calc(100vw - 10px);
}

.tippy-box {
  position: relative;
  background-color: #333;
  color: #fff;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.4;
  outline: 0;
  -webkit-transition-property: visibility,opacity,-webkit-transform;
  transition-property: visibility,opacity,-webkit-transform;
  transition-property: transform,visibility,opacity;
  transition-property: transform,visibility,opacity,-webkit-transform;
}

.tippy-box[data-placement^=top] > .tippy-arrow {
  bottom: 0;
}

.tippy-box[data-placement^=top] > .tippy-arrow:before {
  bottom: -7px;
  left: 0;
  border-width: 8px 8px 0;
  border-top-color: initial;
  -webkit-transform-origin: center top;
          transform-origin: center top;
}

.tippy-box[data-placement^=bottom] > .tippy-arrow {
  top: 0;
}

.tippy-box[data-placement^=bottom] > .tippy-arrow:before {
  top: -7px;
  left: 0;
  border-width: 0 8px 8px;
  border-bottom-color: initial;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

.tippy-box[data-placement^=left] > .tippy-arrow {
  right: 0;
}

.tippy-box[data-placement^=left] > .tippy-arrow:before {
  border-width: 8px 0 8px 8px;
  border-left-color: initial;
  right: -7px;
  -webkit-transform-origin: center left;
          transform-origin: center left;
}

.tippy-box[data-placement^=right] > .tippy-arrow {
  left: 0;
}

.tippy-box[data-placement^=right] > .tippy-arrow:before {
  left: -7px;
  border-width: 8px 8px 8px 0;
  border-right-color: initial;
  -webkit-transform-origin: center right;
          transform-origin: center right;
}

.tippy-box[data-inertia][data-state=visible] {
  -webkit-transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
          transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
}

.tippy-arrow {
  width: 16px;
  height: 16px;
  color: #333;
}

.tippy-arrow:before {
  content: "";
  position: absolute;
  border-color: transparent;
  border-style: solid;
}

.tippy-content {
  position: relative;
  padding: 5px 9px;
  z-index: 1;
}

/**
 * Get color
 *
 * Retrieve color from $color-variations map
 *
 * @access  public
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

/**
 * The color
 *
 * @param  arglist      $keys
 * @return function     get_the_color()
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

/**
 * Get color list
 *
 * @access  public
 * @param   $label
 * @return  $list
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

/**
 * Slightly lighten a color
 *
 * @access  public
 * @param   Color   $color          color to tint
 * @param   Number  $percentage     percentage of `$color` in returned color
 * @see     https://css-tricks.com/snippets/sass/tint-shade-functions/
 * @return  Color
 */

/**
 * Slightly darken a color
 *
 * @access  public
 * @param   Color   $color          color to shade
 * @param   Number  $percentage     percentage of `$color` in returned color
 * @see     https://css-tricks.com/snippets/sass/tint-shade-functions/
 * @return  Color
 */

/**
 * Set opacity and visibility properties in one time, like GSAP.
 *
 * @param $value 0|1
 * @author Julien Vasseur <julien@poigneedemainvirile.com>
 */

/**
 * Create some classes from $color-variations map
 *
 * @param $properties   list of properties ( name of class, property )
 * @uses  @include      create_classes_color( $property1 '$.className', $property2 '$.className2' )
 */

/**
 * Font mixin
 *
 * @param   int     $font-size      Unitless font size  (mostly from .psd)
 * @param   int     $line-height Unitless line height   (mostly from .psd)
 * @author 	Jérémy Levron <jeremylevron@19h47> (http://19h47.fr)
 */

/**
 * Set letter-spacing with unitless value from Photoshop.
 *
 * @param   {Number}     $value
 * @uses    letter-spacing(48)
 * @see 	http://sass-lang.com/documentation/file.SASS_REFERENCE.html#if
 */

/**
 * Margin
 *
 * @author Jérémy Levron <jeremylevron@19h47.fr>
 */

/**
 * Padding
 *
 * @author Jérémy Levron <jeremylevron@19h47.fr>
 */

/**
 * Position
 * 
 * @see http://hugogiraudel.com/2014/05/19/new-offsets-sass-mixin/
 */

/**
 * Power
 *
 * @param  int $number
 * @param  int $exponent
 * @return $value
 */

/**
 * Reset placeholder
 *
 * Change the default text color for placeholders.
 * @color valid color
 */

/**
 * Mixin helping defining both `width` and `height` simultaneously.
 *
 * @access public
 * @param   {Length}    $width - Element’s `width`
 * @param   {Length}    $height [$width] - Element’s `height`
 * @author Hugo Giraudel
 */

/**
 * Placeholder position
 *
 * @uses    @extend %Position-{$property}
 * @author  Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

/**
 * Placeholder pointer events
 *
 * @uses    @extend %Pointer-events-{ $property }
 * @author  Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.Pointer-events-none,
.Video__controls svg,
.Tutorials-videos__navigation,
.Alert__item__inner,
.Alert__dismiss svg,
.Guid,
.Button.is-off,
.Button.Button--icon-light svg,
.Button.Button--extra-large > *,
.Button--navigation[disabled='disabled'],
.Card-icon > *,
.Card-icon__chevron-down,
.Card-selector svg.Card-selector__decor,
.Card-selector__label,
.Card-selector__mobile-home__decor,
.Widget .Badge.Badge--small.Badge--rounded svg,
.Widget-real-time-flight__navigation button svg,
.Selectors,
.Calendar .Calendar__next svg,
.Calendar .Calendar__previous svg,
.Calendar__tooltip::before,
.Filters__button svg,
.List-button__navigation svg,
.Range__thumb svg,
.Theme__item svg,
.Insta-gram__overlay,
.Quick-search__button svg,
.Flight__link .Button[disabled],
.Input-date__button > span,
.Input-time span,
.Select-time span,
.Input-time__button span,
.Input-time svg,
.Select-time svg,
.Input-time__button svg,
.Switch__slider span,
.List-page__result button svg {
  pointer-events: none;
}

.Pointer-events-auto,
.Tutorials-videos__navigation button,
.Selectors .Selector.is-active,
.Insta-gram__overlay h2 {
  pointer-events: auto;
}

/**
 * Placeholder cursor
 *
 * @author  Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.Cursor-auto {
  cursor: auto;
}

.Cursor-pointer {
  cursor: pointer;
}

.Cursor-grab {
  cursor: -webkit-grab;
  cursor: grab;
}

.Cursor-grabbing {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/**
 * Flickity
 *
 *
 */

.Tutorials-videos .flickity-page-dots,
.Alert__navigation,
.Carousel__items > .flickity-page-dots,
.Parking-page__choices .flickity-page-dots,
.Destination__list .flickity-page-dots {
  bottom: auto;
}

.Tutorials-videos .flickity-page-dots .dot,
.Alert__navigation .dot,
.Carousel__items > .flickity-page-dots .dot,
.Parking-page__choices .flickity-page-dots .dot,
.Destination__list .flickity-page-dots .dot {
  height: 10px;
  width: 10px;
  margin-right: 7.5px;
  margin-left: 7.5px;
  background-color: currentColor;
  opacity: 0.2;
  border-radius: 5px;
  -webkit-transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

.Tutorials-videos .flickity-page-dots .dot.is-selected,
.Alert__navigation .dot.is-selected,
.Carousel__items > .flickity-page-dots .dot.is-selected,
.Parking-page__choices .flickity-page-dots .dot.is-selected,
.Destination__list .flickity-page-dots .dot.is-selected {
  opacity: 1;
}

.Tutorials-videos .flickity-page-dots .dot:first-child,
.Alert__navigation .dot:first-child,
.Carousel__items > .flickity-page-dots .dot:first-child,
.Parking-page__choices .flickity-page-dots .dot:first-child,
.Destination__list .flickity-page-dots .dot:first-child {
  margin-left: 0;
}

.Tutorials-videos .flickity-page-dots .dot:last-child,
.Alert__navigation .dot:last-child,
.Carousel__items > .flickity-page-dots .dot:last-child,
.Parking-page__choices .flickity-page-dots .dot:last-child,
.Destination__list .flickity-page-dots .dot:last-child {
  margin-right: 0;
}

/**
 * Tippy
 *
 * @package adl
 */

.tippy-box[data-theme~="adl"] {
  padding-top: 30px;
  padding-right: 30px;
  padding-bottom: 30px;
  padding-left: 30px;
  width: 265px;
  border-radius: 0px 2px 2px 2px;
  background-color: #fff;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.3);
  font-size: 16px;
  line-height: 20px;
  color: #2d404e;
  text-align: left;
  text-transform: none;
}

.tippy-box[data-theme~="adl"] a {
  color: #0061c2;
  text-decoration: underline;
}

.tippy-box[data-theme~="adl"] a:hover {
  color: #0078f0;
}

.tippy-box[data-theme~="adl"] .tippy-content > *:first-child {
  margin-top: 0;
}

.tippy-box[data-theme~="adl"] .tippy-content > *:last-child {
  margin-bottom: 0;
}

.tippy-box[data-theme~="adl"][data-placement^='top'] .tippy-arrow::before {
  border-top-color: #fff;
}

.tippy-box[data-theme~="adl"][data-placement^='bottom'] .tippy-arrow::before {
  border-bottom-color: #fff;
}

.tippy-box[data-theme~="adl"][data-placement^='left'] .tippy-arrow::before {
  border-left-color: #fff;
}

.tippy-box[data-theme~="adl"][data-placement^='right'] .tippy-arrow::before {
  border-right-color: #fff;
}

@-webkit-keyframes focus-white {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.84);
  }

  70% {
    box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}

@keyframes focus-white {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.84);
  }

  70% {
    box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}

@-webkit-keyframes focus-black {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.84);
  }

  70% {
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  }
}

@keyframes focus-black {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.84);
  }

  70% {
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  }
}

/**
 * Base
 */

@media (min-width: 992px) {
  html {
    scroll-behavior: smooth;
  }
}

body {
  font-size: 16px;
  line-height: 26px;
  color: #2d404e;
  overflow-x: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

@media (min-width: 992px) {
  body {
    font-size: 18px;
    line-height: 28px;
  }
}

a,
button {
  cursor: pointer;
  outline: none;
}

a {
  color: currentColor;
  text-decoration: none;
}

p {
  margin-top: 0;
  margin-bottom: 20px;
}

#mindsay-widget-app {
  z-index: 1000 !important;
}

.section-blocks {
  overflow: hidden;
}

.Site-footer__socials {
  overflow: hidden;
}

/**
 * Basic typography style for copy text
 */

h1,
.h1 {
  margin-top: 20px;
  margin-bottom: 40px;
}

@media (min-width: 992px) {
  h1,
  .h1 {
    font-size: 68px;
    line-height: 56px;
  }
}

h2,
.h2,
.Table__title,
.error404__title {
  font-size: 30px;
  line-height: 30px;
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (min-width: 992px) {
  h2,
  .h2,
  .Table__title,
  .error404__title {
    font-size: 40px;
    line-height: 40px;
  }
}

h3,
.h3 {
  font-size: 30px;
  line-height: 30px;
  margin-top: 40px;
  margin-bottom: 0;
}

h4,
.h4 {
  font-size: 24px;
  line-height: 28px;
  margin-top: 28px;
  margin-bottom: 0;
}

h5,
.h5 {
  font-size: 20px;
  line-height: 20px;
}

h6,
.h6 {
  line-height: 20px;
}

/**
 * Site
 *
 * @uses .Site-{ property }
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.Site {
  /**
	 * Site container
	 *
	 * The fluid container of the grid
	 *
	 * @uses .Site-container
	 */
}

.Site-container {
  max-width: 1160px;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px;
}

.Site-search {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 8;
}

.Site-search.is-active {
  opacity: 1;
  visibility: visible;
}

/**
 * Site: header
 *
 *
 */

.Site-header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  background-color: #fff;
  z-index: 10;
}

.Site-header.is-fixed {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0);
}

.Site-header.is-fixed.is-animated {
  -webkit-transition: box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}

.scroll-up .Site-header.is-fixed {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
}

@media (min-width: 992px) {
  .Site-header {
    margin-bottom: 50px;
    position: relative;
    top: auto;
    right: auto;
    left: auto;
  }

  .scroll-up .Site-header.is-fixed {
    box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }

  .Site-header.is-fixed {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
  }
}

.Site-header__list {
  margin-top: 7px;
  margin-right: 20px;
  font-size: 12px;
  line-height: 16px;
  color: rgba(153, 153, 153, 0.6);
}

.Site-header__list li {
  margin-right: 7.5px;
  margin-left: 7.5px;
}

.Site-header__list li:first-child {
  margin-left: 0;
}

.Site-header__list li:last-child {
  margin-right: 0;
}

.Site-header__list a {
  -webkit-transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Site-header__list a.is-active,
.Site-header__list a:focus,
.Site-header__list a:hover {
  color: #999999;
}

/**
 * Site: footer
 *
 *
 *
 */

.Site-footer__top {
  padding-top: 1em;
}

.Site-footer__top .newsletter-privacy {
  margin-top: 5px;
  color: #b3b3b3;
  font-size: small;
  line-height: 15px;
}

.Site-footer__top .newsletter-privacy a {
  color: #8c8c8c;
}

.Site-footer__columns {
  padding-top: 36px;
  padding-bottom: 31px;
  border-top: 1px solid #d5d9db;
}

@media (min-width: 992px) {
  .Site-footer__columns {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}

.Site-footer__middle {
  margin-top: 50.5px;
  margin-bottom: 25px;
}

@media (min-width: 992px) {
  .Site-footer__middle {
    margin-top: 44.8px;
    margin-bottom: 55.2px;
  }
}

.Site-footer__middle .Form--newsletter__input {
  margin-bottom: 10px;
}

@media (min-width: 992px) {
  .Site-footer__middle .Form--newsletter__input {
    margin-bottom: 9px;
  }
}

@media (min-width: 992px) {
  .Site-footer__middle .Form--newsletter__button {
    margin-bottom: 9px;
  }
}

.Site-footer__middle .Socials {
  margin-bottom: 16px;
}

.Site-footer__middle__decor {
  height: auto;
  width: 100%;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit:contain;object-position:center";
  -o-object-fit: contain;
     object-fit: contain;
}

.Site-footer__column {
  margin-top: 13.5px;
  margin-bottom: 13.5px;
}

.Site-footer__column:last-child {
  margin-bottom: 0;
}

.Site-footer__column:first-child {
  margin-top: 0;
}

@media (min-width: 992px) {
  .Site-footer__column {
    margin-top: 0;
    margin-bottom: 0;
  }
}

.Site-footer__column__title {
  color: #024990;
  font-size: 18px;
  line-height: 25px;
}

.Site-footer__column__title svg {
  height: 7px;
  width: 11.24px;
  fill: currentColor;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.is-active .Site-footer__column__title svg {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

@media (min-width: 992px) {
  .Site-footer__column__title {
    margin-bottom: 14px;
    line-height: 24px;
  }
}

.Site-footer__column ul {
  padding-top: 14px;
  color: rgba(45, 64, 78, 0.6);
}

@media (min-width: 992px) {
  .Site-footer__column ul {
    padding-top: 0;
  }
}

.Site-footer__column ul li {
  margin-top: 2.5px;
  margin-bottom: 2.5px;
}

.Site-footer__column ul li:last-child {
  margin-bottom: 0;
}

.Site-footer__column ul li:first-child {
  margin-top: 0;
}

.Site-footer__column ul a {
  font-size: 14px;
  line-height: 20px;
  -webkit-transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Site-footer__column ul a:focus,
.Site-footer__column ul a:hover {
  color: #2d404e;
}

.Site-footer__bottom {
  padding-top: 45px;
  padding-bottom: 36px;
  border-top: 1px solid #d5d9db;
  color: rgba(45, 64, 78, 0.6);
  font-size: 14px;
  line-height: 19px;
}

@media (min-width: 992px) {
  .Site-footer__bottom {
    padding-top: 25px;
  }
}

.Site-footer__bottom a {
  margin-top: 3px;
  margin-bottom: 3px;
  -webkit-transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Site-footer__bottom a:focus,
.Site-footer__bottom a:hover {
  color: #2d404e;
}

.Site-footer__bottom a:last-child {
  margin-right: 0;
  margin-bottom: 0;
}

.Site-footer__bottom a:first-child {
  margin-top: 0;
  margin-left: 0;
}

@media (min-width: 992px) {
  .Site-footer__bottom a {
    margin-top: 0;
    margin-right: 7.5px;
    margin-bottom: 0;
    margin-left: 7.5px;
  }

  .Site-footer__bottom a.margin-right-md-auto {
    margin-right: auto;
  }
}

.Site-footer__bottom a svg {
  margin-left: 10px;
  height: 19px;
  width: 19px;
  fill: currentColor;
}

@media (min-width: 992px) {
  .Site-footer__bottom a svg {
    margin-right: 10px;
    margin-left: 0;
  }
}

.Site-footer__socials {
  background: #F5F5F5;
  border-top: 1px solid #d5d9db;
  padding: 10px 0 0;
}

@media (max-width: 1199.98px) {
  .Site-footer__socials {
    background: none;
    padding: 0;
  }
}

.Site-footer__socials .footer-mobile {
  display: -webkit-box;
  display: flex;
}

@media (max-width: 1199.98px) {
  .Site-footer__socials .footer-mobile {
    background: #F5F5F5;
    border-bottom: 1px solid #d5d9db;
    padding-top: 5px;
  }
}

.Site-footer__socials .footer-mobile img {
  margin: 0 15px 0 0;
}

.Site-footer__socials .footer-mobile .mobile-img {
  height: 60px;
}

@media (max-width: 1199.98px) {
  .Site-footer__socials .footer-mobile .mobile-img {
    margin-left: 15px;
  }
}

.Site-footer__socials .footer-mobile .googleplay-img,
.Site-footer__socials .footer-mobile .appstore-img {
  height: 40px;
}

@media (max-width: 1199.98px) {
  .Site-footer__socials .footer-mobile .googleplay-img,
  .Site-footer__socials .footer-mobile .appstore-img {
    margin: 0 0 0 15px;
  }
}

.Site-footer__socials .footer-mobile a {
  margin: auto 15px auto 0;
}

@media (max-width: 1199.98px) {
  .Site-footer__socials .footer-mobile a {
    margin-left: 5px;
  }
}

.Site-footer__socials .footer-mobile .footer-mobile-text {
  font-size: 14px;
  line-height: 16px;
  margin: 15px 30px 0 15px;
}

@media (max-width: 1199.98px) {
  .Site-footer__socials .footer-mobile .footer-mobile-text {
    margin: 15px 0 0;
  }
}

.Site-footer__socials .footer-mobile .footer-mobile-text span {
  font-weight: bold;
}

@media (max-width: 1199.98px) {
  .Site-footer__socials .footer-socials {
    padding: 5px 0;
  }
}

.Site-footer__socials .footer-socials .footer-socials-text {
  font-size: 14px;
  line-height: 16px;
  margin: 15px 0 0;
}

@media (max-width: 1199.98px) {
  .Site-footer__socials .footer-socials .footer-socials-text {
    margin-left: 20px;
  }
}

.Site-footer__socials .footer-socials .footer-socials-text span {
  font-weight: bold;
}

.Site-footer__socials .footer-socials .Socials {
  -webkit-box-pack: initial !important;
          justify-content: initial !important;
}

@media (max-width: 1199.98px) {
  .Site-footer__socials > .Site-container {
    padding: 0;
  }
}

@media (max-width: 1199.98px) {
  .Site-footer__socials > .Site-container > .row {
    display: block;
  }
}

@media (max-width: 1199.98px) {
  .Site-footer__socials .Socials li a {
    height: 55px;
    width: 55px;
  }
}

.cargoport .Site-footer__top,
.netdev_en .Site-footer__top,
.businessaviation .Site-footer__top {
  display: none;
}

/**
 * Hero
 *
 *
 *
 */

.Hero {
  z-index: 0;
  color: #fff;
  font-size: 14px;
  min-height: 304px;
}

@media (min-width: 992px) {
  .Hero {
    min-height: 350px;
  }

  .Hero--has-widget .Widget {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}

.Hero__content_unavailable {
  background: #808080;
  width: 300px;
  margin: 20px auto 0 auto;
  border-radius: 3px;
  font-size: 23px;
  padding-top: 10px;
  text-transform: uppercase;
  padding-bottom: 7px;
}

.Hero__body {
  width: 100%;
  z-index: 6;
}

.Hero.Hero--has-widget .Hero__body {
  padding-bottom: 20px;
}

@media (min-width: 992px) {
  .Hero.Hero--has-widget .Hero__body {
    padding-bottom: 0;
  }
}

.Hero.Hero--has-widgets .Hero__body {
  height: 156px;
}

@media (min-width: 992px) {
  .Hero.Hero--has-widgets .Hero__body {
    height: 301px;
  }
}

.Hero__header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  padding-top: 16px;
  line-height: 19px;
  z-index: 3;
}

.Hero__footer {
  z-index: 3;
}

.Hero__footer.Carousel {
  margin-bottom: 20px;
  z-index: 7;
}

.Hero__footer.Carousel .flickity-viewport {
  z-index: 1;
}

.Hero__footer.Carousel .flickity-page-dots {
  z-index: 0;
}

.Hero__footer .Page__filters__item button,
.Hero__footer .Page__filters__item svg {
  color: #2d404e !important;
  fill: #2d404e !important;
}

.Hero__footer .Page__filters__item button {
  background-color: rgba(242, 242, 242, 0.6);
  border: none;
}

.Hero__footer .Page__filters__item button.is-active {
  background-color: #f2f2f2;
}

.Hero__footer .Page__filters #vol-widget-tab svg {
  height: 21px;
}

.Hero__footer .Page__filters #parking-widget-tab svg {
  height: 21px;
}

.Hero__footer .Page__filters #suivi-vol-widget-tab svg {
  height: 21px;
  margin-bottom: 9px;
}

@media (min-width: 992px) {
  .Hero__footer .Page__filters {
    display: none;
  }
}

.Hero__footer [id$='widget'] form {
  display: none !important;
}

@media (min-width: 992px) {
  .Hero__footer [id$='widget'] form {
    display: -webkit-box !important;
    display: flex !important;
  }
}

.Hero__footer #vol-widget button > div {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
          align-items: center;
}

.Hero__footer .pre-widget {
  display: -webkit-box;
  display: flex;
  padding: 15px;
  background-color: #f2f2f2;
}

@media (min-width: 992px) {
  .Hero__footer .pre-widget {
    display: none;
  }
}

.Hero__footer .pre-widget div {
  border: 1px solid #dddddd;
  background-color: #fff;
  padding: 13px 20px;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.Hero__footer .pre-widget div + div {
  border-left: none;
}

.Hero__footer .pre-widget span {
  color: #2d404e;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Hero__footer .pre-widget span:first-child {
  opacity: 0.5;
  margin-right: 5px;
  min-width: 15px;
}

.Hero__footer .pre-widget svg {
  color: #2d404e;
}

.Hero__footer .pre-widget ~ form.is-active {
  display: -webkit-box !important;
  display: flex !important;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5555;
  background-color: #FFF;
}

.Hero__footer .pre-widget ~ form.is-active .Widget {
  background-color: #FFF;
}

.Hero__footer .pre-widget ~ form.is-active .Widget__title {
  margin-bottom: 50px;
}

.Hero__footer .pre-widget ~ form.is-active .Widget__mobile-header {
  display: -webkit-box !important;
  display: flex !important;
  padding: 10px 20px;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
          align-items: center;
}

.Hero__footer .pre-widget ~ form.is-active .Widget__mobile-header button svg {
  width: 20px;
  height: 20px;
  color: #2D404E;
  fill: #2D404E;
}

.Hero__footer .pre-widget ~ form.is-active button[type=submit] {
  position: -webkit-sticky;
  position: sticky;
  top: 100%;
}

.Hero__subhead {
  margin-bottom: 5px;
  font-size: 18px;
  line-height: 20px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

@media (min-width: 992px) {
  .Hero__subhead {
    margin-bottom: 10px;
    line-height: 32px;
    font-size: 24px;
  }
}

.Hero__icon {
  margin-bottom: 15.9px;
}

@media (min-width: 992px) {
  .Hero__icon {
    margin-right: 0;
    margin-bottom: 21.7px;
    margin-left: 0;
  }
}

.Hero__icon svg {
  margin-right: auto;
  margin-left: auto;
  height: 34.3px;
  width: 41.2px;
}

@media (min-width: 992px) {
  .Hero__icon svg {
    margin-right: 0;
    margin-left: 0;
  }
}

@media (max-width: 991.98px) {
  .Hero.Hero--has-widget .Hero__text {
    height: 250px;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    -webkit-box-pack: center;
            justify-content: center;
  }
}

.Hero__title {
  margin-top: 0;
  margin-right: 9px;
  margin-bottom: 0;
  margin-left: 9px;
  font-size: 35px;
  line-height: 39px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

@media (min-width: 992px) {
  .Hero__title {
    font-size: 68px;
    line-height: 68px;
  }
}

.Hero__title + p {
  margin-top: 10px;
  margin-right: 18px;
  margin-bottom: 0;
  margin-left: 18px;
  line-height: 24px;
  font-size: 18px;
}

@media (min-width: 992px) {
  .Hero__title + p {
    margin-top: 4px;
    margin-right: 0;
    margin-left: 0;
    font-size: 20px;
  }
}

.Hero__background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  height: 304px;
}

@media (min-width: 992px) {
  .Hero__background {
    height: 350px;
  }

  .Hero--has-widget .Hero__background {
    min-height: 350px;
    height: auto;
  }
}

.Hero__background:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

.Hero__background img {
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.Hero.Hero--has-widgets .Hero__background {
  height: 375px;
}

@media (min-width: 992px) {
  .Hero.Hero--has-widgets .Hero__background {
    margin-bottom: 80px;
    height: auto;
  }
}

.Hero__image {
  height: 136px;
  width: 100%;
  font-family: "object-fit:scale-down;object-position:center";
  -o-object-fit: scale-down;
     object-fit: scale-down;
  -o-object-position: center;
     object-position: center;
}

@media (min-width: 992px) {
  .Hero__image {
    height: 268px;
    width: 100%;
  }
}

#suivi-vol-widget .pre-widget > div {
  position: relative;
}

#suivi-vol-widget .pre-widget > div svg {
  position: absolute;
  right: 6%;
  top: 15px;
}

#form-parking-store {
  display: none !important;
}

/**
 * Taskbar
 */

.Taskbar {
  border-top: 1px solid #d5d9db;
  border-bottom: 1px solid #d5d9db;
  font-size: 16px;
  color: #024990;
  background-color: #fff;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  right: 0;
  left: 0;
  z-index: 5;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.Taskbar::before,
.Taskbar::after {
  content: '';
  display: table;
}

@media (min-width: 992px) {
  .Taskbar {
    border-top: none;
  }
}

.Taskbar__item {
  margin-right: 5px;
  margin-left: 5px;
}

.Taskbar__item a {
  padding-top: 8px;
  padding-right: 10px;
  padding-bottom: 8px;
  padding-left: 10px;
  font-size: 16px;
  line-height: 44px;
}

@media (min-width: 992px) {
  .Taskbar__item a {
    padding-top: 3px;
    padding-bottom: 3px;
  }
}

.Taskbar__item a:hover {
  text-decoration: underline;
}

/**
 * Image caption
 */

.Image-caption {
  margin-top: 60px;
  margin-bottom: 60px;
}

@media (min-width: 992px) {
  .Image-caption {
    margin-top: 150px;
    margin-bottom: 150px;
  }
}

.Image-caption h2 {
  color: #0061c3;
}

@media (min-width: 992px) {
  .Image-caption h2 {
    margin-bottom: 40px;
  }
}

.Image-caption.Image-caption--background h2 {
  color: #fff;
}

.Image-caption.Image-caption--background {
  color: white;
}

.Image-caption.Image-caption--background::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: auto;
  background-color: #0061c3;
  content: '';
  z-index: 1;
}

@media (min-width: 992px) {
  .Image-caption.Image-caption--background::after {
    height: 100%;
    width: 50vw;
  }
}

@media (min-width: 992px) {
  .Image-caption.Image-caption--background.Image-caption--left-sided::after {
    right: auto;
  }
}

@media (min-width: 992px) {
  .Image-caption.Image-caption--background.Image-caption--right-sided::after {
    left: auto;
  }
}

.Image-caption__content {
  margin-bottom: 30px;
}

.Image-caption__content > *:last-child {
  margin-bottom: 0;
}

.Image-caption__content > *:first-child {
  margin-top: 0;
}

.Image-caption__body {
  margin-top: 40px;
  z-index: 2;
}

@media (min-width: 992px) {
  .Image-caption__body {
    margin-top: 0;
  }
}

.Image-caption.Image-caption--background .Image-caption__body {
  margin-top: 80px;
  margin-bottom: 80px;
}

@media (min-width: 992px) {
  .Image-caption.Image-caption--background .Image-caption__body {
    margin-top: 160px;
    margin-bottom: 160px;
  }
}

.Image-caption.Image-caption--large .Image-caption__body {
  margin-top: 40px;
  margin-bottom: 40px;
}

.Image-caption.Image-caption--large.Image-caption--background .Image-caption__body {
  margin-top: 115px;
  margin-bottom: 115px;
}

@media (min-width: 992px) {
  .Image-caption.Image-caption--large.Image-caption--background .Image-caption__body {
    margin-top: 150px;
    margin-bottom: 150px;
  }
}

.Image-caption__image {
  height: 100%;
  width: 100%;
  z-index: 2;
}

.Image-caption__image img {
  height: 100%;
  width: 100%;
  font-family: "object-fit:scale-down;object-position:center";
  -o-object-fit: scale-down;
     object-fit: scale-down;
  -o-object-position: center;
     object-position: center;
}

.Image-caption.Image-caption--large img {
  font-family: "object-fit:cover";
  -o-object-fit: cover;
     object-fit: cover;
}

@media (min-width: 992px) {
  .Image-caption.Image-caption--large img {
    position: absolute;
    top: 0;
    bottom: 0;
    width: calc( 50vw - 10px);
  }

  .Image-caption.Image-caption--large.Image-caption--right-sided img {
    right: 0;
  }

  .Image-caption.Image-caption--large.Image-caption--left-sided img {
    left: 0;
  }

  .Image-caption.Image-caption--background.Image-caption--left-sided img {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }

  .Image-caption.Image-caption--background.Image-caption--right-sided img {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }

  .Image-caption.Image-caption--background img {
    width: 50vw;
  }
}

.Image-caption ul {
  padding-left: 20px;
}

/**
 * Table
 */

.Table {
  background-color: #0061c3;
  color: #fff;
}

.Table__title {
  line-height: 40px;
}

.Table__body {
  z-index: 3;
}

.Table__background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.3;
  z-index: 1;
  mix-blend-mode: soft-light;
}

.Table__background img {
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.Table__row {
  min-height: 70px;
  line-height: 22px;
}

.Table__row:nth-child(odd) .Table__column {
  background-color: rgba(45, 64, 78, 0.15);
}

.Table__column {
  border-right: 1px solid rgba(221, 221, 221, 0.2);
  border-bottom: 1px solid rgba(221, 221, 221, 0.2);
}

.Table__column:last-child {
  border-right: none;
}

.Table__column svg {
  height: 46px;
  width: 46px;
  min-width: 46px;
}

@media (min-width: 992px) {
  .Table__column svg {
    margin-right: 28px;
    margin-left: 28px;
  }
}

.Table::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 349.5px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 97, 195, 0)), to(#0061c3));
  background: linear-gradient(to bottom, rgba(0, 97, 195, 0) 0%, #0061c3 100%);
  z-index: 2;
}

/**
 * Banner
 */

.Banner {
  background-color: #000;
  color: #fff;
  height: initial;
  padding: 40px 0;
}

@media (min-width: 992px) {
  .Banner {
    height: 500px;
    padding: 0;
  }
}

.Banner--small {
  height: 350px;
  border-radius: 2px;
}

.Banner--small .Banner__body > h2 {
  margin-bottom: 10px;
}

@media (min-width: 992px) {
  .Banner--small .Banner__body > h2 {
    margin-bottom: 20px;
  }
}

.Banner--map {
  height: 430px;
}

@media (min-width: 992px) {
  .Banner--map {
    height: 500px;
  }
}

.Banner--map .Banner__body .Banner__title {
  line-height: 30px;
  font-size: 30px;
}

@media (min-width: 992px) {
  .Banner--map .Banner__body .Banner__title {
    margin-bottom: 0;
    line-height: 40px;
    font-size: 40px;
  }
}

.Banner--map .Banner__body .Banner__content {
  margin-right: 24px;
  margin-left: 24px;
  font-size: 20px;
  line-height: 24px;
}

@media (min-width: 992px) {
  .Banner--map .Banner__body .Banner__content {
    line-height: 20px;
  }
}

.Banner--useful-information {
  height: 724px;
}

@media (min-width: 992px) {
  .Banner--useful-information {
    height: 405px;
  }
}

.Banner--selector {
  padding-top: 60px;
  padding-bottom: 60px;
  min-height: 500px;
  height: auto;
}

.Banner--selector .Banner__body > h2 {
  margin-bottom: 30px;
}

@media (min-width: 992px) {
  .Banner--selector .Banner__body > h2 {
    margin-bottom: 40px;
  }
}

@media (min-width: 992px) {
  .Banner--selector {
    padding-top: 0;
    padding-bottom: 0;
    min-height: 450px;
    height: 450px;
  }
}

@media (min-width: 992px) {
  .Banner--selector--h100 {
    height: 100%;
  }
}

.Banner--selector--results {
  background: none;
}

.Banner--has-image {
  margin-bottom: 50px;
  background-color: #0061c3;
}

.Banner--has-image::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 254px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 97, 195, 0)), to(#0061c3));
  background: linear-gradient(rgba(0, 97, 195, 0) 0%, #0061c3 100%);
  content: '';
  z-index: 2;
}

.Banner--has-image a:not(.Button),
.Banner--has-image a.link:not(.Button) {
  color: #fff;
}

.Banner__body {
  z-index: 3;
}

.Banner__body > h2 {
  margin-bottom: 40px;
}

@media (min-width: 992px) {
  .Banner__body > h2 {
    margin-bottom: 30px;
  }
}

.Banner__body > .Button {
  margin-top: 20px;
}

@media (min-width: 992px) {
  .Banner__body > .Button {
    margin-top: 40px;
  }
}

.Banner__content {
  line-height: 24px;
}

.Banner__content > *:last-child {
  margin-bottom: 0;
}

.Banner__background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  opacity: 0.8;
  z-index: 1;
}

.Banner.Banner--has-image .Banner__background {
  opacity: 0.6;
  mix-blend-mode: soft-light;
}

.Banner__image {
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transform: translate3d(0, 50px, 0);
          transform: translate3d(0, 50px, 0);
  z-index: 3;
}

@media (min-width: 992px) {
  .Banner--container--results {
    margin-top: -224px !important;
    margin-bottom: -160px !important;
  }
}

/**
 * Rich list
 */

.Rich-list {
  margin-top: 60px;
  margin-bottom: 60px;
}

@media (min-width: 992px) {
  .Rich-list {
    margin-top: 150px;
    margin-bottom: 150px;
  }
}

.Rich-list__item h3 {
  margin-bottom: 15px;
}

.Rich-list__item p {
  line-height: 24px;
}

@media (min-width: 754px) {
  .Rich-list__item__image {
    padding-right: 30px;
    height: 100%;
    width: 50%;
  }
}

.Rich-list__item__image img {
  height: 100%;
  width: 100%;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit:scale-down;object-position:center";
  -o-object-fit: scale-down;
     object-fit: scale-down;
}

.Rich-list__item__body {
  padding-left: 10px;
}

/**
 * List
 */

.List {
  margin-top: 60px;
  margin-bottom: 60px;
}

@media (min-width: 992px) {
  .List {
    margin-top: 150px;
    margin-bottom: 150px;
  }
}

.List__title {
  margin-top: 0;
  margin-bottom: 40px;
  color: #024990;
}

.List__item {
  line-height: 24px;
}

.List__item__body {
  -webkit-box-flex: 1;
          flex: 1;
}

.List__item__title {
  margin-bottom: 15px;
}

.List__item__content {
  margin-bottom: 5px;
}

.List__item__link {
  color: #0061c3;
  line-height: 28px;
}

/**
 * Video
 */

.Video__body {
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
}

.Video.Video--930x523 .Video__body {
  padding-top: 56.23656%;
  padding-bottom: 0;
}

.Video.Video--930x487 .Video__body {
  padding-top: 52.36559%;
  padding-bottom: 0;
}

.Video.Video--1120x630 .Video__body {
  padding-top: 56.25%;
  padding-bottom: 0;
}

.Video__body h2 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 18px;
  line-height: 22px;
}

@media (min-width: 754px) {
  .Video__body h2 {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 40px;
    line-height: 44px;
  }
}

.Video__player {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.Video__player iframe {
  height: 100%;
  width: 100%;
  border: 0;
}

.Video__inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  margin-right: 20px;
  margin-left: 20px;
  -webkit-transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  color: #fff;
  z-index: 2;
}

.Video__inner.is-active {
  opacity: 1;
  visibility: visible;
}

@media (min-width: 992px) {
  .Video__inner {
    margin-right: calc( 8.06452% + 20px);
    margin-left: calc( 8.06452% + 20px);
  }
}

.Video__poster {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  border-radius: 2px;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 1;
}

.Video .Video__poster {
  opacity: 0;
  visibility: hidden;
}

.Video .Video__poster.is-active {
  opacity: 1;
  visibility: visible;
}

.Video__controls {
  height: 40px;
  width: 40px;
  margin-right: auto;
  margin-left: auto;
  background-color: #fff;
  border-radius: 50%;
  min-width: 60px;
  min-height: 60px;
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

@media (min-width: 754px) {
  .Video__controls {
    height: 60px;
    width: 60px;
  }
}

.Video__controls svg {
  height: 20px;
  width: 20px;
  margin-left: 4px;
  fill: #0061c3;
}

.Video__heading {
  letter-spacing: 0.04em;
  font-size: 12px;
  line-height: 14px;
}

.Video__caption {
  margin-top: 30px;
  margin-right: calc( 8.06452% + 20px);
  margin-bottom: 0;
  margin-left: calc( 8.06452% + 20px);
  font-size: 16px;
}

/**
 *
 */

.Information__body {
  background-color: #0061c3;
  color: #fff;
  line-height: 24px;
}

.Information__body p {
  margin-bottom: 15px;
}

.Information__image {
  height: 100%;
  width: 100%;
}

.Information__image img {
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media (min-width: 992px) {
  .Information__image img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}

/**
 * Section
 *
 */

.is-active > .Section__header .Section__header__chevron {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.Section__header__content {
  margin-right: 24px;
  margin-left: 24px;
  font-size: 20px;
  line-height: 24px;
}

@media (min-width: 992px) {
  .Section__header__content {
    line-height: 20px;
  }
}

/**
 * Site: menu
 *
 *
 *
 */

@media (max-width: 991.98px) {
  .Site-menu {
    overflow: hidden;
    background-color: #f8fafa;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: -webkit-transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  }

  .Site-header .Site-menu {
    position: absolute;
    top: 100%;
    right: 100%;
    height: calc( 100vh - 60px);
    z-index: 8;
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0);
  }

  .menu-mobile--is-open .Site-header .Site-menu {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
}

@media (max-width: 991.98px) {
  .Site-menu__body {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: -webkit-transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    height: 100%;
  }

  .Site-menu__body.is-active {
    overflow: visible;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

.Site-menu__button {
  padding-top: 20.5px;
  padding-bottom: 20.5px;
}

.Site-menu__button:hover {
  color: rgba(2, 73, 144, 0.7);
}

.Site-menu__button svg {
  height: 11.34px;
  width: 7px;
}

.Site-menu__button--left svg {
  margin-right: 20px;
}

.Site-menu__button--right svg {
  margin-left: auto;
}

@media (max-width: 991.98px) {
  .Site-menu__button {
    padding-right: 20px;
    padding-left: 20px;
    width: 100%;
    border-bottom: 1px solid rgba(45, 64, 78, 0.1);
    -webkit-transition: color 0.7s cubic-bezier(0.19, 1, 0.22, 1);
    transition: color 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  }
}

.Site-menu__items {
  height: 60px;
}

@media (min-width: 992px) {
  .Site-menu__items {
    margin-right: -5px;
    margin-left: -5px;
    height: auto;
  }
}

.Site-menu__items > .Site-menu__item {
  margin-right: 10px;
  margin-left: 10px;
}

@media (min-width: 992px) {
  .Site-menu__items > .Site-menu__item {
    margin-right: 0;
    margin-left: 0;
  }
}

@media (min-width: 1200px) {
  .Site-menu__items > .Site-menu__item {
    margin-right: 5px;
    margin-left: 5px;
  }
}

.Site-menu__items > .Site-menu__item:first-child {
  margin-left: 0;
}

.Site-menu__items > .Site-menu__item:last-child {
  margin-right: 0;
}

@media (min-width: 992px) {
  .Site-menu__items > .Site-menu__item > a,
  .Site-menu__items > .Site-menu__item > button,
  .Site-menu__items > .Site-menu__item > p {
    padding-top: 16px;
    padding-right: 5px;
    padding-bottom: 14px;
    padding-left: 5px;
  }
}

@media (max-width: 991.98px) {
  .Site-menu .Site-menu__items {
    padding-top: 10px;
    padding-bottom: 10px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    height: auto;
    white-space: normal;
    list-style-type: none;
    overflow: hidden;
    font-weight: 500;
    font-size: 24px;
    line-height: 24px;
    color: #024990;
    height: 100%;
  }

  .Site-menu .Site-menu__items .Site-menu__item--search,
  .Site-menu .Site-menu__items .Site-menu__item--account,
  .Site-menu .Site-menu__items .Site-menu__item--cart {
    display: none !important;
  }
}

.Site-menu__item {
  color: #024990;
}

.Site-menu__item:hover > a,
.Site-menu__item:hover > button,
.Site-menu__item:hover > p,
.Site-menu__item[aria-expanded="true"] > a,
.Site-menu__item[aria-expanded="true"] > button,
.Site-menu__item[aria-expanded="true"] > p {
  color: rgba(2, 73, 144, 0.6);
}

.Site-menu .Site-menu__item--search {
  margin-left: auto;
}

.Site-menu__item.Site-menu__item--search svg,
.Site-menu__item.Site-menu__item--account svg,
.Site-menu__item.Site-menu__item--cart svg {
  height: 20px;
  width: 18px;
}

@media (min-width: 992px) {
  .Site-menu__item.Site-menu__item--search svg,
  .Site-menu__item.Site-menu__item--account svg,
  .Site-menu__item.Site-menu__item--cart svg {
    margin-left: 10px;
  }
}

.Site-menu__item.Site-menu__item--account.Site-menu__item--account-online a span.green-point {
  height: 6px;
  width: 6px;
  margin-top: -6px;
  margin-left: -1px;
  border-radius: 3px;
  background-color: #5ebf87;
  content: '';
}

.Site-menu__item.Site-menu__item--cart a span {
  margin-top: 4px;
  margin-left: -18px;
  width: 18px;
  content: attr(data-text);
  line-height: 11px;
  font-size: 11px;
}

.Site-menu__item.Site-menu__item--button svg {
  height: 24px;
  width: 24px;
  fill: #2d404e;
}

.Site-menu__item--blue {
  background-color: #0061c2;
  color: white !important;
}

.Site-menu__item--blue:hover {
  background-color: #004990 !important;
  color: white !important;
}

.Site-menu__item--blue button {
  color: white !important;
}

.Site-menu__item--account__name {
  max-width: 85px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.Site-menu__item > a,
.Site-menu__item > button,
.Site-menu__item > p {
  font-weight: 500;
  -webkit-transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Site-menu__item > a.is-active,
.Site-menu__item > a:hover,
.Site-menu__item > button.is-active,
.Site-menu__item > button:hover,
.Site-menu__item > p.is-active,
.Site-menu__item > p:hover {
  color: rgba(2, 73, 144, 0.6);
}

@media (min-width: 992px) {
  .Site-menu__item {
    font-size: 16px;
    line-height: 18px;
  }
}

@media (max-width: 991.98px) {
  .Site-menu .Site-menu__item {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .Site-menu .Site-menu__item > a,
  .Site-menu .Site-menu__item > button {
    position: relative;
    border-bottom: 0;
  }

  .Site-menu .Site-menu__item > a:after,
  .Site-menu .Site-menu__item > button:after {
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    content: '';
    height: 0;
    border-bottom: 1px solid rgba(45, 64, 78, 0.1);
  }
}

.Site-menu__footer {
  padding-top: 18.5px;
  padding-right: 20px;
  padding-bottom: 18.5px;
  padding-left: 20px;
  background-color: #fff;
  color: #666666;
  font-size: 12px;
  line-height: 16px;
}

.Site-menu__footer img {
  height: 33px;
  width: 146.01px;
  max-width: 100%;
}

.Site-menu__footer a {
  white-space: nowrap;
  word-break: keep-all;
  margin-right: 7.5px;
  margin-left: 7.5px;
}

.Site-menu__footer a:focus,
.Site-menu__footer a:hover {
  color: #999999;
}

.Site-menu__footer a:first-child {
  margin-left: 0;
}

.Site-menu__footer a:nth-last-child(2) {
  margin-right: 15px;
}

.Site-menu__footer a:last-child {
  margin-right: 0;
  margin-left: auto;
}

/**
 * Dropdown
 *
 *
 *
 */

.Dropdown-menu__title {
  margin-top: 25.5px;
  margin-bottom: 13px;
  font-size: 20px;
  font-weight: 500;
  line-height: 23px;
  color: #0061c3;
}

.Dropdown-menu__title:first-child {
  margin-top: 0;
}

.Dropdown-menu__title:last-child {
  margin-bottom: 0;
}

.Dropdown-menu__list {
  margin-top: 16px;
  margin-bottom: 18px;
  font-size: 16px;
  line-height: 21px;
  color: rgba(45, 64, 78, 0.6);
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.Dropdown-menu__list:first-child {
  margin-top: 0;
}

.Dropdown-menu__list:last-child {
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .Dropdown-menu__list {
    margin-right: 0;
    margin-left: 0;
    line-height: 20px;
  }
}

.Dropdown-menu__list a {
  -webkit-transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Dropdown-menu__list a.is-active,
.Dropdown-menu__list a:focus,
.Dropdown-menu__list a:hover {
  color: #2d404e;
}

.Dropdown-menu__list li {
  margin-top: 9px;
  margin-bottom: 9px;
}

.Dropdown-menu__list li:first-child {
  margin-top: 0;
}

.Dropdown-menu__list li:last-child {
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .Dropdown-menu {
    padding-top: 40.5px;
    padding-right: 20px;
    padding-bottom: 40.5px;
    padding-left: 20px;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
    -webkit-transition: 0.7s opacity cubic-bezier(0.19, 1, 0.22, 1), 0.7s visibility cubic-bezier(0.19, 1, 0.22, 1);
    transition: 0.7s opacity cubic-bezier(0.19, 1, 0.22, 1), 0.7s visibility cubic-bezier(0.19, 1, 0.22, 1);
    z-index: 8;
    /* @at-root .Site-header &.is-active {
			pointer-events: auto;
			@include autoAlpha( 1 );
		} */
  }

  .Site-header .Dropdown-menu {
    position: absolute;
    top: 100%;
    right: -10px;
    left: -10px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

@media (min-width: 992px) and (min-width: 992px) and (max-width: 1199.98px) {
  .Site-header .Dropdown-menu {
    left: 0;
    right: 0;
  }
}

@media (min-width: 992px) {
  .Site-header .Site-menu .is-active .Dropdown-menu {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
  }

  .Dropdown-menu__title {
    margin-top: 31px;
    margin-right: 0;
    margin-bottom: 25px;
    margin-left: 0;
  }

  .Dropdown-menu__column {
    border-right: 1px dashed #dddddd;
  }

  .Dropdown-menu__column:last-child {
    border-right: none;
  }

  .Dropdown-menu__column__body {
    margin-right: 20px;
    margin-left: 20px;
  }

  .Dropdown-menu__column__body > *:first-child {
    margin-top: 0;
  }

  .Dropdown-menu__column__body > *:last-child {
    margin-bottom: 0;
  }

  .Dropdown-menu__column__body .Carousel {
    margin-right: auto;
    margin-left: auto;
    width: 265px;
    max-width: 100%;
  }
}

@media (max-width: 991.98px) {
  .Site-menu .Dropdown-menu {
    position: absolute;
    top: 0;
    left: 100%;
    padding-top: 10px;
    padding-bottom: 0;
    opacity: 0;
    visibility: hidden;
    height: 100%;
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.3s cubic-bezier(0.19, 1, 0.22, 1);
    transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  }

  .Site-menu .Dropdown-menu.is-active {
    opacity: 1;
    visibility: visible;
  }

  .Site-menu .Dropdown-menu .row {
    margin: 0;
  }

  .Site-menu .Dropdown-menu .Dropdown-menu__column {
    margin-top: 25.5px;
    padding: 0 20px;
  }

  .Site-menu .Dropdown-menu .Carousel {
    margin-top: 10.5px;
    margin-bottom: 37px;
  }

  .Site-menu .Dropdown-menu .Carousel__items {
    margin-right: auto;
    margin-left: auto;
    width: 305px;
    max-width: 100%;
  }

  .Site-menu .Dropdown-menu .Carousel .Card-readmore {
    height: 390px;
  }

  .Site-menu .Dropdown-menu .Carousel .flickity-viewport {
    overflow: visible;
  }
}

/**
 * Tutorials videos
 *
 *
 *
 */

.Tutorials-videos {
  background-color: #f8fafa;
}

.Tutorials-videos .flickity-page-dots {
  color: #0061c3;
}

.Tutorials-videos__navigation {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

/**
 * Flight detail
 *
 *
 *
 *
 */

.Flight-detail {
  margin-top: 40px;
  margin-bottom: 40px;
}

@media (min-width: 992px) {
  .Flight-detail {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}

.Flight-detail hr {
  height: 1px;
  width: 100%;
  margin-top: 40px;
  border: none;
  background-color: #dddddd;
}

@media (min-width: 992px) {
  .Flight-detail hr {
    margin-top: 60px;
  }
}

.Flight-detail .Flight__time {
  margin-top: 15px;
  margin-bottom: 15px;
}

@media (min-width: 992px) {
  .Flight-detail .Flight__time {
    margin-top: 29px;
    margin-bottom: 25px;
  }
}

.Flight-detail__tracking p {
  text-align: center;
}

.Flight-detail__date {
  margin-top: 32px;
  color: #024990;
  font-size: 24px;
  line-height: 24px;
}

@media (min-width: 992px) {
  .Flight-detail__date {
    margin-top: 11.5px;
    font-size: 54px;
    line-height: 54px;
  }
}

.Flight-detail__date__label {
  margin-bottom: 10px;
  color: rgba(45, 64, 78, 0.5);
  font-size: 16px;
  line-height: 21px;
}

.Flight-detail__origin {
  margin-bottom: 1px;
  font-size: 24px;
  line-height: 24px;
  color: #024990;
}

@media (min-width: 992px) {
  .Flight-detail__origin {
    margin-bottom: 11px;
    line-height: 18px;
  }
}

.Flight-detail__mona svg {
  width: 60px;
  height: 20px;
}

@media (min-width: 992px) {
  .Flight-detail__mona svg {
    width: 90px;
    height: 30px;
  }
}

.Flight-detail__terminal {
  margin-top: 1px;
  margin-bottom: 15px;
  font-size: 12px;
  line-height: 16px;
  color: rgba(45, 64, 78, 0.5);
}

@media (min-width: 992px) {
  .Flight-detail__terminal {
    margin-top: 11px;
    margin-bottom: 29px;
    font-size: 14px;
    line-height: 19px;
  }
}

.Flight-detail__company {
  margin-top: 15px;
  font-size: 18px;
  line-height: 24px;
}

@media (min-width: 992px) {
  .Flight-detail__company {
    margin-top: 25px;
  }
}

.Flight-detail__number {
  margin-top: 4px;
  margin-bottom: 7px;
  font-size: 16px;
  line-height: 24px;
  color: #0061c3;
}

.Flight-detail__item {
  font-size: 40px;
  line-height: 40px;
  color: #024990;
}

@media (min-width: 992px) {
  .Flight-detail__item {
    font-size: 54px;
    line-height: 54px;
  }
}

.Flight-detail__item img {
  margin-right: 10px;
  margin-left: 10px;
  max-width: 100%;
  height: auto;
}

.Flight-detail__item__title {
  letter-spacing: 0.02em;
  margin-top: 0;
  margin-bottom: 10px;
  color: #2d404e;
  font-size: 12px;
  line-height: 12px;
}

@media (min-width: 992px) {
  .Flight-detail__item__title {
    line-height: 16px;
  }
}

.Flight-detail__item__registration {
  font-size: 65%;
}

/**
 * Company
 *
 *
 * @package adl
 */

.Company {
  padding-top: 60px;
  padding-bottom: 60px;
  margin-top: 60px;
  margin-bottom: 60px;
  background: #f8fafa;
}

@media (min-width: 992px) {
  .Company {
    padding-top: 80px;
    padding-bottom: 80px;
    margin-top: 80px;
    margin-bottom: 80px;
  }
}

.Company__logo {
  height: 160px;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15);
}

.Company__logo img {
  padding-top: 45px;
  padding-right: 45px;
  padding-bottom: 45px;
  padding-left: 45px;
  height: auto;
  width: auto;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit:scale-down;object-position:center";
  -o-object-fit: scale-down;
     object-fit: scale-down;
  max-width: 100%;
}

.Company__location {
  margin-top: 15px;
  text-align: center;
}

.Company__item {
  padding-top: 15.5px;
  padding-bottom: 15.5px;
  border-top: 1px solid #dddddd;
}

.Company__item__title {
  margin-top: 0;
  margin-bottom: 10px;
  margin-left: 0;
  font-size: 14px;
  line-height: 14px;
  color: #024990;
}

.Company__item__body {
  margin-top: 10px;
  color: #2d404e;
  line-height: 18px;
  font-size: 20px;
}

.Company__item__body > *:first-child {
  margin-top: 0;
}

.Company__item__body > *:last-child {
  margin-bottom: 0;
}

.Company__item__body__hours td {
  padding: 5px 10px;
}

/**
 * Go further
 *
 * @package adl
 */

.Go-further .Card {
  height: 100%;
}

.Go-further[data-flickity-desktop="true"] .flickity-ready .Go-further__item {
  height: 100%;
}

@media (max-width: 991.98px) {
  .Go-further[data-flickity-desktop="false"] .flickity-ready .Go-further__item {
    height: 100%;
  }
}

/**
 * Travel diary
 *
 *
 *
 */

.Travel-diary__selectors {
  z-index: 4;
}

.Travel-diary__header {
  margin-bottom: -40px;
  height: 650px;
  color: #fff;
}

.Travel-diary__header__title {
  margin-bottom: 10px;
  line-height: 50px;
  font-size: 80px;
  z-index: 2;
}

@media (min-width: 992px) {
  .Travel-diary__header__title {
    margin-bottom: -3px;
    line-height: 156px;
    font-size: 130px;
  }
}

.Travel-diary__header__content {
  margin-right: 10px;
  margin-left: 10px;
  font-size: 18px;
  line-height: 24px;
  z-index: 2;
}

@media (min-width: 992px) {
  .Travel-diary__header__content {
    margin-right: 0;
    margin-left: 0;
    font-size: 20px;
  }
}

.Travel-diary__header__background {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  z-index: 1;
}

.Travel-diary__form {
  border-radius: 2px;
  background-color: #fff;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
}

.Travel-diary__form .Button.Button--extra-large {
  border-bottom: 1px solid rgba(0, 0, 0, 0.16);
}

@media (min-width: 992px) {
  .Travel-diary__form .Button.Button--extra-large {
    -webkit-box-flex: 1;
            flex: 1;
    border-right: 1px solid rgba(0, 0, 0, 0.16);
    border-bottom: none;
  }
}

.Travel-diary__form button[type="submit"] {
  height: 80px;
  width: 100%;
  background-color: #0061c3;
  -webkit-transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Travel-diary__form button[type="submit"] svg {
  height: 20px;
  width: 20px;
  fill: #fff;
}

.Travel-diary__form button[type="submit"]:hover,
.Travel-diary__form button[type="submit"]:focus {
  background-color: #024990;
  box-shadow: 0 0 0 1px #024990;
}

@media (min-width: 992px) {
  .Travel-diary__form button[type="submit"] {
    height: 80px;
    width: 80px;
    box-shadow: 0 0 0 1px #0061c3;
  }
}

.Travel-diary__body {
  padding-bottom: 60px;
  background-color: #f8fafa;
}

@media (min-width: 992px) {
  .Travel-diary__body {
    padding-bottom: 100px;
  }
}

.Travel-diary__items {
  margin-top: 30px;
  margin-bottom: 10px;
}

@media (min-width: 992px) {
  .Travel-diary__items {
    margin-top: 70px;
    margin-bottom: -10px;
  }
}

@media (min-width: 992px) {
  .Travel-diary__item {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .Travel-diary__item:nth-child(2) {
    margin-top: 50px;
  }

  .Travel-diary__item:nth-child(4),
  .Travel-diary__item:nth-child(6) {
    margin-top: -30px;
  }
}

/**
 * Prepare
 *
 *
 */

.Prepare {
  margin-top: 60px;
  margin-bottom: 60px;
}

@media (min-width: 992px) {
  .Prepare {
    margin-top: 80px;
    margin-bottom: 100px;
  }
}

@media (min-width: 992px) {
  .Prepare__items {
    margin-top: -10px;
    margin-bottom: -10px;
  }
}

.Prepare__item {
  margin-top: 10px;
  margin-bottom: 10px;
}

/**
 * Organize
 *
 *
 *
 */

.Organize {
  padding-top: 60px;
  padding-bottom: 60px;
  background-color: #f8fafa;
}

@media (min-width: 992px) {
  .Organize {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.Organize__carousel {
  margin-top: 10px;
}

@media (min-width: 992px) {
  .Organize__carousel {
    margin-top: 20px;
  }
}

/**
 * Alert
 *
 *
 *
 */

.Alert {
  -webkit-transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  background-color: #2d404e;
  color: #fff;
}

.Alert[data-variant='success'] {
  background-color: #5ebf87;
}

.Alert[data-variant='warning'] {
  background-color: #F79E43;
}

.Alert[data-variant='danger'] {
  background-color: #dd482f;
}

.Alert[data-variant='info'] {
  background-color: #999999;
}

.Alert[data-variant='light'] {
  background-color: #fff;
  color: #0061c3;
}

.Alert[data-variant='dark'] {
  background-color: #2d404e;
  color: #fff;
}

.Alert__inner:focus {
  outline: none;
}

.Alert__inner:before {
  content: "";
}

.Alert__inner > *,
.Alert__inner:before {
  -webkit-box-flex: 1;
          flex: 1 1 calc((100vw - 1160px) / 2);
}

.Alert__inner .Site-container {
  -webkit-box-flex: 1;
          flex: 1 1 auto;
  width: 100%;
}

@media (max-width: 991.98px) {
  .Alert__inner .Site-container {
    padding-left: 0;
  }
}

.Alert__item {
  position: relative;
  height: 50px;
}

.Alert__item__inner {
  width: 100%;
}

.Alert__item__scrollable {
  position: relative;
}

.Alert__item__scrollable:not(.no-scroll) > * {
  padding-right: 70px;
}

.Alert__item__scrollable.no-scroll {
  position: static !important;
  -webkit-transform: none !important;
          transform: none !important;
}

.Alert__item__scrollable.no-scroll > *:not(:first-child) {
  display: none !important;
}

@media (max-width: 1199.98px) {
  .Alert__item__item[data-variant='light'] .Alert__readmore {
    border: #0061c3 1px solid;
  }
}

@media (max-width: 991.98px) {
  .Alert__item {
    height: 40px;
    margin-right: 24px;
  }

  .Alert__item__inner {
    padding-left: 20px;
    margin-right: 8px;
  }
}

@media (min-width: 992px) {
  .Alert__item__scrollable {
    position: static !important;
    -webkit-transform: none !important;
            transform: none !important;
    max-width: 100%;
  }

  .Alert__item__scrollable > *:not(:first-child) {
    display: none !important;
  }
}

.Alert__text {
  margin-top: 15px;
  margin-bottom: 5px;
  font-size: 16px;
  line-height: 1;
}

.Alert__text__phrase {
  margin-left: 10px;
  text-overflow: ellipsis;
}

@media (min-width: 992px) {
  .Alert__text {
    margin-top: 0;
    margin-bottom: 0;
    max-width: 100%;
    line-height: 21px;
  }
}

@media (max-width: 991.98px) {
  .Alert__text {
    display: inline-block;
    -webkit-box-flex: 0;
            flex: 0 0 auto;
  }
}

.Alert__content {
  width: 100%;
  height: 40px;
  font-size: 16px;
}

.Alert__content ul {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  will-change: transform;
  width: 100%;
}

.Alert__readmore {
  padding-top: 5px;
  margin-top: auto;
  margin-bottom: 20px;
  margin-left: auto;
  cursor: pointer;
  font-size: 16px;
  line-height: 21px;
  color: currentColor;
  opacity: 0.6;
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

@media (min-width: 992px) {
  .Alert__readmore {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
  }

  .Alert__readmore svg {
    display: none;
  }
}

@media (max-width: 991.98px) {
  .Alert__readmore {
    display: block;
    margin: 3px 0 0;
    padding: 10px 6px;
    font-size: 0;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    opacity: 1;
  }

  .Alert__readmore svg {
    width: 20px;
    height: 20px;
  }
}

.Alert__readmore:hover {
  opacity: 1;
}

.Alert__aside > *:first-child {
  margin-left: 0;
}

@media (min-width: 992px) {
  .Alert__aside {
    margin-top: 0;
    margin-bottom: 0;
    padding-right: 20px;
    padding-left: 20px;
    height: 50px;
    width: auto;
    left: auto;
    -webkit-box-align: center;
            align-items: center;
  }
}

.Alert__dismiss {
  position: absolute;
  top: 16px;
  right: 20px;
  margin-top: 20px;
  margin-right: 20px;
  z-index: 1;
  padding: 10px;
  margin-top: -10px;
  margin-right: -10px;
}

@media (min-width: 992px) {
  .Alert__dismiss {
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    height: 50px;
    width: 50px;
    padding: 0;
    position: static;
    top: auto;
    right: auto;
  }
}

.Alert__dismiss svg {
  height: 14px;
  width: 14px;
  fill: currentColor;
}

@media (min-width: 992px) {
  .Alert__dismiss svg {
    height: 16px;
    width: 16px;
  }
}

@media (max-width: 991.98px) {
  .Alert__navigation {
    -webkit-box-pack: center !important;
            justify-content: center !important;
    padding: 5px 15px 15px;
  }
}

.Alert__navigation .dot {
  margin-top: 0;
  margin-right: 6px;
  margin-bottom: 0;
  margin-left: 6px;
  height: 10px;
  width: 10px;
}

.Alert__navigation .dot:first-child {
  margin-top: 0;
}

.Alert__navigation .dot:last-child {
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .Alert__navigation .dot {
    margin-top: 0;
    margin-right: 7.5px;
    margin-bottom: 0;
    margin-left: 7.5px;
  }
}

.Alert .Alert__navigation {
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 992px) {
  .Alert .Alert__navigation {
    margin-right: 10px;
  }
}

.Alert .Alert__navigation li {
  opacity: 0.3;
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Alert .Alert__navigation li {
  background-color: currentColor;
}

.Alert .Alert__navigation li.is-selected {
  opacity: 1;
}

/* Crisis alert */

.crisis_alert {
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(255, 0, 0, 0.5);
  height: 100%;
  width: 100%;
  min-height: 500px;
  z-index: 999;
}

.crisis_alert h1 {
  font-size: 1.5em;
}

@media (min-width: 992px) {
  .crisis_alert h1 {
    font-size: 2.5em;
  }
}

.crisis_alert_container {
  background: red;
  color: #fff;
  padding: 2em;
  position: absolute;
  width: 80vw;
  margin-top: 50vh;
  margin-left: 50vw;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media (min-width: 992px) {
  .crisis_alert_container {
    width: 50vw;
  }
}

.crisis_alert_content {
  font-size: 1em;
}

.crisis_alert_readmore {
  border: white solid 1px;
  border-radius: 3px;
  color: white !important;
  font-size: 1em;
  padding: 5px 10px;
  text-decoration: none !important;
}

.crisis_alert_dismiss {
  position: absolute;
  top: 1em;
  right: 1em;
  width: 20px;
  height: 20px;
}

.crisis_alert_dismiss svg {
  width: 20px;
  height: 20px;
}

.crisis_alert_hidden {
  display: none;
}

/**
 *
 *
 *
 */

.Navigation-bar {
  background-color: #f8fafa;
}

@media (min-width: 992px) {
  .Navigation-bar {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 10;
  }

  .Site-header.is-fixed .Navigation-bar {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }

  .Site-header.is-fixed.is-animated .Navigation-bar {
    -webkit-transition: box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
    transition: box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  }

  .scroll-up .Site-header.is-fixed .Navigation-bar {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
  }
}

/**
* Menu Account
*
*
*
*/

.MenuAccount {
  width: 100%;
}

@media (min-width: 1200px) {
  .MenuAccount {
    font-size: 18px;
  }
}

@media (min-width: 992px) {
  .MenuAccount {
    border-radius: 0 0 2px 2px;
  }
}

.MenuAccount-list-group {
  background-color: transparent;
  box-shadow: none;
}

.MenuAccount a,
.MenuAccount button {
  -webkit-transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.MenuAccount-title {
  position: relative;
  padding: 0 20px;
  font-size: 18px;
  line-height: 2.44444;
  color: #fff;
  background-color: #0061c3;
}

@media (min-width: 992px) {
  .MenuAccount-title {
    height: 65px;
    padding: 0 20px;
    font-size: 22px;
    line-height: 2.95455;
  }
}

.MenuAccount-title::after {
  content: '';
  position: absolute;
  left: 20px;
  top: 100%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 15px 0 0;
  border-color: #0061c3 transparent transparent transparent;
}

.MenuAccount [data-toggle="menuaccount"].open [class*="caret-down"] {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.MenuAccount-subtitle {
  display: block;
  padding: 0 10px;
}

@media (min-width: 992px) {
  .MenuAccount-subtitle {
    padding: 0 10px;
  }
}

.MenuAccount-subtitle > p {
  padding: 15px 0;
  line-height: 1;
  cursor: pointer;
}

.MenuAccount-subtitle > p:hover {
  color: #0061c3;
}

.MenuAccount-subtitle > p.is-current {
  color: #0061c3;
}

.MenuAccount-subtitle > p span {
  flex-basis: 0;
  -webkit-box-flex: 1;
          flex-grow: 1;
  max-width: 100%;
}

.MenuAccount-subtitle > p .fas {
  color: #999999;
}

.MenuAccount-list-group {
  padding: 5px 10px;
  width: 100%;
}

@media (min-width: 992px) {
  .MenuAccount-list-group {
    padding: 5px 20px;
  }
}

.MenuAccount-list-group .panel-item + .panel-item {
  border-top: 1px solid #e8ebec;
}

.MenuAccount-list-group .panel-item a {
  display: block;
}

.MenuAccount-list-group .panel-item > a,
.MenuAccount-list-group .panel-item > button {
  width: 100%;
  padding: 12px 0;
}

@media (min-width: 992px) {
  .MenuAccount-list-group .panel-item > a,
  .MenuAccount-list-group .panel-item > button {
    padding: 16px 0;
  }
}

.MenuAccount-list-group .panel-item > a:hover,
.MenuAccount-list-group .panel-item > button:hover {
  color: #0061c3;
}

.MenuAccount-list-group .panel-item.is-current > a,
.MenuAccount-list-group .panel-item.is-current > button {
  color: #0061c3;
}

.MenuAccount-item {
  color: #2d404e;
}

.MenuAccount-item .icon {
  -webkit-box-flex: 0;
          flex: 0 0 auto;
  display: block;
  width: 20px;
  margin-right: 15px;
  font-size: 0;
  text-align: center;
}

.MenuAccount-item .icon svg {
  width: 18px;
  height: 18px;
  margin: 0;
}

.MenuAccount-item .icon-card svg {
  width: 20px;
  height: 15px;
}

.MenuAccount-item .icon-check-square svg {
  width: 16px;
  height: 16px;
}

.MenuAccount-item .icon-house svg {
  width: 19px;
  height: 19px;
}

.MenuAccount-item span {
  display: block;
  white-space: normal;
}

.MenuAccount .content-collapse {
  padding-left: 40px;
  font-size: 16px;
  color: #2d404e;
  -webkit-transition: max-height 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: max-height 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}

.MenuAccount .content-collapse > *:after {
  content: '';
  display: block;
  height: 10px;
  pointer-events: none;
}

@media (min-width: 992px) {
  .MenuAccount .content-collapse {
    padding-left: 35px;
  }

  .MenuAccount .content-collapse > *:after {
    height: 15px;
  }
}

.MenuAccount .content-collapse a {
  padding: 4px 0;
  color: rgba(45, 64, 78, 0.6);
}

.MenuAccount .content-collapse a:first-child {
  padding-top: 0;
}

.MenuAccount .content-collapse a:hover {
  color: #0061c3;
}

.MenuAccount .content-collapse a.is-current {
  color: #0061c3;
}

.MenuAccount .menu-item-separator {
  padding: 0;
  margin: 0;
  border: 0;
  border-top: 1px solid #e8ebec;
}

.MainAccount .MenuAccount-list-group {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
}

@media (max-width: 991.98px) {
  .MainAccount .MenuAccount {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    font-size: 16px;
  }

  .MainAccount .MenuAccount::before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: -20px;
    background-color: #cdcdcd;
    width: calc(100% + 40px);
    height: 100%;
  }

  .MainAccount .MenuAccount-list-group::before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: -20px;
    background-color: #cdcdcd;
    width: calc(100% + 40px);
    height: 100%;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  }
}

@media (min-width: 992px) {
  .MainAccount .MenuAccount-list-group {
    display: block;
    position: relative;
    top: inherit;
    left: inherit;
  }
}

.MainAccount .MenuAccount.is-fixed {
  position: fixed;
  width: calc(100% - 40px);
  left: 20px;
  top: 0;
  z-index: 10;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}

@media (max-width: 753.98px) {
  .MainAccount .MenuAccount.is-fixed {
    width: calc(100% - 10px);
    left: 5px;
  }
}

.scroll-up .MainAccount .MenuAccount.is-fixed {
  -webkit-transform: translate3d(0, 60px, 0);
          transform: translate3d(0, 60px, 0);
}

.Site-header .MenuAccount {
  z-index: 8;
  background-color: #f8fafa;
}

.Site-header .MenuAccount .content-collapse {
  font-size: 15px;
}

@media (min-width: 992px) {
  .Site-header .MenuAccount {
    position: absolute;
    top: 100%;
    left: calc(50% - 129px);
    width: 258px;
    font-size: 16px;
    line-height: 1.25;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1), visibility 0s linear;
    transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1), visibility 0s linear;
    -webkit-transition-delay: 0.2s, 0.6s;
            transition-delay: 0.2s, 0.6s;
  }

  .Site-header .MenuAccount-list-group .panel-item > a,
  .Site-header .MenuAccount-list-group .panel-item > button {
    padding: 12px 0;
  }
}

@media (min-width: 1200px) {
  .Site-header .MenuAccount {
    left: -50px;
  }

  .Site-header .MenuAccount .content-collapse {
    font-size: 16px;
  }
}

@media (max-width: 991.98px) {
  .Site-header .MenuAccount-list-group {
    padding-left: 20px;
    padding-right: 20px;
    font-size: 20px;
    font-weight: 400;
    color: #000;
  }

  .Site-header .MenuAccount-list-group .panel-item > a,
  .Site-header .MenuAccount-list-group .panel-item > button {
    padding: 15px 0;
  }

  .Site-header .MenuAccount-list-group .panel-item + .panel-item {
    border-color: #d7d7d7;
  }

  .Site-header .MenuAccount-item .icon {
    margin-right: 20px;
    color: #024990;
  }

  .Site-header .MenuAccount .content-collapse {
    font-size: 18px;
  }

  .Site-header .MenuAccount .content-collapse a {
    padding: 6px 0;
  }
}

@media (min-width: 992px) {
  .Site-header .MenuAccount.is-active,
  .Site-menu__item--account:hover .MenuAccount {
    opacity: 1;
    visibility: visible;
    -webkit-transition-delay: 0s, 0s;
            transition-delay: 0s, 0s;
  }
}

.Site-menu .MenuAccount {
  line-height: 1;
}

.SmartWelcome .Banner--selector--h100 {
  height: auto;
  min-height: 100vh;
}

.SmartWelcome .Banner img {
  -o-object-position: top;
     object-position: top;
}

#block-adl-local-tasks {
  background-color: #F8F8F8;
}

#block-adl-local-tasks ul {
  text-align: center;
  padding: 5px 0;
}

#block-adl-local-tasks ul li {
  display: inline-block;
  padding: 5px;
}

#block-adl-local-tasks ul a:hover {
  color: #024990;
  text-decoration: underline;
}

a.toolbar-icon.toolbar-icon-admin-toolbar-tools-help:before {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='DimGray' viewBox='0 0 24 24'%3e%3cpath d='M12 4.92c.6.696 1.272 1.344 1.92 1.992 2.4 2.4 4.56 4.56 4.56 7.776V15.096c-.096 3.528-3 6.384-6.528 6.384h-.12c-1.728-.048-3.384-.744-4.56-1.992-1.176-1.296-1.824-2.952-1.776-4.728v-.048c0-3.216 2.256-5.4 4.56-7.776A49.835 49.835 0 0012 4.92zM12 0c-.48 1.824-2.088 3.432-3.792 5.04-2.472 2.52-5.328 5.4-5.328 9.648-.12 5.04 3.912 9.216 8.904 9.312H12c4.92 0 9-3.96 9.12-8.904v-.384c0-4.296-2.88-7.128-5.352-9.648C14.088 3.432 12.48 1.824 12 0z'/%3e%3c/svg%3e");
}

/*
 * Guid
 *
 * @file stylesheets/components/guid
 */

.Guid {
  z-index: 10000;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /**
	 * Match all classes starting by col-
	 */
  /**
	 * Guid
	 *
	 * @uses .Guid__column
	 */
}

.Guid [class^='col-'] .Guid__column {
  background-color: rgba(0, 0, 255, 0.2);
}

.Guid [class^='col-']:nth-child(odd) .Guid__column {
  background-color: rgba(255, 0, 0, 0.2);
}

.Guid__column {
  color: rgba(0, 0, 0, 0.2);
  height: 100%;
  width: 100%;
}

/**
 * Button
 *
 * @uses .Button
 */

.Button {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border-radius: 2px;
  font-size: 16px;
  line-height: 21px;
  -webkit-transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1), background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1), border-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1), background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1), border-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  padding-top: 13.5px;
  padding-right: 10px;
  padding-bottom: 13.5px;
  padding-left: 10px;
}

@media (min-width: 992px) {
  .Button {
    padding-right: 20px;
    padding-left: 20px;
    white-space: nowrap;
  }
}

.Button.is-off {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  opacity: 0.3;
}

.Button.Button--back {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  font-size: 16px;
  line-height: 21px;
  color: rgba(45, 64, 78, 0.5);
}

.Button.Button--back svg {
  margin-right: 10px;
  height: 8.1px;
  width: 5px;
}

.Button.Button--back:hover {
  color: rgba(45, 64, 78, 0.7);
}

.Button.Button--icon svg {
  margin-right: 15px;
  height: 20px;
  width: 20px;
  fill: currentColor;
}

.Button.Button--medium {
  padding-top: 6.5px;
  padding-right: 10px;
  padding-bottom: 6.5px;
  padding-left: 10px;
}

.Button.Button--icon.Button.Button--medium svg {
  height: 14px;
  width: 21px;
  margin-right: 10px;
}

.Button.Button--icon-light {
  border: 1px solid #e2e4e6;
  border-radius: 0;
  color: #0061c3;
  font-weight: 500;
}

@media (min-width: 992px) {
  .Button.Button--icon-light {
    font-weight: 400;
    color: #2d404e;
  }
}

.Button.Button--icon-light svg {
  height: 18px;
  width: 29px;
  margin-bottom: 10px;
  fill: #0061c3;
}

@media (min-width: 992px) {
  .Button.Button--icon-light svg {
    margin-right: 15px;
    margin-bottom: 0;
  }
}

.Button.Button--icon-light:hover,
.Button.Button--icon-light:focus,
.Button.Button--icon-light.is-active {
  background-color: rgba(0, 97, 195, 0.2);
}

.Button.Button--tertiary {
  padding-top: 6px;
  padding-bottom: 6px;
  border: 1px solid #d5d9db;
  border-radius: 2px;
  background-color: #fff;
  color: rgba(45, 64, 78, 0.5);
  min-height: 45px;
}

.Button.Button--tertiary div {
  padding-right: 10px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.Button.Button--tertiary small {
  margin-top: -5px;
  line-height: 15px;
  font-size: 11px;
}

.Button.Button--tertiary svg {
  margin-right: 0;
  margin-left: auto;
  height: 21px;
  width: 16px;
  fill: #10213A;
  min-width: 16px;
}

.Button.Button--radio {
  padding-top: 11px;
  padding-right: 0;
  padding-bottom: 11px;
  padding-left: 0;
  background-color: #fff;
  border: 1px solid #d5d9db;
  border-radius: 2px;
}

.Button.Button--radio.is-selected {
  border-color: #0061c3;
  background-color: #0061c3;
  color: #fff;
}

.Button.Button--extra-large {
  padding-top: 22px;
  padding-right: 20px;
  padding-bottom: 22px;
  padding-left: 20px;
  font-size: 20px;
  background-color: #fff;
  border-radius: 0;
}

.Button.Button--extra-large svg {
  height: 36px;
  width: 36px;
  margin-right: 20px;
  color: #0061c3;
}

.Button.Button--extra-large:hover {
  background: #ccdff3;
}

@media (min-width: 992px) {
  .Button.Button--extra-large {
    padding-right: 30px;
    padding-left: 30px;
  }
}

.Button.Button--primary {
  border-radius: 2px;
  background-color: #0061c3;
  border: 1px solid #0061c3;
  color: white;
}

.Button.Button--primary:hover {
  background-color: #024990;
  border: 1px solid #024990;
  color: white;
}

.Button.Button--primary:focus {
  box-shadow: 0 0 0 2px rgba(0, 97, 195, 0.5);
}

.Button.Button--secondary,
.Button.Button--white {
  background-color: #fff;
  border: 1px solid #fff;
  color: #0061c3;
}

.Button.Button--secondary:hover,
.Button.Button--white:hover {
  background: #ccdff3;
  border: 1px solid #ccdff3;
}

.Button.Button--white:hover {
  color: #0061c3;
}

.Button.Button--warning {
  background-color: #F79E43;
  border: 1px solid #F79E43;
  color: #fff;
}

.Button.Button--warning:focus {
  box-shadow: 0 0 0 2px rgba(247, 158, 67, 0.5);
}

.Button.Button--warning:hover {
  background-color: #b27230;
  border-color: #b27230;
}

.Button.Button--success {
  background-color: #5ebf87;
  border: 1px solid #5ebf87;
  color: #fff;
}

.Button.Button--success:focus {
  box-shadow: 0 0 0 2px rgba(94, 191, 135, 0.5);
}

.Button.Button--success:hover {
  background-color: #448a61;
  border-color: #448a61;
}

.Button.Button--danger {
  background-color: #dd482f;
  border: 1px solid #dd482f;
  color: #fff;
}

.Button.Button--danger:focus {
  box-shadow: 0 0 0 2px rgba(221, 72, 47, 0.5);
}

.Button.Button--danger:hover {
  background-color: #9f3422;
  border-color: #9f3422;
}

.Button.Button--dark {
  background-color: #2d404e;
  border: 1px solid #2d404e;
  color: #fff;
}

.Button.Button--dark:focus {
  box-shadow: 0 0 0 2px rgba(45, 64, 78, 0.5);
}

.Button.Button--dark:hover {
  background-color: #202e38;
  border-color: #202e38;
}

.Button.Button--info {
  background-color: #999999;
  border: 1px solid #999999;
  color: #fff;
}

.Button.Button--info:focus {
  box-shadow: 0 0 0 2px rgba(153, 153, 153, 0.5);
}

.Button.Button--info:hover {
  background-color: #6e6e6e;
  border-color: #6e6e6e;
}

.Button--small {
  padding-top: 5.5px;
  padding-bottom: 5.5px;
  font-size: 12px;
}

.Button--navigation {
  height: 50px;
  width: 50px;
  border-radius: 2px;
  background-color: #0061c3;
  color: #fff;
}

.Button--navigation[disabled='disabled'] {
  box-shadow: 0 0 0 1px rgba(0, 97, 195, 0.4);
  background-color: transparent;
  color: #2d404e;
}

.Button--navigation--next svg {
  margin-left: 2px;
}

.Button--navigation--previous svg {
  margin-right: 2px;
}

.Button--navigation svg {
  height: 12px;
  width: 12px;
  fill: currentColor;
}

.Button--navigation:hover {
  background-color: #024990;
}

/**
 * Breadcrumb
 *
 * @uses .Breadcrumb
 */

.Breadcrumb {
  white-space: nowrap;
  overflow: hidden;
}

.Breadcrumb__item {
  margin-right: 2.5px;
  margin-left: 2.5px;
}

.Breadcrumb__item a span {
  -webkit-transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  opacity: 0.7;
}

.Breadcrumb__item::after {
  margin-left: 5px;
  content: '\203A';
}

.Breadcrumb__item:first-child {
  margin-left: 0;
}

.Breadcrumb__item:last-child {
  margin-right: 0;
}

.Breadcrumb__item:last-child a span {
  opacity: 1;
}

.Breadcrumb__item a:focus span,
.Breadcrumb__item a:hover span {
  opacity: 1;
}

/**
 * Social share
 *
 */

.Shares__item {
  margin-right: 5px;
  margin-left: 5px;
}

.Shares__item:first-child {
  margin-left: 0;
}

.Shares__item:last-child {
  margin-right: 0;
}

.Shares__link {
  height: 60px;
  width: 60px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2);
  border-radius: 2px;
  color: #fff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: box-shadow 0.15s cubic-bezier(0.42, 0, 0.58, 1);
  transition: box-shadow 0.15s cubic-bezier(0.42, 0, 0.58, 1);
}

.Shares__link svg {
  -webkit-transition: fill 0.15s cubic-bezier(0.42, 0, 0.58, 1);
  transition: fill 0.15s cubic-bezier(0.42, 0, 0.58, 1);
}

.Shares__link:focus,
.Shares__link:hover {
  box-shadow: 0 0 0 1px #e6e6e6;
}

.Shares__link:focus svg,
.Shares__link:hover svg {
  fill: #e6e6e6;
}

.Shares__link svg {
  height: 20px;
  width: 20px;
  fill: #fff;
}

/**
 * Arrow to top
 */

.Scroll-back-to-top {
  position: fixed;
  right: 0;
  bottom: 0;
  margin-right: 28px;
  margin-bottom: 28px;
  -webkit-transition: box-shadow 0.3s cubic-bezier(0.42, 0, 0.58, 1), background-color 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: box-shadow 0.3s cubic-bezier(0.42, 0, 0.58, 1), background-color 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  opacity: 0;
  z-index: 8;
}

.Scroll-back-to-top:hover {
  background-color: #024990;
}

.Scroll-back-to-top:focus {
  box-shadow: 0 0 0 2px rgba(0, 97, 195, 0.5);
}

.Scroll-back-to-top.is-in-view {
  opacity: 1;
}

.Button.Back-to-smartwelcome {
  position: fixed;
  bottom: 40px;
  z-index: 999;
  margin: 0 auto;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: .9;
  border-radius: 10px;
  border: none;
  padding: 5px 10px;
  text-transform: uppercase;
}

.Button.Back-to-smartwelcome:focus {
  box-shadow: none;
}

/**
 * Link
 *
 * @package adl
 */

.Link {
  padding-top: 11px;
  padding-right: 20px;
  padding-bottom: 11px;
  padding-left: 20px;
  border: 1px solid #dddddd;
  color: #0061c3;
  background-color: #fff;
  -webkit-transition: background-color 0.3s cubic-bezier(0.42, 0, 0.58, 1), border-color 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: background-color 0.3s cubic-bezier(0.42, 0, 0.58, 1), border-color 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

.Link:hover {
  background-color: #f8fafa;
}

.Link:focus {
  outline: none;
  border: 1px solid rgba(102, 102, 102, 0.4);
}

.Link.Link--large {
  padding-top: 13.5px;
  padding-bottom: 13.5px;
}

.Link.Link--extra-large {
  padding-top: 19px;
  padding-bottom: 19px;
}

.Link__label {
  font-size: 16px;
  line-height: 21px;
}

.Link.Input-file .Link__label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Link.Link--extra-large .Link__label {
  font-size: 18px;
  line-height: 20px;
}

.Link svg {
  height: 20px;
  width: 19px;
  min-width: 19px;
}

/**
 * Push
 */

.Push {
  border-radius: 2px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
  -webkit-transition: box-shadow 0.3s cubic-bezier(0.42, 0, 0.58, 1), background-color 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: box-shadow 0.3s cubic-bezier(0.42, 0, 0.58, 1), background-color 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  font-size: 16px;
}

.Push:focus,
.Push:hover {
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16), 0px 0px 0px 1px #f8fafa;
}

.Push:focus .Push__link,
.Push:hover .Push__link {
  text-decoration: underline;
}

.Push.background-color-gray-very-light-02:hover,
.Push.Widget:hover,
.Push.background-color-gray-very-light-02:focus,
.Push.Widget:focus {
  background-color: #fff;
}

.Push.background-color-white:hover,
.Push.background-color-white:focus {
  background-color: #f8fafa;
}

.Push__aside {
  height: 160px;
}

@media (min-width: 992px) {
  .Push__aside {
    height: 160px;
    width: 28.49462%;
  }
}

.Push__aside img {
  height: 100%;
  width: 100%;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
  border-radius: 2px;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
}

@media (min-width: 992px) {
  .Push__body {
    width: 71.50538%;
  }
}

.Push__title {
  margin-top: 15px;
  margin-bottom: 20px;
  font-size: 24px;
  line-height: 28px;
}

.Push__content {
  margin-bottom: 15px;
}

.Push__link {
  color: #0061c3;
  line-height: 21px;
}

.Push__link::after {
  margin-left: 2.5px;
  content: '\203A';
}

/**
 * Accordion
 *
 * @package adl
 */

.Accordion__item {
  margin-top: 10px;
  margin-bottom: 10px;
  background-color: #fff;
}

.Accordion__item:first-child {
  margin-top: 0;
}

.Accordion__item:last-child {
  margin-bottom: 0;
}

.Accordion__item.is-active .Accordion__item__chevron svg {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.Accordion__item__header {
  padding-top: 14px;
  padding-right: 20px;
  padding-bottom: 14px;
  padding-left: 20px;
  z-index: 1;
  width: 100%;
  min-height: 84px;
  -webkit-transition: background-color 0.3s cubic-bezier(0.42, 0, 0.58, 1), box-shadow 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: background-color 0.3s cubic-bezier(0.42, 0, 0.58, 1), box-shadow 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

@media (min-width: 992px) {
  .Accordion__item__header {
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: 30px;
  }
}

.Accordion__item__header:hover,
.Accordion__item__header:focus {
  box-shadow: 0 0 0 1px #dddddd;
}

.Accordion__item__header > svg {
  height: 20px;
  width: 20px;
  margin-right: 28px;
  margin-left: 28px;
  fill: #024990;
}

.Accordion__item__header__body {
  margin-right: 20px;
  width: 100%;
}

@media (min-width: 992px) {
  .Accordion__item__header__body {
    margin-right: 0;
  }
}

.Accordion__item__label {
  -webkit-box-flex: 1;
          flex: 1;
  font-size: 18px;
  line-height: 18px;
  color: #024990;
  width: 100%;
}

@media (min-width: 992px) {
  .Accordion__item__label {
    font-size: 24px;
    line-height: 24px;
    -webkit-box-flex: 0;
            flex: 0 1 auto;
    width: auto;
  }
}

.Accordion__item__content {
  margin-bottom: 0;
  -webkit-box-flex: 1;
          flex: 1;
  width: 100%;
  font-size: 14px;
  line-height: 19px;
}

@media (min-width: 992px) {
  .Accordion__item__content {
    margin-left: 15px;
    font-size: 16px;
    line-height: 21px;
    -webkit-box-flex: 0;
            flex: 0 1 auto;
    width: auto;
  }
}

.Accordion__item__chevron {
  margin-left: auto;
}

.Accordion__item__chevron svg {
  height: 9.26px;
  width: 15px;
  min-width: 15px;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  min-width: 15px;
}

.Accordion__item__body > div {
  font-size: 16px;
  line-height: 24px;
}

@media (min-width: 992px) {
  .Accordion__item__body > div {
    font-size: 18px;
    line-height: 28px;
    padding-right: 8.06452%;
    padding-left: 8.06452%;
  }
}

.Accordion__item__body > div > *:first-child {
  margin-top: 0;
}

.Accordion__item__body > div > *:last-child {
  margin-bottom: 0;
}

/**
 * Card: icon
 */

.Card-icon {
  height: 190px;
  width: 100%;
  border-radius: 2px;
  background-color: #fff;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
  color: #024990;
  font-size: 16px;
  line-height: 24px;
  -webkit-transition: box-shadow 0.3s cubic-bezier(0.42, 0, 0.58, 1), background-color 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: box-shadow 0.3s cubic-bezier(0.42, 0, 0.58, 1), background-color 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

@media (min-width: 992px) {
  .Card-icon {
    font-size: 20px;
    line-height: 20px;
  }
}

.Card-icon:hover,
.Card-icon:focus {
  background-color: rgba(0, 97, 195, 0.2);
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16), 0 0 0 1px #dddddd;
}

.Card-icon:hover .Card-icon__chevron-down,
.Card-icon:focus .Card-icon__chevron-down {
  opacity: 1;
  visibility: visible;
}

.Card-icon:focus {
  background-color: #f8fafa;
}

.Card-icon:focus .Card-icon__chevron-down {
  opacity: 1;
  visibility: visible;
}

.Card-icon.is-active {
  background-color: #0061c3;
  color: #fff;
}

.Card-icon.is-active .Card-icon__chevron-down {
  opacity: 1;
  visibility: visible;
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.Card-icon.is-active .mona-basic {
  fill: #fff;
}

.Card-icon__chevron-down {
  position: absolute;
  top: 0;
  right: 0;
  height: 15px;
  width: 15px;
  opacity: 0;
  visibility: hidden;
  fill: currentColor;
  -webkit-transition: fill 0.3s cubic-bezier(0.42, 0, 0.58, 1), visibility 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: fill 0.3s cubic-bezier(0.42, 0, 0.58, 1), visibility 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: fill 0.3s cubic-bezier(0.42, 0, 0.58, 1), visibility 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: fill 0.3s cubic-bezier(0.42, 0, 0.58, 1), visibility 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

.Card-icon__icon {
  height: 50px;
  width: 100%;
  max-width: 122px;
  fill: currentColor;
  -webkit-transition: fill 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: fill 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

.Card-icon__icon.mona-basic {
  fill: #DE205D;
}

/**
 * Card: video
 *
 */

.Card-video {
  height: 310px;
  width: 100%;
  border-radius: 2px;
  color: #fff;
}

@media (min-width: 992px) {
  .Card-video {
    height: 350px;
    width: 100%;
  }
}

.Card-video .Video__poster {
  -webkit-transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  will-change: transform;
}

.Card-video:hover .Video__poster {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.Card-video__inner {
  height: 100%;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}

.Card-video .Card-video__inner {
  opacity: 0;
  visibility: hidden;
}

.Card-video .Card-video__inner.is-active {
  opacity: 1;
  visibility: visible;
}

.Card-video__inner::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 291px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.7)));
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
  content: '';
  z-index: 2;
}

.Card-video__body {
  height: 100%;
  width: 100%;
  padding-top: 105px;
  z-index: 3;
}

@media (min-width: 992px) {
  .Card-video__body {
    padding-top: 125px;
  }
}

.Card-video__title {
  font-size: 16px;
  line-height: 20px;
}

@media (min-width: 992px) {
  .Card-video__title {
    font-size: 24px;
    line-height: 28px;
  }
}

/**
 * Card: destination
 *
 * @package adl
 */

.Card-destination {
  border-radius: 2px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
  color: #fff;
  height: 260px;
}

@media (min-width: 992px) {
  .Card-destination {
    height: 460px;
  }
}

.Card-destination h3 {
  line-height: 24px;
  font-size: 24px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

@media (min-width: 992px) {
  .Card-destination h3 {
    font-size: 32px;
    line-height: 40px;
    text-overflow: clip;
    white-space: normal;
    overflow: visible;
  }
}

.Card-destination footer {
  margin-top: 15px;
  font-size: 14px;
  line-height: 15px;
}

@media (min-width: 992px) {
  .Card-destination footer {
    font-size: 20px;
    line-height: 20px;
  }
}

.Card-destination footer > p {
  font-size: 14px;
  line-height: 15px;
}

@media (min-width: 992px) {
  .Card-destination footer > p {
    font-size: 20px;
    line-height: 20px;
  }
}

.Card-destination .Button {
  margin: 0;
}

.Card-destination:hover::after,
.Card-destination:focus::after {
  opacity: 1;
}

.Card-destination:hover .Card-destination__image,
.Card-destination:focus .Card-destination__image {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.Card-destination:hover .Card-destination__arrow,
.Card-destination:focus .Card-destination__arrow {
  opacity: 1;
}

.Card-destination:hover .Button,
.Card-destination:focus .Button {
  background: #ccdff3;
  border: 1px solid #ccdff3;
}

@media (min-width: 992px) {
  .Card-destination--medium {
    height: 350px;
  }
}

.Card-destination__title {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.Card-destination__country {
  font-size: 18px;
  line-height: 20px;
}

.Card-destination__background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit:contain;object-position:center";
  -o-object-fit: contain;
     object-fit: contain;
  z-index: 1;
}

.Card-destination__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  will-change: transform;
  z-index: 1;
}

.Card-destination::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.7)));
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
  opacity: 0.8;
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  content: '';
  z-index: 2;
}

.Card-destination.Card-destination--readmore::after {
  content: none;
}

.Card-destination__body {
  padding-top: 30px;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
}

@media (min-width: 992px) {
  .Card-destination__body {
    margin-right: 30px;
    margin-bottom: 30px;
    margin-left: 30px;
  }
}

.Card-destination__description {
  margin-top: 0;
  margin-bottom: 0;
  height: auto;
  font-size: 16px;
  line-height: 20px;
  -webkit-transition: height 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: height 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  will-change: height;
}

.Card-destination__options {
  margin-top: 20px;
  margin-right: 20px;
  margin-left: 20px;
  z-index: 3;
}

.Card-destination__option {
  margin-top: 15px;
  margin-bottom: 15px;
  margin-left: auto;
  width: 31px;
}

.Card-destination__option:first-child {
  margin-top: 0;
}

.Card-destination__option:last-child {
  margin-bottom: 0;
}

.Card-destination__option svg {
  height: 18px;
  width: 100%;
}

.Card-destination__option::after {
  position: absolute;
  top: 50%;
  right: 0;
  padding-top: 6px;
  padding-right: 20px;
  padding-bottom: 9px;
  padding-left: 20px;
  opacity: 0;
  visibility: hidden;
  font-size: 14px;
  line-height: 19px;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
  -webkit-transition: 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  border-radius: 2px;
  background: #fff;
  box-shadow: 0px 1px 2px rgba(255, 255, 255, 0.16);
  color: #2d404e;
  white-space: nowrap;
  content: attr(data-text);
}

.Card-destination__option:hover::after {
  opacity: 1;
  visibility: visible;
}

.Card-destination__aside {
  padding-top: 30px;
  z-index: 3;
}

.Card-destination__arrow {
  height: 14px;
  width: 14px;
  fill: currentColor;
  -webkit-transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  opacity: 0;
}

/**
 * Card: favorite
 *
 * @package adl
 */

.Card-favorite {
  padding-top: 40px;
  padding-right: 40px;
  padding-bottom: 40px;
  padding-left: 40px;
  height: 460px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
  border-radius: 2px;
  color: #fff;
}

.Card-favorite:hover .Button {
  background-color: #024990;
  border: 1px solid #024990;
  color: white;
}

.Card-favorite:hover:focus .Button {
  box-shadow: 0 0 0 2px rgba(0, 97, 195, 0.5);
}

.Card-favorite .Button {
  margin-top: auto;
  margin-bottom: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 3;
}

.Card-favorite__image {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  z-index: 1;
}

.Card-favorite::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 401px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.7)));
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
  content: '';
  z-index: 2;
}

.Card-favorite__body {
  height: 100%;
  width: 100%;
  z-index: 3;
}

.Card-favorite__content {
  margin-top: 5px;
  font-size: 18px;
  line-height: 22px;
}

.Card-favorite__content > *:first-child {
  margin-top: 0;
}

.Card-favorite__content > *:last-child {
  margin-bottom: 0;
}

.Card-favorite__title {
  margin-top: 20px;
  font-size: 30px;
  line-height: 24px;
}

.Card-favorite__author {
  margin-top: 26px;
  margin-bottom: 0;
  font-size: 25px;
  line-height: 20px;
  z-index: 3;
}

/**
 * Card: parking
 *
 *
 * @package adl
 */

.Card-parking {
  padding-top: 55px;
  padding-right: 10px;
  padding-bottom: 20px;
  padding-left: 10px;
  background-color: #f8fafa;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
  border-radius: 2px;
  height: 390px;
}

@media (min-width: 754px) {
  .Card-parking {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media (min-width: 992px) {
  .Card-parking {
    padding-right: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
  }
}

.Card-parking .Badge.Badge--extra-extra-large {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: -20px;
  margin-left: 10px;
}

@media (min-width: 754px) {
  .Card-parking .Badge.Badge--extra-extra-large {
    margin-left: 20px;
  }
}

@media (min-width: 992px) {
  .Card-parking .Badge.Badge--extra-extra-large {
    margin-left: 30px;
  }
}

.Card-parking .Badge.Badge--extra-small.Badge--rounded {
  margin-top: 13px;
  margin-right: -14px;
  position: absolute;
  top: 0;
  right: 0;
}

.Card-parking .Badge.Badge--extra-extra-small.Badge--rounded.Badge--info {
  -webkit-transform: translate3d(5px, -5px, 0);
          transform: translate3d(5px, -5px, 0);
}

.Card-parking__description {
  margin-top: 10px;
  margin-bottom: 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #dddddd;
  font-size: 18px;
  line-height: 22px;
  color: #024990;
}

@media (min-width: 754px) {
  .Card-parking__description {
    margin-top: 15px;
    padding-bottom: 15px;
  }
}

@media (min-width: 992px) {
  .Card-parking__description {
    margin-top: 20px;
    padding-bottom: 20px;
    font-size: 24px;
    line-height: 28px;
  }
}

.Card-parking__list {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 20px;
  color: #666666;
}

@media (min-width: 754px) {
  .Card-parking__list {
    margin-top: 15px;
    margin-bottom: 15px;
  }
}

@media (min-width: 992px) {
  .Card-parking__list {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 16px;
  }
}

.Card-parking__more {
  margin-top: auto;
  border-top: 1px solid #dddddd;
  font-size: 14px;
  line-height: 20px;
}

@media (min-width: 992px) {
  .Card-parking__more {
    font-size: 18px;
  }
}

/**
 * Card: selector
 *
 *
 * @package adl
 */

.Card-selector {
  height: 162px;
  width: 100%;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
  color: #2d404e;
  -webkit-transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

@media (min-width: 992px) {
  .Card-selector {
    height: 164px;
    width: 100%;
  }
}

.Card-selector:focus,
.Card-selector:hover,
.Card-selector.is-active {
  background-color: #f8fafa;
}

.Card-selector[type="submit"] {
  color: #fff;
  background-color: #0061c3;
}

.Card-selector[type="submit"]:focus,
.Card-selector[type="submit"]:hover {
  background-color: #024990;
}

.Card-selector[type="submit"] svg.Card-selector__decor {
  fill: #fff;
}

.Card-selector svg.Card-selector__decor {
  height: 30px;
  width: 30px;
  margin-bottom: 10px;
  fill: #0061c3;
}

@media (min-width: 992px) {
  .Card-selector svg.Card-selector__decor {
    margin-bottom: 15px;
    height: 45px;
    width: 100%;
  }
}

.Card-selector__label {
  white-space: nowrap;
  font-size: 16px;
  line-height: 20px;
}

@media (min-width: 992px) {
  .Card-selector__label {
    font-size: 18px;
    line-height: 18px;
  }
}

.Card-selector__icon {
  height: 24px;
  width: 24px;
  border-radius: 12px;
  color: #0061c3;
}

@media (min-width: 992px) {
  .Card-selector__icon {
    margin-top: 9px;
    margin-left: 0;
  }
}

.Card-selector.is-selected .Card-selector__icon {
  background-color: #0061c3;
  color: #fff;
}

.Card-selector__icon__chevron {
  height: 7px;
  width: 12px;
}

.Card-selector__icon__check {
  height: 7px;
  width: 12px;
}

.Card-selector__mobile-home {
  border-radius: 10px;
  height: 140px;
}

@media (min-width: 992px) {
  .Card-selector__mobile-home {
    height: 150px;
  }
}

.Card-selector__mobile-home__decor {
  height: 40px;
  width: 40px;
  margin-bottom: 10px;
  fill: #0061c3 !important;
}

@media (min-width: 992px) {
  .Card-selector__mobile-home__decor {
    margin-bottom: 15px;
    height: 45px;
    width: 45px;
  }
}

.blue .Card-selector__mobile-home__decor {
  fill: #fff !important;
}

.Card-selector__mobile-home__thin {
  height: 100px;
}

.Card-selector__mobile-home.blue {
  background-color: #0061c3;
  color: #fff;
}

.Banner.Banner--selector.Mobile_home {
  padding: 150px 0 0;
}

/**
 * Card: useful information
 *
 *
 */

.Card-useful-information {
  height: 164px;
  border-radius: 2px;
  color: #2d404e;
}

.Card-useful-information svg {
  fill: #0061c3;
}

.Card-useful-information--box-shadow {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  background-color: #fff;
}

.Card-useful-information__decor {
  height: 52px;
  width: 59px;
  margin-bottom: 14px;
}

.Card-useful-information__title {
  letter-spacing: 0.02em;
  margin-top: 0;
  font-size: 11px;
  line-height: 15px;
}

@media (min-width: 992px) {
  .Card-useful-information__title {
    font-size: 12px;
    line-height: 26px;
  }
}

.Card-useful-information__content {
  margin-bottom: 0;
  font-size: 17px;
  line-height: 17px;
  text-align: center;
}

@media (min-width: 992px) {
  .Card-useful-information__content {
    font-size: 18px;
    line-height: 18px;
  }
}

/**
 * Card: information
 *
 *
 */

.Card-information {
  padding-bottom: 20px;
  border-radius: 2px;
  background-color: #fff;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
  height: 328px;
}

@media (min-width: 992px) {
  .Card-information {
    height: 350px;
  }
}

@media (min-width: 992px) {
  .Card-information {
    padding-bottom: 30px;
  }
}

.Card-information .Button {
  width: 100%;
}

.Card-information--advertising {
  padding-bottom: 0;
}

.Card-information__thumbnail {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 135px;
  width: 100%;
  z-index: 1;
}

.Card-information__thumbnail img {
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.Card-information--advertising .Card-information__thumbnail {
  height: 100%;
  width: 100%;
  bottom: 0;
}

.Card-information__body {
  margin-top: 17.5px;
  padding-right: 20px;
  padding-left: 20px;
  z-index: 2;
  -webkit-transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform: translate3d(0, 117.5px, 0);
          transform: translate3d(0, 117.5px, 0);
  background-color: #fff;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  will-change: transform;
}

.Card-information.is-active .Card-information__body {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

@media (min-width: 992px) {
  .Card-information__body {
    padding-right: 30px;
    padding-left: 30px;
  }
}

.Card-information--advertising .Card-information__body {
  padding-bottom: 20px;
  margin-top: auto;
  background-color: transparent;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

@media (min-width: 992px) {
  .Card-information--advertising .Card-information__body {
    padding-bottom: 30px;
  }
}

.Card-information__footer {
  opacity: 0;
  -webkit-transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
}

.Card-information.is-active .Card-information__footer {
  opacity: 1;
}

.Card-information .Badge.Badge--small {
  margin-bottom: -17.5px;
  -webkit-transform: translate3d(0, -17.5px, 0);
          transform: translate3d(0, -17.5px, 0);
}

.Card-information .Badge.Badge--unavailable {
  background: #808080 !important;
  width: 122px !important;
}

.Card-information__title {
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 18px;
  line-height: 18px;
  color: #024990;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.Card-information--advertising .Card-information__title {
  margin-top: 0;
  color: #fff;
}

@media (min-width: 992px) {
  .Card-information__title {
    font-size: 24px;
    line-height: 28px;
  }
}

.Card-information__content {
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 14px;
  line-height: 18px;
}

.Card-information__content > *:first-child {
  margin-top: 0;
}

.Card-information__content > *:last-child {
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .Card-information__content {
    font-size: 20px;
    line-height: 24px;
  }
}

.Card-information--advertising .Card-information__content {
  margin-bottom: 0;
  line-height: 20px;
  color: #fff;
}

.Card-information__categories {
  margin-top: 15px;
  margin-bottom: 15px;
  color: #999999;
  font-size: 12px;
  line-height: 12px;
}

@media (min-width: 992px) {
  .Card-information__categories {
    font-size: 16px;
    line-height: 20px;
  }
}

.Card-information__informations {
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 12px;
  line-height: 16px;
}

@media (min-width: 992px) {
  .Card-information__informations {
    font-size: 14px;
    line-height: 18px;
  }
}

.Card-information__informations > *:first-child {
  margin-top: 0;
}

.Card-information__informations > *:last-child {
  margin-bottom: 0;
}

/**
 *
 *
 *
 *
 */

.Card-list {
  height: 330px;
  border-radius: 2px;
  background-color: #f8fafa;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);
}

.Card-list__image {
  height: 100%;
  width: 100%;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
}

.Card-list__body {
  padding-top: 25px;
  padding-right: 20px;
  padding-bottom: 25px;
  padding-left: 20px;
}

@media (min-width: 992px) {
  .Card-list__body {
    padding-top: 34px;
    padding-right: 24px;
    padding-bottom: 34px;
    padding-left: 24px;
  }
}

@media (max-width: 753.98px) {
  .Card-list__body {
    padding-left: 0;
  }
}

.Card-list__body > *:first-child {
  margin-top: 0;
}

.Card-list__body > *:last-child {
  margin-bottom: 0;
}

.Card-list__body ul {
  margin-top: 16px;
  margin-bottom: 16px;
  padding-left: 13.56px;
  line-height: 16px;
  font-size: 14px;
  color: rgba(45, 64, 78, 0.5);
}

@media (min-width: 992px) {
  .Card-list__body ul {
    font-size: 16px;
    line-height: 20px;
  }
}

.Card-list__body ul li {
  margin-top: 6px;
  margin-bottom: 6px;
}

.Card-list__body ul li::before {
  position: absolute;
  top: 0;
  right: 100%;
  margin-top: 3.5px;
  margin-right: 8px;
  height: 9px;
  width: 5.56px;
  content: '';
  background-image: url(/themes/adl/dist/images/chevron-right.818b7d32.svg);
}

@media (min-width: 992px) {
  .Card-list__body ul li::before {
    margin-top: 5.5px;
    margin-right: 8px;
  }
}

.Card-list__body ul li:first-child {
  margin-top: 0;
}

.Card-list__body ul li:last-child {
  margin-bottom: 0;
}

.Card-list__title {
  margin-bottom: 16px;
  font-size: 24px;
  line-height: 24px;
  color: #024990;
}

/**
 * Card: discovery
 *
 *
 *
 * @package adl
 */

.Card-discovery {
  height: 400px;
  border-radius: 2px;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  background-color: #000;
}

.Card-discovery::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 200px;
  width: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(#000));
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, #000 100%);
  opacity: 0.8;
  content: '';
  z-index: 2;
}

.Card-discovery__title {
  font-size: 30px;
  line-height: 34px;
  color: #fff;
}

.Card-discovery__body {
  padding-top: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  margin-top: 0;
  margin-bottom: 30px;
  height: 100%;
  z-index: 3;
}

.Card-discovery__background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  opacity: 0.8;
  z-index: 1;
}

/**
 * Card
 *
 * @package adl
 */

.Card {
  height: 380px;
  background: #f8fafa;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);
  border-radius: 2px;
  line-height: 22px;
  -webkit-transition: box-shadow 0.3s cubic-bezier(0.42, 0, 0.58, 1), background-color 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: box-shadow 0.3s cubic-bezier(0.42, 0, 0.58, 1), background-color 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

.Card h2 {
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 20px;
}

@media (min-width: 992px) {
  .Card h2 {
    font-size: 24px;
    line-height: 28px;
  }
}

.Card p {
  font-size: 14px;
  line-height: 18px;
}

@media (min-width: 992px) {
  .Card p {
    font-size: 18px;
    line-height: 22px;
  }
}

.Card:hover,
.Card:focus {
  background: #fff;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16), 0px 0px 0px 1px #f8fafa;
}

.Card:hover .Card__thumbnail__inner,
.Card:focus .Card__thumbnail__inner {
  opacity: 0.75;
}

.Card__thumbnail {
  height: 120px;
  background-color: #000;
}

@media (min-width: 992px) {
  .Card__thumbnail {
    height: 190px;
  }
}

.Card__thumbnail__inner {
  height: 100%;
  -webkit-transition: 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

.Card__thumbnail img {
  height: 100%;
  width: 100%;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
}

.Card__body {
  padding-top: 20px;
  padding-right: 10px;
  padding-bottom: 20px;
  padding-left: 10px;
}

.Card__body > *:last-child {
  margin-bottom: 0;
}

@media (min-width: 754px) {
  .Card__body {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media (min-width: 992px) {
  .Card__body {
    padding-top: 30px;
    padding-right: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
  }
}

/**
 * Card: Promotionnelle
 *
 *
 */

.card-container {
  height: 100%;
}

.Card-promotionnelle {
  border-radius: 4px;
  border: 1px solid #dddddd;
  min-height: 225px;
  margin-bottom: 10px;
  height: 100%;
}

@media (min-width: 992px) {
  .Card-promotionnelle {
    min-height: 350px;
    height: 225px;
  }
}

.Card-promotionnelle .Button {
  bottom: 25px;
}

.Card-promotionnelle h2 {
  font-size: 16px;
  line-height: 20px;
}

@media (min-width: 992px) {
  .Card-promotionnelle h2 {
    font-size: 20px;
    line-height: 22px;
  }
}

.Card-promotionnelle p:not(.Card-promotionnelle--M) {
  font-size: 14px;
  line-height: 20px;
}

@media (min-width: 992px) {
  .Card-promotionnelle p:not(.Card-promotionnelle--M) {
    font-size: 14px;
    line-height: 18px;
  }
}

.Card-promotionnelle .bouton {
  color: #0061c2;
}

.Card-promotionnelle:hover,
.Card-promotionnelle:focus {
  background: #fff;
}

.Card-promotionnelle:hover .Card-promotionnelle__thumbnail__inner,
.Card-promotionnelle:focus .Card-promotionnelle__thumbnail__inner {
  -webkit-transform: scale3d(1.15, 1.15, 1.15);
          transform: scale3d(1.15, 1.15, 1.15);
}

.Card-promotionnelle__thumbnail {
  position: relative;
  background-color: #000;
}

.Card-promotionnelle__thumbnail__inner {
  height: 110px;
  -webkit-transition: 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

@media (min-width: 992px) {
  .Card-promotionnelle__thumbnail__inner {
    height: 170px;
  }
}

.Card-promotionnelle__thumbnail__wrapper-labels {
  display: -webkit-box;
  display: flex;
  position: absolute;
  top: 0;
  margin-top: 15px;
  margin-right: 15px;
  right: 0;
}

.Card-promotionnelle__thumbnail__wrapper-labels .label {
  padding: 0.3em 0.5em;
  font-size: 14px;
  line-height: 18px;
  min-width: 27px;
  text-align: center;
  font-weight: 500;
  border-radius: 4px;
  color: #fff;
  background-color: #0061c3;
}

.Card-promotionnelle__thumbnail__wrapper-labels .label + .label {
  margin-left: 0.5rem;
}

.Card-promotionnelle__thumbnail img {
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center", 'object-fit:cover;object-position:center';
  -o-object-position: center;
     object-position: center;
  -o-object-fit: cover;
     object-fit: cover;
}

.Card-promotionnelle__body {
  position: relative;
  padding: 15px;
}

.Card-promotionnelle__body > *:last-child {
  margin-bottom: 0;
}

.Card-promotionnelle__body .logo {
  position: absolute;
  width: 60px;
  bottom: calc(100% - 0.6em);
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.2);
}

@media (min-width: 992px) {
  .Card-promotionnelle__body .logo {
    width: 80px;
  }
}

.Card-promotionnelle--M {
  min-height: 350px;
}

@media (min-width: 992px) {
  .Card-promotionnelle--M {
    min-height: 470px;
  }
}

.Card-promotionnelle--M h2 {
  font-size: 20px;
  line-height: 24px;
}

.Card-promotionnelle--M .Card-promotionnelle__body .logo {
  width: 80px;
}

.Card-promotionnelle--M .Card-promotionnelle__thumbnail__inner {
  height: 170px;
}

@media (min-width: 992px) {
  .Card-promotionnelle--M .Card-promotionnelle__thumbnail__inner {
    height: 230px;
  }
}

.Card-promotionnelle-L {
  height: 230px;
  position: relative;
  padding: 25px;
  color: #fff;
  border-radius: 4px;
}

.Card-promotionnelle-L:after {
  content: '';
  background-image: linear-gradient(113.19deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 50%), linear-gradient(0deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05));
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
}

.Card-promotionnelle-L h2 {
  font-size: 24px;
  line-height: 28px;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (min-width: 992px) {
  .Card-promotionnelle-L h2 {
    -webkit-line-clamp: unset;
    font-size: 28px;
    line-height: 32px;
  }
}

.Card-promotionnelle-L .Button {
  position: absolute;
  z-index: 3;
  bottom: 25px;
  border-radius: 4px;
  padding: 13px 20px;
}

@media (min-width: 992px) {
  .Card-promotionnelle-L .Button {
    bottom: 40px;
  }
}

.Card-promotionnelle-L img {
  height: 100%;
  width: 100%;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
}

.Card-promotionnelle-L__body {
  position: relative;
  z-index: 3;
}

.Card-promotionnelle-L__body__thumbnail img {
  width: 60px;
  height: 70px;
}

@media (min-width: 992px) {
  .Card-promotionnelle-L__body__thumbnail img {
    width: 80px;
    height: 95px;
  }
}

.Card-promotionnelle-L__thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
}

@media (min-width: 992px) {
  .Card-promotionnelle-L {
    padding: 40px;
    height: 350px;
  }
}

@media (max-width: 991.98px) {
  .Card-promotionnelle-L.card-wide {
    height: 350px;
  }
}

.Card-promotionnelle-L.card-wide .Card-promotionnelle-L__body h2 {
  max-width: 21ch;
  width: auto;
  font-size: 40px;
  line-height: 42px;
}

@media (max-width: 753.98px) {
  .Card-promotionnelle-L.card-wide .Card-promotionnelle-L__body h2 {
    max-width: 22ch;
    font-size: 24px;
    line-height: 28px;
  }
}

.Card-promotionnelle-L.card-wide .Card-promotionnelle-L__body p {
  font-size: 18px;
  line-height: 22px;
  max-width: 46ch;
  width: auto;
  margin-top: 10px;
}

@media (max-width: 753.98px) {
  .Card-promotionnelle-L.card-wide .Card-promotionnelle-L__body p {
    font-size: 16px;
    line-height: 20px;
  }
}

.Card-promotionnelle-V {
  position: relative;
  border-radius: 4px;
  height: 225px;
  padding: 25px;
}

.Card-promotionnelle-V .Button {
  border-radius: 4px;
  z-index: 2;
  position: absolute;
  left: 50%;
  bottom: 25px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.Card-promotionnelle-V__thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
}

.Card-promotionnelle-V__thumbnail img {
  height: 100%;
  width: 100%;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
}

@media (min-width: 992px) {
  .Card-promotionnelle-V {
    height: 470px;
  }

  .Card-promotionnelle-V--L {
    height: 350px;
  }

  .Card-promotionnelle-V .Button {
    bottom: 30px;
  }
}

[data-flickity-autoplay].is-animated .Carousel-cards__items .flickity-page-dots .dot {
  width: 35px;
  height: 4px;
  border-radius: unset;
  position: relative;
  margin: 0;
  opacity: 1;
}

@media (max-width: 753.98px) {
  [data-flickity-autoplay].is-animated .Carousel-cards__items .flickity-page-dots .dot {
    width: 25px;
    height: 4px;
  }
}

[data-flickity-autoplay].is-animated .Carousel-cards__items .flickity-page-dots .dot:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
}

@-webkit-keyframes dotsCards {
  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}

@keyframes dotsCards {
  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}

[data-flickity-autoplay].is-animated .Carousel-cards__items .flickity-page-dots .dot + .dot {
  margin-left: 9px;
}

[data-flickity-autoplay].is-animated .flickity-page-dots .dot.is-selected:before {
  -webkit-animation: dotsCards calc(var(--data-time) * 1ms) linear forwards;
          animation: dotsCards calc(var(--data-time) * 1ms) linear forwards;
}

[data-flickity-autoplay].is-animated .flickity-page-dots.dot.is-active {
  background-color: violet;
}

[data-flickity-autoplay].dots-outside .flickity-page-dots {
  bottom: -15px;
}

[data-flickity-autoplay].dots-outside .flickity-page-dots .dot {
  background-color: #dddddd;
}

[data-flickity-autoplay].dots-outside .flickity-page-dots .dot:before {
  background-color: #0061c3;
}

[data-flickity-autoplay].dots-inside .flickity-page-dots {
  bottom: 0;
  margin-bottom: 40px;
  padding-right: 40px;
  text-align: right;
}

@media (max-width: 991.98px) {
  [data-flickity-autoplay].dots-inside .flickity-page-dots {
    margin-bottom: 25px;
    padding-right: 25px;
  }
}

[data-flickity-autoplay].dots-inside .flickity-page-dots .dot {
  background-color: rgba(255, 255, 255, 0.4);
}

[data-flickity-autoplay].dots-inside .flickity-page-dots .dot:before {
  background-color: #fff;
}

.Dropdown-menu__column__body .Carousel-cards__items {
  margin: auto;
  margin-bottom: 60px;
  width: 305px;
  max-width: 100%;
}

@media (min-width: 992px) {
  .Dropdown-menu__column__body .Carousel-cards__items {
    width: 265px;
  }
}

.Dropdown-menu__column__body .Carousel-cards__items .Card-promotionnelle-V {
  height: 390px;
}

.Dropdown-menu__column__body .Carousel-cards__items .Carousel__item {
  padding: 0;
}

@media (min-width: 992px) {
  .Carousel__item.Prepare__item .Card-promotionnelle-L {
    height: 330px;
  }
}

/**
 * Card: inspiration
 *
 * @package adl
 */

.Card-inspiration {
  border-radius: 4px;
  background-image: linear-gradient(210.95deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.6) 81.26%), linear-gradient(0deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05));
  color: #fff;
  height: 225px;
  padding: 25px;
}

.Card-inspiration h3 {
  line-height: 24px;
  font-size: 22px;
}

.Card-inspiration footer {
  font-size: 18px;
  line-height: 22px;
}

.Card-inspiration footer svg {
  display: none;
}

.Card-inspiration:hover::after,
.Card-inspiration:focus::after {
  opacity: 1;
}

.Card-inspiration:hover .Card-inspiration__image img,
.Card-inspiration:focus .Card-inspiration__image img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.Card-inspiration:hover .Card-inspiration__arrow,
.Card-inspiration:focus .Card-inspiration__arrow {
  opacity: 1;
}

.Card-inspiration:hover .Card-inspiration__description,
.Card-inspiration:focus .Card-inspiration__description {
  max-height: 300px;
  -webkit-transition: max-height 0.5s ease-in;
  transition: max-height 0.5s ease-in;
}

@media (min-width: 992px) {
  .Card-inspiration--medium {
    height: 350px;
  }
}

.Card-inspiration__title {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.Card-inspiration__country {
  font-size: 18px;
  line-height: 20px;
}

.Card-inspiration__background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit:contain;object-position:center";
  -o-object-fit: contain;
     object-fit: contain;
  z-index: 1;
}

.Card-inspiration__image img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  will-change: transform;
  z-index: 1;
}

.Card-inspiration::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.7)));
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
  opacity: 0.8;
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  content: '';
  z-index: 2;
}

.Card-inspiration.Card-inspiration--readmore::after {
  content: none;
}

.Card-inspiration__body {
  margin: 10px 20px 25px 25px;
  padding-top: 30px;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
}

@media (min-width: 992px) {
  .Card-inspiration__body {
    margin-right: 30px;
    margin-bottom: 30px;
    margin-left: 30px;
  }
}

.Card-inspiration__description {
  margin-top: 0;
  margin-bottom: 0;
  max-height: 0;
  -webkit-transition: max-height 0.1s ease-out;
  transition: max-height 0.1s ease-out;
  font-size: 16px;
  line-height: 20px;
  will-change: height;
}

.Card-inspiration__options {
  margin-top: 20px;
  margin-right: 20px;
  margin-left: 20px;
  z-index: 3;
}

.Card-inspiration__aside {
  padding-top: 30px;
  z-index: 3;
}

.Card-inspiration__arrow {
  height: 14px;
  width: 14px;
  fill: currentColor;
  -webkit-transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  opacity: 0;
}

.Card-inspiration-P-L {
  height: 350px;
}

@media (min-width: 992px) {
  .Card-inspiration-P-L {
    height: 470px;
  }
}

.Card-inspiration p {
  font-size: 16px;
  line-height: 20px;
}

@media (min-width: 992px) {
  .Card-inspiration {
    height: 470px;
  }

  .Card-inspiration--L {
    height: 350px;
  }

  .Card-inspiration h3 {
    font-size: 32px;
    line-height: 36px;
  }

  .Card-inspiration p {
    font-size: 18px;
    line-height: 22px;
  }

  .Card-inspiration footer svg {
    display: block;
  }
}

.Card-favorite__Card-inspiration {
  border-radius: 4px;
  height: 350px;
  padding: 30px;
}

.Card-favorite__Card-inspiration .Button {
  border-radius: 4px;
  padding: 4px 8px;
}

.Card-favorite__Card-inspiration .Card-favorite__author {
  font-family: 'mighty river', sans-serif;
  margin-top: 10px;
}

.Card-favorite__Card-inspiration h3 {
  font-size: 32px;
  line-height: 34px;
}

.Card-favorite__Card-inspiration .Card-favorite__content {
  font-size: 16px;
  line-height: 20px;
}

.Card-favorite__Card-inspiration .Card-favorite__author {
  font-size: 20px;
  line-height: 22px;
}

@media (min-width: 992px) {
  .Card-favorite__Card-inspiration {
    height: 350px;
    padding: 20px;
  }

  .Card-favorite__Card-inspiration h3 {
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 0;
  }

  .Card-favorite__Card-inspiration .Card-favorite__content {
    display: none;
  }

  .Card-favorite__Card-inspiration .Card-favorite__author {
    font-size: 15px;
    line-height: 17px;
  }
}

/**
 * Form
 *
 * @package adl
 */

.Form > *:first-child {
  margin-top: 0;
}

.Form > *:last-child {
  margin-bottom: 0;
}

.Form__group {
  margin-top: 20px;
  margin-bottom: 20px;
}

.Form__title {
  margin-top: 0;
  padding-bottom: 20px;
  color: #024990;
  font-size: 24px;
  line-height: 24px;
}

/**
 * Carousel
 *
 * @package adl
 */

.Carousel__items {
  margin-right: -5px;
  margin-left: -5px;
}

@media (min-width: 992px) {
  .Carousel__items {
    margin-right: -10px;
    margin-left: -10px;
  }
}

.Carousel__items > .flickity-page-dots {
  color: #0061c3;
}

.Carousel__items.flickity-ready.is-resizing .Carousel__item {
  height: auto !important;
}

.Carousel__item {
  padding-right: 5px;
  padding-left: 5px;
  vertical-align: middle;
}

@media (min-width: 992px) {
  .Carousel__item {
    padding-right: 10px;
    padding-left: 10px;
  }
}

/**
 * Plane trip
 *
 *
 * @package adl
 */

.Plane-trip {
  /**
	 * Plane trip: arrow
	 *
	 *	<p class="Plane-trip__arrow">
	 *		<svg>
	 *			<use xlink:href="#arrow-circle-right" href="#arrow-circle-right"></use>
	 *		</svg>
	 *	</p>
	 */
}

.Plane-trip__body {
  box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.2);
  color: #024990;
}

.Plane-trip__thumbnail {
  height: 70px;
  width: 120px;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 2px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
}

.Plane-trip__title {
  font-size: 16px;
  line-height: 21px;
  -webkit-box-flex: 1;
          flex: 1;
}

@media (min-width: 992px) {
  .Plane-trip__title {
    font-size: 24px;
    line-height: 32px;
  }
}

.Plane-trip__arrow {
  height: 30px;
  width: 30px;
  background-color: #0061c3;
  border-radius: 15px;
}

.Plane-trip__arrow svg {
  height: 8.4px;
  width: 8.4px;
  fill: #fff;
}

.Plane-trip--direct .Plane-trip__icon {
  height: 20px;
  width: 36px;
}

@media (min-width: 992px) {
  .Plane-trip--direct .Plane-trip__icon {
    height: 28px;
    width: 51px;
  }
}

.Plane-trip--indirect .Plane-trip__icon {
  height: 30px;
  width: 36px;
}

@media (min-width: 992px) {
  .Plane-trip--indirect .Plane-trip__icon {
    height: 43px;
    width: 52px;
  }
}

.Plane-trip__icon svg {
  height: 100%;
  width: 100%;
}

/**
 * Ordered list
 *
 * @package adl
 */

.Ordered-list {
  margin-top: 60px;
  margin-bottom: 60px;
  counter-reset: item;
}

@media (min-width: 992px) {
  .Ordered-list {
    margin-top: 90px;
    margin-bottom: 100px;
  }
}

.Ordered-list__item {
  counter-increment: item;
}

.Ordered-list__item__body {
  padding-top: 90px;
  padding-right: 40px;
  padding-left: 40px;
  height: 100%;
}

@media (min-width: 992px) {
  .Ordered-list__item__body {
    padding-top: 0;
    margin-right: 55px;
    margin-left: 55px;
  }
}

.Ordered-list__item__body::after {
  position: absolute;
  top: 0;
  left: 0;
  content: counter(item);
  font-size: 269px;
  line-height: 269px;
  color: rgba(45, 64, 78, 0.1);
}

@media (min-width: 992px) {
  .Ordered-list__item:nth-child(even) .Ordered-list__item__body::after {
    right: 0;
  }

  .Ordered-list__item:nth-child(odd) .Ordered-list__item__body::after {
    left: 0;
  }
}

.Ordered-list__item__body h3 {
  font-size: 24px;
  line-height: 28px;
}

@media (min-width: 992px) {
  .Ordered-list__item__body h3 {
    font-size: 30px;
    line-height: 34px;
  }
}

.Ordered-list__item__body p {
  font-size: 16px;
  line-height: 26px;
}

@media (min-width: 992px) {
  .Ordered-list__item__body p {
    font-size: 18px;
    line-height: 28px;
  }
}

.Ordered-list__item__image {
  height: 240px;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 2px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
}

@media (min-width: 992px) {
  .Ordered-list__item__image {
    height: 400px;
    width: 100%;
  }
}

/**
 * Widget
 *
 * @package byzance
 */

.Widget {
  padding-top: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  height: 100%;
  border-radius: 2px;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.16);
}

.Widget__mobile {
  margin-top: -60px;
  margin-bottom: 20px;
  z-index: 7;
}

.Widget__mobile .flickity-viewport {
  z-index: 1;
}

.Widget__mobile .flickity-page-dots {
  z-index: 0;
}

.Widget__mobile.Carousel {
  margin-top: -99px;
}

.Widget--parking-reservation .Button--primary,
.Widget--book-a-flight .Button--primary,
.Widget--track-a-flight .Button--primary {
  align-self: flex-end;
  margin-top: auto;
}

.Widget--book-a-flight .Checkbox {
  color: #2d404e;
}

.Widget--book-a-flight .Spin-button {
  color: #2d404e;
}

.Widget--book-a-flight [role='radio'] {
  color: #2d404e;
}

.Widget--book-a-flight .Dropdown--medium select {
  padding-right: 40px;
}

.Widget--track-a-flight__item {
  padding-top: 10.5px;
  padding-bottom: 10.5px;
  margin-right: 10px;
  margin-left: 10px;
  font-size: 12px;
  border-bottom: 1px solid rgba(45, 64, 78, 0.1);
  color: #2d404e;
  line-height: 16px;
}

.Widget--track-a-flight__item__title {
  width: 40%;
}

.Widget--track-a-flight__item__time {
  color: rgba(45, 64, 78, 0.5);
  -webkit-box-flex: 1;
          flex: 1;
}

.Widget--track-a-flight__item__id {
  color: rgba(45, 64, 78, 0.5);
  -webkit-box-flex: 1;
          flex: 1;
}

.Widget--track-a-flight__item__estimated {
  -webkit-box-flex: 1;
          flex: 1;
}

.Widget--track-a-flight__item__estimated small {
  margin-bottom: -2px;
  color: rgba(45, 64, 78, 0.5);
  font-size: 10px;
  line-height: 14px;
}

.Widget__title {
  color: #024990;
}

.Widget__title h2 {
  font-size: 24px;
  line-height: 24px;
}

.Widget__title svg {
  height: 25px;
  width: 50px;
  margin-bottom: 9px;
  fill: currentColor;
}

.Widget__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  height: 100%;
  width: 100%;
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 1;
}

.Widget__panel.is-active {
  opacity: 1;
  visibility: visible;
}

.Widget__panel .Button--primary {
  margin-top: auto;
}

.Widget__group {
  margin-top: 15px;
  margin-bottom: 15px;
}

.Widget__group__column {
  max-width: 100%;
}

.Widget__group--two-brothers:first-child {
  margin-top: 0;
}

.Widget__group--two-brothers .Widget__group__column {
  -webkit-box-flex: 0;
          flex: 0 0 50%;
  max-width: 50%;
  padding-right: 10px;
  padding-left: 10px;
}

.Widget__group--two-brothers .Widget__group__column:first-child {
  padding-left: 0;
}

.Widget__group--two-brothers .Widget__group__column:last-child {
  padding-right: 0;
}

.Widget__group--two-children .Widget__group__column:first-child {
  -webkit-box-flex: 0;
          flex: 0 0 100%;
}

.Widget__group--two-children .Widget__group__column:first-child > * {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.Widget__group--two-children .Widget__group__column:last-child {
  -webkit-box-flex: 0;
          flex: 0 0 100%;
}

.Widget__group--two-children .Widget__group__column:last-child > * {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.Widget__group--three-children .Widget__group__column {
  -webkit-box-flex: 0;
          flex: 0 0 100%;
}

.Widget__group--three-children .Widget__group__column:nth-child(1) > * {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: none;
}

.Widget__group--three-children .Widget__group__column:nth-child(2) > * {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom: none;
}

.Widget__group--three-children .Widget__group__column:nth-child(3) > * {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.Widget__group--one-and-two-children .Widget__group__column:nth-child(1) {
  -webkit-box-flex: 0;
          flex: 0 0 100%;
}

.Widget__group--one-and-two-children .Widget__group__column:nth-child(1) > * {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: none;
}

.Widget__group--one-and-two-children .Widget__group__column:nth-child(2) {
  -webkit-box-flex: 0;
          flex: 0 0 50%;
}

.Widget__group--one-and-two-children .Widget__group__column:nth-child(2) > * {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
}

.Widget__group--one-and-two-children .Widget__group__column:nth-child(3) {
  -webkit-box-flex: 0;
          flex: 0 0 50%;
}

.Widget__group--one-and-two-children .Widget__group__column:nth-child(3) > * {
  border-left: none;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.Widget .Badge.Badge--small.Badge--rounded {
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 27.5px;
  margin-right: 15px;
  background-color: #d5d9db;
  -webkit-transition: box-shadow 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 1s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 1;
}

.Widget .Badge.Badge--small.Badge--rounded svg {
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  fill: #2d404e;
}

.Widget .Badge.Badge--small.Badge--rounded:active {
  box-shadow: 0 0 0 12px rgba(213, 217, 219, 0.4);
}

.Widget .Badge.Badge--small.Badge--rounded:active svg {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.Widget__tabs {
  margin-top: 5px;
}

.Widget__tabs__navigation li {
  -webkit-box-flex: 1;
          flex: 1;
}

.Widget__tabs__navigation button {
  padding-top: 10.5px;
  padding-bottom: 10.5px;
  width: 100%;
  font-size: 16px;
  line-height: 16px;
  color: rgba(45, 64, 78, 0.4);
  border-bottom: 1px solid rgba(45, 64, 78, 0.15);
  -webkit-transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1), border-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1), border-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Widget__tabs__navigation button.is-active {
  border-bottom-color: #024990;
  color: #024990;
}

.Widget__tabs__panel:focus {
  outline: none;
}

.Widget__tabs__panel li:last-child > .Widget--track-a-flight__item {
  border-bottom: none;
}

.Widget__dropdowns {
  margin-top: 16px;
  margin-bottom: 0;
}

.Widget__help_middle {
  margin-top: 10px;
  margin-bottom: 0;
}

.Widget__dropdowns > p,
.Widget__help_middle > p {
  margin-bottom: 0;
  margin-left: auto;
  color: #999999;
  font-size: 14px;
  line-height: 19px;
}

.Widget__dropdowns .Dropdown,
.Widget__help_middle .Dropdown {
  margin-right: 5px;
  margin-left: 5px;
}

.Widget__dropdowns .Dropdown:first-child,
.Widget__help_middle .Dropdown:first-child {
  margin-left: 0;
}

.Widget__dropdowns .Dropdown:last-child,
.Widget__help_middle .Dropdown:last-child {
  margin-right: 0;
}

/**
 * Widget: real time flight
 *
 *
 *
 */

.Widget-real-time-flight {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  color: #2d404e;
}

.Widget.Widget-real-time-flight {
  background-color: transparent;
}

.Widget-real-time-flight .Widget__group {
  margin-top: 5px;
  margin-bottom: 5px;
  width: 100%;
}

@media (min-width: 992px) {
  .Widget-real-time-flight .Widget__group {
    margin-top: 10px;
    margin-right: 5px;
    margin-bottom: 0;
    margin-left: 5px;
  }

  .Widget-real-time-flight .Widget__group:nth-child(1) {
    width: 28.90909%;
  }

  .Widget-real-time-flight .Widget__group:nth-child(2),
  .Widget-real-time-flight .Widget__group:nth-child(3) {
    width: 22.45455%;
  }

  .Widget-real-time-flight .Widget__group:nth-child(4) {
    width: 22.54545%;
  }
}

.Widget-real-time-flight .Form__input {
  padding-top: 14.5px;
  padding-bottom: 14.5px;
}

.Widget-real-time-flight__navigation {
  color: #fff;
}

.Widget-real-time-flight__navigation li {
  -webkit-box-flex: 1;
          flex: 1;
}

.Widget-real-time-flight__navigation button {
  padding-top: 18px;
  padding-bottom: 17px;
  width: 100%;
  font-size: 18px;
  line-height: 18px;
  background-color: rgba(0, 0, 0, 0.4);
}

.Widget-real-time-flight__navigation button:first-child {
  border-top-left-radius: 2px;
}

.Widget-real-time-flight__navigation button:last-child {
  border-top-right-radius: 2px;
}

.Widget-real-time-flight__navigation button svg {
  margin-right: 10px;
  height: 25px;
  width: 42.65px;
}

.Widget-real-time-flight__navigation button.is-active {
  background-color: #fff;
  color: #024990;
}

.Widget-real-time-flight__body {
  padding-top: 10px;
  padding-right: 15px;
  padding-bottom: 10px;
  padding-left: 15px;
  background-color: #fff;
}

@media (min-width: 992px) {
  .Widget-real-time-flight__body {
    padding-top: 5px;
    padding-right: 10px;
    padding-bottom: 15px;
    padding-left: 10px;
  }
}

.Widget-real-time-flight__panel:focus {
  outline: none;
}

/**
 * Reportage
 *
 * @package adl
 */

.Reportage {
  padding-bottom: 60px;
  background-color: #f8fafa;
}

@media (min-width: 992px) {
  .Reportage {
    padding-bottom: 100px;
  }
}

.Reportage > *:last-child {
  margin-bottom: 0;
}

.Reportage__header {
  margin-bottom: -120px;
  height: 412px;
  background-color: #000;
}

.Reportage__header__without_content {
  margin-bottom: -550px;
}

.Reportage__header + * {
  z-index: 4;
}

@media (min-width: 992px) {
  .Reportage__header {
    height: 630px;
  }
}

.Reportage__header__background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  opacity: 0.8;
  z-index: 1;
}

.Reportage__header::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  content: '';
  height: 154px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(248, 250, 250, 0)), to(#f8fafa));
  background: linear-gradient(rgba(248, 250, 250, 0) 0%, #f8fafa 100%);
  z-index: 2;
}

@media (min-width: 992px) {
  .Reportage__header::after {
    height: 339px;
  }
}

.Reportage__header__body {
  padding-top: 60px;
  color: #fff;
  z-index: 3;
}

@media (min-width: 992px) {
  .Reportage__header__body {
    padding-top: 160px;
  }
}

.Reportage__header__body h2 {
  margin-bottom: 20px;
}

@media (min-width: 992px) {
  .Reportage__header__body h2 {
    margin-bottom: 30px;
  }
}

.Reportage__header__content {
  margin-bottom: 0;
  line-height: 24px;
}

@media (min-width: 992px) {
  .Reportage__header__content {
    font-size: 30px;
    line-height: 34px;
  }
}

.Reportage__header__heading {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 40px;
  line-height: 48px;
}

@media (min-width: 992px) {
  .Reportage__header__heading {
    margin-bottom: -10px;
    font-size: 46px;
    line-height: 68px;
  }
}

.Reportage__editorial {
  margin-top: 60px;
  margin-bottom: 60px;
}

@media (min-width: 992px) {
  .Reportage__editorial {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}

.Reportage__editorial__body > *:first-child {
  margin-top: 0;
}

.Reportage__editorial__body > *:last-child {
  margin-bottom: 0;
}

.Reportage__editorial__body h2 {
  margin-bottom: 30px;
  line-height: 30px;
}

@media (min-width: 992px) {
  .Reportage__editorial__body h2 {
    margin-bottom: 40px;
  }
}

.Reportage__editorial__body p {
  font-size: 16px;
  line-height: 26px;
}

@media (min-width: 992px) {
  .Reportage__editorial__body p {
    margin-bottom: 40px;
    font-size: 18px;
    line-height: 28px;
  }
}

.Reportage__carousel {
  margin-top: 60px;
  margin-bottom: 60px;
}

@media (min-width: 992px) {
  .Reportage__carousel {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}

.Reportage__carousel__items {
  margin-right: -10px;
  margin-left: -10px;
}

.Reportage__carousel__item {
  padding-right: 5px;
  padding-left: 5px;
  height: 274px;
  width: 100%;
  height: 194px;
  border-radius: 2px;
}

@media (min-width: 992px) {
  .Reportage__carousel__item {
    padding-right: 10px;
    padding-left: 10px;
    height: 652px;
    width: 100%;
  }
}

.Reportage__carousel__item img {
  height: 100%;
  width: 100%;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
}

.Reportage__carousel__button {
  height: 50px;
  width: 50px;
  position: absolute;
  top: 0;
  margin-top: 301px;
  border-radius: 25px;
  background-color: #fff;
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 1;
}

.Reportage__carousel__button svg {
  height: 14px;
  width: 14px;
  fill: #0061c3;
}

.Reportage__carousel__button[disabled="disabled"] {
  opacity: 0.5;
}

.Reportage__carousel__button--next {
  margin-right: 30px;
  right: 0;
}

.Reportage__carousel__button--previous {
  margin-left: 30px;
  left: 0;
}

/**
 * Advantage
 *
 * @package adl
 */

@media (min-width: 992px) {
  .Advantage {
    margin-right: 15px;
    margin-left: 15px;
  }
}

.Advantage .Badge.Badge--extra-large.Badge--rounded {
  margin-right: auto;
  margin-bottom: 20px;
  margin-left: auto;
}

.Advantage__title {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 18px;
  line-height: 22px;
}

@media (min-width: 992px) {
  .Advantage__title {
    font-size: 22px;
    line-height: 26px;
  }
}

.Advantage__content {
  font-size: 14px;
  line-height: 18px;
}

@media (min-width: 992px) {
  .Advantage__content {
    font-size: 16px;
    line-height: 20px;
  }
}

/**
 * Selector
 *
 * @package adl
 */

.Selector {
  padding-top: 20px;
  padding-bottom: 20px;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
}

@media (min-width: 992px) {
  .Selector--period {
    width: 253.5px;
    max-width: 100%;
  }
}

.Selector__title {
  margin-top: 0;
  padding-right: 20px;
  padding-left: 20px;
  white-space: nowrap;
  font-size: 16px;
  line-height: 20px;
  color: #2d404e;
}

@media (min-width: 992px) {
  .Selector__title {
    font-size: 18px;
  }
}

.Selector__body {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  padding-top: 15px;
}

.Selector__body__link {
  color: black;
  width: 100%;
  text-align: center;
  padding: 5px 0;
}

.Selector__body__link.hovered-link {
  color: the_color blue, very-dark-desaturated;
  opacity: 0.7;
}

.Selector__body__link.hovered-link:hover {
  opacity: 1;
}

.Selector__footer {
  margin-top: 20px;
  margin-right: 20px;
  margin-left: 20px;
}

.Selector__footer button {
  width: 100%;
}

/**
 * Selectors
 *
 *
 *
 */

.Selectors {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 7;
}

.Banner .Selectors [class^="col-"] {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

@media (min-width: 992px) {
  .Banner .Selectors [class^="col-"] {
    position: relative;
  }

  .Banner .Selectors [class^="col-"]:last-child {
    margin-left: -8.33333%;
  }
}

.Travel-diary__selectors .Selectors [class^="col-"] {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

@media (min-width: 992px) {
  .Travel-diary__selectors .Selectors [class^="col-"] {
    position: relative;
  }
}

.Selectors .Selector {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.5s cubic-bezier(0.19, 1, 0.22, 1), transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.5s cubic-bezier(0.19, 1, 0.22, 1), transform 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
  will-change: transform;
  margin-right: auto;
  margin-left: auto;
  min-width: 190px;
}

.Selectors .Selector #budget,
.Selectors .Selector #temperature {
  -webkit-transform: scale(1.42857);
          transform: scale(1.42857);
}

@media (min-width: 992px) {
  .Selectors .Selector {
    -webkit-box-flex: 1;
            flex: 1;
  }
}

.Selectors .Selector.is-active {
  opacity: 1;
  visibility: visible;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.Selectors .Selector.is-active #budget,
.Selectors .Selector.is-active #temperature {
  -webkit-transform: scale(1);
          transform: scale(1);
}

@media (min-width: 992px) {
  .Selectors .Selector {
    min-width: auto;
  }
}

.Selectors__backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 6;
}

.Selectors__backdrop.is-active {
  opacity: 1;
  visibility: visible;
}

/**
 * Themes
 *
 *
 */

.Themes {
  margin-top: 20px;
  margin-bottom: 20px;
  padding-right: 20px;
  padding-left: 20px;
}

/**
 * Calendars
 *
 *
 */

.Calendars__button {
  padding-top: 18px;
  padding-bottom: 17px;
  background-color: #d5d9db;
  color: #024990;
  font-size: 15px;
  line-height: 15px;
  -webkit-box-flex: 1;
          flex: 1;
}

.Calendars__button.is-active {
  background-color: #fff;
}

/**
 * Calendar
 *
 *
 */

.Calendar {
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  color: #2d404e;
}

.Calendar.is-active {
  opacity: 1;
}

.Calendar.is-bordered {
  border-radius: 2px;
  border: 1px solid #d5d9db;
  background-color: #fff;
}

.Calendar.is-bordered .Calendar__table {
  margin-right: 10px;
  margin-left: 10px;
  width: calc(100% - 20px);
}

.Calendar:focus {
  outline: none;
}

.Calendar__header {
  height: 30px;
}

.Calendar .Calendar__next,
.Calendar .Calendar__previous {
  height: 30px;
  width: 30px;
  opacity: 0.5;
  z-index: 2;
}

.Calendar .Calendar__next svg,
.Calendar .Calendar__previous svg {
  height: 11.34px;
  width: 7px;
}

.Calendar__tooltip:hover::before {
  opacity: 1;
}

.Calendar__tooltip::before {
  position: absolute;
  bottom: 100%;
  left: 50%;
  padding-top: 5px;
  padding-right: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
  margin-bottom: 5px;
  font-size: 16px;
  line-height: 20px;
  color: #2d404e;
  border-radius: 0px 2px 2px 2px;
  background-color: #fff;
  content: attr(data-content);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.3);
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  opacity: 0;
  z-index: 1;
}

.Calendar__previous {
  margin-left: 8.5px;
}

.Calendar__next {
  margin-right: 8.5px;
}

.Calendar__title {
  font-size: 14px;
  line-height: 14px;
  -webkit-box-flex: 1;
          flex: 1;
}

.Calendar__title:focus {
  outline: none;
}

.Calendar__table {
  margin-right: 20px;
  margin-left: 20px;
  table-layout: fixed;
  border-collapse: collapse;
  width: calc(100% - 40px);
}

.Calendar__row {
  height: 28px;
  font-size: 14px;
  line-height: 28px;
}

.Calendar__cell__inner {
  color: rgba(45, 64, 78, 0.4);
}

.Calendar__cell__inner button {
  height: 100%;
  width: 100%;
  background-color: rgba(153, 153, 153, 0.2);
  border-radius: 2px;
  color: #2d404e;
}

.Calendar__cell__inner button.is-in-range {
  background-color: #ccdff3 !important;
  border-radius: 0;
}

.Calendar__cell__inner button.is-active,
.Calendar__cell__inner button.is-in-range.is-active {
  background-color: #0061c3 !important;
  border-radius: 2px;
  color: #fff;
}

.Calendar__cell__inner button.is-active.is-start {
  border-radius: 2px 0 0 2px;
}

.Calendar__cell__inner button.is-active.is-end {
  border-radius: 0 2px 2px 0;
}

.Calendar__cell__inner button.Calendar__tooltip {
  color: #0061c3;
}

.Calendar__cell__inner button.Calendar__tooltip.is-active {
  color: #fff;
}

.Calendar__cell--active .Calendar__cell__inner button {
  background-color: transparent;
}

/**
 * Calendars
 *
 *
 *
 */

/**
 * Pagination
 *
 *
 *
 */

.Pagination__item {
  margin-right: 5px;
  margin-left: 5px;
}

.Pagination__item:first-child {
  margin-left: 0;
}

.Pagination__item:last-child {
  margin-right: 0;
}

.Pagination__item__link {
  height: 50px;
  width: 50px;
  border-radius: 2px;
  font-size: 16px;
  line-height: 28px;
}

.Pagination__item--current .Pagination__item__link,
.Pagination__item__link:hover {
  box-shadow: 0 0 0 1px rgba(0, 97, 195, 0.4);
  background-color: transparent;
  color: #2d404e;
}

/**
 * Checkbox
 *
 *
 *
 */

.Checkbox {
  font-size: 14px;
  line-height: 16px;
}

.Checkbox:focus {
  outline: none;
}

.Checkbox.Checkbox--large {
  font-size: 16px;
  line-height: 20px;
}

.Checkbox button {
  height: 16px;
  width: 16px;
  margin-right: 15px;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(45, 64, 78, 0.2);
}

.Checkbox.Checkbox--large button {
  height: 20px;
  width: 20px;
  background-color: #fff;
}

.Checkbox button:focus {
  box-shadow: 0 0 0 1px rgba(0, 97, 195, 0.2);
}

.Checkbox button::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin-top: 2px;
  margin-right: 2px;
  margin-bottom: 2px;
  margin-left: 2px;
  height: 12px;
  width: 12px;
  background-color: rgba(0, 97, 195, 0);
  -webkit-transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  content: '';
}

.Checkbox.is-selected button::after {
  background-color: #0061c3;
}

.Checkbox.Checkbox--large button::after {
  height: 16px;
  width: 16px;
}

/**
 * Filters
 *
 *
 *
 */

.Filters {
  padding-top: 30px;
  padding-right: 20px;
  padding-bottom: 30px;
  padding-left: 50px;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 305px;
  overflow: auto;
  background-color: #fff;
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.16);
  z-index: 3;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
  -webkit-transition: box-shadow 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  will-change: transform;
  -webkit-overflow-scrolling: touch;
}

.scroll-up .Filters {
  top: 60px;
}

@media (min-width: 992px) {
  .Filters {
    padding-right: 30px;
    padding-left: 30px;
    position: static;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    border: 1px solid #dddddd;
    border-radius: 2px;
    background-color: transparent;
    overflow: visible;
    width: auto;
    box-shadow: none;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    will-change: auto;
    z-index: auto;
  }

  .Filters::before,
  .Filters::after {
    content: '';
    display: table;
  }

  .scroll-up .Filters {
    top: 50px;
  }
}

.Filters.is-active {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.16);
}

.Filters__button {
  height: 20px;
  width: 20px;
  margin-left: auto;
}

.Filters__button svg {
  height: 100%;
  width: 100%;
  fill: #0061c3;
}

.Filters__title {
  margin-top: 30px;
  margin-bottom: 15px;
  font-size: 18px;
  line-height: 18px;
  color: #024990;
}

.Filters__title:first-of-type {
  margin-top: 0;
}

.Filters__items {
  margin-top: 15px;
  margin-bottom: 15px;
}

.Filters__items:last-of-type {
  margin-bottom: 0;
}

.Filters__item {
  margin-top: 10px;
  margin-bottom: 10px;
}

.Filters__item:last-child {
  margin-bottom: 0;
}

.Filters__item:first-child {
  margin-top: 0;
}

.Filters__submit {
  margin-top: 30px;
  width: 100%;
}

/**
 *
 *
 *
 */

/**
 * Period
 *
 *
 * @package adl
 */

.Period .List-button__navigation--previous {
  margin-left: 8.5px;
}

.Period .List-button__navigation--next {
  margin-right: 8.5px;
}

.Period__option {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  border-top: 1px solid #d5d9db;
  height: 0;
}

.Period__option .Calendars__body {
  margin-top: 20px;
  margin-bottom: 20px;
}

.Period__option:first-child {
  border-top: none;
}

.Period__option__body {
  padding-top: 23px;
  padding-bottom: 18px;
}

.Period__option h4 {
  margin-bottom: 5px;
  color: rgba(45, 64, 78, 0.6);
  font-size: 10px;
  line-height: 10px;
}

.Period__option.is-active {
  opacity: 1;
  visibility: visible;
  height: auto;
}

/**
 * List button
 *
 *
 *
 * @package adl
 */

.List-button {
  font-size: 15px;
  line-height: 15px;
  color: #024990;
  height: 30px;
}

.List-button:focus {
  outline: none;
}

.List-button ul {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin-right: 15px;
  margin-left: 15px;
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  will-change: transform;
}

.List-button[aria-orientation="horizontal"] ul {
  margin-right: 0;
  margin-left: 0;
}

.List-button li {
  margin-right: 11.34px;
  margin-left: 11.34px;
  padding-top: 7.5px;
  padding-bottom: 7.5px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.List-button[aria-orientation="horizontal"] li {
  -webkit-box-flex: 1;
          flex: 1;
}

.List-button__container {
  height: 30px;
  -webkit-box-flex: 1;
          flex: 1;
}

.List-button__navigation {
  height: 30px;
  width: 30px;
  z-index: 2;
}

.List-button__navigation svg {
  height: 11.34px;
  width: 7px;
  -webkit-transition: fill 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: fill 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  fill: rgba(45, 64, 78, 0.5);
}

.List-button__navigation:hover svg {
  fill: rgba(45, 64, 78, 0.7);
}

/**
 * Range
 *
 * @package adl
 */

.Range {
  margin-top: 20px;
  margin-bottom: 20px;
  margin-left: 52px;
}

.Range__container {
  margin-right: 5px;
  height: 233px;
  width: 40px;
}

.Range__container::after {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(to right, rgba(0, 97, 195, 0) 0%, rgba(0, 97, 195, 0) 18.5px, #0061c3 18.5px, #0061c3 21.5px, rgba(0, 97, 195, 0) 21.5px, rgba(0, 97, 195, 0) 100%);
  content: '';
}

.Range__thumb {
  height: 40px;
  width: 40px;
  position: absolute;
  border: 1px solid #0061c3;
  border-radius: 20px;
  background-color: #fff;
  z-index: 1;
}

.Range__thumb svg {
  height: 7px;
  width: 18px;
  fill: #0061c3;
}

.Range__aside {
  margin-top: 10px;
  margin-bottom: 10px;
  margin-left: 5px;
}

.Range__aside__label div:nth-child(1) {
  margin-bottom: 2px;
  font-size: 10px;
  line-height: 10px;
  color: rgba(45, 64, 78, 0.6);
}

.Range__aside__label div:nth-child(2) {
  font-size: 15px;
  line-height: 15px;
  color: #024990;
}

/**
 * Actuality
 *
 *
 *
 */

.Actuality {
  margin-top: 60px;
  margin-bottom: 60px;
}

@media (min-width: 992px) {
  .Actuality {
    margin-top: 80px;
    margin-bottom: 100px;
  }
}

/**
 * Enjoy
 *
 *
 *
 */

.Enjoy {
  padding-top: 60px;
  padding-bottom: 60px;
  background-color: #f8fafa;
}

@media (min-width: 992px) {
  .Enjoy {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.Enjoy__icons {
  margin-top: 10px;
  box-shadow: inset 0px 1px 0 0 rgba(45, 64, 78, 0.2);
}

@media (min-width: 992px) {
  .Enjoy__icons {
    margin-top: 0;
  }
}

.Enjoy__icon {
  height: 164px;
  width: 50%;
  padding-right: 30px !important;
  padding-left: 30px !important;
  font-size: 18px;
  line-height: 18px;
  -webkit-transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  box-shadow: inset 0px -1px 0 0 rgba(45, 64, 78, 0.2), inset -1px 0 0 rgba(45, 64, 78, 0.2);
}

.Enjoy__icon:hover {
  background-color: rgba(0, 97, 195, 0.2);
}

.Enjoy__icon:nth-child(even) {
  box-shadow: inset 0px -1px 0 0 rgba(45, 64, 78, 0.2);
}

.Enjoy__icon svg {
  height: 51.5px;
  width: 64.75px;
  margin-bottom: 18.5px;
  fill: #0061c3;
}

/**
 * Slideshow
 *
 *
 *
 */

.Slideshow {
  border-radius: 2px;
}

.Slideshow__items > .flickity-page-dots {
  bottom: 0;
  height: 30px;
}

@media (min-width: 992px) {
  .Slideshow__items > .flickity-page-dots {
    margin-right: 30px;
    margin-bottom: 15px;
    margin-left: 30px;
    width: auto;
    right: 0;
  }
}

.Slideshow__items > .flickity-page-dots .dot {
  height: 100%;
  width: 40px;
  margin-right: 10px;
  margin-left: 10px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) calc( 50% - 2px), white calc( 50% - 1px), white calc( 50% + 1px), rgba(255, 255, 255, 0) calc( 50% + 2px), rgba(255, 255, 255, 0) 100%);
  border-radius: 0;
  opacity: 1;
  -webkit-transition: background 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: background 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Slideshow__items > .flickity-page-dots .dot:first-child {
  margin-left: 0;
}

.Slideshow__items > .flickity-page-dots .dot:last-child {
  margin-right: 0;
}

.Slideshow__items > .flickity-page-dots .dot.is-selected {
  background: linear-gradient(to bottom, rgba(0, 97, 195, 0) 0%, rgba(0, 97, 195, 0) calc( 50% - 2px), #0061c3 calc( 50% - 1px), #0061c3 calc( 50% + 1px), rgba(0, 97, 195, 0) calc( 50% + 2px), rgba(0, 97, 195, 0) 100%);
}

.Slideshow__item {
  padding-top: 30px;
  padding-right: 30px;
  padding-bottom: 30px;
  padding-left: 30px;
  height: 328.34px;
  border-radius: 2px;
  background: #000;
  color: #fff;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);
}

.Slideshow__item__body {
  z-index: 2;
}

@media (min-width: 992px) {
  .Slideshow__item__body {
    width: 59.18367%;
  }
}

.Slideshow__item__body > *:first-child {
  margin-top: 0;
}

.Slideshow__item__body > *:last-child {
  margin-bottom: 0;
}

.Slideshow__item__category {
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 16px;
  line-height: 16px;
}

.Slideshow__item__title {
  margin-top: 15px;
  margin-bottom: 15px;
}

.Slideshow__item__footer {
  margin-top: auto;
  z-index: 2;
}

.Slideshow__item__thumbnail {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  opacity: 0.8;
  z-index: 1;
}

/**
 * Theme
 *
 *
 */

.Theme {
  margin-top: 20px;
  margin-bottom: 20px;
}

.Theme:last-child {
  margin-bottom: 0;
}

.Theme:first-child {
  margin-top: 0;
}

.Theme__item {
  margin-right: 5px;
  margin-left: 5px;
  -webkit-box-flex: 1;
          flex: 1;
  font-size: 12px;
  line-height: 12px;
  color: #024990;
}

.Theme__item:last-child {
  margin-right: 0;
}

.Theme__item:first-child {
  margin-left: 0;
}

.Theme__item svg {
  height: 21px;
  width: 25px;
  margin-bottom: 10px;
  fill: currentColor;
}

.Theme__item [role="radio"] {
  white-space: nowrap;
  opacity: 0.5;
  width: 100%;
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Theme__item [role="radio"]:hover,
.Theme__item [role="radio"]:focus {
  outline: none;
  opacity: 0.7;
}

.Theme__item [role="radio"].is-selected {
  opacity: 1;
}

/**
 *
 *
 *
 *
 */

.Insta-gram {
  margin-top: 40px;
  margin-bottom: 19.1px;
  padding-bottom: 10px;
}

@media (min-width: 992px) {
  .Insta-gram {
    margin-top: 80px;
    margin-bottom: 50px;
  }
}

.Insta-gram .Carousel__items {
  margin-right: 0;
  margin-left: 0;
}

.Insta-gram__item {
  height: 150px;
  width: 150px;
  border-radius: 2px;
}

@media (min-width: 992px) {
  .Insta-gram__item {
    height: 250px;
    width: 250px;
  }
}

.Insta-gram__item__img {
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.Insta-gram__overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: calc(50% - 20px);
  margin-right: auto;
  margin-left: auto;
  color: #fff;
}

.Insta-gram__overlay h2 {
  font-size: 19px;
  line-height: 19px;
}

@media (min-width: 992px) {
  .Insta-gram__overlay h2 {
    font-size: 85px;
    line-height: 85px;
  }
}

/**
 * Logo
 *
 *
 */

.Site-footer .Logo--lyon-aeroport {
  height: 56.4px;
  width: auto;
}

@media (min-width: 992px) {
  .Site-footer .Logo--lyon-aeroport {
    height: 68px;
    width: auto;
    margin-bottom: 4px;
  }
}

.Site-header .Logo--lyon-aeroport {
  margin-top: 10px;
  margin-bottom: 10px;
  margin-left: -10px;
  height: 40px;
  width: auto;
}

@media (min-width: 992px) {
  .Site-header .Logo--lyon-aeroport {
    margin-top: 13px;
    margin-bottom: 19px;
    margin-left: 0;
    height: 68px;
    width: auto;
  }
}

.Site-footer .Logo--vinci-aeroport {
  height: 41.47px;
  width: 183.49px;
}

@media (min-width: 992px) {
  .Site-footer .Logo--vinci-aeroport {
    height: 50px;
    width: 221.23px;
  }
}

.Site-header .Logo--vinci-aeroport {
  height: 50px;
  width: 221.23px;
  margin-top: 8px;
  margin-bottom: 12px;
}

/**
 * Socials
 *
 *
 *
 */

.Socials li a {
  height: 50px;
  width: 50px;
}

@media (min-width: 754px) {
  .Socials li a {
    height: 45px;
    width: 45px;
  }
}

@media (min-width: 1200px) {
  .Socials li a {
    height: 50px;
    width: 50px;
  }
}

.Socials li a svg {
  height: 18px;
  width: 18px;
  fill: #024990;
  -webkit-transition: fill 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: fill 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Socials li a:focus svg,
.Socials li a:hover svg {
  fill: #0061c3;
}

/**
 * Language selector
 *
 *
 *
 */

.Language-selector {
  z-index: 10;
  border-radius: 0px 0px 2px 2px;
  font-size: 12px;
  line-height: 16px;
  color: #999999;
  -webkit-transition: box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

@media (min-width: 992px) {
  .Language-selector {
    margin-right: -10px;
  }
}

.Language-selector:focus,
.Language-selector:hover,
.Language-selector.is-active {
  outline: none;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
  -webkit-filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.16));
}

.Language-selector.is-active svg {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.Language-selector.is-active .Language-selector__items {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.Language-selector__button {
  padding-top: 23px;
  padding-right: 12px;
  padding-bottom: 21px;
  padding-left: 10px;
}

@media (min-width: 992px) {
  .Language-selector__button {
    padding-top: 7px;
    padding-bottom: 5px;
  }
}

.Language-selector__button svg {
  margin-bottom: 2px;
  margin-left: 6.1px;
  height: 4px;
  width: 6px;
  fill: currentColor;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Language-selector__items {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0);
  -webkit-transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  background-color: #fff;
  z-index: 1;
}

.Language-selector__item {
  border-top: 1px solid #eef0f1;
}

.Language-selector__item a {
  padding-top: 23px;
  padding-right: 12px;
  padding-bottom: 21px;
  padding-left: 10px;
  -webkit-transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

@media (min-width: 992px) {
  .Language-selector__item a {
    padding-top: 7px;
    padding-bottom: 5px;
  }
}

.Language-selector__item a:hover {
  background-color: rgba(151, 151, 151, 0.2);
}

/**
 * Rapid search
 *
 *
 *
 */

.Quick-search {
  padding-top: 41px;
  padding-right: 41px;
  padding-bottom: 38px;
  padding-left: 41px;
  width: 360px;
  border-radius: 2px 0px 0px 2px;
  background: #0061c3;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
  color: #fff;
  z-index: 9;
}

.Home-page .Quick-search {
  position: fixed;
  top: 0;
  right: 0;
  margin-top: 205px;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
  -webkit-transform: translate3d(calc( 100% - 16px), 0, 0);
          transform: translate3d(calc( 100% - 16px), 0, 0);
}

.Home-page .Quick-search.is-active {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.Quick-search__button {
  position: absolute;
  top: 0;
  right: 100%;
  margin-top: 41px;
  height: 50px;
  width: 50px;
  border-radius: 2px 0px 0px 2px;
  background-color: #2d404e;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
}

.Quick-search__button svg {
  height: 10px;
  width: 12px;
  fill: currentColor;
  -webkit-transition: tranform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: tranform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Quick-search.is-active .Quick-search__button svg {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.Quick-search__title {
  margin-top: 0;
  margin-bottom: 39px;
  font-size: 24px;
  line-height: 28px;
}

.Quick-search__items li {
  margin-top: 30px;
  margin-bottom: 30px;
}

.Quick-search__items li:first-child {
  margin-top: 0;
}

.Quick-search__items li:last-child {
  margin-bottom: 0;
}

.Quick-search__item {
  line-height: 22px;
  font-size: 20px;
}

.Quick-search__item small {
  font-size: 16px;
}

.Quick-search__item__icon {
  height: 60px;
  width: 60px;
  margin-right: 15px;
  border-radius: 30px;
  background-color: #024990;
}

.Quick-search__item__icon svg {
  height: 28.85px;
  width: 34.37px;
  fill: currentColor;
}

/**
 * Flight: type
 *
 *
 *
 */

.Flight-type {
  padding-top: 20.5px;
  padding-bottom: 20.5px;
  font-size: 20px;
  color: #024990;
  width: 100%;
  line-height: 20px;
  -webkit-transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Flight-type:hover {
  color: rgba(2, 73, 144, 0.6);
}

.Flight-type svg {
  height: 25px;
  width: 43px;
  margin-right: 30px;
  -webkit-transition: fill 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: fill 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

/**
 * FLight: types
 *
 *
 *
 */

.Flight-types {
  margin-top: 9.5px;
  margin-bottom: 9.5px;
}

.Flight-types li {
  border-bottom: 1px solid #dddddd;
}

.Flight-types li:last-child {
  border-bottom: none;
}

/**
 * Flight: times
 *
 *
 *
 */

.Flight-times {
  margin-top: 60px;
  margin-bottom: 60px;
  font-size: 15px;
  line-height: 20px;
  color: #2d404e;
}

.Flight-times__item {
  margin-top: 30px;
  margin-bottom: 30px;
}

.Flight-times__item [role="radio"] {
  opacity: 0.6;
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Flight-times__item [role="radio"]:focus,
.Flight-times__item [role="radio"]:hover,
.Flight-times__item [role="radio"].is-selected {
  outline: none;
  opacity: 1;
}

/**
 * Flight: plan
 *
 *
 *
 */

.Flight-plan__departure,
.Flight-plan__arrival {
  color: #024990;
  font-size: 24px;
  line-height: 24px;
}

.Flight-plan__departure {
  margin-right: 15px;
}

.Flight-plan__arrival {
  margin-left: 15px;
}

.Flight-plan__body {
  background-image: repeating-linear-gradient(90deg, transparent, transparent 3px, rgba(45, 64, 78, 0.2) 3px, rgba(45, 64, 78, 0.2) 5px);
  background-position-y: calc( 100% - 4.5px);
  background-size: 100% 1px;
  height: 15px;
}

@media (min-width: 992px) {
  .Flight-plan__body {
    margin-bottom: 5px;
  }
}

.Flight-plan__body::before,
.Flight-plan__body::after {
  height: 5px;
  width: 5px;
  margin-bottom: 2px;
  min-width: 5px;
  background-color: #0061c3;
  border-radius: 2.5px;
  content: '';
}

.Flight-plan__inner {
  -webkit-box-flex: 1;
          flex: 1;
}

.Flight-plan svg {
  height: 15px;
  width: 40px;
}

.Flight-plan.Flight-plan--departure svg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin-left: -6px;
}

.Flight-plan.Flight-plan--arrival svg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin-right: -6px;
}

/**
 * Flight: status
 *
 *
 *
 */

.Flight-status {
  font-size: 12px;
  line-height: 16px;
}

.Flight-status.Flight-status--success {
  color: #5ebf87;
}

.Flight-status.Flight-status--warning {
  color: #F79E43;
}

.Flight-status.Flight-status--danger {
  color: #dd482f;
}

.Flight-detail .Flight-status {
  margin-top: 0;
  font-size: 16px;
  line-height: 21px;
}

.Flight-plan .Flight-status {
  margin-top: 7px;
}

/**
 * Flight
 *
 *
 *
 */

.Flight {
  padding-top: 20px;
  padding-bottom: 19px;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15);
  /* Don't display MONA internal test flight */
}

@media (min-width: 992px) {
  .Flight {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}

.Flight[data-displaycode="I"] {
  display: none !important;
}

.Flight.Flight-mobile {
  width: 100%;
  padding-top: 0;
}

@media (min-width: 992px) {
  .Flight.Flight-mobile {
    height: 300px;
    margin-top: 10px;
    margin-bottom: 10px;
  }
}

@media (max-width: 1199.98px) {
  .Flight.Flight-mobile {
    margin-top: 5px;
    margin-bottom: 5px;
  }
}

.Flight.Flight-mobile .Flight__column {
  width: 100%;
  text-align: center;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-right: 10px;
  padding-left: 10px;
}

.Flight.Flight-mobile .Flight__body {
  padding: 0 20px;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
          flex-direction: column !important;
  margin-right: -10px;
  margin-left: -10px;
}

.Flight.Flight-mobile .Flight__origin {
  margin-bottom: 0;
}

.Flight.Flight-mobile .Flight__terminal {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 19px;
}

.Flight.Flight-mobile .Flight__number {
  margin-top: 0;
  width: 40%;
}

.Flight.Flight-mobile .Flight__number .Dropdown__button {
  -webkit-box-pack: center;
          justify-content: center;
}

.Flight.Flight-mobile .Flight__link {
  margin-top: 0;
}

.Flight.Flight-mobile .Flight__list_direction {
  color: white;
  background: #0078f0;
  text-align: center;
  padding: 15px 10px 10px;
  font-size: 20px;
  margin-bottom: 5px;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  height: 40px;
}

@media (min-width: 992px) {
  .Flight__column {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media (min-width: 992px) {
  .Flight__column:nth-child(1) {
    padding-left: 35px;
    width: 16.66667%;
  }
}

@media (min-width: 992px) {
  .Flight__column:nth-child(2) {
    width: 8.33333%;
  }
}

@media (min-width: 992px) {
  .Flight__column:nth-child(3) {
    width: 8.33333%;
  }
}

.Flight__column:nth-child(4) {
  width: 100%;
}

@media (min-width: 992px) {
  .Flight__column:nth-child(4) {
    width: 25%;
  }
}

.Flight__column:nth-child(5) {
  width: 16.66667%;
}

@media (min-width: 992px) {
  .Flight__column:nth-child(6) {
    width: 8.33333%;
  }
}

@media (min-width: 992px) {
  .Flight__column:nth-child(7) {
    padding-right: 25px;
    width: 16.66667%;
  }
}

.Flight__header {
  padding-top: 20px;
  padding-bottom: 20px;
  border-radius: 2px;
  background: #024990;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15);
  color: #fff;
  font-size: 14px;
  line-height: 14px;
}

.Flight__header__body {
  margin-right: -10px;
  margin-left: -10px;
}

@media (min-width: 992px) {
  .Flight__body {
    margin-right: -10px;
    margin-left: -10px;
  }
}

.Flight__origin {
  margin-top: 0;
  margin-bottom: 1px;
  font-size: 18px;
  line-height: 22px;
  color: #024990;
}

@media (min-width: 992px) {
  .Flight__origin {
    margin-bottom: 0;
  }
}

.Flight__terminal {
  margin-bottom: 9px;
  letter-spacing: 0.04em;
  font-size: 12px;
  line-height: 16px;
  color: rgba(45, 64, 78, 0.5);
}

@media (min-width: 992px) {
  .Flight__terminal {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 19px;
  }
}

.Flight__number {
  margin-top: 2px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 18px;
  color: #2d404e;
}

@media (min-width: 992px) {
  .Flight__number {
    margin-top: 0;
  }
}

.Flight__airline {
  margin-bottom: 0;
  font-size: 18px;
  line-height: 18px;
  color: #2d404e;
}

.Flight__link {
  margin-top: 10px;
}

.Flight__link .Button {
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  opacity: 1;
}

.Flight__link .Button[disabled] {
  opacity: 0.6;
}

@media (min-width: 992px) {
  .Flight__link {
    margin-top: 0;
  }
}

/**
 * Flights
 *
 *
 *
 *
 */

.Flights li {
  margin-top: 10px;
  margin-bottom: 10px;
}

@media (min-width: 992px) {
  .Flights li.promo {
    max-height: 80px;
  }
}

.Flights li.promo img {
  width: 100%;
  display: table-row;
}

.Flights li.promo a {
  display: table;
  width: 100%;
}

.Flights li:first-child {
  margin-top: 0;
}

.Flights li::last-child {
  margin-bottom: 0;
}

.Flights--no-results {
  padding-top: 10px;
  color: #024990;
  text-align: center;
}

/**
 * Card: readmore
 *
 *
 *
 */

.Card-readmore {
  border-radius: 2px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
  color: #fff;
  height: 260px;
}

@media (min-width: 992px) {
  .Card-readmore {
    height: 460px;
  }
}

@media (min-width: 992px) {
  .Card-readmore--medium {
    height: 350px;
  }
}

.Card-readmore .Button {
  max-width: 100%;
}

.Card-readmore:hover .Button {
  background-color: #024990;
}

.Card-readmore__title {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.Card-readmore__background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}

.Card-readmore__body {
  padding-top: 30px;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
}

@media (min-width: 992px) {
  .Card-readmore__body {
    margin-right: 30px;
    margin-bottom: 30px;
    margin-left: 30px;
  }
}

/**
 * Spin button
 *
 *
 *
 */

.Spin-button svg {
  height: 20px;
  width: 25px;
  margin-right: 20px;
}

.Spin-button.Spin-button--large {
  padding-top: 9.5px;
  padding-right: 20px;
  padding-bottom: 9.5px;
  padding-left: 20px;
  background-color: #fff;
  border-radius: 2px;
  border: 1px solid #d5d9db;
}

.Spin-button__label {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  line-height: 21px;
}

.Spin-button__information {
  margin-top: -2px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 19px;
  color: #999999;
}

.Spin-button.Spin-button--large .Spin-button__information {
  margin-top: 0;
  font-size: 16px;
  line-height: 21px;
}

.Spin-button.Spin-button--large .Spin-button__information::before {
  content: '\A0';
}

.Spin-button__column:first-child {
  margin-right: auto;
}

.Spin-button__button {
  height: 40px;
  width: 40px;
  border-radius: 2px;
  background: #999999;
  -webkit-transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Spin-button__button[disabled] {
  opacity: 0.4;
}

.Spin-button.Spin-button--large .Spin-button__button {
  height: 25px;
  width: 25px;
  border-radius: 12.5px;
  border: 1px solid #d5d9db;
  background: transparent;
  line-height: 21px;
  -webkit-transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), border-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), border-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Spin-button.Spin-button--large .Spin-button__button:hover {
  border-color: #0061c3;
  background-color: #0061c3;
  color: #fff;
}

.Spin-button.Spin-button--large .Spin-button__button[disabled]:hover {
  border-color: #d5d9db;
  background-color: transparent;
  color: #2d404e;
}

.Spin-button__input {
  height: 40px;
  width: 38px;
  font-size: 16px;
  line-height: 40px;
}

.Spin-button__input:focus {
  outline: none;
}

.Spin-button.Spin-button--large .Spin-button__input {
  height: 25px;
  width: 25px;
  line-height: 21px;
}

/**
 *
 *
 *
 *
 *
 */

.Select__item {
  font-size: 16px;
  line-height: 21px;
}

.Select__button {
  padding-top: 5px;
  padding-right: 20px;
  padding-bottom: 4px;
  padding-left: 20px;
  width: 100%;
  -webkit-transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Select__button:hover {
  background-color: rgba(248, 250, 250, 0.6);
}

.Select__button svg {
  height: 10.25px;
  width: 14px;
  opacity: 0;
  visibility: hidden;
  margin-right: 9px;
  min-width: 14px;
  -webkit-transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  fill: #0061c3;
}

.Select__button.is-selected {
  background-color: #f8fafa;
}

.Select__button.is-selected svg {
  opacity: 1;
  visibility: visible;
}

.Select__button:focus {
  outline: none;
}

/**
 * Dropdown
 *
 *
 *
 */

.Dropdown {
  line-height: 19px;
}

.Dropdown.Dropdown--medium {
  border: 1px solid #d5d9db;
  border-radius: 2px;
}

.Dropdown.Dropdown.Dropdown--medium.is-active svg {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.Dropdown.Dropdown--large {
  margin-right: 0;
  margin-left: 0;
  border: 1px solid #d5d9db;
  border-radius: 2px;
}

.Dropdown.Dropdown--webform {
  padding-top: 4px;
  padding-bottom: 4px;
}

.Dropdown select {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  color: inherit;
  padding: inherit;
  padding-left: 15px;
  padding-right: 36px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Dropdown,
.Dropdown__button {
  color: #2d404e;
  font-size: 14px;
  width: 100%;
}

.Dropdown span,
.Dropdown__button span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Dropdown svg,
.Dropdown__button svg {
  margin-left: 10px;
  height: 7px;
  width: 11.34px;
  min-width: 11.34px;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  fill: rgba(45, 64, 78, 0.5);
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.Dropdown.is-active .Dropdown svg,
.Dropdown.is-active .Dropdown__button svg {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.Dropdown__button {
  font-size: inherit;
}

.Dropdown--small {
  color: #0061c3;
  line-height: 21px;
  border-bottom: 1px dashed rgba(0, 97, 195, 0.5);
}

.Dropdown--medium {
  padding-top: 11px;
  padding-right: 20px;
  padding-bottom: 11px;
  padding-left: 20px;
  font-size: 16px;
  line-height: 21px;
  background-color: #fff;
  width: 100%;
}

.Dropdown--medium span {
  padding-right: 10px;
}

.Dropdown--medium svg {
  margin-left: auto;
  height: 21px;
  width: 16px;
  min-width: 16px;
  fill: #10213A;
}

.Dropdown--large {
  padding-top: 13.5px;
  padding-right: 20px;
  padding-bottom: 13.5px;
  padding-left: 20px;
  background-color: #fff;
  font-size: 16px;
  line-height: 21px;
  width: 100%;
}

.Dropdown--large span {
  margin-right: 20px;
}

.Dropdown--large svg {
  margin-left: auto;
}

.Dropdown__body {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 4px;
  color: #2d404e;
  width: 252px;
  border-radius: 0px 2px 2px 2px;
  background: #fff;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.3);
  -webkit-transition: visibility 0.3s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: visibility 0.3s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 2;
}

.Dropdown__body .Spin-button {
  margin-top: 10px;
  margin-right: 20px;
  margin-bottom: 10px;
  margin-left: 20px;
}

.Dropdown__body .Spin-button:first-child {
  margin-top: 20px;
}

.Dropdown__body .Spin-button:last-child {
  margin-bottom: 20px;
}

.Dropdown__body .Select {
  margin-top: 15px;
  margin-bottom: 15px;
}

.Dropdown.is-active .Dropdown__body {
  opacity: 1;
  visibility: visible;
}

.Dropdown.Dropdown--small .Dropdown__body {
  margin-top: 0;
  width: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.Dropdown.Dropdown--small.Dropdown--center .Dropdown__body {
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

.Dropdown.Dropdown--medium .Dropdown__body {
  margin-top: 19px;
  margin-right: 19px;
  margin-left: 14px;
  top: 0;
}

.Dropdown.Dropdown--large .Dropdown__body {
  margin-top: 24px;
  margin-right: 14px;
  margin-left: 14px;
  top: 0;
  width: calc(100% - 28px);
}

/**
 * Input date
 *
 *
 *
 */

.Input-date {
  line-height: 21px;
  font-size: 16px;
  -webkit-transition: box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  border: 1px solid #d5d9db;
  border-radius: 2px;
  color: rgba(45, 64, 78, 0.5);
  width: 100%;
}

.Input-date__button {
  padding-top: 11px;
  padding-right: 20px;
  padding-bottom: 11px;
  padding-left: 20px;
  width: 100%;
  font-size: 16px;
  line-height: 21px;
  background-color: #fff;
}

.Input-date__button > span {
  margin-left: 10px;
  text-overflow: ellipsis;
}

.Input-date.Input-date--medium .Input-date__button span {
  margin-left: 0;
  color: #2d404e;
}

.Input-date.Input-date--medium .Input-date__button span:first-child {
  margin-right: 20px;
  color: rgba(45, 64, 78, 0.6);
}

.Input-date.Input-date--medium .Input-date__button span:nth-child(2) {
  margin-right: 20px;
  -webkit-box-flex: 1;
          flex: 1;
}

.Input-date.Input-date--medium .Input-date__button svg {
  margin-left: auto;
  height: 19.5px;
  width: 17.5px;
  fill: #10213A;
}

.Input-date.Input-date--large .Input-date__button {
  padding-top: 13.5px;
  padding-bottom: 13.5px;
}

.Input-date.Input-date--large .Input-date__button span {
  margin-left: 0;
}

.Input-date.Input-date--large .Input-date__button svg {
  margin-right: 10px;
  margin-left: 0;
  height: 17.5px;
  width: 15.9px;
  fill: currentColor;
}

.Input-date__body {
  position: absolute;
  top: -53px;
  right: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto;
  padding-top: 12px;
  padding-bottom: 16px;
  opacity: 0;
  visibility: hidden;
  background-color: #fff;
  border-radius: 2px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
  width: calc( 100% - 28px);
  min-width: 253px;
  -webkit-transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 1;
}

.Input-date__body > .Calendar {
  margin-top: 20px;
  margin-bottom: 20px;
}

.Input-date__body > *:first-child {
  margin-top: 0;
}

.Input-date__body > *:last-child {
  margin-bottom: 0;
}

.Input-date.is-active .Input-date__body {
  opacity: 1;
  visibility: visible;
}

/**
 * Input time
 *
 *
 *
 */

.Input-time,
.Select-time {
  font-size: 16px;
  line-height: 21px;
  color: rgba(45, 64, 78, 0.5);
  border: 1px solid #d5d9db;
  border-radius: 2px;
  width: 100%;
}

.Input-time select,
.Select-time select {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  padding: inherit;
  padding-left: 36px;
  padding-right: 36px;
  color: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Input-time,
.Select-time,
.Input-time__button {
  padding-top: 11px;
  padding-right: 20px;
  padding-bottom: 11px;
  padding-left: 20px;
  background-color: #fff;
  width: 100%;
}

.Input-time.Input-time--large .Input-time,
.Input-time--large.Select-time .Input-time,
.Select-time.Select-time--large .Input-time,
.Input-time.Select-time--large .Input-time,
.Input-time.Input-time--large .Select-time,
.Input-time--large.Select-time .Select-time,
.Select-time.Select-time--large .Select-time,
.Input-time.Select-time--large .Select-time,
.Input-time.Input-time--large .Input-time__button,
.Input-time--large.Select-time .Input-time__button,
.Select-time.Select-time--large .Input-time__button,
.Input-time.Select-time--large .Input-time__button {
  padding-top: 13.5px;
  padding-bottom: 13.5px;
}

.Input-time span:first-child,
.Select-time span:first-child,
.Input-time__button span:first-child {
  margin-right: 7px;
  color: rgba(45, 64, 78, 0.6);
}

.Input-time svg,
.Select-time svg,
.Input-time__button svg {
  margin-left: auto;
  height: 5px;
  width: 9px;
  fill: #b1aea8;
}

.Input-time[data-node-type="FormTimeBlock"],
.Select-time[data-node-type="FormTimeBlock"] {
  padding: 0;
}

.Input-time--large svg,
.Select-time--large svg {
  margin-right: 10px;
  margin-left: 0;
  height: 17.5px;
  width: 17.5px;
  fill: currentColor;
}

.Input-time--medium,
.Select-time--medium {
  color: #2d404e;
}

.Input-time__body {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin-top: 24px;
  margin-right: 14px;
  margin-left: 14px;
  padding-top: 5px;
  padding-bottom: 5px;
  opacity: 0;
  visibility: hidden;
  width: 77px;
  max-height: 273px;
  outline: none;
  border-radius: 0px 2px 2px 2px;
  background: #fff;
  color: #2d404e;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.3);
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  -webkit-transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 1;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.Input-time__body::-webkit-scrollbar {
  width: 0px;
  background: transparent;
}

.Input-time__body.is-active {
  opacity: 1;
  visibility: visible;
}

.Input-time__body li {
  padding-top: 10px;
  padding-bottom: 10px;
  -webkit-transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.Input-time__body li:hover,
.Input-time__body li.is-active {
  background-color: #f8fafa;
}

/**
 *
 *
 *
 *
 */

.Input {
  width: 100%;
  border: 1px solid #d5d9db;
  border-radius: 2px;
  background-color: #fff;
  -webkit-transition: box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  font-size: 16px;
  line-height: 21px;
}

.Input input {
  padding-top: 11px;
  padding-right: 20px;
  padding-bottom: 11px;
  padding-left: 20px;
  -webkit-box-flex: 1;
          flex: 1;
}

.Input input:focus {
  outline: none;
}

.Input.Input--drop-shadow {
  -webkit-filter: drop-shadow(0px 2px 0px rgba(0, 0, 0, 0.1));
          filter: drop-shadow(0px 2px 0px rgba(0, 0, 0, 0.1));
}

.Input.Input--large input {
  padding-top: 13.5px;
  padding-bottom: 13.5px;
}

.Input.Input--extra-large {
  font-size: 18px;
  line-height: 20px;
}

.Input.Input--extra-large input {
  padding-top: 19px;
  padding-bottom: 19px;
}

.Input__label {
  padding-top: 11px;
  padding-bottom: 11px;
  color: rgba(45, 64, 78, 0.2);
}

.Input__label--prepend {
  padding-right: 4px;
  padding-left: 20px;
}

.Input__label--prepend + input {
  padding-left: 4px;
}

.Input.Input--large .Input__label--prepend {
  padding-top: 14px;
  padding-bottom: 14px;
}

.Input.Input--extra-large .Input__label--prepend {
  padding-top: 19px;
  padding-bottom: 19px;
}

.Input__label--search {
  margin-right: 0;
  margin-left: 0;
  padding-top: 11px;
  padding-right: 20px;
  padding-bottom: 11px;
  padding-left: 20px;
}

.Input__label--search svg {
  height: 20px;
  width: 19px;
  fill: #2d404e;
}

.Input.Input--large .Input__label--search {
  padding-top: 14px;
  padding-bottom: 14px;
}

.Input.Input--extra-large .Input__label--search {
  padding-top: 19px;
  padding-bottom: 19px;
}

/**
 * Search form
 *
 *
 *
 */

.Search-form {
  padding-top: 15px;
  padding-right: 15px;
  padding-bottom: 15px;
  padding-left: 15px;
  font-size: 16px;
  line-height: 21px;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
  color: #2d404e;
}

/**
 * Teaxtarea
 *
 *
 */

.Textarea {
  border: 1px solid #d5d9db;
  border-radius: 2px;
  background-color: #fff;
  font-size: 16px;
  line-height: 21px;
}

.Textarea textarea {
  padding-top: 11px;
  padding-right: 20px;
  padding-bottom: 11px;
  padding-left: 20px;
  height: 180px;
  width: 100%;
  resize: none;
}

.Textarea textarea:focus {
  outline: none;
}

/**
 * Switch
 *
 *
 *
 */

.Switch {
  padding-top: 11px;
  padding-right: 19px;
  padding-bottom: 11px;
  padding-left: 19px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 25px;
  font-size: 16px;
  line-height: 21px;
}

@media (min-width: 992px) {
  .Switch {
    font-size: 20px;
    line-height: 26px;
  }
}

.Switch:focus {
  outline: none;
}

.Switch__label {
  margin-right: 10px;
}

@media (min-width: 992px) {
  .Switch__label {
    margin-right: 20px;
  }
}

.Switch__slider {
  height: 25px;
  width: 60px;
  letter-spacing: 0.02em;
  padding-right: 12px;
  padding-left: 12px;
  font-size: 12px;
  line-height: 12px;
  border-radius: 12.5px;
  background-color: #fff;
  color: #999999;
}

.Switch__slider span {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}

.Switch[aria-checked="false"] .Switch__slider span:last-child {
  opacity: 1;
  visibility: visible;
}

.Switch__slider span:first-child {
  color: #0061c3;
}

.Switch[aria-checked="true"] .Switch__slider span:first-child {
  opacity: 1;
  visibility: visible;
}

.Switch__slider::before {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 5px;
  height: 15px;
  width: 15px;
  -webkit-transform: translateX(40px);
          transform: translateX(40px);
  background-color: #0061c3;
  border-radius: 7.5px;
  -webkit-transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1), background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1), background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  content: '';
}

.Switch[aria-checked="false"] .Switch__slider::before {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
  background-color: #dddddd;
}

/**
 * Badge
 *
 *
 *
 */

.Badge {
  letter-spacing: 0.05em;
  height: 40px;
  width: 40px;
  min-width: 40px;
  border-radius: 2px;
  background: #0061c3;
  color: #fff;
  font-size: 20px;
  line-height: 28px;
}

.Badge small {
  font-size: 10px;
}

.Badge svg {
  height: 24px;
  width: 27px;
  fill: currentColor;
}

.Badge.Badge--rounded {
  border-radius: 50%;
}

.Badge.Badge--extra-extra-small {
  height: 16px;
  width: 16px;
  letter-spacing: 0em;
  font-size: 12px;
  line-height: 16px;
  min-width: 16px;
}

.Badge.Badge--extra-extra-small svg {
  height: 10px;
  width: 10px;
}

.Badge.Badge--extra-small {
  height: 28px;
  width: 28px;
  min-width: 28px;
  font-size: 12px;
}

.Badge.Badge--extra-small svg {
  height: 12px;
  width: 12px;
}

.Badge.Badge--small {
  height: 35px;
  width: 35px;
  min-width: 35px;
  font-size: 16px;
}

.Badge.Badge--small svg {
  height: 16px;
  width: 16px;
  fill: #fff;
}

.Badge.Badge--large {
  height: 56px;
  width: 56px;
  min-width: 56px;
}

.Badge.Badge--extra-large {
  height: 70px;
  width: 70px;
  font-size: 30px;
  line-height: 70px;
}

.Badge.Badge--extra-extra-large {
  height: 75px;
  width: 75px;
  font-size: 40px;
  line-height: 28px;
}

@media (min-width: 992px) {
  .Badge.Badge--extra-extra-large {
    min-width: 75px;
  }
}

.Badge.Badge--super-extra-large {
  height: 130px;
  width: 130px;
  font-size: 40px;
  line-height: 28px;
}

@media (min-width: 992px) {
  .Badge.Badge--super-extra-large {
    min-width: 130px;
  }
}

.Badge.Badge--super-extra-large svg {
  width: 50px;
  height: 50px;
}

.Badge.Badge--success {
  background-color: #5ebf87;
}

.Badge.Badge--warning {
  background-color: #F79E43;
}

.Badge.Badge--danger {
  background-color: #dd482f;
}

.Badge.Badge--dark {
  background-color: #2d404e;
}

.Badge.Badge--light {
  background-color: #fff;
  color: #0061c3;
}

.Badge.Badge--info {
  background-color: #999999;
}

.webform-submission-form .Checkbox {
  margin-bottom: 10px;
  font-size: 1em;
}

.Home-slider .Carousel-cards__items {
  height: 650px;
}

.Home-slider .Carousel-cards__item {
  height: 650px;
}

.Home-slider .Carousel-cards__item .card-wide {
  height: 100%;
}

.Home-slider .Carousel-cards__item .Home-slider__item_image {
  padding: 0;
}

.Home-slider .Carousel-cards__item .Home-slider__item_image img {
  width: 100%;
  height: auto;
}

.Home-slider .Carousel-cards__item .Home-slider__item_body {
  background: #0061c2;
  color: white;
  padding: 95px 15px 80px 15px;
}

@media screen and (max-width: 768px) {
  .Home-slider .Carousel-cards__item .Home-slider__item_body {
    padding: 55px 15px 80px 15px;
    height: 100%;
    margin-top: -10px;
  }
}

.Home-slider .Carousel-cards__item .Home-slider__item_body h1 {
  margin-left: -75px;
  font-family: Vinci Sans, Arial, sans-serif;
  text-transform: uppercase;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .Home-slider .Carousel-cards__item .Home-slider__item_body h1 {
    margin: 0;
    text-align: center;
    font-size: 3rem;
  }
}

.Home-slider .Carousel-cards__item .Home-slider__item_body .Home-slider__item_description {
  text-align: center;
  margin-top: 75px;
  font-size: 1.8rem;
  font-weight: 500;
  font-style: normal;
  color: #fff;
  line-height: 1.14;
  padding: 0 10%;
}

@media screen and (max-width: 768px) {
  .Home-slider .Carousel-cards__item .Home-slider__item_body .Home-slider__item_description {
    margin-top: 35px;
    padding: 0;
    font-size: 1.4rem;
  }
}

.Home-slider .Carousel-cards__item .Home-slider__item_body .Home-slider__item_description .rank {
  text-transform: uppercase;
}

.Home-slider .Carousel-cards__item .Home-slider__item_body .Home-slider__item_description .rank-number {
  font-size: 3rem;
  margin: 0;
}

@media screen and (max-width: 768px) {
  .Home-slider .Carousel-cards__item .Home-slider__item_body .Home-slider__item_description .rank-number {
    font-size: 2rem;
  }
}

.promotionnal-banner {
  height: initial;
}

.promotionnal-banner img {
  width: 100%;
}

@media (min-width: 992px) {
  .promotionnal-banner {
    height: 80px;
  }
}

/**
 * 404
 */

.error404 {
  height: 100%;
}

.error404__wrapper {
  height: 100%;
}

.error404__body {
  padding-bottom: 20px;
  z-index: 2;
}

.error404.error404--not-found .error404__body {
  padding-top: 62px;
}

@media (min-width: 992px) {
  .error404.error404--not-found .error404__body {
    padding-top: 125px;
  }
}

.error404.error404--unknown-destination .error404__body {
  margin-top: auto;
}

.error404__footer {
  padding-bottom: 40px;
  z-index: 2;
}

.error404.error404--not-found .error404__footer {
  margin-top: 40px;
}

.error404__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -o-object-position: center;
     object-position: center;
  z-index: 1;
}

.error404__image--cover {
  font-family: "object-fit:cover";
  -o-object-fit: cover;
     object-fit: cover;
}

.error404__image--scale-down {
  font-family: "object-fit:scale-down";
  -o-object-fit: scale-down;
     object-fit: scale-down;
}

.all-destinations .Destination__list__body {
  position: relative;
  min-height: 2940px;
}

@media (max-width: 992px) {
  .all-destinations .Destination__list__body {
    min-height: 2115px;
  }
}

.all-destinations .Destination__list__body #ajaxBox_loader {
  position: absolute;
  width: 100%;
  text-align: center;
  background-color: #8080805c;
  height: 100%;
  z-index: 4;
  top: 0;
}

.all-destinations .Destination__list__body #ajaxBox_loader img {
  width: 50px;
  margin-top: 100px;
}

.all-destinations .Destination__list__body #destinations_no_results {
  margin: 20px;
}

.all-destinations .Button-subtext {
  display: -webkit-box;
  display: flex;
  width: 90%;
  font-size: 12px;
  font-style: italic;
  font-weight: 300;
  margin: 0;
  position: absolute;
  bottom: 10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  overflow: hidden;
  text-overflow: ellipsis;
}

.Button--primary .all-destinations .Button-subtext {
  color: #fff;
}

@media (min-width: 992px) {
  .all-destinations .Button-subtext {
    position: unset;
    font-size: 16px;
    -webkit-transform: none;
            transform: none;
    display: block;
    margin-bottom: 5px;
  }

  .all-destinations .Button-subtext .active {
    color: #0061c3;
  }
}

.all-destinations .Button--big {
  height: 47px !important;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 24px;
  display: -webkit-box !important;
  display: flex !important;
  flex-wrap: wrap;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  padding: 10px 0;
}

.all-destinations .Button--big svg {
  width: 24px !important;
  height: 24px !important;
  border-radius: 100%;
  padding: 4px;
  border: 2px solid #fff;
  -webkit-transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
}

@media (min-width: 992px) {
  .all-destinations .Button--big svg {
    padding: 3px;
    border: 3px solid #fff;
  }
}

.all-destinations .Button--big:hover,
.all-destinations .Button--big.active {
  background-color: #024990;
}

@media (min-width: 992px) {
  .all-destinations .Button--big {
    height: 80px !important;
    font-size: 20px;
    padding: 15px 0 0;
  }

  .all-destinations .Button--big.active svg {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}

.all-destinations .Button--filter {
  color: #2d404e;
  background-color: #fff;
  border: 1px solid #d5d9db;
  font-size: 16px;
  letter-spacing: 0;
  font-weight: normal;
  border-left: 0;
}

.all-destinations .Button--filter-first {
  border: 1px solid #d5d9db !important;
}

.all-destinations .Button--filter--mobile {
  height: 60px !important;
  font-size: 12px;
  height: unset;
}

.all-destinations .Button--filter:hover {
  color: #0061c3;
  background-color: #f8fafa;
}

.all-destinations .Button--filter.active {
  color: #0061c3;
  background-color: #ccdff3;
}

.all-destinations .Button--search {
  border: 1px solid #d5d9db;
  border-radius: 4px;
}

.all-destinations .Button--search svg {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 20px !important;
  height: 20px !important;
  padding: 0;
  border-radius: 0;
  border: 0;
  color: #2d404e;
}

.all-destinations .Button[disabled] {
  pointer-events: none;
  opacity: .5;
}

.all-destinations .Filters {
  height: 100%;
}

.all-destinations .Filters-box + .all-destinations .Filters-box .Filters {
  border-left: 0;
}

.all-destinations .Filters__items {
  margin: 0;
}

.all-destinations .Switch__slider {
  background: #F8FAFA;
}

@media (max-width: 992px) {
  .all-destinations .Switch__slider {
    -webkit-box-ordinal-group: 0;
            order: -1;
  }

  .all-destinations .Switch__slider::before {
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
}

.all-destinations .Switch--small {
  padding: 5px;
  -webkit-box-pack: justify;
          justify-content: space-between;
}

@media (min-width: 992px) {
  .all-destinations .Switch--small {
    width: 100%;
  }
}

@media (max-width: 992px) {
  .all-destinations .Switch--small .Switch__slider {
    font-size: 8px;
    padding-left: 5px;
    height: 16px;
    width: 53px;
    margin-right: 5px;
    -webkit-transform: none;
            transform: none;
  }

  .all-destinations .Switch--small .Switch__slider::before {
    height: 10px;
    width: 10px;
    margin-top: 3px;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }

  .all-destinations .Switch--small .Switch__slider span:first-child {
    margin-right: 17px;
  }
}

.all-destinations .Switch__label--small {
  font-size: 14px;
  font-weight: normal;
  margin-right: 0;
}

@media (min-width: 992px) {
  .all-destinations .Switch__label--small {
    font-size: 16px;
    margin-right: 10px;
  }
}

.all-destinations .Theme__item {
  position: relative;
  min-width: 52px;
}

@media (min-width: 992px) {
  .all-destinations .Theme__item {
    margin-right: 15px;
  }
}

.all-destinations .Theme__item + .all-destinations .Theme__item {
  margin-right: 0;
}

@media (min-width: 992px) {
  .all-destinations .Theme__item + .all-destinations .Theme__item {
    margin-left: 15px;
  }
}

.all-destinations .Theme__checkbox {
  display: none;
}

.all-destinations .Theme__checkbox:checked + .Theme__checkbox-box {
  opacity: 1;
}

.all-destinations .Theme__checkbox-box {
  white-space: nowrap;
  opacity: .5;
  width: 100%;
  -webkit-transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  cursor: pointer;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-align: center;
          align-items: center;
}

.all-destinations .Theme__checkbox-box:hover {
  opacity: 1;
}

.all-destinations .Theme__checkbox-square {
  position: absolute;
  top: 0;
  right: 0;
  width: 14px;
  height: 14px;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
  background-color: #fff;
}

@media (max-width: 992px) {
  .all-destinations .Theme__checkbox-square {
    top: 18px;
    right: 20%;
  }
}

.all-destinations .Theme__checkbox-square::before,
.all-destinations .Theme__checkbox-square::after {
  content: '';
  position: absolute;
  top: 50%;
  border-radius: 3px;
}

.all-destinations .Theme__checkbox-square::before {
  left: 0;
  width: 14px;
  height: 14px;
  border: 1px solid #D8D8D8;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.all-destinations .Theme__checkbox-square::after {
  left: 2px;
  width: 10px;
  height: 10px;
  -webkit-transform: translateY(-50%) scale(0);
          transform: translateY(-50%) scale(0);
  -webkit-transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  background: #0061c3;
}

.all-destinations .Theme__checkbox-group {
  display: -webkit-box;
  display: flex;
  margin: 0 auto 20px;
}

@media (min-width: 992px) {
  .all-destinations .Theme__checkbox-group {
    margin-bottom: 0;
    border-right: 1px solid #024990;
    padding: 0 5%;
  }
}

.all-destinations .Theme__checkbox-group:last-child {
  border: none;
}

.all-destinations .Theme__checkbox:checked + .Theme__checkbox-square::after {
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
}

.all-destinations .Destination__list__item {
  -webkit-transition: all 0.5s linear;
  transition: all 0.5s linear;
}

.all-destinations .Destination__list__item.delay {
  opacity: 0;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
}

.all-destinations .Card-destination {
  position: relative;
}

.all-destinations .Card-destination__tag {
  position: absolute;
  right: 10px;
  top: 10px;
  background: #0061c3;
  color: white;
  border-radius: 5px;
  font-size: 11px;
  line-height: 13px;
  padding: 4px 7.5px;
  z-index: 2;
}

@media (min-width: 992px) {
  .all-destinations .Card-destination__tag {
    font-size: 14px;
    line-height: 17px;
    right: 20px;
    top: 20px;
  }
}

.all-destinations .Card-destination__city {
  margin: 0;
  font-size: 24px;
}

@media (min-width: 992px) {
  .all-destinations .Card-destination__city {
    font-size: 32px;
  }
}

.all-destinations .Card-destination__price {
  height: 22px;
  -webkit-transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1), height 0.9s cubic-bezier(0.19, 1, 0.22, 1), margin 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1), height 0.9s cubic-bezier(0.19, 1, 0.22, 1), margin 0.9s cubic-bezier(0.19, 1, 0.22, 1);
}

.all-destinations .Card-destination__wishlist {
  padding: 10px;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
}

@media (min-width: 992px) {
  .all-destinations .Card-destination__wishlist {
    position: absolute;
    right: -5px;
    bottom: -10px;
    z-index: 50;
  }
}

.all-destinations .Card-destination__wishlist:hover {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}

.all-destinations .Card-destination__wishlist svg {
  width: 22px;
  height: 22px;
}

.all-destinations .Card-destination__action {
  display: -webkit-box;
  display: flex;
  font-size: 18px;
  -webkit-transition: margin 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: margin 0.9s cubic-bezier(0.19, 1, 0.22, 1);
}

.all-destinations .Card-destination__action + .all-destinations .Card-destination__action {
  margin-top: 16px;
}

.all-destinations .Card-destination__action:hover {
  margin-left: 6px;
}

@media (max-width: 992px) {
  .all-destinations .Card-destination__action {
    -webkit-box-flex: 1;
            flex: 1;
    -webkit-box-pack: center;
            justify-content: center;
    -webkit-box-align: center;
            align-items: center;
  }

  .all-destinations .Card-destination__action + .all-destinations .Card-destination__action {
    margin: 0;
  }

  .all-destinations .Card-destination__action:first-child {
    background-color: rgba(0, 0, 0, 0.94);
  }

  .all-destinations .Card-destination__action:last-child {
    background-color: rgba(0, 97, 195, 0.94);
  }
}

.all-destinations .Card-destination__actions {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  z-index: 10;
  opacity: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  pointer-events: none;
  -webkit-transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1), height 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1), height 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1), height 0.9s cubic-bezier(0.19, 1, 0.22, 1), transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1), height 0.9s cubic-bezier(0.19, 1, 0.22, 1), transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
}

@media (min-width: 992px) {
  .all-destinations .Card-destination__actions {
    height: 0;
    left: 20px;
    bottom: 20px;
    display: block;
    -webkit-transform: none;
            transform: none;
    width: 70%;
  }
}

.all-destinations .Card-destination__action svg {
  width: 22px;
  height: 22px;
  margin-right: 10px;
  border: 2px solid white;
  border-radius: 100%;
  padding: 4px;
}

.all-destinations .Card-destination:hover .all-destinations .Card-destination__price {
  pointer-events: none;
}

@media (min-width: 992px) {
  .all-destinations .Card-destination:hover .all-destinations .Card-destination__price {
    height: 0;
    opacity: 0;
    margin-bottom: 66px;
  }
}

.all-destinations .Card-destination:hover .all-destinations .Card-destination__actions {
  height: 100%;
  opacity: 1;
  pointer-events: inherit;
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
}

@media (min-width: 992px) {
  .all-destinations .Card-destination:hover .all-destinations .Card-destination__actions {
    height: 66px;
  }
}

.all-destinations .Card-destination__direct {
  font-size: 14px;
  font-weight: bold;
  line-height: 17px;
  margin: 5px 0 10px;
  min-height: 21px;
}

@media (min-width: 992px) {
  .all-destinations .Card-destination__direct {
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 22px;
  }
}

.all-destinations .Site-menu__item.locked {
  pointer-events: all !important;
}

.all-destinations .Site-menu__item:not(.locked) > .all-destinations .Site-menu__item-subitem {
  pointer-events: none !important;
}

.all-destinations .Site-menu__button--filter {
  font-size: 20px;
  color: #2d404e;
}

.all-destinations .Site-menu__button--filtergroup {
  color: #2d404e !important;
  font-size: 25px !important;
  font-weight: normal !important;
}

.all-destinations .Site-menu__button--all {
  font-size: 17px;
  font-weight: 500;
  -webkit-box-pack: center;
          justify-content: center;
}

.all-destinations .Site-menu__link {
  font-size: 14px;
}

.all-destinations .popup {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  opacity: 0;
  width: 90%;
  height: auto;
  max-width: 884px;
  background-color: #f8fafa;
  padding: 50px 10px 20px;
  -webkit-transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}

.popup__wrapper--open .all-destinations .popup {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@media (min-width: 992px) {
  .all-destinations .popup {
    max-height: 537px;
    height: 90%;
    padding: 30px;
  }
}

.all-destinations .popup__wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
}

.all-destinations .popup__wrapper--open {
  opacity: 1;
  pointer-events: all;
}

.all-destinations .popup__close {
  position: absolute;
  top: 30px;
  right: 15px;
  color: #000;
  cursor: pointer;
}

@media (min-width: 992px) {
  .all-destinations .popup__close {
    top: 20px;
    right: 20px;
  }
}

.all-destinations .popup__close svg {
  height: 28px;
  width: 28px;
  padding: 5px;
  border: 2px solid #000;
  border-radius: 100%;
}

@media (min-width: 992px) {
  .all-destinations .popup__close svg {
    height: 32px;
    width: 32px;
    padding: 6px;
  }
}

.all-destinations .popup .Widget {
  box-shadow: none !important;
}

@media (max-width: 992px) {
  .all-destinations .popup .Widget {
    padding: 20px 0 10px;
  }
}

.all-destinations .popup__background {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  cursor: pointer;
  background: #fff;
  opacity: 0;
  -webkit-transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
}

.popup__wrapper--open .all-destinations .popup__background {
  opacity: 0.7;
}

.all-destinations .popup__title {
  font-size: 21px;
  color: #0061c3;
  font-weight: 500;
  text-align: center;
  line-height: 24px;
  margin: 0;
}

.all-destinations .popup__title span {
  display: block;
}

@media (min-width: 992px) {
  .all-destinations .popup__title {
    font-size: 34px;
    line-height: 41px;
  }
}

.all-destinations .popup__info {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  padding: 40px;
  font-size: 14px;
  color: #2d404e;
}

.all-destinations .popup__info--title {
  font-size: 21px;
  color: #2d404e;
  font-weight: bold;
  text-align: justify;
}

.all-destinations .popup__info--text {
  padding: 20px 0;
  line-height: 24px;
}

.all-destinations .sidebar {
  position: fixed;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 99;
  padding: 0;
  background: #F8FAFA;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
}

.all-destinations .sidebar.active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.all-destinations .sidebar__body {
  overflow: scroll;
  height: calc(100% - 50px);
  padding: 22px 20px 0;
}

.all-destinations .sidebar__close {
  position: absolute;
  top: 22px;
  right: 18px;
  color: #000;
  cursor: pointer;
  z-index: 100;
}

@media (min-width: 992px) {
  .all-destinations .sidebar__close {
    top: 20px;
    right: 20px;
  }
}

.all-destinations .sidebar__close svg {
  height: 28px;
  width: 28px;
  padding: 5px;
  border: 2px solid #000;
  border-radius: 100%;
}

@media (min-width: 992px) {
  .all-destinations .sidebar__close svg {
    height: 32px;
    width: 32px;
    padding: 6px;
  }
}

.all-destinations .sidebar__header {
  padding: 22px 18px;
  padding-bottom: 0;
}

.all-destinations .sidebar__title {
  font-size: 25px;
  line-height: 30px;
  margin: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
}

.all-destinations .sidebar__title-before {
  width: 13px;
  height: 13px;
  margin-right: 15px;
}

.all-destinations .sidebar__nav {
  list-style: none;
}

.all-destinations .sidebar__nav-item {
  position: relative;
}

.all-destinations .sidebar__nav-link {
  display: block;
  font-size: 25px;
  color: #024990;
  padding: 20px 0;
  border-bottom: 1px solid #E6E9EA;
}

.all-destinations .sidebar__nav-link svg {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 12px;
  height: 12px;
}

.all-destinations .sidebar__nav-submenu {
  list-style: none;
  overflow: scroll;
  height: calc(100% - 50px);
  padding: 22px 18px;
}

.all-destinations .sidebar__nav-submenu-wrapper {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  padding: 0;
  background: #fff;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 1;
}

.all-destinations .sidebar__nav-submenu-wrapper.active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.all-destinations .sidebar__nav-submenu-wrapper .sidebar__header {
  cursor: pointer;
}

.all-destinations .sidebar__nav-submenu-wrapper .checkbox-label {
  display: block;
}

.all-destinations .sidebar__nav-submenu-item {
  padding: 7.5px 0;
}

.all-destinations .sidebar__button {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
}

.all-destinations .checkbox {
  display: none;
}

.all-destinations .checkbox-box {
  position: relative;
  text-align: left;
}

.all-destinations .checkbox-label {
  padding-left: 30px;
  cursor: pointer;
  -webkit-transition: color 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color 0.9s cubic-bezier(0.19, 1, 0.22, 1);
}

.all-destinations .checkbox-label:hover {
  color: #0061c3;
}

.all-destinations .checkbox-label::before,
.all-destinations .checkbox-label::after {
  content: '';
  position: absolute;
  top: 50%;
  border-radius: 4px;
}

.all-destinations .checkbox-label::before {
  left: 0;
  width: 19px;
  height: 19px;
  border: 1px solid #ddd;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.all-destinations .checkbox-label::after {
  left: 3px;
  width: 13px;
  height: 13px;
  -webkit-transform: translateY(-50%) scale(0);
          transform: translateY(-50%) scale(0);
  -webkit-transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  background: #0061c3;
}

.all-destinations input[type=checkbox].checkbox:checked + label::before {
  border-color: #0061c3;
}

.all-destinations input[type=checkbox].checkbox:checked + label::after {
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
}

.all-destinations .filter-tab {
  opacity: 0;
  max-height: 0;
  -webkit-transition: max-height 0.9s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: max-height 0.9s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  overflow: hidden;
}

.all-destinations .filter-tab.active {
  max-height: 620px;
  opacity: 1;
  overflow-y: auto;
}

@media (max-width: 992px) {
  .all-destinations .filter-tab .Button[type="submit"] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
  }
}

.all-destinations .filter-tab .Period__option {
  display: none;
  margin: auto;
}

.all-destinations .filter-tab .Period__option.is-active {
  display: block;
}

.all-destinations .filter-clear {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  height: 100%;
  -webkit-transition: color 0.9s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color 0.9s cubic-bezier(0.19, 1, 0.22, 1);
}

.all-destinations .filter-clear:hover {
  color: #0061c3;
}

.all-destinations .filter-continent {
  -webkit-box-align: stretch;
          align-items: stretch;
  -webkit-box-pack: stretch;
          justify-content: stretch;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  margin-top: -10px;
  margin-bottom: -10px;
}

.all-destinations .filter-continent.active {
  max-height: 520px;
  opacity: 1;
  margin-top: 0;
  margin-bottom: 0;
}

.all-destinations .filter__option {
  padding: 8px 12px !important;
  border-radius: 4px;
  color: #2d404e;
  background-color: #e2e4e6;
  font-size: 16px;
  font-weight: 500;
  line-height: 18px;
  position: relative;
  white-space: nowrap;
  margin: 0 5px 10px;
}

.all-destinations .filter__option-list {
  list-style: none;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  flex-wrap: wrap;
}

@media (min-width: 992px) {
  .all-destinations .filter__option {
    font-size: 20px;
    line-height: 24px;
    padding: 10px 20px !important;
    margin: 0 8px 10px;
  }
}

.all-destinations .filter__option:hover {
  color: #0061c3;
  background-color: #f8fafa;
}

.all-destinations .filter__option.active {
  color: #e2e4e6;
  background-color: #024990;
}

.all-destinations .filter__option.selected::after {
  content: '';
  position: absolute;
  right: 5px;
  top: 5px;
  width: 12px;
  height: 12px;
  background-color: #0061c3;
  border-radius: 100%;
}

.all-destinations .Input svg {
  height: 20px;
  width: 20px;
  position: absolute;
  right: 20px;
}

.all-destinations .rangeslider {
  position: relative;
  width: 100%;
  text-align: center;
  height: 70px !important;
}

@media (min-width: 992px) {
  .all-destinations .rangeslider {
    width: 300px;
    margin-top: -19px;
  }
}

.all-destinations .rangeslider input {
  cursor: pointer;
  position: absolute;
  -webkit-appearance: none;
  outline: none !important;
  background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(45%, transparent), color-stop(45%, #0061c3), color-stop(55%, #0061c3), color-stop(55%, transparent), to(transparent));
  background-image: linear-gradient(to bottom, transparent 0%, transparent 45%, #0061c3 45%, #0061c3 55%, transparent 55%, transparent 100%);
}

.all-destinations .rangeslider input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 30px;
  height: 30px;
  cursor: pointer;
}

@media (min-width: 992px) {
  .all-destinations .rangeslider input::-webkit-slider-thumb {
    width: 40px;
    height: 40px;
  }
}

.all-destinations .rangeslider input::-moz-range-thumb {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 30px;
  height: 30px;
  cursor: pointer;
  opacity: 0;
}

@media (min-width: 992px) {
  .all-destinations .rangeslider input::-moz-range-thumb {
    width: 40px;
    height: 40px;
  }
}

.all-destinations .rangeslider input::-ms-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 30px;
  height: 30px;
  cursor: pointer;
  opacity: 0;
}

@media (min-width: 992px) {
  .all-destinations .rangeslider input::-ms-thumb {
    width: 40px;
    height: 40px;
  }
}

.all-destinations .rangeslider input::-webkit-slider-runnable-track {
  cursor: pointer;
}

.all-destinations .rangeslider .value {
  color: #0061c3;
  display: inline-block;
  position: absolute;
  font-weight: bold;
  font-size: 15px;
  bottom: 50px;
}

@media (min-width: 992px) {
  .all-destinations .rangeslider .value {
    bottom: -25px;
  }
}

.all-destinations .rangeslider .value::after {
  content: "\20AC";
  display: inline-block;
}

.all-destinations .rangeslider .value::before {
  text-transform: uppercase;
  font-size: 11px;
  font-weight: normal;
  color: #6E6E6E;
  margin-right: 5px;
}

.all-destinations .rangeslider .value.lower {
  left: 0;
}

.all-destinations .rangeslider .value.lower::before {
  content: 'min';
}

.all-destinations .rangeslider .value.upper {
  right: 0;
}

.all-destinations .rangeslider .value.upper::before {
  content: 'max';
}

.all-destinations .rangeslider label {
  border: 1px solid #0061c3;
  border-radius: 100%;
  width: 40px;
  height: 40px;
  display: block;
  position: absolute;
  top: 60%;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  pointer-events: none;
  background: white;
  z-index: 1;
}

@media (min-width: 992px) {
  .all-destinations .rangeslider label {
    top: 68%;
  }
}

.all-destinations .rangeslider label[for="min"] {
  left: 0;
}

.all-destinations .rangeslider label[for="max"] {
  left: 280px;
}

.all-destinations .rangeslider label svg {
  width: 18px;
  height: 20px;
  color: #0061c3;
}

.all-destinations .rangeslider .legend {
  display: none;
}

/**
 * Editorial
 *
 *
 *
 */

.Editorial__introduction {
  margin-top: 20px;
  margin-bottom: 30px;
  line-height: 30px;
}

@media (min-width: 992px) {
  .Editorial__introduction {
    line-height: 40px;
    font-size: 30px;
  }
}

.Editorial__caution {
  margin-top: 60px;
  margin-bottom: 60px;
}

@media (min-width: 992px) {
  .Editorial__caution {
    margin-top: 150px;
    margin-bottom: 150px;
  }
}

.Editorial-body > h2,
.Editorial-body > h3 {
  color: #024990;
}

.Editorial-body > h3 {
  margin-top: 50px;
}

.Editorial-body > ul {
  padding-left: 20px;
}

.Editorial-body > p > a {
  color: #0061c3;
}

.Editorial-footer {
  padding-top: 50px;
  padding-bottom: 50px;
  background-color: #0061c3;
}

@media (min-width: 992px) {
  .Editorial-footer {
    padding-top: 65px;
    padding-bottom: 75px;
  }
}

.Editorial-footer__label {
  font-size: 30px;
  line-height: 34px;
}

@media (min-width: 992px) {
  .Editorial-footer__label {
    font-size: 40px;
  }
}

/**
 * FAQ
 *
 */

.FAQ-page__container {
  padding-top: 60px;
  padding-bottom: 80px;
}

.FAQ-page__container > *:first-child {
  margin-top: 0;
}

.FAQ-page__container > *:last-child {
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .FAQ-page__container {
    padding-top: 80px;
    padding-bottom: 100px;
  }
}

.FAQ-page__search {
  z-index: 2;
}

.FAQ-page__search .Search-form {
  margin-bottom: -40px;
  -webkit-transform: translateY(-40px);
          transform: translateY(-40px);
}

.FAQ-page__rgpd {
  text-align: left;
}

/**
 * Parking
 *
 *
 * @package adl
 */

.Parking-page__choices .flickity-page-dots {
  color: #0061c3;
}

.Parking-page__choices .Card-parking {
  height: 100%;
}

.Parking-page__choices__items {
  margin-top: 50px;
  margin-right: -10px;
  margin-left: -10px;
}

@media (min-width: 992px) {
  .Parking-page__choices__items {
    margin-top: 0;
  }
}

.Parking-page__choices__item {
  padding-right: 5px;
  padding-left: 5px;
  height: 100%;
  width: 50%;
  min-height: 370px;
}

@media (min-width: 992px) {
  .Parking-page__choices__item {
    padding-right: 10px;
    padding-left: 10px;
    margin-top: 20px;
    margin-bottom: 20px;
    height: 370px;
    width: 33.33333%;
  }
}

@media (min-width: 992px) {
  .Parking-page__map {
    margin-top: -60px;
    margin-bottom: -40px;
  }
}

.Parking-page__map img {
  height: auto;
  width: 100%;
}

.Parking-page__informations {
  padding-top: 60px;
  padding-bottom: 60px;
  background-color: #f8fafa;
}

@media (min-width: 992px) {
  .Parking-page__informations {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.Parking-page__informations__content {
  margin-top: 30px;
  font-size: 16px;
  line-height: 26px;
}

@media (min-width: 992px) {
  .Parking-page__informations__content {
    margin-top: 40px;
    font-size: 20px;
    line-height: 30px;
  }
}

.Parking-page__informations__content > *:first-child {
  margin-top: 0;
}

.Parking-page__informations__content > *:last-child {
  margin-bottom: 0;
}

.Parking-page__informations__card {
  padding-top: 30px;
  padding-right: 20px;
  padding-bottom: 30px;
  padding-left: 20px;
  height: 290px;
  border-radius: 2px;
  background-color: #fff;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
}

@media (min-width: 992px) {
  .Parking-page__informations__card {
    padding-right: 30px;
    padding-left: 30px;
  }
}

.Parking-page__informations__card .Badge {
  margin-right: 10px;
  height: 30px;
  width: 30px;
  min-width: 30px;
  font-size: 16px;
}

.Parking-page__informations__card .Badge svg {
  height: 18px;
  width: 20px;
}

@media (min-width: 992px) {
  .Parking-page__informations__card .Badge {
    height: 40px;
    width: 40px;
    min-width: 40px;
    font-size: 20px;
  }

  .Parking-page__informations__card .Badge svg {
    height: 24px;
    width: 27px;
  }
}

.Parking-page__informations__card__header {
  padding-bottom: 15.5px;
  margin-bottom: 15.5px;
  border-bottom: 1px solid #dddddd;
}

.Parking-page__informations__card__header > *:first-child {
  margin-top: 0;
}

.Parking-page__informations__card__header > *:last-child {
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .Parking-page__informations__card__header {
    padding-bottom: 20.5px;
    margin-bottom: 20.5px;
  }
}

.Parking-page__informations__card__header h3 {
  margin-top: 0;
  margin-bottom: 15px;
  color: #024990;
  font-size: 18px;
  line-height: 18px;
}

@media (min-width: 992px) {
  .Parking-page__informations__card__header h3 {
    font-size: 24px;
    line-height: 24px;
  }
}

.Parking-page__informations__card__list {
  margin-top: 20.5px;
}

.Parking-page__informations__card__list li {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 12px;
  line-height: 16px;
  color: #666666;
}

@media (min-width: 992px) {
  .Parking-page__informations__card__list li {
    font-size: 14px;
    line-height: 18px;
  }
}

.Parking-page__informations__card__list li:first-child {
  margin-top: 0;
}

.Parking-page__informations__card__list li:last-child {
  margin-bottom: 0;
}

.Parking-page__informations__card__content {
  margin-top: 15px;
  font-size: 14px;
  line-height: 18px;
}

@media (min-width: 992px) {
  .Parking-page__informations__card__content {
    font-size: 18px;
    line-height: 20px;
  }
}

.Parking-page__informations__card__content > *:first-child {
  margin-top: 0;
}

.Parking-page__informations__card__content > *:last-child {
  margin-bottom: 0;
}

/**
 * Destination
 *
 * @package adl
 */

.Destination__price {
  display: -webkit-box;
  display: flex;
  background: rgba(2, 2, 2, 0.7);
  padding: 10px;
  text-align: center;
  margin-top: 5px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
}

@media (min-width: 992px) {
  .Destination__price {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    width: 40%;
    margin-top: 15px;
  }
}

.Destination__price__info,
.Destination__price__link {
  width: 50%;
}

@media (min-width: 992px) {
  .Destination__price__info,
  .Destination__price__link {
    width: 100%;
  }
}

.Destination__price__info {
  line-height: 16px;
}

.Destination__price__info strong {
  font-size: large;
}

.Destination__price__link {
  vertical-align: center;
  margin-top: 5px;
}

.Destination__legends {
  margin-top: 40px;
}

.Destination__legends__item p {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 19px;
  color: #024990;
}

@media (min-width: 992px) {
  .Destination__legends__item p {
    font-size: 18px;
    line-height: 24px;
  }
}

.Destination__legends__item svg {
  margin-right: 15px;
  height: 37.24px;
  width: 45px;
}

@media (min-width: 992px) {
  .Destination__legends__item svg {
    margin-right: 20px;
    height: 50.85px;
    width: 61.5px;
  }
}

.Destination__accordion__anchor {
  top: -60px;
}

.is-active > .Destination__accordion__header .Destination__accordion__header__chevron {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.Destination__accordion__header__chevron {
  margin-right: 20px;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 15px;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

.Destination__accordion__horizontal-line {
  height: 1px;
  width: 100%;
  background-color: #d5d9db;
  border: none;
}

.Destination__list .flickity-viewport {
  width: 100%;
}

.Destination__list .flickity-page-dots {
  color: #0061c3;
}

.Destination__list__body {
  margin-right: -5px;
  margin-left: -5px;
}

@media (min-width: 992px) {
  .Destination__list__body {
    margin-top: -10px;
    margin-right: -10px;
    margin-bottom: -10px;
    margin-left: -10px;
  }
}

.Destination__list__item {
  padding-right: 5px;
  padding-left: 5px;
  margin-top: 5px;
  margin-bottom: 5px;
  display: inline-block;
  width: 50%;
}

@media (min-width: 992px) {
  .Destination__list__item {
    padding-right: 10px;
    padding-left: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    width: 33.33333%;
  }
}

.flickity-enabled .Destination__list__item {
  margin-top: 0;
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .Destination__list__item--small {
    width: 25%;
  }
}

/**
 * Page: List
 *
 *
 */

.List-page .Card-information {
  margin-top: 5px;
  margin-bottom: 5px;
}

@media (min-width: 992px) {
  .List-page .Card-information {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}

.List-page__body {
  padding-bottom: 100px;
}

.List-page__container {
  margin-top: -5px;
  margin-bottom: -5px;
}

@media (min-width: 992px) {
  .List-page__container {
    margin-top: -10px;
    margin-bottom: -10px;
  }
}

.List-page__result {
  margin-bottom: 30px;
  line-height: 24px;
}

.List-page__result__title {
  margin-right: 10px;
  line-height: 24px;
  color: #024990;
}

.List-page__result button {
  line-height: 24px;
  color: #024990;
}

.List-page__result button svg {
  margin-left: 10px;
  height: 14px;
  width: 17.11px;
  fill: #999999;
}

/**
 * Home page
 *
 *
 *
 */

.Home-page .Destination__list__body .Destination__list__item:first-child {
  width: 50%;
}

@media (min-width: 992px) {
  .Home-page .Destination__list__body .Destination__list__item:first-child {
    width: 66.66667%;
  }
}

#seek-inspiration-banner {
  background-size: cover;
}

/**
 * Page
 *
 */

.Page-content {
  padding-top: 60px;
}

.Page-content.Page-SmartWelcome {
  padding-top: 0;
}

@media (min-width: 992px) {
  .Page-content {
    padding-top: 0;
  }
}

.Page__filters {
  margin-top: 40px;
}

.Page__filters__item {
  margin-top: 10px;
  margin-bottom: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
  height: 100%;
  color: #024990;
  line-height: 24px;
}

.Page__filters__item:first-child {
  margin-top: 0;
  margin-left: 0;
}

.Page__filters__item:last-child {
  margin-right: 0;
  margin-bottom: 0;
}

.Page__filters__item .Button {
  height: 100%;
}

@media (min-width: 992px) {
  .Page__filters__item .Button {
    height: auto;
  }
}

@media (min-width: 992px) {
  .Page__filters__item {
    margin-top: 0;
    margin-right: 40px;
    margin-bottom: 0;
    margin-left: 40px;
    height: auto;
  }
}

/**
 * Live flight tracker page
 *
 *
 *
 */

.Real-time-flight-page__widget {
  z-index: 7;
}

.Real-time-flight-page__widget .Widget {
  margin-bottom: -60px;
  -webkit-transform: translateY(-60px);
          transform: translateY(-60px);
}

/**
 * Colors
 *
 * @see 	https://codepen.io/jakealbaugh/post/css4-variables-and-sass
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.color-current-color {
  color: currentColor;
}

.color-black {
  color: #000;
}

.background-color-black {
  background-color: #000;
}

.border-black {
  border-color: #000;
}

.color-white,
.Editorial-footer__label {
  color: #fff;
}

.background-color-white {
  background-color: #fff;
}

.border-white {
  border-color: #fff;
}

.color-red-pure {
  color: #ff0000;
}

.background-color-red-pure {
  background-color: #ff0000;
}

.border-red-pure {
  border-color: #ff0000;
}

.color-red-bright {
  color: #dd482f;
}

.background-color-red-bright {
  background-color: #dd482f;
}

.border-red-bright {
  border-color: #dd482f;
}

.color-blue-pure {
  color: #0000ff;
}

.background-color-blue-pure {
  background-color: #0000ff;
}

.border-blue-pure {
  border-color: #0000ff;
}

.color-blue-strong {
  color: #0061c3;
}

.background-color-blue-strong {
  background-color: #0061c3;
}

.border-blue-strong {
  border-color: #0061c3;
}

.color-blue-dark,
.List__item__title,
.Section__header__title,
.Editorial__introduction,
.Destination__accordion__header__title {
  color: #024990;
}

.background-color-blue-dark {
  background-color: #024990;
}

.border-blue-dark {
  border-color: #024990;
}

.color-blue-sky {
  color: #0061c2;
}

.background-color-blue-sky {
  background-color: #0061c2;
}

.border-blue-sky {
  border-color: #0061c2;
}

.color-blue-very-dark-desaturated {
  color: #2d404e;
}

.background-color-blue-very-dark-desaturated {
  background-color: #2d404e;
}

.border-blue-very-dark-desaturated {
  border-color: #2d404e;
}

.color-blue-very-dark {
  color: #10213A;
}

.background-color-blue-very-dark {
  background-color: #10213A;
}

.border-blue-very-dark {
  border-color: #10213A;
}

.color-blue-light-grayish-01 {
  color: #d5d9db;
}

.background-color-blue-light-grayish-01 {
  background-color: #d5d9db;
}

.border-blue-light-grayish-01 {
  border-color: #d5d9db;
}

.color-blue-light-grayish-02 {
  color: #ccdff3;
}

.background-color-blue-light-grayish-02 {
  background-color: #ccdff3;
}

.border-blue-light-grayish-02 {
  border-color: #ccdff3;
}

.color-blue-light-grayish-03 {
  color: #e2e4e6;
}

.background-color-blue-light-grayish-03 {
  background-color: #e2e4e6;
}

.border-blue-light-grayish-03 {
  border-color: #e2e4e6;
}

.color-blue-light-grayish-blue {
  color: #eef0f1;
}

.background-color-blue-light-grayish-blue {
  background-color: #eef0f1;
}

.border-blue-light-grayish-blue {
  border-color: #eef0f1;
}

.color-gray-light {
  color: #cdcdcd;
}

.background-color-gray-light {
  background-color: #cdcdcd;
}

.border-gray-light {
  border-color: #cdcdcd;
}

.color-gray-very-light-01 {
  color: #dddddd;
}

.background-color-gray-very-light-01 {
  background-color: #dddddd;
}

.border-gray-very-light-01 {
  border-color: #dddddd;
}

.color-gray-very-light-02 {
  color: #f8fafa;
}

.background-color-gray-very-light-02,
.Widget {
  background-color: #f8fafa;
}

.border-gray-very-light-02 {
  border-color: #f8fafa;
}

.color-gray-very-light-03 {
  color: #f8fafa;
}

.background-color-gray-very-light-03,
.FAQ-page__container,
.FAQ-page__search,
.List-page__body,
.Real-time-flight-page__widget {
  background-color: #f8fafa;
}

.border-gray-very-light-03 {
  border-color: #f8fafa;
}

.color-gray-dark-01 {
  color: #999999;
}

.background-color-gray-dark-01 {
  background-color: #999999;
}

.border-gray-dark-01 {
  border-color: #999999;
}

.color-gray-dark-02 {
  color: #979797;
}

.background-color-gray-dark-02 {
  background-color: #979797;
}

.border-gray-dark-02 {
  border-color: #979797;
}

.color-gray-very-dark {
  color: #666666;
}

.background-color-gray-very-dark {
  background-color: #666666;
}

.border-gray-very-dark {
  border-color: #666666;
}

.color-green-lime {
  color: #5ebf87;
}

.background-color-green-lime {
  background-color: #5ebf87;
}

.border-green-lime {
  border-color: #5ebf87;
}

.color-orange-bright {
  color: #F79E43;
}

.background-color-orange-bright {
  background-color: #F79E43;
}

.border-orange-bright {
  border-color: #F79E43;
}

.color-orange-dark-grayish {
  color: #b1aea8;
}

.background-color-orange-dark-grayish {
  background-color: #b1aea8;
}

.border-orange-dark-grayish {
  border-color: #b1aea8;
}

.color-socials-facebook {
  color: #3b5998;
}

.background-color-socials-facebook {
  background-color: #3b5998;
}

.border-socials-facebook {
  border-color: #3b5998;
}

.color-socials-twitter {
  color: #1da1f2;
}

.background-color-socials-twitter {
  background-color: #1da1f2;
}

.border-socials-twitter {
  border-color: #1da1f2;
}

.color-socials-google-plus {
  color: #dd4b39;
}

.background-color-socials-google-plus {
  background-color: #dd4b39;
}

.border-socials-google-plus {
  border-color: #dd4b39;
}

.color-socials-linkedin {
  color: #0077b5;
}

.background-color-socials-linkedin {
  background-color: #0077b5;
}

.border-socials-linkedin {
  border-color: #0077b5;
}

.color-socials-viadeo {
  color: #f07355;
}

.background-color-socials-viadeo {
  background-color: #f07355;
}

.border-socials-viadeo {
  border-color: #f07355;
}

/**
 * Cursors
 *
 * Construct each cursor property found in $cursors with
 * a placeholder and a utility class
 *
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.Site-menu__item > a,
.Site-menu__item > button,
.Site-menu__item > p,
.Button:not(:disabled):not(.disabled),
.Theme__item [role="radio"],
.Language-selector,
.Flight-times__item [role="radio"],
.Select__button,
.Input-time__body li,
.Input__label,
.Switch,
.cursor-pointer {
  cursor: pointer;
}

.cursor-text {
  cursor: text;
}

.cursor-auto {
  cursor: auto;
}

.Spin-button__button[disabled],
.cursor-not-allowed {
  cursor: not-allowed;
}

@media (min-width: 754px) {
  .cursor-sm-pointer {
    cursor: pointer;
  }

  .cursor-sm-text {
    cursor: text;
  }

  .cursor-sm-auto {
    cursor: auto;
  }

  .cursor-sm-not-allowed {
    cursor: not-allowed;
  }
}

@media (min-width: 992px) {
  .cursor-md-pointer {
    cursor: pointer;
  }

  .Site-footer__column__title,
  .cursor-md-text {
    cursor: text;
  }

  .cursor-md-auto {
    cursor: auto;
  }

  .cursor-md-not-allowed {
    cursor: not-allowed;
  }
}

@media (min-width: 1200px) {
  .cursor-lg-pointer {
    cursor: pointer;
  }

  .cursor-lg-text {
    cursor: text;
  }

  .cursor-lg-auto {
    cursor: auto;
  }

  .cursor-lg-not-allowed {
    cursor: not-allowed;
  }
}

@media (min-width: 1400px) {
  .cursor-hd-pointer {
    cursor: pointer;
  }

  .cursor-hd-text {
    cursor: text;
  }

  .cursor-hd-auto {
    cursor: auto;
  }

  .cursor-hd-not-allowed {
    cursor: not-allowed;
  }
}

/**
 * Floats
 *
 * Construct each float position found in $floats with
 * a placeholder and a utility class
 */

.float-left {
  float: left;
}

@media (min-width: 754px) {
  .float-sm-left {
    float: left;
  }
}

@media (min-width: 992px) {
  .float-md-left {
    float: left;
  }
}

@media (min-width: 1200px) {
  .float-lg-left {
    float: left;
  }
}

@media (min-width: 1400px) {
  .float-hd-left {
    float: left;
  }
}

/**
 * Font styles
 *
 * Constructor class for each font styles found in map-get( $font, styles )
 *
 * @param 	$style 			name of style font in map-get( $font, styles )
 * @author Jérémy Levron <jeremylevron@19h47.fr> (https://19h47.fr)
 */

.font-style-italic {
  font-style: italic;
}

/**
 * Font weight
 *
 * Constructor class for each font weight found in map-get( $font, weights )
 *
 * @param 	$weight-name    	name of weight
 * @param 	$weight-value   	value of weight
 * @author 	Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.Ordered-list__item__body::after,
.font-weight-extralight {
  font-weight: 100;
}

.font-weight-light {
  font-weight: 200;
}

.font-weight-book {
  font-weight: 300;
}

body,
.Site-menu__item.Site-menu__item--search a,
.Site-menu__item.Site-menu__item--search button,
.Site-menu__item.Site-menu__item--account a,
.Site-menu__item.Site-menu__item--account button,
.Site-menu__item.Site-menu__item--cart a,
.Site-menu__item.Site-menu__item--cart button,
.Site-menu__footer,
.Dropdown-menu__list,
.Flight-detail__date__label,
.Flight-detail__item__title,
.Alert__text__phrase,
.Button.Button--back,
.Button.Button--tertiary,
.Button.Button--radio,
.Button.Button--extra-large,
.Advantage__title,
.Calendar__tooltip.is-active::before,
.Calendar__tooltip::before,
.Quick-search__item small,
.Spin-button.Spin-button--large .Spin-button__label,
.Badge.Badge--extra-extra-small,
.font-weight-regular,
.CircleList .CircleItem__title {
  font-weight: 400;
}

h1,
.h1,
h2,
.h2,
.Table__title,
.error404__title,
h3,
.h3,
h4,
.h4,
.Site-footer__column__title,
.List__item__title,
.Site-menu__item.Site-menu__item--cart a span,
.Flight-detail__date,
.Flight-detail__origin,
.Flight-detail__item,
.MenuAccount-title,
.Button,
.Card-icon,
.Card-parking__description,
.Card-parking__more,
.Card-selector__label,
.Card-useful-information__content,
.Card-information--advertising .Card-information__content,
.Form__title,
.Widget__tabs__navigation button.is-active,
.Widget-real-time-flight__navigation button,
.Calendars__button,
.Calendar__tooltip,
.Calendar__cell__inner button.is-active,
.Calendar__cell__inner button.is-in-range.is-active,
.Period__option h4,
.List-button li,
.Range__aside__label div,
.Enjoy__icon,
.Slideshow__item__category,
.Theme__item,
.Quick-search__title,
.Quick-search__item,
.Flight-type,
.Flight-times,
.Flight-plan__departure,
.Flight-plan__arrival,
.Flight__header,
.Flight__origin,
.Flight__airline,
.Switch__slider,
.Switch__slider span,
.Badge.Badge--small,
.Badge.Badge--extra-large,
.Editorial-footer__label,
.List-page__result__title,
.List-page__result button,
.font-weight-medium {
  font-weight: 500;
}

.font-weight-semibold {
  font-weight: 600;
}

strong,
.Alert__text,
.Badge,
.Badge small,
.font-weight-bold {
  font-weight: 700;
}

.font-weight-extrabold {
  font-weight: 800;
}

.font-weight-extrablack {
  font-weight: 900;
}

/**
 * Font size
 *
 * Constructor class for each font weight found in map-get( $font, sizes )
 *
 * @param 	$font-size
 * @author  Jérémy Levron <jeremylevron@19h47.fr> (https://19h47.fr)
 */

.font-size-14 {
  font-size: 14px;
}

.font-size-16 {
  font-size: 16px;
}

.font-size-18 {
  font-size: 18px;
}

.List__item__title,
.font-size-20 {
  font-size: 20px;
}

.font-size-24 {
  font-size: 24px;
}

.font-size-30 {
  font-size: 30px;
}

.font-size-40 {
  font-size: 40px;
}

@media (min-width: 754px) {
  .font-size-sm-14 {
    font-size: 14px;
  }

  .font-size-sm-16 {
    font-size: 16px;
  }

  .font-size-sm-18 {
    font-size: 18px;
  }

  .font-size-sm-20 {
    font-size: 20px;
  }

  .font-size-sm-24 {
    font-size: 24px;
  }

  .font-size-sm-30 {
    font-size: 30px;
  }

  .font-size-sm-40 {
    font-size: 40px;
  }
}

@media (min-width: 992px) {
  .font-size-md-14 {
    font-size: 14px;
  }

  .font-size-md-16 {
    font-size: 16px;
  }

  .font-size-md-18 {
    font-size: 18px;
  }

  .font-size-md-20 {
    font-size: 20px;
  }

  .font-size-md-24 {
    font-size: 24px;
  }

  .font-size-md-30 {
    font-size: 30px;
  }

  .font-size-md-40 {
    font-size: 40px;
  }
}

@media (min-width: 1200px) {
  .font-size-lg-14 {
    font-size: 14px;
  }

  .font-size-lg-16 {
    font-size: 16px;
  }

  .font-size-lg-18 {
    font-size: 18px;
  }

  .font-size-lg-20 {
    font-size: 20px;
  }

  .font-size-lg-24 {
    font-size: 24px;
  }

  .font-size-lg-30 {
    font-size: 30px;
  }

  .font-size-lg-40 {
    font-size: 40px;
  }
}

@media (min-width: 1400px) {
  .font-size-hd-14 {
    font-size: 14px;
  }

  .font-size-hd-16 {
    font-size: 16px;
  }

  .font-size-hd-18 {
    font-size: 18px;
  }

  .font-size-hd-20 {
    font-size: 20px;
  }

  .font-size-hd-24 {
    font-size: 24px;
  }

  .font-size-hd-30 {
    font-size: 30px;
  }

  .font-size-hd-40 {
    font-size: 40px;
  }
}

.font-size-inherit {
  font-size: inherit;
}

/**
 * Font family
 *
 * Constructor class for each font family found in map-get( $font, families )
 *
 * @param 	$font-family-name      name of the family
 * @param 	$font-family-value     value of the family
 * @author  Jérémy Levron <jeremylevron@19h47.fr> (https://19h47.fr)
 */

body,
.font-family-body,
._access-menu {
  font-family: Vinci Sans, sans-serif;
}

.font-family-title {
  font-family: Vinci Sans, sans-serif;
}

.Travel-diary__header__title,
.Reportage__header__heading,
.font-family-cursive-01 {
  font-family: Saturday Champagne, cursive;
}

.Card-favorite__author,
.font-family-cursive-02 {
  font-family: Reenie Beanie, cursive;
}

/**
 * Margins classes
 *
 * $breakpoint 	str Breakpoint name
 *
 *
 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#map_keys-instance_method
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.List__item__link,
.Card-video__title,
.margin-top-auto {
  margin-top: auto;
}

.margin-right-auto {
  margin-right: auto;
}

.margin-bottom-auto {
  margin-bottom: auto;
}

.margin-left-auto {
  margin-left: auto;
}

.Image-caption__body > *:first-child,
.Table__title,
.Banner__body > *:first-child,
.Rich-list__item__body > *:first-child,
.Travel-diary__header__title,
.Ordered-list__item__body h3,
.Period__option h4,
.Flights li:nth-child(2),
.Editorial-body > *:first-child,
.Editorial-footer__label,
.margin-top-0 {
  margin-top: 0px;
}

.Taskbar__item:last-child,
.margin-right-0 {
  margin-right: 0px;
}

.Image-caption__body > *:last-child,
.Banner--map .Banner__body .Banner__content,
.Banner__body > *:last-child,
.Rich-list__item__body > *:last-child,
.Section__header__content,
.Ordered-list__item:last-child,
.Ordered-list__item__body > *:last-child,
.Advantage__content,
.Editorial-body > *:last-child,
.margin-bottom-0,
.CircleList .CircleItem__content {
  margin-bottom: 0px;
}

.Taskbar__item:first-child,
.margin-left-0 {
  margin-left: 0px;
}

.Video__heading,
.Section__header__title,
.Go-further.has-background,
.Push__link,
.Accordion__item__label,
.Card-destination h3,
.Card-destination__title,
.Card-destination__country,
.Card-selector__label,
.Card-inspiration__title,
.Card-inspiration__country,
.Plane-trip__arrow,
.Widget--track-a-flight__item__title,
.Widget--track-a-flight__item__time,
.Widget--track-a-flight__item__id,
.Widget--track-a-flight__item__estimated,
.Widget__title h2,
.Calendar__title,
.Pagination__item__link,
.Card-readmore__title,
.error404__title,
.Destination__accordion__header__title,
.margin-0 {
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
}

.margin-x-0 {
  margin-right: 0px;
  margin-left: 0px;
}

.Site-menu__item > a,
.Site-menu__item > button,
.Site-menu__item > p,
.Go-further,
.Link__label,
.Plane-trip__title,
.margin-y-0 {
  margin-top: 0px;
  margin-bottom: 0px;
}

.margin-top-1 {
  margin-top: 5px;
}

.margin-right-1 {
  margin-right: 5px;
}

.margin-bottom-1 {
  margin-bottom: 5px;
}

.margin-left-1 {
  margin-left: 5px;
}

.margin-1 {
  margin-top: 5px;
  margin-right: 5px;
  margin-bottom: 5px;
  margin-left: 5px;
}

.margin-x-1 {
  margin-right: 5px;
  margin-left: 5px;
}

.margin-y-1 {
  margin-top: 5px;
  margin-bottom: 5px;
}

.Banner--map .Banner__body .Banner__content,
.Section__header__content,
.margin-top-2 {
  margin-top: 10px;
}

.margin-right-2 {
  margin-right: 10px;
}

.Card-icon__icon,
.Card-destination__body,
.margin-bottom-2 {
  margin-bottom: 10px;
}

.margin-left-2 {
  margin-left: 10px;
}

.margin-2 {
  margin-top: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
  margin-left: 10px;
}

.Card-destination__body,
.Card-readmore__body,
.margin-x-2 {
  margin-right: 10px;
  margin-left: 10px;
}

.margin-y-2 {
  margin-top: 10px;
  margin-bottom: 10px;
}

.Tutorials-videos .flickity-page-dots,
.Alert__navigation,
.Carousel__items > .flickity-page-dots,
.Parking-page__choices .flickity-page-dots,
.Destination__list .flickity-page-dots,
.margin-top-3 {
  margin-top: 20px;
}

.List__item .Badge.Badge--large,
.Link__label,
.margin-right-3 {
  margin-right: 20px;
}

.Card-video__title,
.Editorial-body > h3,
.Editorial-footer__label,
.margin-bottom-3 {
  margin-bottom: 20px;
}

.margin-left-3 {
  margin-left: 20px;
}

.Card-icon__chevron-down,
.margin-3 {
  margin-top: 20px;
  margin-right: 20px;
  margin-bottom: 20px;
  margin-left: 20px;
}

.Image-caption.Image-caption--background::after,
.Image-caption.Image-caption--background .Image-caption__body,
.Accordion__item__body > div,
.Card-video__title,
.Plane-trip__title,
.margin-x-3 {
  margin-right: 20px;
  margin-left: 20px;
}

.margin-y-3 {
  margin-top: 20px;
  margin-bottom: 20px;
}

.margin-top-4 {
  margin-top: 30px;
}

.margin-right-4 {
  margin-right: 30px;
}

.Section__header,
.Card-readmore__body,
.margin-bottom-4 {
  margin-bottom: 30px;
}

.margin-left-4 {
  margin-left: 30px;
}

.margin-4 {
  margin-top: 30px;
  margin-right: 30px;
  margin-bottom: 30px;
  margin-left: 30px;
}

.margin-x-4 {
  margin-right: 30px;
  margin-left: 30px;
}

.margin-y-4 {
  margin-top: 30px;
  margin-bottom: 30px;
}

.margin-top-5 {
  margin-top: 40px;
}

.margin-right-5 {
  margin-right: 40px;
}

.Table__title,
.margin-bottom-5 {
  margin-bottom: 40px;
}

.margin-left-5 {
  margin-left: 40px;
}

.margin-5 {
  margin-top: 40px;
  margin-right: 40px;
  margin-bottom: 40px;
  margin-left: 40px;
}

.margin-x-5 {
  margin-right: 40px;
  margin-left: 40px;
}

.margin-y-5 {
  margin-top: 40px;
  margin-bottom: 40px;
}

.margin-top-6 {
  margin-top: 60px;
}

.margin-right-6 {
  margin-right: 60px;
}

.Ordered-list__item,
.Parking-page__choices,
.margin-bottom-6 {
  margin-bottom: 60px;
}

.margin-left-6 {
  margin-left: 60px;
}

.margin-6 {
  margin-top: 60px;
  margin-right: 60px;
  margin-bottom: 60px;
  margin-left: 60px;
}

.margin-x-6 {
  margin-right: 60px;
  margin-left: 60px;
}

.Tutorials-videos,
.margin-y-6 {
  margin-top: 60px;
  margin-bottom: 60px;
}

.margin-top-7 {
  margin-top: 70px;
}

.margin-right-7 {
  margin-right: 70px;
}

.margin-bottom-7 {
  margin-bottom: 70px;
}

.margin-left-7 {
  margin-left: 70px;
}

.margin-7 {
  margin-top: 70px;
  margin-right: 70px;
  margin-bottom: 70px;
  margin-left: 70px;
}

.margin-x-7 {
  margin-right: 70px;
  margin-left: 70px;
}

.margin-y-7 {
  margin-top: 70px;
  margin-bottom: 70px;
}

.Parking-page__choices,
.margin-top-8 {
  margin-top: 80px;
}

.margin-right-8 {
  margin-right: 80px;
}

.margin-bottom-8 {
  margin-bottom: 80px;
}

.margin-left-8 {
  margin-left: 80px;
}

.margin-8 {
  margin-top: 80px;
  margin-right: 80px;
  margin-bottom: 80px;
  margin-left: 80px;
}

.margin-x-8 {
  margin-right: 80px;
  margin-left: 80px;
}

.Information,
.margin-y-8 {
  margin-top: 80px;
  margin-bottom: 80px;
}

.margin-top-9 {
  margin-top: 90px;
}

.margin-right-9 {
  margin-right: 90px;
}

.margin-bottom-9 {
  margin-bottom: 90px;
}

.margin-left-9 {
  margin-left: 90px;
}

.margin-9 {
  margin-top: 90px;
  margin-right: 90px;
  margin-bottom: 90px;
  margin-left: 90px;
}

.margin-x-9 {
  margin-right: 90px;
  margin-left: 90px;
}

.margin-y-9 {
  margin-top: 90px;
  margin-bottom: 90px;
}

.margin-top-10 {
  margin-top: 100px;
}

.margin-right-10 {
  margin-right: 100px;
}

.margin-bottom-10 {
  margin-bottom: 100px;
}

.margin-left-10 {
  margin-left: 100px;
}

.margin-10 {
  margin-top: 100px;
  margin-right: 100px;
  margin-bottom: 100px;
  margin-left: 100px;
}

.margin-x-10 {
  margin-right: 100px;
  margin-left: 100px;
}

.margin-y-10 {
  margin-top: 100px;
  margin-bottom: 100px;
}

.margin-auto {
  margin: auto;
}

.margin-0-auto {
  margin: 0 auto;
}

.margin-x-auto {
  margin-right: auto;
  margin-left: auto;
}

.margin-y-auto {
  margin-top: auto;
  margin-bottom: auto;
}

.margin-x-0 {
  margin-right: 0;
  margin-left: 0;
}

.Site-menu__item > a,
.Site-menu__item > button,
.Site-menu__item > p,
.Go-further,
.Link__label,
.Plane-trip__title,
.margin-y-0 {
  margin-top: 0;
  margin-bottom: 0;
}

.Video__heading,
.Section__header__title,
.Go-further.has-background,
.Push__link,
.Accordion__item__label,
.Card-destination h3,
.Card-destination__title,
.Card-destination__country,
.Card-selector__label,
.Card-inspiration__title,
.Card-inspiration__country,
.Plane-trip__arrow,
.Widget--track-a-flight__item__title,
.Widget--track-a-flight__item__time,
.Widget--track-a-flight__item__id,
.Widget--track-a-flight__item__estimated,
.Widget__title h2,
.Calendar__title,
.Pagination__item__link,
.Card-readmore__title,
.error404__title,
.Destination__accordion__header__title,
.margin-0 {
  margin: 0;
}

@media (min-width: 754px) {
  .margin-top-sm-auto {
    margin-top: auto;
  }

  .margin-right-sm-auto {
    margin-right: auto;
  }

  .margin-bottom-sm-auto {
    margin-bottom: auto;
  }

  .margin-left-sm-auto {
    margin-left: auto;
  }

  .margin-top-sm-0 {
    margin-top: 0px;
  }

  .margin-right-sm-0 {
    margin-right: 0px;
  }

  .margin-bottom-sm-0 {
    margin-bottom: 0px;
  }

  .margin-left-sm-0 {
    margin-left: 0px;
  }

  .margin-sm-0 {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
  }

  .margin-x-sm-0 {
    margin-right: 0px;
    margin-left: 0px;
  }

  .margin-y-sm-0 {
    margin-top: 0px;
    margin-bottom: 0px;
  }

  .margin-top-sm-1 {
    margin-top: 5px;
  }

  .margin-right-sm-1 {
    margin-right: 5px;
  }

  .margin-bottom-sm-1 {
    margin-bottom: 5px;
  }

  .margin-left-sm-1 {
    margin-left: 5px;
  }

  .margin-sm-1 {
    margin-top: 5px;
    margin-right: 5px;
    margin-bottom: 5px;
    margin-left: 5px;
  }

  .margin-x-sm-1 {
    margin-right: 5px;
    margin-left: 5px;
  }

  .margin-y-sm-1 {
    margin-top: 5px;
    margin-bottom: 5px;
  }

  .margin-top-sm-2 {
    margin-top: 10px;
  }

  .margin-right-sm-2 {
    margin-right: 10px;
  }

  .margin-bottom-sm-2 {
    margin-bottom: 10px;
  }

  .margin-left-sm-2 {
    margin-left: 10px;
  }

  .margin-sm-2 {
    margin-top: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    margin-left: 10px;
  }

  .margin-x-sm-2 {
    margin-right: 10px;
    margin-left: 10px;
  }

  .margin-y-sm-2 {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .margin-top-sm-3 {
    margin-top: 20px;
  }

  .margin-right-sm-3 {
    margin-right: 20px;
  }

  .Card-destination__body,
  .margin-bottom-sm-3 {
    margin-bottom: 20px;
  }

  .margin-left-sm-3 {
    margin-left: 20px;
  }

  .margin-sm-3 {
    margin-top: 20px;
    margin-right: 20px;
    margin-bottom: 20px;
    margin-left: 20px;
  }

  .Card-destination__body,
  .margin-x-sm-3 {
    margin-right: 20px;
    margin-left: 20px;
  }

  .margin-y-sm-3 {
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .margin-top-sm-4 {
    margin-top: 30px;
  }

  .margin-right-sm-4 {
    margin-right: 30px;
  }

  .margin-bottom-sm-4 {
    margin-bottom: 30px;
  }

  .margin-left-sm-4 {
    margin-left: 30px;
  }

  .margin-sm-4 {
    margin-top: 30px;
    margin-right: 30px;
    margin-bottom: 30px;
    margin-left: 30px;
  }

  .margin-x-sm-4 {
    margin-right: 30px;
    margin-left: 30px;
  }

  .margin-y-sm-4 {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .margin-top-sm-5 {
    margin-top: 40px;
  }

  .margin-right-sm-5 {
    margin-right: 40px;
  }

  .margin-bottom-sm-5 {
    margin-bottom: 40px;
  }

  .margin-left-sm-5 {
    margin-left: 40px;
  }

  .margin-sm-5 {
    margin-top: 40px;
    margin-right: 40px;
    margin-bottom: 40px;
    margin-left: 40px;
  }

  .margin-x-sm-5 {
    margin-right: 40px;
    margin-left: 40px;
  }

  .margin-y-sm-5 {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .margin-top-sm-6 {
    margin-top: 60px;
  }

  .margin-right-sm-6 {
    margin-right: 60px;
  }

  .margin-bottom-sm-6 {
    margin-bottom: 60px;
  }

  .margin-left-sm-6 {
    margin-left: 60px;
  }

  .margin-sm-6 {
    margin-top: 60px;
    margin-right: 60px;
    margin-bottom: 60px;
    margin-left: 60px;
  }

  .margin-x-sm-6 {
    margin-right: 60px;
    margin-left: 60px;
  }

  .margin-y-sm-6 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin-top-sm-7 {
    margin-top: 70px;
  }

  .margin-right-sm-7 {
    margin-right: 70px;
  }

  .margin-bottom-sm-7 {
    margin-bottom: 70px;
  }

  .margin-left-sm-7 {
    margin-left: 70px;
  }

  .margin-sm-7 {
    margin-top: 70px;
    margin-right: 70px;
    margin-bottom: 70px;
    margin-left: 70px;
  }

  .margin-x-sm-7 {
    margin-right: 70px;
    margin-left: 70px;
  }

  .margin-y-sm-7 {
    margin-top: 70px;
    margin-bottom: 70px;
  }

  .margin-top-sm-8 {
    margin-top: 80px;
  }

  .margin-right-sm-8 {
    margin-right: 80px;
  }

  .margin-bottom-sm-8 {
    margin-bottom: 80px;
  }

  .margin-left-sm-8 {
    margin-left: 80px;
  }

  .margin-sm-8 {
    margin-top: 80px;
    margin-right: 80px;
    margin-bottom: 80px;
    margin-left: 80px;
  }

  .margin-x-sm-8 {
    margin-right: 80px;
    margin-left: 80px;
  }

  .margin-y-sm-8 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin-top-sm-9 {
    margin-top: 90px;
  }

  .margin-right-sm-9 {
    margin-right: 90px;
  }

  .margin-bottom-sm-9 {
    margin-bottom: 90px;
  }

  .margin-left-sm-9 {
    margin-left: 90px;
  }

  .margin-sm-9 {
    margin-top: 90px;
    margin-right: 90px;
    margin-bottom: 90px;
    margin-left: 90px;
  }

  .margin-x-sm-9 {
    margin-right: 90px;
    margin-left: 90px;
  }

  .margin-y-sm-9 {
    margin-top: 90px;
    margin-bottom: 90px;
  }

  .margin-top-sm-10 {
    margin-top: 100px;
  }

  .margin-right-sm-10 {
    margin-right: 100px;
  }

  .margin-bottom-sm-10 {
    margin-bottom: 100px;
  }

  .margin-left-sm-10 {
    margin-left: 100px;
  }

  .margin-sm-10 {
    margin-top: 100px;
    margin-right: 100px;
    margin-bottom: 100px;
    margin-left: 100px;
  }

  .margin-x-sm-10 {
    margin-right: 100px;
    margin-left: 100px;
  }

  .margin-y-sm-10 {
    margin-top: 100px;
    margin-bottom: 100px;
  }

  .margin-sm-auto {
    margin: auto;
  }

  .margin-sm-0-auto {
    margin: 0 auto;
  }

  .margin-sm-x-auto {
    margin-right: auto;
    margin-left: auto;
  }

  .margin-sm-y-auto {
    margin-top: auto;
    margin-bottom: auto;
  }

  .margin-sm-x-0 {
    margin-right: 0;
    margin-left: 0;
  }

  .margin-sm-y-0 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .margin-sm-0 {
    margin: 0;
  }
}

@media (min-width: 992px) {
  .margin-top-md-auto {
    margin-top: auto;
  }

  .margin-right-md-auto {
    margin-right: auto;
  }

  .margin-bottom-md-auto {
    margin-bottom: auto;
  }

  .margin-left-md-auto {
    margin-left: auto;
  }

  .Push__title,
  .margin-top-md-0 {
    margin-top: 0px;
  }

  .margin-right-md-0 {
    margin-right: 0px;
  }

  .Editorial-footer__label,
  .Parking-page__choices,
  .margin-bottom-md-0 {
    margin-bottom: 0px;
  }

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

  .Hero__title,
  .margin-md-0 {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
  }

  .Image-caption.Image-caption--background::after,
  .Image-caption.Image-caption--background .Image-caption__body,
  .margin-x-md-0 {
    margin-right: 0px;
    margin-left: 0px;
  }

  .margin-y-md-0 {
    margin-top: 0px;
    margin-bottom: 0px;
  }

  .margin-top-md-1 {
    margin-top: 5px;
  }

  .margin-right-md-1 {
    margin-right: 5px;
  }

  .margin-bottom-md-1 {
    margin-bottom: 5px;
  }

  .margin-left-md-1 {
    margin-left: 5px;
  }

  .margin-md-1 {
    margin-top: 5px;
    margin-right: 5px;
    margin-bottom: 5px;
    margin-left: 5px;
  }

  .margin-x-md-1 {
    margin-right: 5px;
    margin-left: 5px;
  }

  .margin-y-md-1 {
    margin-top: 5px;
    margin-bottom: 5px;
  }

  .Flights li:nth-child(2),
  .margin-top-md-2 {
    margin-top: 10px;
  }

  .margin-right-md-2 {
    margin-right: 10px;
  }

  .margin-bottom-md-2 {
    margin-bottom: 10px;
  }

  .margin-left-md-2 {
    margin-left: 10px;
  }

  .margin-md-2 {
    margin-top: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    margin-left: 10px;
  }

  .margin-x-md-2 {
    margin-right: 10px;
    margin-left: 10px;
  }

  .margin-y-md-2 {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .margin-top-md-3 {
    margin-top: 20px;
  }

  .margin-right-md-3 {
    margin-right: 20px;
  }

  .Card-icon__icon,
  .margin-bottom-md-3 {
    margin-bottom: 20px;
  }

  .margin-left-md-3 {
    margin-left: 20px;
  }

  .margin-md-3 {
    margin-top: 20px;
    margin-right: 20px;
    margin-bottom: 20px;
    margin-left: 20px;
  }

  .margin-x-md-3 {
    margin-right: 20px;
    margin-left: 20px;
  }

  .margin-y-md-3 {
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .margin-top-md-4 {
    margin-top: 30px;
  }

  .margin-right-md-4 {
    margin-right: 30px;
  }

  .margin-bottom-md-4 {
    margin-bottom: 30px;
  }

  .margin-left-md-4 {
    margin-left: 30px;
  }

  .margin-md-4 {
    margin-top: 30px;
    margin-right: 30px;
    margin-bottom: 30px;
    margin-left: 30px;
  }

  .Card-readmore__body,
  .margin-x-md-4 {
    margin-right: 30px;
    margin-left: 30px;
  }

  .margin-y-md-4 {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .margin-top-md-5 {
    margin-top: 40px;
  }

  .margin-right-md-5 {
    margin-right: 40px;
  }

  .Section__header,
  .margin-bottom-md-5 {
    margin-bottom: 40px;
  }

  .margin-left-md-5 {
    margin-left: 40px;
  }

  .margin-md-5 {
    margin-top: 40px;
    margin-right: 40px;
    margin-bottom: 40px;
    margin-left: 40px;
  }

  .margin-x-md-5 {
    margin-right: 40px;
    margin-left: 40px;
  }

  .margin-y-md-5 {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .margin-top-md-6 {
    margin-top: 60px;
  }

  .margin-right-md-6 {
    margin-right: 60px;
  }

  .margin-bottom-md-6 {
    margin-bottom: 60px;
  }

  .margin-left-md-6 {
    margin-left: 60px;
  }

  .margin-md-6 {
    margin-top: 60px;
    margin-right: 60px;
    margin-bottom: 60px;
    margin-left: 60px;
  }

  .margin-x-md-6 {
    margin-right: 60px;
    margin-left: 60px;
  }

  .margin-y-md-6 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin-top-md-7 {
    margin-top: 70px;
  }

  .margin-right-md-7 {
    margin-right: 70px;
  }

  .margin-bottom-md-7 {
    margin-bottom: 70px;
  }

  .margin-left-md-7 {
    margin-left: 70px;
  }

  .margin-md-7 {
    margin-top: 70px;
    margin-right: 70px;
    margin-bottom: 70px;
    margin-left: 70px;
  }

  .margin-x-md-7 {
    margin-right: 70px;
    margin-left: 70px;
  }

  .margin-y-md-7 {
    margin-top: 70px;
    margin-bottom: 70px;
  }

  .margin-top-md-8 {
    margin-top: 80px;
  }

  .margin-right-md-8 {
    margin-right: 80px;
  }

  .margin-bottom-md-8 {
    margin-bottom: 80px;
  }

  .margin-left-md-8 {
    margin-left: 80px;
  }

  .margin-md-8 {
    margin-top: 80px;
    margin-right: 80px;
    margin-bottom: 80px;
    margin-left: 80px;
  }

  .margin-x-md-8 {
    margin-right: 80px;
    margin-left: 80px;
  }

  .Tutorials-videos,
  .margin-y-md-8 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin-top-md-9 {
    margin-top: 90px;
  }

  .margin-right-md-9 {
    margin-right: 90px;
  }

  .margin-bottom-md-9 {
    margin-bottom: 90px;
  }

  .margin-left-md-9 {
    margin-left: 90px;
  }

  .margin-md-9 {
    margin-top: 90px;
    margin-right: 90px;
    margin-bottom: 90px;
    margin-left: 90px;
  }

  .margin-x-md-9 {
    margin-right: 90px;
    margin-left: 90px;
  }

  .margin-y-md-9 {
    margin-top: 90px;
    margin-bottom: 90px;
  }

  .margin-top-md-10 {
    margin-top: 100px;
  }

  .margin-right-md-10 {
    margin-right: 100px;
  }

  .margin-bottom-md-10 {
    margin-bottom: 100px;
  }

  .margin-left-md-10 {
    margin-left: 100px;
  }

  .margin-md-10 {
    margin-top: 100px;
    margin-right: 100px;
    margin-bottom: 100px;
    margin-left: 100px;
  }

  .margin-x-md-10 {
    margin-right: 100px;
    margin-left: 100px;
  }

  .margin-y-md-10 {
    margin-top: 100px;
    margin-bottom: 100px;
  }

  .margin-md-auto {
    margin: auto;
  }

  .margin-md-0-auto {
    margin: 0 auto;
  }

  .margin-md-x-auto {
    margin-right: auto;
    margin-left: auto;
  }

  .margin-md-y-auto {
    margin-top: auto;
    margin-bottom: auto;
  }

  .margin-md-x-0 {
    margin-right: 0;
    margin-left: 0;
  }

  .margin-md-y-0 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .Hero__title,
  .margin-md-0 {
    margin: 0;
  }
}

@media (min-width: 1200px) {
  .margin-top-lg-auto {
    margin-top: auto;
  }

  .margin-right-lg-auto {
    margin-right: auto;
  }

  .margin-bottom-lg-auto {
    margin-bottom: auto;
  }

  .margin-left-lg-auto {
    margin-left: auto;
  }

  .margin-top-lg-0 {
    margin-top: 0px;
  }

  .margin-right-lg-0 {
    margin-right: 0px;
  }

  .margin-bottom-lg-0 {
    margin-bottom: 0px;
  }

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

  .margin-lg-0 {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
  }

  .margin-x-lg-0 {
    margin-right: 0px;
    margin-left: 0px;
  }

  .margin-y-lg-0 {
    margin-top: 0px;
    margin-bottom: 0px;
  }

  .margin-top-lg-1 {
    margin-top: 5px;
  }

  .margin-right-lg-1 {
    margin-right: 5px;
  }

  .margin-bottom-lg-1 {
    margin-bottom: 5px;
  }

  .margin-left-lg-1 {
    margin-left: 5px;
  }

  .margin-lg-1 {
    margin-top: 5px;
    margin-right: 5px;
    margin-bottom: 5px;
    margin-left: 5px;
  }

  .margin-x-lg-1 {
    margin-right: 5px;
    margin-left: 5px;
  }

  .margin-y-lg-1 {
    margin-top: 5px;
    margin-bottom: 5px;
  }

  .margin-top-lg-2 {
    margin-top: 10px;
  }

  .margin-right-lg-2 {
    margin-right: 10px;
  }

  .margin-bottom-lg-2 {
    margin-bottom: 10px;
  }

  .margin-left-lg-2 {
    margin-left: 10px;
  }

  .margin-lg-2 {
    margin-top: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    margin-left: 10px;
  }

  .margin-x-lg-2 {
    margin-right: 10px;
    margin-left: 10px;
  }

  .margin-y-lg-2 {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .margin-top-lg-3 {
    margin-top: 20px;
  }

  .margin-right-lg-3 {
    margin-right: 20px;
  }

  .margin-bottom-lg-3 {
    margin-bottom: 20px;
  }

  .margin-left-lg-3 {
    margin-left: 20px;
  }

  .margin-lg-3 {
    margin-top: 20px;
    margin-right: 20px;
    margin-bottom: 20px;
    margin-left: 20px;
  }

  .margin-x-lg-3 {
    margin-right: 20px;
    margin-left: 20px;
  }

  .margin-y-lg-3 {
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .margin-top-lg-4 {
    margin-top: 30px;
  }

  .margin-right-lg-4 {
    margin-right: 30px;
  }

  .margin-bottom-lg-4 {
    margin-bottom: 30px;
  }

  .margin-left-lg-4 {
    margin-left: 30px;
  }

  .margin-lg-4 {
    margin-top: 30px;
    margin-right: 30px;
    margin-bottom: 30px;
    margin-left: 30px;
  }

  .margin-x-lg-4 {
    margin-right: 30px;
    margin-left: 30px;
  }

  .margin-y-lg-4 {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .margin-top-lg-5 {
    margin-top: 40px;
  }

  .margin-right-lg-5 {
    margin-right: 40px;
  }

  .margin-bottom-lg-5 {
    margin-bottom: 40px;
  }

  .margin-left-lg-5 {
    margin-left: 40px;
  }

  .margin-lg-5 {
    margin-top: 40px;
    margin-right: 40px;
    margin-bottom: 40px;
    margin-left: 40px;
  }

  .margin-x-lg-5 {
    margin-right: 40px;
    margin-left: 40px;
  }

  .margin-y-lg-5 {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .margin-top-lg-6 {
    margin-top: 60px;
  }

  .margin-right-lg-6 {
    margin-right: 60px;
  }

  .margin-bottom-lg-6 {
    margin-bottom: 60px;
  }

  .margin-left-lg-6 {
    margin-left: 60px;
  }

  .margin-lg-6 {
    margin-top: 60px;
    margin-right: 60px;
    margin-bottom: 60px;
    margin-left: 60px;
  }

  .margin-x-lg-6 {
    margin-right: 60px;
    margin-left: 60px;
  }

  .margin-y-lg-6 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin-top-lg-7 {
    margin-top: 70px;
  }

  .margin-right-lg-7 {
    margin-right: 70px;
  }

  .margin-bottom-lg-7 {
    margin-bottom: 70px;
  }

  .margin-left-lg-7 {
    margin-left: 70px;
  }

  .margin-lg-7 {
    margin-top: 70px;
    margin-right: 70px;
    margin-bottom: 70px;
    margin-left: 70px;
  }

  .margin-x-lg-7 {
    margin-right: 70px;
    margin-left: 70px;
  }

  .margin-y-lg-7 {
    margin-top: 70px;
    margin-bottom: 70px;
  }

  .margin-top-lg-8 {
    margin-top: 80px;
  }

  .margin-right-lg-8 {
    margin-right: 80px;
  }

  .margin-bottom-lg-8 {
    margin-bottom: 80px;
  }

  .margin-left-lg-8 {
    margin-left: 80px;
  }

  .margin-lg-8 {
    margin-top: 80px;
    margin-right: 80px;
    margin-bottom: 80px;
    margin-left: 80px;
  }

  .margin-x-lg-8 {
    margin-right: 80px;
    margin-left: 80px;
  }

  .margin-y-lg-8 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin-top-lg-9 {
    margin-top: 90px;
  }

  .margin-right-lg-9 {
    margin-right: 90px;
  }

  .margin-bottom-lg-9 {
    margin-bottom: 90px;
  }

  .margin-left-lg-9 {
    margin-left: 90px;
  }

  .margin-lg-9 {
    margin-top: 90px;
    margin-right: 90px;
    margin-bottom: 90px;
    margin-left: 90px;
  }

  .margin-x-lg-9 {
    margin-right: 90px;
    margin-left: 90px;
  }

  .margin-y-lg-9 {
    margin-top: 90px;
    margin-bottom: 90px;
  }

  .margin-top-lg-10 {
    margin-top: 100px;
  }

  .margin-right-lg-10 {
    margin-right: 100px;
  }

  .margin-bottom-lg-10 {
    margin-bottom: 100px;
  }

  .margin-left-lg-10 {
    margin-left: 100px;
  }

  .margin-lg-10 {
    margin-top: 100px;
    margin-right: 100px;
    margin-bottom: 100px;
    margin-left: 100px;
  }

  .margin-x-lg-10 {
    margin-right: 100px;
    margin-left: 100px;
  }

  .margin-y-lg-10 {
    margin-top: 100px;
    margin-bottom: 100px;
  }

  .margin-lg-auto {
    margin: auto;
  }

  .margin-lg-0-auto {
    margin: 0 auto;
  }

  .margin-lg-x-auto {
    margin-right: auto;
    margin-left: auto;
  }

  .margin-lg-y-auto {
    margin-top: auto;
    margin-bottom: auto;
  }

  .margin-lg-x-0 {
    margin-right: 0;
    margin-left: 0;
  }

  .margin-lg-y-0 {
    margin-top: 0;
    margin-bottom: 0;
  }

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

@media (min-width: 1400px) {
  .margin-top-hd-auto {
    margin-top: auto;
  }

  .margin-right-hd-auto {
    margin-right: auto;
  }

  .margin-bottom-hd-auto {
    margin-bottom: auto;
  }

  .margin-left-hd-auto {
    margin-left: auto;
  }

  .margin-top-hd-0 {
    margin-top: 0px;
  }

  .margin-right-hd-0 {
    margin-right: 0px;
  }

  .margin-bottom-hd-0 {
    margin-bottom: 0px;
  }

  .margin-left-hd-0 {
    margin-left: 0px;
  }

  .margin-hd-0 {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
  }

  .margin-x-hd-0 {
    margin-right: 0px;
    margin-left: 0px;
  }

  .margin-y-hd-0 {
    margin-top: 0px;
    margin-bottom: 0px;
  }

  .margin-top-hd-1 {
    margin-top: 5px;
  }

  .margin-right-hd-1 {
    margin-right: 5px;
  }

  .margin-bottom-hd-1 {
    margin-bottom: 5px;
  }

  .margin-left-hd-1 {
    margin-left: 5px;
  }

  .margin-hd-1 {
    margin-top: 5px;
    margin-right: 5px;
    margin-bottom: 5px;
    margin-left: 5px;
  }

  .margin-x-hd-1 {
    margin-right: 5px;
    margin-left: 5px;
  }

  .margin-y-hd-1 {
    margin-top: 5px;
    margin-bottom: 5px;
  }

  .margin-top-hd-2 {
    margin-top: 10px;
  }

  .margin-right-hd-2 {
    margin-right: 10px;
  }

  .margin-bottom-hd-2 {
    margin-bottom: 10px;
  }

  .margin-left-hd-2 {
    margin-left: 10px;
  }

  .margin-hd-2 {
    margin-top: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    margin-left: 10px;
  }

  .margin-x-hd-2 {
    margin-right: 10px;
    margin-left: 10px;
  }

  .margin-y-hd-2 {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .margin-top-hd-3 {
    margin-top: 20px;
  }

  .margin-right-hd-3 {
    margin-right: 20px;
  }

  .margin-bottom-hd-3 {
    margin-bottom: 20px;
  }

  .margin-left-hd-3 {
    margin-left: 20px;
  }

  .margin-hd-3 {
    margin-top: 20px;
    margin-right: 20px;
    margin-bottom: 20px;
    margin-left: 20px;
  }

  .margin-x-hd-3 {
    margin-right: 20px;
    margin-left: 20px;
  }

  .margin-y-hd-3 {
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .margin-top-hd-4 {
    margin-top: 30px;
  }

  .margin-right-hd-4 {
    margin-right: 30px;
  }

  .margin-bottom-hd-4 {
    margin-bottom: 30px;
  }

  .margin-left-hd-4 {
    margin-left: 30px;
  }

  .margin-hd-4 {
    margin-top: 30px;
    margin-right: 30px;
    margin-bottom: 30px;
    margin-left: 30px;
  }

  .margin-x-hd-4 {
    margin-right: 30px;
    margin-left: 30px;
  }

  .margin-y-hd-4 {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .margin-top-hd-5 {
    margin-top: 40px;
  }

  .margin-right-hd-5 {
    margin-right: 40px;
  }

  .margin-bottom-hd-5 {
    margin-bottom: 40px;
  }

  .margin-left-hd-5 {
    margin-left: 40px;
  }

  .margin-hd-5 {
    margin-top: 40px;
    margin-right: 40px;
    margin-bottom: 40px;
    margin-left: 40px;
  }

  .margin-x-hd-5 {
    margin-right: 40px;
    margin-left: 40px;
  }

  .margin-y-hd-5 {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .margin-top-hd-6 {
    margin-top: 60px;
  }

  .margin-right-hd-6 {
    margin-right: 60px;
  }

  .margin-bottom-hd-6 {
    margin-bottom: 60px;
  }

  .margin-left-hd-6 {
    margin-left: 60px;
  }

  .margin-hd-6 {
    margin-top: 60px;
    margin-right: 60px;
    margin-bottom: 60px;
    margin-left: 60px;
  }

  .margin-x-hd-6 {
    margin-right: 60px;
    margin-left: 60px;
  }

  .margin-y-hd-6 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .margin-top-hd-7 {
    margin-top: 70px;
  }

  .margin-right-hd-7 {
    margin-right: 70px;
  }

  .margin-bottom-hd-7 {
    margin-bottom: 70px;
  }

  .margin-left-hd-7 {
    margin-left: 70px;
  }

  .margin-hd-7 {
    margin-top: 70px;
    margin-right: 70px;
    margin-bottom: 70px;
    margin-left: 70px;
  }

  .margin-x-hd-7 {
    margin-right: 70px;
    margin-left: 70px;
  }

  .margin-y-hd-7 {
    margin-top: 70px;
    margin-bottom: 70px;
  }

  .margin-top-hd-8 {
    margin-top: 80px;
  }

  .margin-right-hd-8 {
    margin-right: 80px;
  }

  .margin-bottom-hd-8 {
    margin-bottom: 80px;
  }

  .margin-left-hd-8 {
    margin-left: 80px;
  }

  .margin-hd-8 {
    margin-top: 80px;
    margin-right: 80px;
    margin-bottom: 80px;
    margin-left: 80px;
  }

  .margin-x-hd-8 {
    margin-right: 80px;
    margin-left: 80px;
  }

  .margin-y-hd-8 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .margin-top-hd-9 {
    margin-top: 90px;
  }

  .margin-right-hd-9 {
    margin-right: 90px;
  }

  .margin-bottom-hd-9 {
    margin-bottom: 90px;
  }

  .margin-left-hd-9 {
    margin-left: 90px;
  }

  .margin-hd-9 {
    margin-top: 90px;
    margin-right: 90px;
    margin-bottom: 90px;
    margin-left: 90px;
  }

  .margin-x-hd-9 {
    margin-right: 90px;
    margin-left: 90px;
  }

  .margin-y-hd-9 {
    margin-top: 90px;
    margin-bottom: 90px;
  }

  .margin-top-hd-10 {
    margin-top: 100px;
  }

  .margin-right-hd-10 {
    margin-right: 100px;
  }

  .margin-bottom-hd-10 {
    margin-bottom: 100px;
  }

  .margin-left-hd-10 {
    margin-left: 100px;
  }

  .margin-hd-10 {
    margin-top: 100px;
    margin-right: 100px;
    margin-bottom: 100px;
    margin-left: 100px;
  }

  .margin-x-hd-10 {
    margin-right: 100px;
    margin-left: 100px;
  }

  .margin-y-hd-10 {
    margin-top: 100px;
    margin-bottom: 100px;
  }

  .margin-hd-auto {
    margin: auto;
  }

  .margin-hd-0-auto {
    margin: 0 auto;
  }

  .margin-hd-x-auto {
    margin-right: auto;
    margin-left: auto;
  }

  .margin-hd-y-auto {
    margin-top: auto;
    margin-bottom: auto;
  }

  .margin-hd-x-0 {
    margin-right: 0;
    margin-left: 0;
  }

  .margin-hd-y-0 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .margin-hd-0 {
    margin: 0;
  }
}

/**
 * Overflows
 *
 * Construct each overflow found in $overflow-values with
 * a placeholder and a utility class
 */

.Banner--small,
.Travel-diary__form,
.Alert__item__inner,
.Alert__content,
.Card-video,
.Card-destination,
.Card-destination__description,
.Card-favorite,
.Card-information,
.Card-list,
.Card,
.Card__thumbnail,
.Card-promotionnelle,
.Card-promotionnelle__thumbnail,
.Card-promotionnelle-L,
.Card-promotionnelle-V,
.Card-inspiration,
.Card-inspiration__description,
.Carousel,
.Carousel[data-flickity-desktop="true"],
.Plane-trip__thumbnail,
.Reportage__carousel,
.Reportage__carousel__item,
.List-button li,
.List-button__container,
.Slideshow,
.Card-readmore,
.Input-date__button > span,
.error404,
.Parking-page__choices,
.Destination__list,
.overflow-hidden {
  overflow: hidden;
}

.Favorites,
.overflow-x-hidden {
  overflow-x: hidden;
}

.overflow-y-hidden {
  overflow-y: hidden;
}

.Hero__footer.Carousel .flickity-viewport,
.Tutorials-videos .flickity-viewport,
.Flight-detail .flickity-viewport,
.Go-further .flickity-viewport,
.Travel-diary .flickity-viewport,
.Prepare .flickity-viewport,
.Widget__mobile .flickity-viewport,
.Reportage__carousel .flickity-viewport,
.Favorites .flickity-viewport,
.Insta-gram .flickity-viewport,
.Parking-page__choices .flickity-viewport,
.Parking-page__informations .flickity-viewport,
.Destination__list .flickity-viewport,
.overflow-visible {
  overflow: visible;
}

.overflow-x-visible {
  overflow-x: visible;
}

.overflow-y-visible {
  overflow-y: visible;
}

.overflow-auto {
  overflow: auto;
}

.Taskbar,
.overflow-x-auto {
  overflow-x: auto;
}

.Input-time__body,
.overflow-y-auto {
  overflow-y: auto;
}

.overflow-scroll {
  overflow: scroll;
}

.overflow-x-scroll {
  overflow-x: scroll;
}

.overflow-y-scroll {
  overflow-y: scroll;
}

.Banner--small,
.Travel-diary__form,
.Alert__item__inner,
.Alert__content,
.Card-video,
.Card-destination,
.Card-destination__description,
.Card-favorite,
.Card-information,
.Card-list,
.Card,
.Card__thumbnail,
.Card-promotionnelle,
.Card-promotionnelle__thumbnail,
.Card-promotionnelle-L,
.Card-promotionnelle-V,
.Card-inspiration,
.Card-inspiration__description,
.Carousel,
.Carousel[data-flickity-desktop="true"],
.Plane-trip__thumbnail,
.Reportage__carousel,
.Reportage__carousel__item,
.List-button li,
.List-button__container,
.Slideshow,
.Card-readmore,
.Input-date__button > span,
.error404,
.Parking-page__choices,
.Destination__list,
.overflow-hidden {
  overflow: hidden;
}

.Favorites,
.overflow-x-hidden {
  overflow-x: hidden;
}

.overflow-y-hidden {
  overflow-y: hidden;
}

.Hero__footer.Carousel .flickity-viewport,
.Tutorials-videos .flickity-viewport,
.Flight-detail .flickity-viewport,
.Go-further .flickity-viewport,
.Travel-diary .flickity-viewport,
.Prepare .flickity-viewport,
.Widget__mobile .flickity-viewport,
.Reportage__carousel .flickity-viewport,
.Favorites .flickity-viewport,
.Insta-gram .flickity-viewport,
.Parking-page__choices .flickity-viewport,
.Parking-page__informations .flickity-viewport,
.Destination__list .flickity-viewport,
.overflow-visible {
  overflow: visible;
}

.overflow-x-visible {
  overflow-x: visible;
}

.overflow-y-visible {
  overflow-y: visible;
}

.overflow-auto {
  overflow: auto;
}

.Taskbar,
.overflow-x-auto {
  overflow-x: auto;
}

.Input-time__body,
.overflow-y-auto {
  overflow-y: auto;
}

.overflow-scroll {
  overflow: scroll;
}

.overflow-x-scroll {
  overflow-x: scroll;
}

.overflow-y-scroll {
  overflow-y: scroll;
}

@media (min-width: 754px) {
  .overflow-sm-hidden {
    overflow: hidden;
  }

  .overflow-x-sm-hidden {
    overflow-x: hidden;
  }

  .overflow-y-sm-hidden {
    overflow-y: hidden;
  }

  .overflow-sm-visible {
    overflow: visible;
  }

  .overflow-x-sm-visible {
    overflow-x: visible;
  }

  .overflow-y-sm-visible {
    overflow-y: visible;
  }

  .overflow-sm-auto {
    overflow: auto;
  }

  .overflow-x-sm-auto {
    overflow-x: auto;
  }

  .overflow-y-sm-auto {
    overflow-y: auto;
  }

  .overflow-sm-scroll {
    overflow: scroll;
  }

  .overflow-x-sm-scroll {
    overflow-x: scroll;
  }

  .overflow-y-sm-scroll {
    overflow-y: scroll;
  }
}

@media (min-width: 992px) {
  .Tutorials-videos .flickity-viewport,
  .Alert__text__phrase,
  .overflow-md-hidden {
    overflow: hidden;
  }

  .overflow-x-md-hidden {
    overflow-x: hidden;
  }

  .overflow-y-md-hidden {
    overflow-y: hidden;
  }

  .Prepare,
  .Carousel,
  .overflow-md-visible {
    overflow: visible;
  }

  .overflow-x-md-visible {
    overflow-x: visible;
  }

  .overflow-y-md-visible {
    overflow-y: visible;
  }

  .overflow-md-auto {
    overflow: auto;
  }

  .overflow-x-md-auto {
    overflow-x: auto;
  }

  .overflow-y-md-auto {
    overflow-y: auto;
  }

  .overflow-md-scroll {
    overflow: scroll;
  }

  .overflow-x-md-scroll {
    overflow-x: scroll;
  }

  .overflow-y-md-scroll {
    overflow-y: scroll;
  }
}

@media (min-width: 1200px) {
  .overflow-lg-hidden {
    overflow: hidden;
  }

  .overflow-x-lg-hidden {
    overflow-x: hidden;
  }

  .overflow-y-lg-hidden {
    overflow-y: hidden;
  }

  .overflow-lg-visible {
    overflow: visible;
  }

  .overflow-x-lg-visible {
    overflow-x: visible;
  }

  .overflow-y-lg-visible {
    overflow-y: visible;
  }

  .overflow-lg-auto {
    overflow: auto;
  }

  .overflow-x-lg-auto {
    overflow-x: auto;
  }

  .overflow-y-lg-auto {
    overflow-y: auto;
  }

  .overflow-lg-scroll {
    overflow: scroll;
  }

  .overflow-x-lg-scroll {
    overflow-x: scroll;
  }

  .overflow-y-lg-scroll {
    overflow-y: scroll;
  }
}

@media (min-width: 1400px) {
  .overflow-hd-hidden {
    overflow: hidden;
  }

  .overflow-x-hd-hidden {
    overflow-x: hidden;
  }

  .overflow-y-hd-hidden {
    overflow-y: hidden;
  }

  .overflow-hd-visible {
    overflow: visible;
  }

  .overflow-x-hd-visible {
    overflow-x: visible;
  }

  .overflow-y-hd-visible {
    overflow-y: visible;
  }

  .overflow-hd-auto {
    overflow: auto;
  }

  .overflow-x-hd-auto {
    overflow-x: auto;
  }

  .overflow-y-hd-auto {
    overflow-y: auto;
  }

  .overflow-hd-scroll {
    overflow: scroll;
  }

  .overflow-x-hd-scroll {
    overflow-x: scroll;
  }

  .overflow-y-hd-scroll {
    overflow-y: scroll;
  }
}

/**
 * Margins classes
 *
 * $breakpoint 	str Breakpoint name
 *
 *
 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#map_keys-instance_method
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.padding-top-0 {
  padding-top: 0px;
}

.Card-list__column:last-child,
.padding-right-0 {
  padding-right: 0px;
}

.padding-bottom-0 {
  padding-bottom: 0px;
}

.Card-list__column:first-child,
.padding-left-0 {
  padding-left: 0px;
}

.padding-x-0 {
  padding-right: 0px;
  padding-left: 0px;
}

.padding-y-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}

.tippy-box[data-theme~="adl"] .tippy-content,
.padding-0 {
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
}

.padding-top-1 {
  padding-top: 5px;
}

.padding-right-1 {
  padding-right: 5px;
}

.padding-bottom-1 {
  padding-bottom: 5px;
}

.padding-left-1 {
  padding-left: 5px;
}

.padding-x-1 {
  padding-right: 5px;
  padding-left: 5px;
}

.padding-y-1 {
  padding-top: 5px;
  padding-bottom: 5px;
}

.padding-1 {
  padding-top: 5px;
  padding-right: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
}

.Card-parking__more,
.padding-top-2 {
  padding-top: 10px;
}

.padding-right-2 {
  padding-right: 10px;
}

.padding-bottom-2 {
  padding-bottom: 10px;
}

.padding-left-2 {
  padding-left: 10px;
}

.padding-x-2 {
  padding-right: 10px;
  padding-left: 10px;
}

.padding-y-2 {
  padding-top: 10px;
  padding-bottom: 10px;
}

.padding-2 {
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
}

.padding-top-3 {
  padding-top: 20px;
}

.Taskbar__item:last-child,
.padding-right-3 {
  padding-right: 20px;
}

.padding-bottom-3 {
  padding-bottom: 20px;
}

.Taskbar__item:first-child,
.padding-left-3 {
  padding-left: 20px;
}

.Table__body,
.Information__body,
.Push__aside,
.padding-x-3 {
  padding-right: 20px;
  padding-left: 20px;
}

.Table__column,
.Push,
.Accordion__item__body > div,
.Plane-trip__body,
.padding-y-3 {
  padding-top: 20px;
  padding-bottom: 20px;
}

.Card-destination__title,
.Card-inspiration__title,
.Card-readmore__title,
.padding-3 {
  padding-top: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
}

.padding-top-4 {
  padding-top: 30px;
}

.Push__body,
.padding-right-4 {
  padding-right: 30px;
}

.padding-bottom-4 {
  padding-bottom: 30px;
}

.Push__body,
.padding-left-4 {
  padding-left: 30px;
}

.padding-x-4 {
  padding-right: 30px;
  padding-left: 30px;
}

.Information__body,
.Destination__accordion__header__title a,
.Destination__accordion__header__title button,
.padding-y-4 {
  padding-top: 30px;
  padding-bottom: 30px;
}

.padding-4 {
  padding-top: 30px;
  padding-right: 30px;
  padding-bottom: 30px;
  padding-left: 30px;
}

.padding-top-5 {
  padding-top: 40px;
}

.padding-right-5 {
  padding-right: 40px;
}

.padding-bottom-5 {
  padding-bottom: 40px;
}

.padding-left-5 {
  padding-left: 40px;
}

.padding-x-5 {
  padding-right: 40px;
  padding-left: 40px;
}

.padding-y-5 {
  padding-top: 40px;
  padding-bottom: 40px;
}

.Card-destination__background,
.Card-inspiration__background,
.padding-5 {
  padding-top: 40px;
  padding-right: 40px;
  padding-bottom: 40px;
  padding-left: 40px;
}

.padding-top-6 {
  padding-top: 60px;
}

.padding-right-6 {
  padding-right: 60px;
}

.padding-bottom-6 {
  padding-bottom: 60px;
}

.padding-left-6 {
  padding-left: 60px;
}

.padding-x-6 {
  padding-right: 60px;
  padding-left: 60px;
}

.Go-further,
.Go-further.has-background,
.padding-y-6 {
  padding-top: 60px;
  padding-bottom: 60px;
}

.padding-6 {
  padding-top: 60px;
  padding-right: 60px;
  padding-bottom: 60px;
  padding-left: 60px;
}

.padding-top-7 {
  padding-top: 70px;
}

.padding-right-7 {
  padding-right: 70px;
}

.padding-bottom-7 {
  padding-bottom: 70px;
}

.padding-left-7 {
  padding-left: 70px;
}

.padding-x-7 {
  padding-right: 70px;
  padding-left: 70px;
}

.padding-y-7 {
  padding-top: 70px;
  padding-bottom: 70px;
}

.padding-7 {
  padding-top: 70px;
  padding-right: 70px;
  padding-bottom: 70px;
  padding-left: 70px;
}

.padding-top-8 {
  padding-top: 80px;
}

.padding-right-8 {
  padding-right: 80px;
}

.padding-bottom-8 {
  padding-bottom: 80px;
}

.padding-left-8 {
  padding-left: 80px;
}

.padding-x-8 {
  padding-right: 80px;
  padding-left: 80px;
}

.Table__body,
.padding-y-8 {
  padding-top: 80px;
  padding-bottom: 80px;
}

.padding-8 {
  padding-top: 80px;
  padding-right: 80px;
  padding-bottom: 80px;
  padding-left: 80px;
}

.padding-top-9 {
  padding-top: 90px;
}

.padding-right-9 {
  padding-right: 90px;
}

.padding-bottom-9 {
  padding-bottom: 90px;
}

.padding-left-9 {
  padding-left: 90px;
}

.padding-x-9 {
  padding-right: 90px;
  padding-left: 90px;
}

.padding-y-9 {
  padding-top: 90px;
  padding-bottom: 90px;
}

.padding-9 {
  padding-top: 90px;
  padding-right: 90px;
  padding-bottom: 90px;
  padding-left: 90px;
}

.padding-top-10 {
  padding-top: 100px;
}

.padding-right-10 {
  padding-right: 100px;
}

.padding-bottom-10 {
  padding-bottom: 100px;
}

.padding-left-10 {
  padding-left: 100px;
}

.padding-x-10 {
  padding-right: 100px;
  padding-left: 100px;
}

.padding-y-10 {
  padding-top: 100px;
  padding-bottom: 100px;
}

.padding-10 {
  padding-top: 100px;
  padding-right: 100px;
  padding-bottom: 100px;
  padding-left: 100px;
}

.padding-x-0 {
  padding-right: 0;
  padding-left: 0;
}

.padding-y-0 {
  padding-top: 0;
  padding-bottom: 0;
}

.tippy-box[data-theme~="adl"] .tippy-content,
.padding-0 {
  padding: 0;
}

@media (min-width: 754px) {
  .padding-top-sm-0 {
    padding-top: 0px;
  }

  .padding-right-sm-0 {
    padding-right: 0px;
  }

  .padding-bottom-sm-0 {
    padding-bottom: 0px;
  }

  .padding-left-sm-0 {
    padding-left: 0px;
  }

  .padding-x-sm-0 {
    padding-right: 0px;
    padding-left: 0px;
  }

  .padding-y-sm-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .padding-sm-0 {
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
  }

  .padding-top-sm-1 {
    padding-top: 5px;
  }

  .padding-right-sm-1 {
    padding-right: 5px;
  }

  .padding-bottom-sm-1 {
    padding-bottom: 5px;
  }

  .padding-left-sm-1 {
    padding-left: 5px;
  }

  .padding-x-sm-1 {
    padding-right: 5px;
    padding-left: 5px;
  }

  .padding-y-sm-1 {
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .padding-sm-1 {
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
  }

  .padding-top-sm-2 {
    padding-top: 10px;
  }

  .padding-right-sm-2 {
    padding-right: 10px;
  }

  .padding-bottom-sm-2 {
    padding-bottom: 10px;
  }

  .padding-left-sm-2 {
    padding-left: 10px;
  }

  .padding-x-sm-2 {
    padding-right: 10px;
    padding-left: 10px;
  }

  .padding-y-sm-2 {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .padding-sm-2 {
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
  }

  .Card-parking__more,
  .padding-top-sm-3 {
    padding-top: 20px;
  }

  .padding-right-sm-3 {
    padding-right: 20px;
  }

  .padding-bottom-sm-3 {
    padding-bottom: 20px;
  }

  .padding-left-sm-3 {
    padding-left: 20px;
  }

  .padding-x-sm-3 {
    padding-right: 20px;
    padding-left: 20px;
  }

  .padding-y-sm-3 {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .padding-sm-3 {
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
  }

  .padding-top-sm-4 {
    padding-top: 30px;
  }

  .padding-right-sm-4 {
    padding-right: 30px;
  }

  .padding-bottom-sm-4 {
    padding-bottom: 30px;
  }

  .padding-left-sm-4 {
    padding-left: 30px;
  }

  .padding-x-sm-4 {
    padding-right: 30px;
    padding-left: 30px;
  }

  .padding-y-sm-4 {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .padding-sm-4 {
    padding-top: 30px;
    padding-right: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
  }

  .padding-top-sm-5 {
    padding-top: 40px;
  }

  .padding-right-sm-5 {
    padding-right: 40px;
  }

  .padding-bottom-sm-5 {
    padding-bottom: 40px;
  }

  .padding-left-sm-5 {
    padding-left: 40px;
  }

  .padding-x-sm-5 {
    padding-right: 40px;
    padding-left: 40px;
  }

  .padding-y-sm-5 {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .padding-sm-5 {
    padding-top: 40px;
    padding-right: 40px;
    padding-bottom: 40px;
    padding-left: 40px;
  }

  .padding-top-sm-6 {
    padding-top: 60px;
  }

  .padding-right-sm-6 {
    padding-right: 60px;
  }

  .padding-bottom-sm-6 {
    padding-bottom: 60px;
  }

  .padding-left-sm-6 {
    padding-left: 60px;
  }

  .padding-x-sm-6 {
    padding-right: 60px;
    padding-left: 60px;
  }

  .padding-y-sm-6 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding-sm-6 {
    padding-top: 60px;
    padding-right: 60px;
    padding-bottom: 60px;
    padding-left: 60px;
  }

  .padding-top-sm-7 {
    padding-top: 70px;
  }

  .padding-right-sm-7 {
    padding-right: 70px;
  }

  .padding-bottom-sm-7 {
    padding-bottom: 70px;
  }

  .padding-left-sm-7 {
    padding-left: 70px;
  }

  .padding-x-sm-7 {
    padding-right: 70px;
    padding-left: 70px;
  }

  .padding-y-sm-7 {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .padding-sm-7 {
    padding-top: 70px;
    padding-right: 70px;
    padding-bottom: 70px;
    padding-left: 70px;
  }

  .padding-top-sm-8 {
    padding-top: 80px;
  }

  .padding-right-sm-8 {
    padding-right: 80px;
  }

  .padding-bottom-sm-8 {
    padding-bottom: 80px;
  }

  .padding-left-sm-8 {
    padding-left: 80px;
  }

  .padding-x-sm-8 {
    padding-right: 80px;
    padding-left: 80px;
  }

  .padding-y-sm-8 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding-sm-8 {
    padding-top: 80px;
    padding-right: 80px;
    padding-bottom: 80px;
    padding-left: 80px;
  }

  .padding-top-sm-9 {
    padding-top: 90px;
  }

  .padding-right-sm-9 {
    padding-right: 90px;
  }

  .padding-bottom-sm-9 {
    padding-bottom: 90px;
  }

  .padding-left-sm-9 {
    padding-left: 90px;
  }

  .padding-x-sm-9 {
    padding-right: 90px;
    padding-left: 90px;
  }

  .padding-y-sm-9 {
    padding-top: 90px;
    padding-bottom: 90px;
  }

  .padding-sm-9 {
    padding-top: 90px;
    padding-right: 90px;
    padding-bottom: 90px;
    padding-left: 90px;
  }

  .padding-top-sm-10 {
    padding-top: 100px;
  }

  .padding-right-sm-10 {
    padding-right: 100px;
  }

  .padding-bottom-sm-10 {
    padding-bottom: 100px;
  }

  .padding-left-sm-10 {
    padding-left: 100px;
  }

  .padding-x-sm-10 {
    padding-right: 100px;
    padding-left: 100px;
  }

  .padding-y-sm-10 {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .padding-sm-10 {
    padding-top: 100px;
    padding-right: 100px;
    padding-bottom: 100px;
    padding-left: 100px;
  }

  .padding-sm-x-0 {
    padding-right: 0;
    padding-left: 0;
  }

  .padding-sm-y-0 {
    padding-top: 0;
    padding-bottom: 0;
  }

  .padding-sm-0 {
    padding: 0;
  }
}

@media (min-width: 992px) {
  .padding-top-md-0 {
    padding-top: 0px;
  }

  .Taskbar__item:last-child,
  .padding-right-md-0 {
    padding-right: 0px;
  }

  .padding-bottom-md-0 {
    padding-bottom: 0px;
  }

  .Taskbar__item:first-child,
  .padding-left-md-0 {
    padding-left: 0px;
  }

  .Table__body,
  .padding-x-md-0 {
    padding-right: 0px;
    padding-left: 0px;
  }

  .padding-y-md-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .padding-md-0 {
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
  }

  .padding-top-md-1 {
    padding-top: 5px;
  }

  .padding-right-md-1 {
    padding-right: 5px;
  }

  .padding-bottom-md-1 {
    padding-bottom: 5px;
  }

  .padding-left-md-1 {
    padding-left: 5px;
  }

  .padding-x-md-1 {
    padding-right: 5px;
    padding-left: 5px;
  }

  .padding-y-md-1 {
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .padding-md-1 {
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
  }

  .padding-top-md-2 {
    padding-top: 10px;
  }

  .padding-right-md-2 {
    padding-right: 10px;
  }

  .padding-bottom-md-2 {
    padding-bottom: 10px;
  }

  .padding-left-md-2 {
    padding-left: 10px;
  }

  .padding-x-md-2 {
    padding-right: 10px;
    padding-left: 10px;
  }

  .padding-y-md-2 {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .padding-md-2 {
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
  }

  .padding-top-md-3 {
    padding-top: 20px;
  }

  .padding-right-md-3 {
    padding-right: 20px;
  }

  .padding-bottom-md-3 {
    padding-bottom: 20px;
  }

  .Push__body,
  .Plane-trip__body,
  .padding-left-md-3 {
    padding-left: 20px;
  }

  .padding-x-md-3 {
    padding-right: 20px;
    padding-left: 20px;
  }

  .padding-y-md-3 {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .padding-md-3 {
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
  }

  .padding-top-md-4 {
    padding-top: 30px;
  }

  .padding-right-md-4 {
    padding-right: 30px;
  }

  .padding-bottom-md-4 {
    padding-bottom: 30px;
  }

  .padding-left-md-4 {
    padding-left: 30px;
  }

  .Information__body,
  .padding-x-md-4 {
    padding-right: 30px;
    padding-left: 30px;
  }

  .padding-y-md-4 {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .padding-md-4 {
    padding-top: 30px;
    padding-right: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
  }

  .padding-top-md-5 {
    padding-top: 40px;
  }

  .Push__body,
  .padding-right-md-5 {
    padding-right: 40px;
  }

  .padding-bottom-md-5 {
    padding-bottom: 40px;
  }

  .padding-left-md-5 {
    padding-left: 40px;
  }

  .Push__aside,
  .padding-x-md-5 {
    padding-right: 40px;
    padding-left: 40px;
  }

  .Push,
  .Accordion__item__body > div,
  .Destination__accordion__header__title a,
  .Destination__accordion__header__title button,
  .padding-y-md-5 {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .padding-md-5 {
    padding-top: 40px;
    padding-right: 40px;
    padding-bottom: 40px;
    padding-left: 40px;
  }

  .padding-top-md-6 {
    padding-top: 60px;
  }

  .padding-right-md-6 {
    padding-right: 60px;
  }

  .padding-bottom-md-6 {
    padding-bottom: 60px;
  }

  .padding-left-md-6 {
    padding-left: 60px;
  }

  .padding-x-md-6 {
    padding-right: 60px;
    padding-left: 60px;
  }

  .Table__body,
  .padding-y-md-6 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding-md-6 {
    padding-top: 60px;
    padding-right: 60px;
    padding-bottom: 60px;
    padding-left: 60px;
  }

  .padding-top-md-7 {
    padding-top: 70px;
  }

  .padding-right-md-7 {
    padding-right: 70px;
  }

  .padding-bottom-md-7 {
    padding-bottom: 70px;
  }

  .padding-left-md-7 {
    padding-left: 70px;
  }

  .padding-x-md-7 {
    padding-right: 70px;
    padding-left: 70px;
  }

  .padding-y-md-7 {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .padding-md-7 {
    padding-top: 70px;
    padding-right: 70px;
    padding-bottom: 70px;
    padding-left: 70px;
  }

  .padding-top-md-8 {
    padding-top: 80px;
  }

  .padding-right-md-8 {
    padding-right: 80px;
  }

  .padding-bottom-md-8 {
    padding-bottom: 80px;
  }

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

  .padding-x-md-8 {
    padding-right: 80px;
    padding-left: 80px;
  }

  .padding-y-md-8 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding-md-8 {
    padding-top: 80px;
    padding-right: 80px;
    padding-bottom: 80px;
    padding-left: 80px;
  }

  .Go-further.has-background,
  .padding-top-md-9 {
    padding-top: 90px;
  }

  .padding-right-md-9 {
    padding-right: 90px;
  }

  .padding-bottom-md-9 {
    padding-bottom: 90px;
  }

  .padding-left-md-9 {
    padding-left: 90px;
  }

  .padding-x-md-9 {
    padding-right: 90px;
    padding-left: 90px;
  }

  .padding-y-md-9 {
    padding-top: 90px;
    padding-bottom: 90px;
  }

  .padding-md-9 {
    padding-top: 90px;
    padding-right: 90px;
    padding-bottom: 90px;
    padding-left: 90px;
  }

  .padding-top-md-10 {
    padding-top: 100px;
  }

  .padding-right-md-10 {
    padding-right: 100px;
  }

  .Go-further.has-background,
  .padding-bottom-md-10 {
    padding-bottom: 100px;
  }

  .padding-left-md-10 {
    padding-left: 100px;
  }

  .padding-x-md-10 {
    padding-right: 100px;
    padding-left: 100px;
  }

  .padding-y-md-10 {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .padding-md-10 {
    padding-top: 100px;
    padding-right: 100px;
    padding-bottom: 100px;
    padding-left: 100px;
  }

  .padding-md-x-0 {
    padding-right: 0;
    padding-left: 0;
  }

  .padding-md-y-0 {
    padding-top: 0;
    padding-bottom: 0;
  }

  .padding-md-0 {
    padding: 0;
  }
}

@media (min-width: 1200px) {
  .padding-top-lg-0 {
    padding-top: 0px;
  }

  .padding-right-lg-0 {
    padding-right: 0px;
  }

  .padding-bottom-lg-0 {
    padding-bottom: 0px;
  }

  .padding-left-lg-0 {
    padding-left: 0px;
  }

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

  .padding-y-lg-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .padding-lg-0 {
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
  }

  .padding-top-lg-1 {
    padding-top: 5px;
  }

  .padding-right-lg-1 {
    padding-right: 5px;
  }

  .padding-bottom-lg-1 {
    padding-bottom: 5px;
  }

  .padding-left-lg-1 {
    padding-left: 5px;
  }

  .padding-x-lg-1 {
    padding-right: 5px;
    padding-left: 5px;
  }

  .padding-y-lg-1 {
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .padding-lg-1 {
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
  }

  .padding-top-lg-2 {
    padding-top: 10px;
  }

  .padding-right-lg-2 {
    padding-right: 10px;
  }

  .padding-bottom-lg-2 {
    padding-bottom: 10px;
  }

  .padding-left-lg-2 {
    padding-left: 10px;
  }

  .padding-x-lg-2 {
    padding-right: 10px;
    padding-left: 10px;
  }

  .padding-y-lg-2 {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .padding-lg-2 {
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
  }

  .padding-top-lg-3 {
    padding-top: 20px;
  }

  .padding-right-lg-3 {
    padding-right: 20px;
  }

  .padding-bottom-lg-3 {
    padding-bottom: 20px;
  }

  .padding-left-lg-3 {
    padding-left: 20px;
  }

  .padding-x-lg-3 {
    padding-right: 20px;
    padding-left: 20px;
  }

  .padding-y-lg-3 {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .padding-lg-3 {
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
  }

  .padding-top-lg-4 {
    padding-top: 30px;
  }

  .padding-right-lg-4 {
    padding-right: 30px;
  }

  .padding-bottom-lg-4 {
    padding-bottom: 30px;
  }

  .padding-left-lg-4 {
    padding-left: 30px;
  }

  .padding-x-lg-4 {
    padding-right: 30px;
    padding-left: 30px;
  }

  .padding-y-lg-4 {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .padding-lg-4 {
    padding-top: 30px;
    padding-right: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
  }

  .padding-top-lg-5 {
    padding-top: 40px;
  }

  .padding-right-lg-5 {
    padding-right: 40px;
  }

  .padding-bottom-lg-5 {
    padding-bottom: 40px;
  }

  .padding-left-lg-5 {
    padding-left: 40px;
  }

  .padding-x-lg-5 {
    padding-right: 40px;
    padding-left: 40px;
  }

  .padding-y-lg-5 {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .padding-lg-5 {
    padding-top: 40px;
    padding-right: 40px;
    padding-bottom: 40px;
    padding-left: 40px;
  }

  .padding-top-lg-6 {
    padding-top: 60px;
  }

  .padding-right-lg-6 {
    padding-right: 60px;
  }

  .padding-bottom-lg-6 {
    padding-bottom: 60px;
  }

  .padding-left-lg-6 {
    padding-left: 60px;
  }

  .padding-x-lg-6 {
    padding-right: 60px;
    padding-left: 60px;
  }

  .padding-y-lg-6 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding-lg-6 {
    padding-top: 60px;
    padding-right: 60px;
    padding-bottom: 60px;
    padding-left: 60px;
  }

  .padding-top-lg-7 {
    padding-top: 70px;
  }

  .padding-right-lg-7 {
    padding-right: 70px;
  }

  .padding-bottom-lg-7 {
    padding-bottom: 70px;
  }

  .padding-left-lg-7 {
    padding-left: 70px;
  }

  .padding-x-lg-7 {
    padding-right: 70px;
    padding-left: 70px;
  }

  .padding-y-lg-7 {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .padding-lg-7 {
    padding-top: 70px;
    padding-right: 70px;
    padding-bottom: 70px;
    padding-left: 70px;
  }

  .padding-top-lg-8 {
    padding-top: 80px;
  }

  .padding-right-lg-8 {
    padding-right: 80px;
  }

  .padding-bottom-lg-8 {
    padding-bottom: 80px;
  }

  .padding-left-lg-8 {
    padding-left: 80px;
  }

  .padding-x-lg-8 {
    padding-right: 80px;
    padding-left: 80px;
  }

  .padding-y-lg-8 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding-lg-8 {
    padding-top: 80px;
    padding-right: 80px;
    padding-bottom: 80px;
    padding-left: 80px;
  }

  .padding-top-lg-9 {
    padding-top: 90px;
  }

  .padding-right-lg-9 {
    padding-right: 90px;
  }

  .padding-bottom-lg-9 {
    padding-bottom: 90px;
  }

  .padding-left-lg-9 {
    padding-left: 90px;
  }

  .padding-x-lg-9 {
    padding-right: 90px;
    padding-left: 90px;
  }

  .padding-y-lg-9 {
    padding-top: 90px;
    padding-bottom: 90px;
  }

  .padding-lg-9 {
    padding-top: 90px;
    padding-right: 90px;
    padding-bottom: 90px;
    padding-left: 90px;
  }

  .padding-top-lg-10 {
    padding-top: 100px;
  }

  .padding-right-lg-10 {
    padding-right: 100px;
  }

  .padding-bottom-lg-10 {
    padding-bottom: 100px;
  }

  .padding-left-lg-10 {
    padding-left: 100px;
  }

  .padding-x-lg-10 {
    padding-right: 100px;
    padding-left: 100px;
  }

  .padding-y-lg-10 {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .padding-lg-10 {
    padding-top: 100px;
    padding-right: 100px;
    padding-bottom: 100px;
    padding-left: 100px;
  }

  .padding-lg-x-0 {
    padding-right: 0;
    padding-left: 0;
  }

  .padding-lg-y-0 {
    padding-top: 0;
    padding-bottom: 0;
  }

  .padding-lg-0 {
    padding: 0;
  }
}

@media (min-width: 1400px) {
  .padding-top-hd-0 {
    padding-top: 0px;
  }

  .padding-right-hd-0 {
    padding-right: 0px;
  }

  .padding-bottom-hd-0 {
    padding-bottom: 0px;
  }

  .padding-left-hd-0 {
    padding-left: 0px;
  }

  .padding-x-hd-0 {
    padding-right: 0px;
    padding-left: 0px;
  }

  .padding-y-hd-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .padding-hd-0 {
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
  }

  .padding-top-hd-1 {
    padding-top: 5px;
  }

  .padding-right-hd-1 {
    padding-right: 5px;
  }

  .padding-bottom-hd-1 {
    padding-bottom: 5px;
  }

  .padding-left-hd-1 {
    padding-left: 5px;
  }

  .padding-x-hd-1 {
    padding-right: 5px;
    padding-left: 5px;
  }

  .padding-y-hd-1 {
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .padding-hd-1 {
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
  }

  .padding-top-hd-2 {
    padding-top: 10px;
  }

  .padding-right-hd-2 {
    padding-right: 10px;
  }

  .padding-bottom-hd-2 {
    padding-bottom: 10px;
  }

  .padding-left-hd-2 {
    padding-left: 10px;
  }

  .padding-x-hd-2 {
    padding-right: 10px;
    padding-left: 10px;
  }

  .padding-y-hd-2 {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .padding-hd-2 {
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
  }

  .padding-top-hd-3 {
    padding-top: 20px;
  }

  .padding-right-hd-3 {
    padding-right: 20px;
  }

  .padding-bottom-hd-3 {
    padding-bottom: 20px;
  }

  .padding-left-hd-3 {
    padding-left: 20px;
  }

  .padding-x-hd-3 {
    padding-right: 20px;
    padding-left: 20px;
  }

  .padding-y-hd-3 {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .padding-hd-3 {
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
  }

  .padding-top-hd-4 {
    padding-top: 30px;
  }

  .padding-right-hd-4 {
    padding-right: 30px;
  }

  .padding-bottom-hd-4 {
    padding-bottom: 30px;
  }

  .padding-left-hd-4 {
    padding-left: 30px;
  }

  .padding-x-hd-4 {
    padding-right: 30px;
    padding-left: 30px;
  }

  .padding-y-hd-4 {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .padding-hd-4 {
    padding-top: 30px;
    padding-right: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
  }

  .padding-top-hd-5 {
    padding-top: 40px;
  }

  .padding-right-hd-5 {
    padding-right: 40px;
  }

  .padding-bottom-hd-5 {
    padding-bottom: 40px;
  }

  .padding-left-hd-5 {
    padding-left: 40px;
  }

  .padding-x-hd-5 {
    padding-right: 40px;
    padding-left: 40px;
  }

  .padding-y-hd-5 {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .padding-hd-5 {
    padding-top: 40px;
    padding-right: 40px;
    padding-bottom: 40px;
    padding-left: 40px;
  }

  .padding-top-hd-6 {
    padding-top: 60px;
  }

  .padding-right-hd-6 {
    padding-right: 60px;
  }

  .padding-bottom-hd-6 {
    padding-bottom: 60px;
  }

  .padding-left-hd-6 {
    padding-left: 60px;
  }

  .padding-x-hd-6 {
    padding-right: 60px;
    padding-left: 60px;
  }

  .padding-y-hd-6 {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .padding-hd-6 {
    padding-top: 60px;
    padding-right: 60px;
    padding-bottom: 60px;
    padding-left: 60px;
  }

  .padding-top-hd-7 {
    padding-top: 70px;
  }

  .padding-right-hd-7 {
    padding-right: 70px;
  }

  .padding-bottom-hd-7 {
    padding-bottom: 70px;
  }

  .padding-left-hd-7 {
    padding-left: 70px;
  }

  .padding-x-hd-7 {
    padding-right: 70px;
    padding-left: 70px;
  }

  .padding-y-hd-7 {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .padding-hd-7 {
    padding-top: 70px;
    padding-right: 70px;
    padding-bottom: 70px;
    padding-left: 70px;
  }

  .padding-top-hd-8 {
    padding-top: 80px;
  }

  .padding-right-hd-8 {
    padding-right: 80px;
  }

  .padding-bottom-hd-8 {
    padding-bottom: 80px;
  }

  .padding-left-hd-8 {
    padding-left: 80px;
  }

  .padding-x-hd-8 {
    padding-right: 80px;
    padding-left: 80px;
  }

  .padding-y-hd-8 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .padding-hd-8 {
    padding-top: 80px;
    padding-right: 80px;
    padding-bottom: 80px;
    padding-left: 80px;
  }

  .padding-top-hd-9 {
    padding-top: 90px;
  }

  .padding-right-hd-9 {
    padding-right: 90px;
  }

  .padding-bottom-hd-9 {
    padding-bottom: 90px;
  }

  .padding-left-hd-9 {
    padding-left: 90px;
  }

  .padding-x-hd-9 {
    padding-right: 90px;
    padding-left: 90px;
  }

  .padding-y-hd-9 {
    padding-top: 90px;
    padding-bottom: 90px;
  }

  .padding-hd-9 {
    padding-top: 90px;
    padding-right: 90px;
    padding-bottom: 90px;
    padding-left: 90px;
  }

  .padding-top-hd-10 {
    padding-top: 100px;
  }

  .padding-right-hd-10 {
    padding-right: 100px;
  }

  .padding-bottom-hd-10 {
    padding-bottom: 100px;
  }

  .padding-left-hd-10 {
    padding-left: 100px;
  }

  .padding-x-hd-10 {
    padding-right: 100px;
    padding-left: 100px;
  }

  .padding-y-hd-10 {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .padding-hd-10 {
    padding-top: 100px;
    padding-right: 100px;
    padding-bottom: 100px;
    padding-left: 100px;
  }

  .padding-hd-x-0 {
    padding-right: 0;
    padding-left: 0;
  }

  .padding-hd-y-0 {
    padding-top: 0;
    padding-bottom: 0;
  }

  .padding-hd-0 {
    padding: 0;
  }
}

/**
 * Positions
 *
 * Construct each position property found in $positions with
 * a placeholder and a utility class
 *
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.Tutorials-videos .flickity-page-dots,
.Alert__navigation,
.Carousel__items > .flickity-page-dots,
.Parking-page__choices .flickity-page-dots,
.Destination__list .flickity-page-dots,
.Site-container,
.Hero,
.Hero__body,
.Hero__footer,
.Hero__footer.Carousel,
.Image-caption.Image-caption--background,
.Image-caption__body,
.Image-caption__image,
.Table,
.Table__body,
.Banner,
.Banner__body,
.Banner__image,
.Rich-list__item__image,
.Video__body,
.Information__image,
.Site-menu,
.Site-menu__item.Site-menu__item--account,
.Site-menu__item.Site-menu__item--account.Site-menu__item--account-online a,
.Site-menu__item.Site-menu__item--cart a,
.Tutorials-videos,
.Travel-diary__selectors,
.Travel-diary__header,
.Travel-diary__header__title,
.Travel-diary__header__content,
.Travel-diary__form,
.Alert,
.Alert__content,
.Accordion__item,
.Accordion__item__header,
.Card-icon,
.Card-video,
.Card-video__body,
.Card-destination,
.Card-destination__options,
.Card-destination__option,
.Card-destination__aside,
.Card-favorite,
.Card-favorite .Button,
.Card-favorite__body,
.Card-favorite__content,
.Card-favorite__author,
.Card-parking,
.Card-information,
.Card-information__body,
.Card-list__body ul li,
.Card-discovery,
.Card-discovery__body,
.Card-inspiration,
.Card-inspiration__options,
.Card-inspiration__aside,
.Ordered-list__item__body,
.Widget__mobile,
.Widget--book-a-flight,
.Reportage__header,
.Reportage__header + *,
.Reportage__header__body,
.Calendar .Calendar__next,
.Calendar .Calendar__previous,
.Calendar__tooltip,
.Checkbox button,
.List-button,
.List-button__container,
.Range__container,
.Slideshow__item,
.Slideshow__item__body,
.Slideshow__item__footer,
.Insta-gram__item,
.Language-selector,
.Quick-search,
.Flight-plan__body,
.Flight__number,
.Card-readmore,
.Dropdown,
.Input-date,
.Input-time,
.Select-time,
.Switch__slider,
.error404__wrapper,
.error404__body,
.error404__footer,
.FAQ-page__search,
.Destination__accordion__anchor,
.Page-content,
.Real-time-flight-page__widget,
.position-relative {
  position: relative;
}

.position-fixed {
  position: fixed;
}

.position-static {
  position: static;
}

.position-sticky {
  position: -webkit-sticky;
  position: sticky;
}

@media (min-width: 754px) {
  .position-sm-relative {
    position: relative;
  }

  .position-sm-fixed {
    position: fixed;
  }

  .position-sm-static {
    position: static;
  }

  .position-sm-sticky {
    position: -webkit-sticky;
    position: sticky;
  }
}

@media (min-width: 992px) {
  .position-md-relative {
    position: relative;
  }

  .position-md-fixed {
    position: fixed;
  }

  .position-md-static {
    position: static;
  }

  .position-md-sticky {
    position: -webkit-sticky;
    position: sticky;
  }
}

@media (min-width: 1200px) {
  .position-lg-relative {
    position: relative;
  }

  .position-lg-fixed {
    position: fixed;
  }

  .position-lg-static {
    position: static;
  }

  .position-lg-sticky {
    position: -webkit-sticky;
    position: sticky;
  }
}

@media (min-width: 1400px) {
  .position-hd-relative {
    position: relative;
  }

  .position-hd-fixed {
    position: fixed;
  }

  .position-hd-static {
    position: static;
  }

  .position-hd-sticky {
    position: -webkit-sticky;
    position: sticky;
  }
}

/**
 * Sizes classes
 *
 * Constructor class for each sizes and each properties found in
 * $size-dimensions and map-get( $sizes-properties, property )
 *
 * @param   $size-properties map
 * @param   $size-dimensions list
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.w-auto {
  width: auto;
}

.h-auto {
  height: auto;
}

/**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

.w-25 {
  width: 25%;
}

/**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

.h-25 {
  height: 25%;
}

/**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

.w-33 {
  width: 33.33333%;
}

/**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

.h-33 {
  height: 33.33333%;
}

/**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

.w-50 {
  width: 50%;
}

/**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

.h-50 {
  height: 50%;
}

/**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

.Site-footer__column__title,
.w-100,
.Site-menu,
.Flight-times__item [role="radio"],
.Destination__accordion__header__title a,
.Destination__accordion__header__title button {
  width: 100%;
}

/**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

.Rich-list__item,
.List__item,
.h-100 {
  height: 100%;
}

@media (min-width: 754px) {
  .w-sm-auto {
    width: auto;
  }

  .h-sm-auto {
    height: auto;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-sm-25 {
    width: 25%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-sm-25 {
    height: 25%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-sm-33 {
    width: 33.33333%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-sm-33 {
    height: 33.33333%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .Rich-list__item__body,
  .w-sm-50,
  .Site-menu {
    width: 50%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-sm-50 {
    height: 50%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-sm-100 {
    width: 100%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-sm-100 {
    height: 100%;
  }
}

@media (min-width: 992px) {
  .Site-footer__column__title,
  .w-md-auto {
    width: auto;
  }

  .h-md-auto {
    height: auto;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-md-25 {
    width: 25%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-md-25 {
    height: 25%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-md-33 {
    width: 33.33333%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-md-33 {
    height: 33.33333%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-md-50 {
    width: 50%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-md-50 {
    height: 50%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-md-100,
  .Site-menu {
    width: 100%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-md-100 {
    height: 100%;
  }
}

@media (min-width: 1200px) {
  .w-lg-auto {
    width: auto;
  }

  .h-lg-auto {
    height: auto;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-lg-25 {
    width: 25%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-lg-25 {
    height: 25%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-lg-33 {
    width: 33.33333%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-lg-33 {
    height: 33.33333%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-lg-50 {
    width: 50%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-lg-50 {
    height: 50%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-lg-100 {
    width: 100%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-lg-100 {
    height: 100%;
  }
}

@media (min-width: 1400px) {
  .w-hd-auto {
    width: auto;
  }

  .h-hd-auto {
    height: auto;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-hd-25 {
    width: 25%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-hd-25 {
    height: 25%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-hd-33 {
    width: 33.33333%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-hd-33 {
    height: 33.33333%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-hd-50 {
    width: 50%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-hd-50 {
    height: 50%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .w-hd-100 {
    width: 100%;
  }

  /**
				 * Construct each class for each breakpoint
				 *
				 * Round(): Rounds a number to the nearest whole number.
				 *
				 * @see http://sass-lang.com/documentation/Sass/Script/Functions.html#round-instance_method
				 */

  .h-hd-100 {
    height: 100%;
  }
}

/**
 * Text aligns
 *
 * Construct each text alignment found in $text-aligns with
 * a placeholder and a utility class
 *
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.Shares,
.Card-destination__aside,
.Card-inspiration__aside,
.Widget--track-a-flight__item__estimated,
.text-align-right {
  text-align: right;
}

.Site-footer__bottom a,
.Image-caption h2,
.Image-caption.Image-caption--background .Image-caption__body,
.Table__title,
.List__title,
.Video__body,
.Video__caption,
.Information__body,
.Section__header,
.Flight-detail__origin,
.Flight-detail__mona,
.Flight-detail__terminal,
.Flight-detail__company,
.Flight-detail__number,
.Flight-detail__item,
.Travel-diary__header,
.Button,
.Card-icon,
.Card-destination__title,
.Card-destination.Card-destination--readmore .Card-destination__body,
.Card-favorite__content,
.Card-discovery__title,
.Card-inspiration__title,
.Card-inspiration.Card-inspiration--readmore .Card-inspiration__body,
.Form__title,
.Widget--track-a-flight__item__time,
.Widget--track-a-flight__item__id,
.Widget__title,
.Reportage__header__body,
.Advantage,
.Selector__title,
.Calendars__button,
.Calendar__title,
.Calendar__cell,
.Calendar__cell__inner button,
.Period__option,
.List-button li,
.Enjoy__icon,
.Slideshow__item__footer,
.Flight-times__item [role="radio"],
.Flight-plan__body,
.Flight-detail .Flight-status,
.Flight-plan .Flight-status,
.Flight__column:nth-child(2),
.Flight__column:nth-child(3),
.Flight__column:nth-child(5),
.Card-readmore__title,
.Card-readmore__body,
.Spin-button__input,
.Input-time__body,
.Input__label,
.Badge,
.error404__body,
.error404__footer,
.Editorial-body > h3,
.Editorial-footer__label,
.Destination__accordion__header,
.text-align-center,
.CircleList .CircleItem {
  text-align: center;
}

.Button.Button--tertiary,
.Button.Button--extra-large,
.Accordion__item__header,
.Card-destination__option::after,
.Select__button,
.Dropdown,
.Dropdown__button,
.Input-date__button,
.Input-time,
.Select-time,
.Input-time__button,
.Switch__label,
.Parking-page__informations__content,
.text-align-left {
  text-align: left;
}

@media (min-width: 754px) {
  .text-align-sm-right {
    text-align: right;
  }

  .text-align-sm-center {
    text-align: center;
  }

  .text-align-sm-left {
    text-align: left;
  }
}

@media (min-width: 992px) {
  .Flight__column:nth-child(7),
  .text-align-md-right {
    text-align: right;
  }

  .text-align-md-center {
    text-align: center;
  }

  .Image-caption h2,
  .Image-caption.Image-caption--background .Image-caption__body,
  .Information__body,
  .Slideshow__item__footer,
  .Editorial-body > h3,
  .Editorial-footer__label,
  .text-align-md-left {
    text-align: left;
  }
}

@media (min-width: 1200px) {
  .text-align-lg-right {
    text-align: right;
  }

  .text-align-lg-center {
    text-align: center;
  }

  .text-align-lg-left {
    text-align: left;
  }
}

@media (min-width: 1400px) {
  .text-align-hd-right {
    text-align: right;
  }

  .text-align-hd-center {
    text-align: center;
  }

  .text-align-hd-left {
    text-align: left;
  }
}

/**
 * Text decorations
 *
 * Construct each text decoration found in $text-decorations with
 * a placeholder and a utility class
 *
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.List__item__link:focus,
.List__item__link:hover,
.Breadcrumb__item a:hover span,
.Editorial-body > p > a:focus,
.Editorial-body > p > a:hover,
.text-decoration-underline {
  text-decoration: underline;
}

@media (min-width: 754px) {
  .text-decoration-sm-underline {
    text-decoration: underline;
  }
}

@media (min-width: 992px) {
  .text-decoration-md-underline {
    text-decoration: underline;
  }
}

@media (min-width: 1200px) {
  .text-decoration-lg-underline {
    text-decoration: underline;
  }
}

@media (min-width: 1400px) {
  .text-decoration-hd-underline {
    text-decoration: underline;
  }
}

/**
 * Text transforms
 *
 * Construct each text transformation found in $text-transforms with
 * a placeholder and a utility class
 *
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.Video__heading,
.Flight-detail__terminal,
.Flight-detail__item__title,
.Company__item__title,
.Button--small,
.Card-useful-information__title,
.Period__option h4,
.Range__aside__label div:nth-child(1),
.Language-selector,
.Language-selector__button,
.Flight-status,
.Flight__header,
.Flight__terminal,
.Switch__slider,
.Badge,
.text-transform-uppercase,
.text-uppercase,
.uppercase {
  text-transform: uppercase;
}

/**
 * Vertical aligns
 *
 * Construct each vertical alignment found in $vertical-aligns with
 * a placeholder and a utility class
 *
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.Site-menu__footer img,
.Flight-detail__item img,
.Company__logo img,
.Alert__dismiss svg,
.Ordered-list__item__image,
.Widget-real-time-flight .Widget__group,
.Site-header .Logo--lyon-aeroport,
.Site-header .Logo--vinci-aeroport,
.Parking-page__map img,
.Destination__list__item,
.vertical-align-middle {
  vertical-align: middle;
}

.Site-menu__item,
.Travel-diary__item,
.vertical-align-top {
  vertical-align: top;
}

@media (min-width: 754px) {
  .vertical-align-sm-middle {
    vertical-align: middle;
  }

  .vertical-align-sm-top {
    vertical-align: top;
  }
}

@media (min-width: 992px) {
  .vertical-align-md-middle {
    vertical-align: middle;
  }

  .vertical-align-md-top {
    vertical-align: top;
  }
}

@media (min-width: 1200px) {
  .vertical-align-lg-middle {
    vertical-align: middle;
  }

  .vertical-align-lg-top {
    vertical-align: top;
  }
}

@media (min-width: 1400px) {
  .vertical-align-hd-middle {
    vertical-align: middle;
  }

  .vertical-align-hd-top {
    vertical-align: top;
  }
}

/**
 * White spaces
 *
 * @author Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.Site-menu__items,
.Alert__text,
.Alert__readmore,
.Calendar__tooltip::before,
.Language-selector__item a,
.Dropdown,
.Dropdown__button,
.Input-date__button > span,
.white-space-nowrap {
  white-space: nowrap;
}

@media (min-width: 754px) {
  .white-space-sm-nowrap {
    white-space: nowrap;
  }
}

@media (min-width: 992px) {
  .Alert__aside,
  .white-space-md-nowrap {
    white-space: nowrap;
  }
}

@media (min-width: 1200px) {
  .white-space-lg-nowrap {
    white-space: nowrap;
  }
}

@media (min-width: 1400px) {
  .white-space-hd-nowrap {
    white-space: nowrap;
  }
}

/**
 * Lists
 *
 * Construct each style types found in $style-types with
 * a placeholder and a utility class
 *
 * @author  Jérémy Levron <jeremylevron@19h47.fr> (http://19h47.fr)
 */

.Site-header__list,
.Site-footer__column ul,
.Taskbar__items,
.Site-menu__items,
.Dropdown-menu__list,
.Alert__content ul,
.Alert__navigation,
.Breadcrumb__item,
.Shares,
.Card-parking__list,
.Card-list__body ul,
.Widget__tabs__navigation,
.Widget__tabs__panel ul,
.Widget-real-time-flight__navigation,
.Pagination__items,
.Filters__items,
.List-button ul,
.Theme,
.Socials,
.Language-selector__items,
.Quick-search__items,
.Flight-types,
.Flight-times__items,
.Flights,
.Select,
.Input-time__body,
.Parking-page__informations__card__list {
  list-style-type: none;
}

.list-style-type-none {
  list-style-type: none;
}

div[data-drupal-messages] {
  background-color: #0061c3;
  font-size: 0.8em;
  margin: 0;
}

div[data-drupal-messages] .Flash_container {
  padding: 10px 15%;
}

div[data-drupal-messages] .Flash_container__status {
  color: white;
  background-color: #5ebf87;
}

div[data-drupal-messages] .Flash_container__warning {
  color: white;
  background-color: #F79E43;
}

div[data-drupal-messages] .Flash_container__error {
  color: white;
  background-color: #dd482f;
}

div[data-drupal-messages] .Flash_container a {
  text-decoration: underline;
}

.Banner img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  font-family: "object-fit:cover;object-position:center", "object-fit:cover;object-position:center";
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  opacity: 0.8;
  z-index: 1;
}

.Banner--has-image {
  margin-bottom: 0;
}

.Banner--has-image .row div img {
  display: none;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  font-family: "object-fit:cover;object-position:center";
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transform: translate3d(0, 50px, 0);
  transform: translate3d(0, 50px, 0);
  opacity: 1;
  z-index: 3;
}

.Banner--has-image > picture img,
.Banner--has-image > div drupal-media picture img {
  opacity: .6;
  mix-blend-mode: soft-light;
}

.Ordered-list img {
  vertical-align: middle;
  height: 240px;
  width: 100%;
  font-family: "object-fit:cover;object-position:center", "object-fit:cover;object-position:center";
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

@media (min-width: 992px) {
  .Banner--has-image {
    margin-bottom: 50px;
  }

  .Banner--has-image .row div img {
    display: block !important;
  }

  .Ordered-list img {
    height: 400px;
    width: 100%;
  }
}

.Reportage__carousel__item {
  width: initial !important;
}

.Reportage__carousel__item img {
  width: initial !important;
}

/* Overwrite margin classes */

.Image-caption,
.Rich-list,
.List,
.Information,
.Parking-page__choices,
.Ordered-list,
.Destination__legends {
  margin-top: 0;
  margin-bottom: 0;
}

/* Only for CKEditor in BO */

.cke_editable .Accordion .Accordion__item__body {
  max-height: initial !important;
}

.cke_editable .Image-caption button.media-library-item__edit {
  position: absolute;
  z-index: 2;
}

.cke_editable .Push button.media-library-item__edit {
  position: absolute;
  top: 175px;
  right: initial;
}

@media (max-width: 991px) {
  .cke_editable .Push button.media-library-item__edit {
    top: -10px;
  }
}

@media (max-width: 991px) {
  .cke_editable .Push .Push__aside img {
    height: 160px;
  }
}

.cke_editable .cke_widget_wrapper {
  position: initial;
}

.cke_editable .cke_widget_wrapper picture {
  position: initial !important;
}

.cke_editable .Banner--small {
  overflow: initial;
}

.cke_editable .Banner .cke_widget_wrapper:last-of-type drupal-media button {
  color: black;
}

.cke_editable .Banner--has-image .row div .cke_widget_wrapper {
  height: 100%;
}

.cke_editable .Banner--has-image .row div .cke_widget_wrapper drupal-media {
  height: 100%;
}

.cke_editable .Banner--has-image .row div .cke_widget_wrapper drupal-media button.media-library-item__edit {
  position: absolute;
  z-index: 2;
}

.cke_editable .Banner--has-image .Site-container > div drupal-media picture img {
  mix-blend-mode: unset;
}

.cke_editable .Banner--has-image .Site-container > div drupal-media picture button {
  color: white;
}

.cke_editable .Table__background {
  position: relative;
}

.cke_editable .Table__background img {
  height: auto;
}

.CircleList {
  position: relative;
  /**
     * CircleItem
     *
     * @package adl
     */
}

.CircleList img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  font-family: "object-fit:cover;object-position:center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media (min-width: 992px) {
  .CircleList .CircleItem {
    margin-right: 15px;
    margin-left: 15px;
  }
}

.CircleList .CircleItem .Badge {
  margin-right: auto;
  margin-bottom: 20px;
  margin-left: auto;
}

.CircleList .CircleItem__title {
  margin-top: 0;
  margin-bottom: 15px;
  color: #0061c3;
  font-size: 18px;
  line-height: 22px;
  font-weight: bold;
}

@media (min-width: 992px) {
  .CircleList .CircleItem__title {
    font-size: 22px;
    line-height: 26px;
  }
}

.CircleList .CircleItem__content {
  font-size: 14px;
  line-height: 18px;
}

@media (min-width: 992px) {
  .CircleList .CircleItem__content {
    font-size: 16px;
    line-height: 20px;
  }
}

/* LINKS */

p > a:not(.Button),
a.link:not(.Button) {
  color: #0061c2;
  text-decoration: underline;
}

p > a:hover,
a.link:hover {
  color: #0078f0;
  text-decoration: none;
}

/* BUTTONS */

.Button.Button--primary {
  min-width: 100px;
}

/* PAGE HEADER */

div.Hero__body .Widget p {
  text-shadow: none;
}

div.Hero__body a.Hero__price {
  display: inline-block;
  margin-top: 1em;
  -webkit-transition: all,.3s;
  transition: all,.3s;
  background: rgba(2, 2, 2, 0.7);
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1em;
  padding: .9375rem 1.25rem;
  text-decoration: none;
  width: auto;
}

div.Hero__body a.Hero__price .Hero__price__dates {
  font-size: 1rem;
  line-height: 1.125rem;
}

div.Hero__body a.Hero__price .Hero__price__button {
  margin-top: 0.5em;
}

div.Hero__body a.Hero__price:hover {
  background: rgba(0, 73, 144, 0.7);
}

/* PAGE USER PROFIL */

div.user__profil a {
  text-decoration: none;
  color: #024990;
}

div.user__profil a:hover {
  text-decoration: underline;
  color: #024990;
}

/* PAGE HOME - TRAVEL DIARY */

div.Travel-diary__item svg {
  height: 14px;
  width: 21px;
  margin-right: 10px;
}

/* PAGE USER LOGIN */

form.user-login-form {
  width: 80%;
  margin: 50px auto;
  padding-top: 20px;
}

form.user-login-form div.form-item {
  margin: 10px 0;
}

form.user-login-form div.form-item label {
  font-weight: bold;
  margin-right: 20px;
}

form.user-login-form div.form-item input {
  border: 1px black solid;
}

form.user-login-form div.form-item div.description {
  font-style: italic;
}

form.user-login-form div.form-actions {
  margin: 10px 0;
}

form.user-login-form div.form-actions input[type="submit"] {
  color: white;
  text-align: center;
  padding: 10px;
  background: #0061c3;
}

form.user-login-form div.form-actions input[type="submit"]:hover {
  background: #024990;
}

/* PAGE - DESTINATION */

.Destination__list__body,
.Carousel__items {
  text-align: center;
}

.Destination__list__item,
.Carousel__item {
  text-align: initial;
}

/* PAGE - COMPANY */

.Company__item__body__text_formated {
  font-size: 0.7em;
  color: #717980;
}

/* PAGE - SEARCH - MAIN */

main#page-search h3.Card-information__title {
  padding-top: 20px;
}

main#page-search div.Card-information__content p {
  font-size: 15px;
}

main#page-search div.Card-information__content p a {
  color: #0078f0;
}

main#page-search div.Card-information__content p a:hover {
  color: #004990;
  text-decoration: underline;
}

main#page-search .no-results,
main#page-listing .no-results {
  text-align: center;
  width: 100%;
  margin-top: 10px;
  margin-right: 10px;
  background: white;
  padding: 50px 0px;
}

/* PAGE - COMPANY */

.Company__logo {
  overflow: hidden;
}

.Company__Socials::after {
  content: "";
  -webkit-box-flex: 1;
          flex: auto;
}

.Filters {
  z-index: 6;
}

/* PAGE - HOME */

#page-home > section.section-blocks {
  padding-top: 40px;
  padding-bottom: 40px;
}

/* PAGE - SHOP */

.Shop__logo {
  border-radius: 2px;
  background: #fff;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}

/* PARAGRAPHS */

.bg-grey,
bg-gray {
  background-color: #f8fafa;
}

.bg-white {
  background-color: white;
}

/* FORM */

.Form__group .Dropdown select {
  position: absolute;
  top: 4px;
  left: 0;
  font-size: 16px;
  height: 40px;
  width: 100%;
  line-height: 40px;
  vertical-align: middle;
  padding: 0 20px;
  color: #888888;
}

.Form__group .Dropdown.Dropdown--large .Dropdown__button {
  height: 40px !important;
}

.grecaptcha-badge {
  display: none;
  visibility: hidden;
}

.align-last-item-to-grid::after {
  content: "";
  -webkit-box-flex: 1;
          flex: auto;
}

@media (max-width: 1199.98px) {
  .align-last-item-to-grid-mobile::after {
    content: "";
    -webkit-box-flex: 1;
            flex: auto;
  }
}

/* Chat bot */

.menu-mobile--is-open #destygo_widget {
  display: none;
}

.error404__wrapper {
  height: 700px;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
}

.error404__title,
.error404 p {
  color: white;
  text-shadow: 2px 1px #555555;
}

.error404__title {
  font-size: 35px;
  line-height: 39px;
}

@media (min-width: 992px) {
  .error404__title {
    font-size: 68px;
    line-height: 68px;
  }
}

.Flight__body_loading .loader {
  display: block;
  margin: auto;
}

.Flight__origin,
.Flight-detail__origin {
  text-align: center;
}

.Flight__origin small,
.Flight-detail__origin small {
  font-weight: normal;
}

@media (min-width: 754px) {
  .Flight__origin {
    text-align: left;
  }
}

.Flight__column__flex {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: justify;
          justify-content: space-between;
  max-height: 15px;
}

.Flight__column__question {
  width: 20px;
  height: 20px;
  cursor: help;
}

.Flight__mona {
  width: 35px;
  height: 35px;
}

.Flight__mona__content {
  color: white;
}

.Flight-detail__item {
  font-size: 24px;
  line-height: 24px;
}

@media (min-width: 992px) {
  .Flight-detail__item {
    font-size: 40px;
    line-height: 40px;
  }
}

@media (max-width: 1199.98px) {
  .Flight__mona {
    width: 80px;
  }

  .Flight__link {
    width: 100%;
    padding: 0 20px;
  }

  .Flight__link .Button {
    width: 100%;
  }
}

.Widget--track-a-flight__item:hover .Widget--track-a-flight__item__title {
  color: #0061c3;
  font-weight: bold;
}

.Widget--track-a-flight__item__estimated.Flight-status--success {
  color: #5ebf87;
}

.Widget--track-a-flight__item__estimated.Flight-status--success small {
  color: #5ebf87;
}

.Widget--track-a-flight__item__estimated.Flight-status--warning {
  color: #F79E43;
}

.Widget--track-a-flight__item__estimated.Flight-status--warning small {
  color: #F79E43;
}

.Widget--track-a-flight__item__estimated.Flight-status--danger {
  color: #dd482f;
}

.Widget--track-a-flight__item__estimated.Flight-status--danger small {
  color: #dd482f;
}

.Switch__slider {
  word-break: normal;
}

.custom-switch {
  padding-top: 11px;
  padding-right: 19px;
  padding-bottom: 11px;
  padding-left: 19px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 25px;
  font-size: 16px;
  line-height: 21px;
  margin-bottom: 20px !important;
}

.Destination__legends__item p {
  -webkit-box-pack: center !important;
          justify-content: center !important;
}

.Plane-trip__body {
  padding-top: 7px;
  padding-bottom: 0;
}

@media (min-width: 754px) {
  .Destination__list__body.flickity-enabled {
    margin-bottom: 0;
  }
}

.Widget {
  height: 100%;
}

.Widget.Widget--track-a-flight,
.Widget.Widget--parking-reservation,
.Widget.Widget--book-a-flight {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}

.Widget.Widget--track-a-flight .Button.Button--primary,
.Widget.Widget--parking-reservation .Button.Button--primary,
.Widget.Widget--book-a-flight .Button.Button--primary {
  align-self: flex-end;
  margin-top: auto;
}

.Widget .error {
  color: #dc3545;
}

.Widget.Card-readmore {
  min-height: 400px;
}

.Widget.Card-readmore .Card-readmore__link {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-pack: center;
          justify-content: center;
  height: 100%;
  -webkit-box-flex: 1;
          flex-grow: 1;
}

.Widget.Card-readmore .Card-readmore__link .Card-readmore__btn-container {
  align-self: flex-end;
  margin-top: auto;
  z-index: 2;
  width: 100%;
}

.Widget.Card-readmore .Card-readmore__link .Card-readmore__btn-container .Button.Button--primary {
  width: 100%;
}

.Widget.Card-readmore .Card-readmore__title {
  padding-top: 0;
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}

.Widget.Card-readmore .Card-readmore__title h3 {
  margin-top: 0;
}

.Widget.Card-readmore .Card-readmore__title p {
  font-size: larger;
}

.Input-date.Input-date--medium .Input-date__button span.error {
  color: #dc3545;
}

.Input.Has-autocomplete {
  position: relative;
}

.Input.Has-autocomplete.has-error input {
  color: #dc3545;
}

.Input.Has-autocomplete .Input__autocomplete-panel {
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  min-height: 50px;
  z-index: 10;
  border: 1px solid #d5d9db;
  border-radius: 2px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background: white;
  list-style-type: none;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}

.Input.Has-autocomplete .Input__autocomplete-panel__item {
  cursor: pointer;
  color: black;
  width: 100%;
  height: 50px;
  padding-left: 10px;
  border: 1px solid #d5d9db;
  border-collapse: collapse;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
}

.Input.Has-autocomplete .Input__autocomplete-panel__item span {
  width: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
}

.Input.Has-autocomplete .Input__autocomplete-panel__item span svg {
  width: 20px;
  height: 20px;
  margin-right: 10px;
}

.Input.Has-autocomplete .Input__autocomplete-panel__item__airport {
  padding-left: 20px;
}

.Input.Has-autocomplete .Input__autocomplete-panel__item:hover,
.Input.Has-autocomplete .Input__autocomplete-panel__item:focus {
  background-color: rgba(0, 97, 195, 0.2);
}

.Hero--has-widget #passenger-travel-class-panel,
.Hero--has-widget #date-panel {
  margin-top: 0;
  margin-bottom: 0;
}

@media (min-width: 992px) {
  #parking-widget[hidden] {
    display: block;
  }

  #suivi-vol-widget[hidden] {
    display: block;
  }
}

.Card-readmore__title {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-pack: center;
          justify-content: center;
}

@media (max-width: 1199.98px) {
  .Card-readmore__title {
    padding: 10px;
  }

  .Card-readmore__title h3 {
    white-space: normal;
  }
}

@media (max-width: 1199.98px) {
  .Card-destination__body {
    padding: 10px;
    margin-left: 0;
    margin-right: 0;
  }

  .Card-destination__body h3 {
    white-space: normal;
  }
}

.Card-information__title {
  text-overflow: initial;
  white-space: initial;
}

.Card-information__badge {
  display: -webkit-box;
  display: flex;
  min-height: 17.5px;
}

.Badge--custom {
  width: 11px;
  height: 11px;
  min-width: 11px;
  position: absolute;
  top: 4px;
  right: -5px;
}

.Badge--custom svg {
  padding: 3px;
}

.Badge--custom svg.plus {
  padding: 2px;
}

._access-scrollbar::-webkit-scrollbar-track,
.mat-autocomplete-panel::-webkit-scrollbar-track,
.mat-tab-body-content::-webkit-scrollbar-track,
.mat-select-panel:not([class*='mat-elevation-z'])::-webkit-scrollbar-track,
.mat-menu-panel::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #F5F5F5;
}

._access-scrollbar::-webkit-scrollbar,
.mat-autocomplete-panel::-webkit-scrollbar,
.mat-tab-body-content::-webkit-scrollbar,
.mat-select-panel:not([class*='mat-elevation-z'])::-webkit-scrollbar,
.mat-menu-panel::-webkit-scrollbar {
  width: 6px;
  background-color: #F5F5F5;
}

._access-scrollbar::-webkit-scrollbar-thumb,
.mat-autocomplete-panel::-webkit-scrollbar-thumb,
.mat-tab-body-content::-webkit-scrollbar-thumb,
.mat-select-panel:not([class*='mat-elevation-z'])::-webkit-scrollbar-thumb,
.mat-menu-panel::-webkit-scrollbar-thumb {
  background-color: #999999;
}

._access-icon {
  position: fixed;
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
  opacity: 0;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transform: skewX(18deg);
          transform: skewX(18deg);
}

.circular._access-icon {
  border-radius: 50%;
  border: .5px solid white;
}

.access_read_guide_bar {
  box-sizing: border-box;
  background: #000000;
  width: 100% !important;
  min-width: 100% !important;
  position: fixed !important;
  height: 12px !important;
  border: solid 3px #20ff69;
  border-radius: 5px;
  top: 15px;
  z-index: 2147483647;
}

.access-high-contrast * {
  background-color: #000 !important;
  background-image: none !important;
  border-color: #fff !important;
  box-shadow: none !important;
  color: #fff !important;
  text-indent: 0 !important;
  text-shadow: none !important;
}

._access-menu {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: fixed;
  width: 25vw;
  height: auto;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  z-index: 99991;
  opacity: 1;
  background-color: #fff;
  color: #000;
  border-radius: 3px;
  border: solid 1px #f1f0f1;
  min-width: 300px;
  box-shadow: 0px 0px 1px #aaa;
  max-height: 100vh;
}

._access-menu.close {
  z-index: -1;
  width: 0;
  opacity: 0;
  background-color: transparent;
}

._access-menu.bottom {
  bottom: 0;
}

._access-menu.top {
  top: 0;
}

._access-menu.left {
  left: 0;
}

._access-menu.close.left {
  left: -25vw;
}

._access-menu.right {
  right: 0;
}

._access-menu.close.right {
  right: -25vw;
}

._access-menu ._text-center {
  text-align: center;
}

._access-menu h3 {
  font-size: 24px !important;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 0;
  color: rgba(0, 0, 0, 0.87);
  letter-spacing: initial !important;
  word-spacing: initial !important;
}

._access-menu ._menu-close-btn {
  left: 5px;
  color: white;
}

._access-menu ._menu-close-btn:before {
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga" 1;
  font-style: normal;
  text-transform: none;
  line-height: 1.1;
  font-size: 20px !important;
  width: 30px;
  height: 30px;
  display: inline-block;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  left: 0;
  position: absolute;
  color: rgba(0, 0, 0, 0.6);
  direction: ltr;
  content: ' ';
  background-size: 20px 20px;
  background-position: center;
  background-image: url("/themes/adl/icons/times.svg");
}

._access-menu ._menu-reset-btn {
  right: 20px;
  color: white;
  -webkit-transition: .3s ease;
  transition: .3s ease;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

._access-menu ._menu-reset-btn:before {
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga" 1;
  font-style: normal;
  text-transform: none;
  line-height: 1.1;
  font-size: 20px !important;
  width: 30px;
  height: 30px;
  display: inline-block;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  left: 0;
  position: absolute;
  color: rgba(0, 0, 0, 0.6);
  direction: ltr;
  content: ' ';
  background-size: 20px 20px;
  background-position: center;
  background-image: url("/themes/adl/icons/switch.svg");
}

._access-menu ._menu-btn {
  position: absolute;
  cursor: pointer;
  font-size: 24px !important;
  font-weight: bold;
}

._access-menu ul {
  padding: 0;
  position: relative;
  font-size: 18px !important;
  margin: 0;
  overflow: auto;
  max-height: calc(100vh - 77px);
}

html._access_cursor * {
  cursor: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyOS4xODhweCIgaGVpZ2h0PSI0My42MjVweCIgdmlld0JveD0iMCAwIDI5LjE4OCA0My42MjUiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI5LjE4OCA0My42MjUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHN0cm9rZT0iI0Q5REFEOSIgc3Ryb2tlLXdpZHRoPSIxLjE0MDYiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRzPSIyLjgsNC41NDkgMjYuODQ3LDE5LjkwMiAxNi45NjQsMjIuNzAxIDI0LjIzOSwzNy43NDkgMTguMjc4LDQyLjAxNyA5Ljc0MSwzMC43MjQgMS4xMzgsMzUuODA5ICIvPjxnPjxnPjxnPjxwYXRoIGZpbGw9IiMyMTI2MjciIGQ9Ik0yOS4xNzUsMjEuMTU1YzAuMDcxLTAuNjEzLTAuMTY1LTEuMjUzLTAuNjM1LTEuNTczTDIuMTY1LDAuMjU4Yy0wLjQyNC0wLjMyLTAuOTg4LTAuMzQ2LTEuNDM1LTAuMDUzQzAuMjgyLDAuNDk3LDAsMS4wMywwLDEuNjE3djM0LjE3MWMwLDAuNjEzLDAuMzA2LDEuMTQ2LDAuNzc2LDEuNDM5YzAuNDcxLDAuMjY3LDEuMDU5LDAuMjEzLDEuNDgyLTAuMTZsNy40ODItNi4zNDRsNi44NDcsMTIuMTU1YzAuMjU5LDAuNDgsMC43MjksMC43NDYsMS4yLDAuNzQ2YzAuMjM1LDAsMC40OTQtMC4wOCwwLjcwNi0wLjIxM2w2Ljk4OC00LjU4NWMwLjMyOS0wLjIxMywwLjU2NS0wLjU4NiwwLjY1OS0xLjAxM2MwLjA5NC0wLjQyNiwwLjAyNC0wLjg4LTAuMTg4LTEuMjI2bC02LjM3Ni0xMS4zODJsOC42MTEtMi43NDVDMjguNzA1LDIyLjI3NCwyOS4xMDUsMjEuNzY4LDI5LjE3NSwyMS4xNTV6IE0xNi45NjQsMjIuNzAxYy0wLjQyNCwwLjEzMy0wLjc3NiwwLjUwNi0wLjk0MSwwLjk2Yy0wLjE2NSwwLjQ4LTAuMTE4LDEuMDEzLDAuMTE4LDEuNDM5bDYuNTg4LDExLjc4MWwtNC41NDEsMi45ODVsLTYuODk0LTEyLjMxNWMtMC4yMTItMC4zNzMtMC41NDEtMC42NC0wLjk0MS0wLjcyYy0wLjA5NC0wLjAyNy0wLjE2NS0wLjAyNy0wLjI1OS0wLjAyN2MtMC4zMDYsMC0wLjU4OCwwLjEwNy0wLjg0NywwLjMyTDIuOCwzMi41OVY0LjU0OWwyMS41OTksMTUuODA2TDE2Ljk2NCwyMi43MDF6Ii8+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==), auto !important;
}

._access-menu ul li {
  list-style-type: none;
  cursor: pointer;
  -ms-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  border: solid 1px #f1f0f1;
  padding: 10px 0 10px 30px;
  margin: 5px;
  border-radius: 4px;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  font-size: 18px !important;
  line-height: 18px !important;
  text-indent: 5px;
  background: #f9f9f9;
  color: rgba(0, 0, 0, 0.6);
  letter-spacing: initial !important;
  word-spacing: initial !important;
}

._access-menu ul.before-collapse li {
  opacity: 0.05;
}

._access-menu ul li.active {
  color: #fff;
  background-color: #000;
}

._access-menu ul li.active:hover {
  color: #fff;
  background-color: #000;
}

._access-menu ul li:hover {
  color: rgba(0, 0, 0, 0.8);
  background-color: #eaeaea;
}

._access-menu ul li.not-supported {
  display: none;
}

._access-menu ul li:before {
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga" 1;
  font-style: normal;
  text-transform: none;
  line-height: 1.1;
  font-size: 20px !important;
  width: 30px;
  height: 30px;
  display: inline-block;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  left: 10px;
  position: absolute;
  color: rgba(0, 0, 0, 0.6);
  direction: ltr;
  content: ' ';
  background-size: 20px 20px;
}

._access-menu ul li svg path {
  fill: rgba(0, 0, 0, 0.6);
}

._access-menu ul li:hover svg path {
  fill: rgba(0, 0, 0, 0.8);
}

._access-menu ul li.active svg path {
  fill: #fff;
}

._access-menu ul li:hover:before {
  color: rgba(0, 0, 0, 0.8);
}

._access-menu ul li.active:before {
  color: #fff;
}

._access-menu ul li[data-access-action="increaseText"]:before {
  background-image: url("/themes/adl/icons/resize-font-up.svg");
}

._access-menu ul li[data-access-action="decreaseText"]:before {
  background-image: url("/themes/adl/icons/resize-font-down.svg");
}

._access-menu ul li[data-access-action="increaseTextSpacing"]:before {
  background-image: url("/themes/adl/icons/split.svg");
}

._access-menu ul li[data-access-action="decreaseTextSpacing"]:before {
  background-image: url("/themes/adl/icons/merge.svg");
}

._access-menu ul li[data-access-action="invertColors"]:before {
  background-image: url("/themes/adl/icons/invert.svg");
}

._access-menu ul li[data-access-action="grayHues"]:before {
  content: "\1F32B\FE0F";
}

._access-menu ul li[data-access-action="underlineLinks"]:before {
  background-image: url("/themes/adl/icons/underline.svg");
}

._access-menu ul li[data-access-action="bigCursor"]:before {
  /*content: 'touch_app';*/
}

._access-menu ul li[data-access-action="readingGuide"]:before {
  content: "\2194\FE0F";
}

._access-menu ul li[data-access-action="textToSpeech"]:before {
  content: "\23FA\FE0F";
}

._access-menu ul li[data-access-action="speechToText"]:before {
  content: "\1F3A4";
}

.List-page__body .List-page__result {
  margin-top: 15px;
}

.List-page__body form.Filters.is-active {
  z-index: 10;
}

.List-page__body form.Filters.is-active .Filters__submit {
  margin-top: 15px;
}

/* Map legends */

.map_legends {
  width: 95%;
  margin: 0 auto;
  text-align: center;
}

.map_legends span {
  padding: 0.5em;
  text-align: center;
}

.map_legends_direct {
  text-align: right;
}

.map_legends_direct span {
  background: white;
  border: 1px solid #ddd;
  color: black;
}

.map_legends_stopover {
  text-align: left;
}

.map_legends_stopover span {
  color: white;
  background: #10213a;
}

@media (max-width: 991px) {
  .map_legends_stopover,
  .map_legends_direct {
    text-align: center;
  }

  .map_legends_stopover {
    margin-top: 1.2em;
  }
}

/* Map loading */

#map-loading {
  width: 100%;
}

#map-loading p {
  text-align: center;
  height: 50px;
}

/* Map container */

#map-container,
#map-paragraph-container {
  width: 100%;
  position: relative;
}

/* Map filters display buttons */

.map-filters-close {
  cursor: pointer;
  text-align: right;
  position: absolute;
  top: 15px;
  right: 20px;
}

.map-filters-close svg {
  width: 30px;
  height: 30px;
  fill: #0061c3;
}

.map-filters-open {
  cursor: pointer;
  position: absolute;
  top: 7px;
  border-radius: 3px;
  left: 7px;
  z-index: 2;
  background: white;
  padding: 7px;
  display: -webkit-box;
  display: flex;
}

.map-filters-open svg {
  width: 30px;
  height: 30px;
  fill: #0061c3;
}

.map-filters-open span {
  height: 30px;
  line-height: 30px;
  font-size: 18px;
  color: #0061c3;
  padding-left: 7px;
}

/* Map filters */

#map-filters {
  display: none;
  width: 300px;
  top: 0;
  z-index: 3;
  background: white;
  min-width: 300px;
  position: absolute;
  overflow-x: hidden;
  overflow-y: scroll;
}

#map-filters.active {
  display: block;
}

#map-filters .filter {
  width: 100%;
  padding-bottom: 10px;
  border-bottom: 1px solid #cdcdcd;
}

#map-filters .filter article {
  padding: 0 10px;
}

#map-filters .filter h3 {
  font-weight: normal;
  color: #024990;
  display: -webkit-box;
  display: flex;
  width: 100%;
  padding: 10px 0 0 0;
  margin: 0 0 20px 0;
  font-size: 20px;
}

#map-filters .filter h3 svg,
#map-filters .filter h3 span {
  align-self: center;
}

#map-filters .filter_icon {
  text-align: center;
  fill: #024990;
  height: 25px;
  width: 25px;
  margin: 0 10px;
}

#map-filters .filter_period {
  border-bottom: none;
}

#map-filters .filter_period h3 svg {
  height: 20px;
}

#map-filters .filter_period_container {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}

#map-filters .filter_period_item {
  width: 50%;
  margin: 0;
}

#map-filters .filter_period_item:nth-child(even) {
  padding-left: 5px;
}

#map-filters .filter_thematic_item {
  width: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  -webkit-box-pack: justify;
          justify-content: space-between;
}

#map-filters .filter_thematic_item_choice {
  width: 50%;
  text-align: left;
  border: 1px solid #cdcdcd;
  margin: 5px;
  height: 35px;
  padding: 0;
}

#map-filters .filter_thematic_item_choice input {
  display: none;
}

#map-filters .filter_thematic_item_choice input:checked + label {
  background-color: #0061c3;
  color: white;
}

#map-filters .filter_thematic_item_choice label {
  padding: 5px 5px 5px 20px;
  width: 100%;
  display: block;
  height: 100%;
}

#map-filters .filter_slider {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
          align-items: center;
  text-align: center;
}

#map-filters .filter_slider_value {
  width: 15%;
}

#map-filters .filter_submit {
  margin-top: 10px;
  border-bottom: none;
}

#map-filters .filter_submit p {
  text-align: center;
  width: 100%;
}

#map-filters .filter_submit p button {
  width: 80%;
  margin: 0 auto;
  background: #0061c3;
  color: white;
  padding: 10px;
}

#map-filters .filter_submit p button:hover {
  background: #024990;
}

#map-filters .filter_submit p button svg {
  height: 15px;
  width: 20px;
  fill: white;
}

.vue-slider-dot-handle {
  border: 1px solid #024990;
}

.vue-slider-process {
  background-color: #024990;
}

/* Map */

#map-component {
  width: 100%;
  z-index: 1;
}

#map-component .vue-map {
  height: 100%;
}

/* Overide Google InfoWindow styles */

.gm-style .gm-style-iw-c {
  border-radius: 0;
  padding: 0;
}

.gm-style-iw-d {
  overflow: auto !important;
  padding: 0 !important;
}

.gm-ui-hover-effect {
  background: white !important;
  opacity: 1 !important;
  right: 0px !important;
  width: 25px !important;
  height: 30px !important;
  padding-top: 3px !important;
  padding-right: 28px !important;
}

/* Marker styles */

.Gmap_marker__container {
  display: inline-block;
  position: relative;
  text-align: left;
}

.Gmap_marker__inner {
  background-color: #fff;
  font-weight: normal;
  font-size: 13px;
  position: relative;
  box-sizing: border-box;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-align: center;
          align-items: center;
  text-align: center;
  padding: 10px 20px;
}

.Gmap_marker__inner__marker {
  padding: 0;
}

.Gmap_marker__inner i {
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -12px;
  width: 24px;
  height: 12px;
  overflow: hidden;
}

.Gmap_marker__inner i::after {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  background-color: white;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
}

.Gmap_marker__header {
  background-size: cover;
  background-position: center;
  width: 100%;
  padding: 25px 0;
  height: 70px;
}

.Gmap_marker__header .Gmap_marker__title {
  text-shadow: 2px 1px #555555;
  text-transform: uppercase;
  text-align: center;
  color: white;
  font-size: 20px;
}

.Gmap_marker__body {
  padding: 10px 10px 5px 10px;
  width: 100%;
}

.Gmap_marker__price {
  width: 100%;
  text-align: center;
}

.Gmap_marker__price__amount {
  font-size: 20px;
  line-height: 15px;
  font-weight: bold;
  text-align: center;
}

.Gmap_marker__price__dates {
  font-size: 10px;
  font-weight: normal;
  text-align: center;
}

.Gmap_marker__infos {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  -webkit-box-pack: justify;
          justify-content: space-between;
  margin: 10px 0;
  width: 100%;
  font-size: 11px;
}

.Gmap_marker__infos__item {
  padding: 0 5px;
  width: 25%;
  text-align: center;
  border-right: 1px solid #cdcdcd;
  text-transform: uppercase;
}

.Gmap_marker__infos__item svg {
  width: 30px;
  fill: #024990;
  margin-bottom: 0;
  padding-bottom: 0;
}

.Gmap_marker__infos__item:last-child {
  border-right: none;
}

.Gmap_marker__footer {
  padding: 5px 10px 10px 10px;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  -webkit-box-pack: justify;
          justify-content: space-between;
  width: 100%;
}

.Gmap_marker__footer__item {
  padding: 10px 15px;
  text-transform: uppercase;
}

.Gmap_marker__footer__item_booking {
  background-color: #0061c2;
  color: white;
}

.Gmap_marker__footer__item_details {
  background-color: #cdcdcd;
  color: black;
}

.Gmap_marker__title {
  width: 100%;
  color: #10213A;
  font-weight: bold;
  font-size: 16px;
}

.Gmap_marker__price {
  padding-top: 5px;
  width: 100%;
}

.SimpleGmap_marker__header {
  background-size: cover;
  background-position: center;
  width: 100%;
  padding: 25px;
  height: 70px;
}

.SimpleGmap_marker__header .SimpleGmap_marker__title {
  text-align: center;
  color: #0061c3;
  font-size: 15px;
  font-weight: bold;
}

@media (max-width: 640px) {
  .mobile_hide {
    display: none;
  }

  .Gmap_marker__infos__item {
    width: 50%;
  }

  .Gmap_marker__infos__item:nth-child(2) {
    border-right: none;
  }

  #map-filters {
    width: 100%;
  }
}

.center_button_wrapper {
  width: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-pack: center;
          justify-content: center;
}

.center_button_wrapper .Button {
  align-self: center;
}

.ui-dialog {
  padding: 0;
}

.ui-dialog.video-dialog {
  width: 80vw !important;
  height: 80vh !important;
  max-width: 1200px;
}

@media (max-width: 1199.98px) {
  .ui-dialog.video-dialog {
    width: 100% !important;
    height: 100% !important;
  }
}

.ui-dialog.ui-widget.ui-widget-content {
  border: 1px solid grey;
  z-index: 200;
}

.ui-dialog .ui-widget-header {
  background: none;
  border: 0;
}

.ui-dialog .ui-dialog-titlebar {
  height: 60px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

.ui-dialog .ui-dialog-titlebar .ui-button {
  z-index: 99;
  padding: 20px;
  outline: none;
  border: none;
  background: transparent;
  right: 10px;
  top: 10px;
}

.ui-dialog .ui-dialog-titlebar .ui-button .ui-icon {
  background-image: none;
  height: 3rem;
  width: 3rem;
}

.ui-dialog .ui-dialog-titlebar .ui-button .ui-icon:after {
  content: "\D7";
  position: absolute;
  top: 0;
  left: 0;
  color: grey;
  text-indent: 0;
  font-size: 2rem;
  line-height: 1.6rem;
  font-weight: 300;
}

.ui-dialog .ui-dialog-content {
  max-height: 100% !important;
  height: 100% !important;
  padding: 55px 20px 20px;
}

.ui-dialog .ui-dialog-content article {
  height: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}

.ui-dialog .ui-dialog-content article iframe {
  width: 80vw;
  height: 80vh;
  max-width: 100%;
  max-height: 100%;
  padding: 20px;
}

@media (max-width: 1199.98px) {
  .ui-dialog .ui-dialog-content article iframe {
    padding: 10px;
  }
}

.ui-dialog .ui-dialog-content article iframe html,
.ui-dialog .ui-dialog-content article iframe body,
.ui-dialog .ui-dialog-content article iframe iframe {
  height: 100%;
  width: 100%;
}

.ui-dialog .ui-dialog-content video {
  width: 80vw;
  max-width: 100%;
  height: 100%;
  padding: 20px;
}

@media (max-width: 1199.98px) {
  .ui-dialog .ui-dialog-content video {
    padding: 10px;
    width: 100%;
  }
}

.newsletterModalOpened {
  width: 80% !important;
  max-width: 720px !important;
}

@media (max-width: 1199.98px) {
  .newsletterModalOpened {
    width: 90% !important;
    max-width: 475px !important;
  }
}

.newsletterModalOpened .ui-dialog-titlebar .ui-dialog-title {
  display: none;
}

.newsletterModalOpened .ui-dialog-content {
  padding: 0 !important;
}

.newsletterModalOpened .ui-popin-content {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  -webkit-box-pack: center;
          justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 1199.98px) {
  .newsletterModalOpened .ui-popin-content {
    max-height: 80vh;
    overflow: auto;
  }
}

.newsletterModalOpened .ui-popin-media {
  flex-basis: 45%;
  overflow: hidden;
  background-size: cover;
  background-position-x: center;
  position: relative;
}

@media (max-width: 1199.98px) {
  .newsletterModalOpened .ui-popin-media {
    flex-basis: 100%;
    height: 160px;
    background-position-y: center;
  }
}

.newsletterModalOpened .ui-popin-media img {
  font-family: "object-fit:cover";
  -o-object-fit: cover;
     object-fit: cover;
  max-width: initial;
  position: absolute;
  width: 100%;
  height: 100%;
}

@media (max-width: 1199.98px) {
  .newsletterModalOpened .ui-popin-media img {
    position: relative;
  }
}

.newsletterModalOpened .ui-popin-body {
  min-height: 40vh;
  flex-basis: 55%;
  max-width: 55%;
  max-height: 60rem;
  -webkit-box-flex: 1;
          flex-grow: 1;
  padding: 30px;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: start;
          justify-content: flex-start;
  overflow: auto;
}

@media (max-width: 1199.98px) {
  .newsletterModalOpened .ui-popin-body {
    flex-basis: 100%;
    max-height: none;
    max-width: none;
    padding: 10px 30px;
  }
}

.newsletterModalOpened .ui-popin-body .webform-ajax-form-wrapper {
  width: 100%;
}

.newsletterModalOpened .ui-popin-body a:focus {
  outline: none;
}

.newsletterModalOpened .ui-popin-body img,
.newsletterModalOpened .ui-popin-body svg {
  display: block;
  max-height: 5rem;
  margin-bottom: 2rem;
  width: initial;
}

@media (max-width: 1199.98px) {
  .newsletterModalOpened .ui-popin-body img,
  .newsletterModalOpened .ui-popin-body svg {
    margin-bottom: 1rem;
  }
}

.newsletterModalOpened .ui-popin-body p {
  font-size: 14px;
  line-height: 22px;
  text-align: center;
  margin-bottom: 24px;
  width: 100%;
}

@media (max-width: 1199.98px) {
  .newsletterModalOpened .ui-popin-body p {
    margin-bottom: 0;
  }
}

.newsletterModalOpened .ui-popin-body h5.ui-popin-body_title {
  font-size: 21px;
  line-height: 24px;
  text-align: center;
  margin-bottom: 10px;
  margin-top: 2rem;
}

.newsletterModalOpened .ui-popin-body label {
  font-size: 14px;
  line-height: 22px;
}

@media (max-width: 1199.98px) {
  .newsletterModalOpened .ui-popin-body label {
    margin-top: .5rem;
  }
}

.newsletterModalOpened .ui-popin-body label.option {
  display: block;
  text-align: left;
  text-transform: none;
  font-size: 14px;
  line-height: 22px;
  margin-left: 30px;
}

.newsletterModalOpened .ui-popin-body label.option::before {
  top: 0 !important;
}

.newsletterModalOpened .ui-popin-body label.option::after {
  top: 7px !important;
}

.newsletterModalOpened .ui-popin-body input[type='email'] {
  font-size: 14px;
}

.newsletterModalOpened .ui-popin-body input[type='email']::-webkit-input-placeholder {
  font-style: italic;
}

.newsletterModalOpened .ui-popin-body input[type='email']::-moz-placeholder {
  font-style: italic;
}

.newsletterModalOpened .ui-popin-body input[type='email']:-ms-input-placeholder {
  font-style: italic;
}

.newsletterModalOpened .ui-popin-body input[type='email']::-ms-input-placeholder {
  font-style: italic;
}

.newsletterModalOpened .ui-popin-body input[type='email']::placeholder {
  font-style: italic;
}

.newsletterModalOpened .ui-popin-body input[type='text'] {
  font-size: 14px;
}

.newsletterModalOpened .ui-popin-body input[type='text']::-webkit-input-placeholder {
  font-style: italic;
}

.newsletterModalOpened .ui-popin-body input[type='text']::-moz-placeholder {
  font-style: italic;
}

.newsletterModalOpened .ui-popin-body input[type='text']:-ms-input-placeholder {
  font-style: italic;
}

.newsletterModalOpened .ui-popin-body input[type='text']::-ms-input-placeholder {
  font-style: italic;
}

.newsletterModalOpened .ui-popin-body input[type='text']::placeholder {
  font-style: italic;
}

.newsletterModalOpened .ui-popin-body .form-item {
  margin-bottom: 8px;
}

.newsletterModalOpened .ui-popin-body .form-item:last-child {
  margin-bottom: 0;
}

.newsletterModalOpened .ui-popin-body .form-item:last-child p {
  margin-bottom: 0;
}

.newsletterModalOpened .ui-popin-body .form-item-test-checkbox {
  margin-bottom: 24px;
}

.newsletterModalOpened .ui-popin-body .form-item p {
  font-size: 12px;
  line-height: 15px;
}

.newsletterModalOpened .ui-popin-body .form-item p a {
  text-decoration: underline;
  border: none;
}

.newsletterModalOpened .ui-popin-body .form-item-your-mail label {
  visibility: hidden;
  display: block;
  margin-top: -1px;
  height: 0;
  width: 0;
  overflow: hidden;
}

.newsletterModalOpened .ui-popin-body .form-submit {
  display: block !important;
  width: 100%;
  margin-bottom: 12px;
  font-size: 14px;
  border: none;
}

.newsletterModalOpened .ui-popin-body .webform-type-webform-name .fieldset-wrapper {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  -webkit-box-pack: justify;
          justify-content: space-between;
  flex-wrap: wrap;
}

.newsletterModalOpened .ui-popin-body .webform-type-webform-name .fieldset-wrapper .form-item {
  max-width: calc(50% - 4px);
  width: 100%;
}

.newsletterModalOpened .ui-popin-body .webform-type-webform-name .fieldset-wrapper label {
  visibility: hidden;
  display: block;
  margin-top: -1px;
  height: 0;
  width: 0;
  overflow: hidden;
}

.newsletterModalOpened .ui-popin-body .webform-confirmation {
  width: 100%;
  padding-top: 40px;
  margin-top: 20px;
  font-size: 21px;
  line-height: 24px;
  text-align: center;
}

.newsletterModalOpened .ui-popin-body .webform-confirmation h5 {
  display: none;
}

.newsletterModalOpened .ui-popin-body .webform-confirmation em {
  display: block;
  font-size: 18px;
  font-style: normal;
}

.newsletterModalOpened .ui-popin-body .webform-confirmation br {
  line-height: 12px;
}

.newsletterModalOpened .ui-popin-body .form-item-test-checkbox {
  flex-wrap: wrap;
}

.newsletterModalOpened .ui-popin-body .form-item-test-checkbox label {
  flex-basis: 100%;
}

.newsletterModalOpened .ui-popin-body .form-item-test-checkbox .form-item--error-message {
  margin-left: 30px;
}

.newsletterModalOpened .ui-popin-body .form-item--error label.option::before {
  border-color: red;
}

.newsletterModalOpened .ui-dialog-buttonpane {
  display: none;
}

@media (max-width: 1199.98px) {
  .disable-media-mobile .ui-popin-media {
    display: none;
  }
}

.newsletterModalOpened .ui-popin-body .newsletter-privacy {
  font-size: 10px;
  line-height: initial;
}

.fadeIn--default {
  opacity: 0;
}

.fadeInLeft--default {
  opacity: 0;
}

.fadeInRight--default {
  opacity: 0;
}

.cke_editable .fadeIn--default {
  opacity: 1;
}

.cke_editable .fadeInLeft--default {
  opacity: 1;
}

.cke_editable .fadeInRight--default {
  opacity: 1;
}

.slideInLeft--default {
  visibility: hidden;
}

.slideInRight--default {
  visibility: hidden;
}

.cke_editable .slideInLeft--default {
  visibility: visible;
}

.cke_editable .slideInRight--default {
  visibility: visible;
}

/* Fading entrances  */

/* Sliding entrances */



/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlMi1nb29nbGUtbWFwcy9kaXN0L2NvbXBvbmVudHMvbm9kZV9tb2R1bGVzL3Z1ZTItZ29vZ2xlLW1hcHMvZGlzdC9jb21wb25lbnRzL21hcC52dWUiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Z1ZTItZ29vZ2xlLW1hcHMvZGlzdC9jb21wb25lbnRzL25vZGVfbW9kdWxlcy92dWUyLWdvb2dsZS1tYXBzL2Rpc3QvY29tcG9uZW50cy9zdHJlZXRWaWV3UGFub3JhbWEudnVlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy92dWUtc2xpZGVyLWNvbXBvbmVudC9saWIvdGhlbWUvZGVmYXVsdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy92dWUtc2xpZGVyLWNvbXBvbmVudC90aGVtZS9kZWZhdWx0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLXNsaWRlci1jb21wb25lbnQvbGliL3N0eWxlcy9fdHJpYW5nbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2pzL2xpYnJhcmllcy92aWRiZy9zcmMvdmlkYmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS5jc3Mvc291cmNlL192YXJzLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS5jc3Mvc291cmNlL19iYXNlLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS5jc3Mvc291cmNlL2ZhZGluZ19lbnRyYW5jZXMvZmFkZUluLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS5jc3Mvc291cmNlL2ZhZGluZ19lbnRyYW5jZXMvZmFkZUluTGVmdC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FuaW1hdGUuY3NzL3NvdXJjZS9mYWRpbmdfZW50cmFuY2VzL2ZhZGVJblJpZ2h0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS5jc3Mvc291cmNlL3NsaWRpbmdfZW50cmFuY2VzL3NsaWRlSW5MZWZ0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS5jc3Mvc291cmNlL3NsaWRpbmdfZW50cmFuY2VzL3NsaWRlSW5SaWdodC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3Mvc3R5bGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvdmVuZG9ycy9fYm9vdHN0cmFwLXZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvX2Vhc2luZ3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9hYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbW1vbi1zdHlsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9iYXNlL19mb250cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZXNzL3Jlc3MuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mbGlja2l0eS9jc3MvZmxpY2tpdHkuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy90aXBweS5qcy9kaXN0L3RpcHB5LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvX2Z1bmN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hcmNoaXRlY3R1cmUvc3JjL3N0eWxlc2hlZXRzL2Fic3RyYWN0cy9taXhpbnMvX2F1dG8tYWxwaGEuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvbWl4aW5zL19jcmVhdGUtY2xhc3MtY29sb3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvbWl4aW5zL19mb250LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvYWJzdHJhY3RzL21peGlucy9fbGV0dGVyLXNwYWNpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvbWl4aW5zL19tYXJnaW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvbWl4aW5zL19wYWRkaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvYWJzdHJhY3RzL21peGlucy9fcG9zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvbWl4aW5zL19wb3dlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hcmNoaXRlY3R1cmUvc3JjL3N0eWxlc2hlZXRzL2Fic3RyYWN0cy9taXhpbnMvX3Jlc2V0LXBsYWNlaG9sZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvYWJzdHJhY3RzL21peGlucy9fc2l6ZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hcmNoaXRlY3R1cmUvc3JjL3N0eWxlc2hlZXRzL2Fic3RyYWN0cy9fcGxhY2Vob2xkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvdmVuZG9ycy9fZmxpY2tpdHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy92ZW5kb3JzL190aXBweS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2Fic3RyYWN0cy9fYW5pbWF0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2Jhc2UvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9iYXNlL190eXBvZ3JhcGhpZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9sYXlvdXQvX3NpdGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2xheW91dC9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvbGF5b3V0L19oZXJvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvbGF5b3V0L190YXNrYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvbGF5b3V0L19pbWFnZS1jYXB0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvbGF5b3V0L190YWJsZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2xheW91dC9fYmFubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvbGF5b3V0L19yaWNoLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9sYXlvdXQvX2xpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9sYXlvdXQvX3ZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvbGF5b3V0L19pbmZvcm1hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2xheW91dC9fc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2xheW91dC9fbWVudS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2xheW91dC9fZHJvcGRvd24tbWVudS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2xheW91dC9fdHV0b3JpYWxzLXZpZGVvcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2xheW91dC9fZmxpZ2h0LWRldGFpbC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2xheW91dC9fY29tcGFueS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2xheW91dC9fZ28tZnVydGhlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2xheW91dC9fdHJhdmVsLWRpYXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvbGF5b3V0L19wcmVwYXJlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvbGF5b3V0L19vcmdhbml6ZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2xheW91dC9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9sYXlvdXQvX25hdmlnYXRpb24tYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvbGF5b3V0L19tZW51LWFjY291bnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9sYXlvdXQvX3NtYXJ0X3dlbGNvbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19sb2NhbC10YXNrcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX2d1aWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fc2hhcmVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fc2Nyb2xsLWJhY2stdG8tdG9wLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fbGluay5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX3B1c2guc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19jYXJkLWljb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19jYXJkLXZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fY2FyZC1kZXN0aW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX2NhcmQtZmF2b3JpdGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19jYXJkLXBhcmtpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19jYXJkLXNlbGVjdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fY2FyZC11c2VmdWwtaW5mb3JtYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19jYXJkLWluZm9ybWF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fY2FyZC1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fY2FyZC1kaXNjb3Zlcnkuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fY2FyZC1wcm9tb3Rpb25uZWxsZS5zY3NzIiwid2VicGFjazovLy8uLzxubyBzb3VyY2U+Iiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX2NhcmQtaW5zcGlyYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fY2Fyb3VzZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19wbGFuZS10cmlwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fb3JkZXJlZC1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fd2lkZ2V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fd2lkZ2V0LXJlYWwtdGltZS1mbGlnaHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19yZXBvcnRhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19hZHZhbnRhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19zZWxlY3Rvci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX2NhbGVuZGFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX2NoZWNrYm94LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fZmlsdGVycy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX2Zhdm9yaXRlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX3BlcmlvZC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX2xpc3QtYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fcmFuZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19hY3R1YWxpdHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19lbmpveS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX3NsaWRlc2hvdy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9faW5zdGFncmFtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fbG9nby5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX3NvY2lhbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19sYW5ndWFnZS1zZWxlY3Rvci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX3F1aWNrLXNlYXJjaC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX2ZsaWdodC10eXBlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fZmxpZ2h0LXR5cGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fZmxpZ2h0LXRpbWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fZmxpZ2h0LXBsYW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19mbGlnaHQtc3RhdHVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fZmxpZ2h0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fZmxpZ2h0cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX2NhcmQtcmVhZG1vcmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19zcGluLWJ1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX3NlbGVjdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9faW5wdXQtZGF0ZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX2lucHV0LXRpbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19pbnB1dC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX3NlYXJjaC1mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY29tcG9uZW50cy9fdGV4dGFyZWEuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX3dlYmZvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jb21wb25lbnRzL19ob21lLXNsaWRlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2NvbXBvbmVudHMvX3Byb21vdGlvbmFsLWJhbm5lci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL3BhZ2VzL180MDQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9wYWdlcy9fY2FsbGl3ZWItZGVzdGluYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvcGFnZXMvX2VkaXRvcmlhbC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL3BhZ2VzL19mYXEtcGFnZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL3BhZ2VzL19wYXJraW5nLXBhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9wYWdlcy9fZGVzdGluYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9wYWdlcy9fbGlzdC1wYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvcGFnZXMvX2hvbWUtcGFnZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL3BhZ2VzL19wYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvcGFnZXMvX3JlYWwtdGltZS1mbGlnaHQtcGFnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hcmNoaXRlY3R1cmUvc3JjL3N0eWxlc2hlZXRzL3V0aWxpdGllcy9fY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvdXRpbGl0aWVzL19jdXJzb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvdXRpbGl0aWVzL19mbG9hdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy91dGlsaXRpZXMvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvdXRpbGl0aWVzL19tYXJnaW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvdXRpbGl0aWVzL19vdmVyZmxvd3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy91dGlsaXRpZXMvX3BhZGRpbmdzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvdXRpbGl0aWVzL19wb3NpdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy91dGlsaXRpZXMvX3NpemVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvdXRpbGl0aWVzL190ZXh0LWFsaWducy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hcmNoaXRlY3R1cmUvc3JjL3N0eWxlc2hlZXRzL3V0aWxpdGllcy9fdGV4dC1kZWNvcmF0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hcmNoaXRlY3R1cmUvc3JjL3N0eWxlc2hlZXRzL3V0aWxpdGllcy9fdGV4dC10cmFuc2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvdXRpbGl0aWVzL192ZXJ0aWNhbC1hbGlnbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy91dGlsaXRpZXMvX3doaXRlLXNwYWNlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hcmNoaXRlY3R1cmUvc3JjL3N0eWxlc2hlZXRzL3V0aWxpdGllcy9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jdXN0b20vX2RydXBhbC1tZXNzYWdlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2N1c3RvbS9fdGVtcGxhdGVzLWVkaXRvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY3VzdG9tL19ib2R5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY3VzdG9tL180MDQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jdXN0b20vX2ZsaWdodHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jdXN0b20vX2Rlc3RpbmF0aW9uLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jdXN0b20vX3dpZGdldHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jdXN0b20vX2NhcmRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY3VzdG9tL19hMTF5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY3VzdG9tL19saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY3VzdG9tL19nbWFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvY3VzdG9tL19tb2JpbGVfaG9tZXBhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMtc3JjL2Nzcy9jdXN0b20vX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzLXNyYy9jc3MvYW5pbWF0aW9ucy9mYWRpbmdfZW50cmFuY2VzL19mYWRlX2VudHJhbmNlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2FuaW1hdGlvbnMvc2xpZGluZ19lbnRyYW5jZXMvX3NsaWRlX2VudHJhbmNlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy1zcmMvY3NzL2FuaW1hdGlvbnMvX2FuaW1hdGlvbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBZUE7RUFDQTtDQUNBO0FBRUE7RUFDQTtFQUNBO0NBQ0E7QUFDQTtFQUNBO0NBQ0E7OztBQ2JBO0VBQ0E7Q0FDQTtBQUVBO0VBQ0E7RUFDQTtDQUNBOztBQ1FBO0FBQ0E7RUFDRSxhQTFCZ0I7RUEyQmhCO0NDMUJGOztBRDZCQTtBQUNBO0VBQ0UsdUJBOUJRO0VBK0JSLG9CQTlCaUI7Q0NJbkI7O0FENkJBO0FBQ0E7RUFDRSwwQkF2Q1c7RUF3Q1gsb0JBcENpQjtDQ1VuQjs7QUQ2QkE7QUFDQTtFQUNFO0NDMUJGO0FEOEJJO0VBQ0U7Q0M1Qk47QURnQ1c7RUFDUDtFQUNBO0VBQ0EsbUJBckNlO0VBc0NmLHNDQXJDVTtDQ09kO0FEb0NXO0VBQ1AsZ0JBMUNZO0VBMkNaO0NDbENKO0FEeUNBO0FBRVc7RUFDUDtFQUNBO0VBQ0E7RUFDQSxtQkFyRWM7RUFzRWQsdUJBeEVTO0VBeUVUO0VBQ0Esb0RBNUVRO0NDb0NaO0FEMENhO0VBQ1AscURBOUVXO0NDc0NqQjs7QUQwQ2E7RUFDUDtFQUNBLHVCQWhGYztDQ3lDcEI7O0FENENhO0VBQ1AsZ0JBN0VZO0VBOEVaO0VBQ0EsaUJBbEZXO0VBbUZYLGdCQWxGWTtFQW1GWjtFQUNBLFlBdkZTO0VBd0ZULG1CQXZGZ0I7RUF3RmhCLHNCQXRHTztFQXVHUCwwQkF2R087RUF3R1A7Q0N6Q047QUM3Q0U7RUFDRTtFQUNBO0NEK0NKO0FDM0NJO0VBQ0U7RUFDQTtFQUNBO1VBQUE7RUE1Qko7RUFDQTtFQUVFO0VBQ0E7RUFDQTtFQU1FLDBCRitGOEI7Q0MzQnBDO0FDN0NJO0VBQ0U7RUFDQTtFQUNBO1VBQUE7RUFyQ0o7RUFDQTtFQUVFO0VBQ0E7RUFDQTtFQUVFLDZCRm1HOEI7Q0NoQnBDO0FDL0NJO0VBQ0U7RUFDQTtFQUNBO1VBQUE7RUE5Q0o7RUFDQTtFQUVFO0VBQ0E7RUFDQTtFQUlFLDJCRmlHOEI7Q0NMcEM7QUNqREk7RUFDRTtFQUNBO0VBQ0E7VUFBQTtFQXZESjtFQUNBO0VBRUU7RUFDQTtFQUNBO0VBUUUsNEJGNkY4QjtDQ01wQzs7QURGVztFQUNQO0VBQ0E7RUFBQTtDQ0tKO0FESmE7RUFDUDtDQ01OOztBQUVBLHVDQUFzQzs7QUUzSHRDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q0FDSjs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q0FDSjs7O0FDYkE7RUFDRSx1QkFBc0I7RUFDdEIsb0JBQW1CO0VBQ25CLG9CQUFtQjtDQUNyQjs7QUNKQTtFQUNFLG9EQUEyQztVQUEzQyw0Q0FBMkM7RUFDM0Msa0NBQXlCO1VBQXpCLDBCQUF5QjtDQUMzQjs7QUFFQTtFQUNFLDRDQUFtQztVQUFuQyxvQ0FBbUM7Q0FDckM7O0FBRUE7RUFDRSx5REFBZ0Q7VUFBaEQsaURBQWdEO0NBQ2xEOztBQUVBO0VBQ0UsbUVBQTBEO1VBQTFELDJEQUEwRDtDQUM1RDs7QUFFQTtFQUNFLG1FQUEwRDtVQUExRCwyREFBMEQ7Q0FDNUQ7O0FBRUE7RUFDRSw4Q0FBcUM7VUFBckMsc0NBQXFDO0NBQ3ZDOztBQUVBO0VBQ0Usd0RBQStDO1VBQS9DLGdEQUErQztDQUNqRDs7QUFFQTtFQUNFLHdEQUErQztVQUEvQyxnREFBK0M7Q0FDakQ7O0FBRUE7RUFDRSx3REFBK0M7VUFBL0MsZ0RBQStDO0NBQ2pEOztBQUVBO0VBQ0Usd0RBQStDO1VBQS9DLGdEQUErQztDQUNqRDs7QUFFQTtFQUNFLDhEQUFxRDtVQUFyRCxzREFBcUQ7Q0FDdkQ7O0FBRUE7RUFDRSxnRUFBdUQ7VUFBdkQsd0RBQXVEO0NBQ3pEOztBQUVBO0VBQ0UsOERBQXFEO1VBQXJELHNEQUFxRDtDQUN2RDs7QUFFQTtFQUNFLDhEQUFxRDtVQUFyRCxzREFBcUQ7Q0FDdkQ7O0FBRUE7RUFDRTtJQUNFLDJDQUFrQztZQUFsQyxtQ0FBa0M7SUFDbEMsNENBQW1DO1lBQW5DLG9DQUFtQztJQUNuQyxnREFBdUM7WUFBdkMsd0NBQXVDO0dBQ3pDOztFQUVBO0lBQ0UsV0FBVTtHQUNaO0NBQ0Y7O0FDbkVBO0VBQ0U7SUFDRSxXQUFVO0dBQ1o7O0VBRUE7SUFDRSxXQUFVO0dBQ1o7Q0FDRjs7QUFSQTtFQUNFO0lBQ0UsV0FBVTtHQUNaOztFQUVBO0lBQ0UsV0FBVTtHQUNaO0NBQ0Y7O0FBRUE7RUFDRSwrQkFBc0I7VUFBdEIsdUJBQXNCO0NBQ3hCOztBQ1pBO0VBQ0U7SUFDRSxXQUFVO0lBQ1YsNENBQW1DO1lBQW5DLG9DQUFtQztHQUNyQzs7RUFFQTtJQUNFLFdBQVU7SUFDVix3Q0FBK0I7WUFBL0IsZ0NBQStCO0dBQ2pDO0NBQ0Y7O0FBVkE7RUFDRTtJQUNFLFdBQVU7SUFDViw0Q0FBbUM7WUFBbkMsb0NBQW1DO0dBQ3JDOztFQUVBO0lBQ0UsV0FBVTtJQUNWLHdDQUErQjtZQUEvQixnQ0FBK0I7R0FDakM7Q0FDRjs7QUFFQTtFQUNFLG1DQUEwQjtVQUExQiwyQkFBMEI7Q0FDNUI7O0FDZEE7RUFDRTtJQUNFLFdBQVU7SUFDViwyQ0FBa0M7WUFBbEMsbUNBQWtDO0dBQ3BDOztFQUVBO0lBQ0UsV0FBVTtJQUNWLHdDQUErQjtZQUEvQixnQ0FBK0I7R0FDakM7Q0FDRjs7QUFWQTtFQUNFO0lBQ0UsV0FBVTtJQUNWLDJDQUFrQztZQUFsQyxtQ0FBa0M7R0FDcEM7O0VBRUE7SUFDRSxXQUFVO0lBQ1Ysd0NBQStCO1lBQS9CLGdDQUErQjtHQUNqQztDQUNGOztBQUVBO0VBQ0Usb0NBQTJCO1VBQTNCLDRCQUEyQjtDQUM3Qjs7QUNkQTtFQUNFO0lBQ0UsNENBQW1DO1lBQW5DLG9DQUFtQztJQUNuQyxvQkFBbUI7R0FDckI7O0VBRUE7SUFDRSx3Q0FBK0I7WUFBL0IsZ0NBQStCO0dBQ2pDO0NBQ0Y7O0FBVEE7RUFDRTtJQUNFLDRDQUFtQztZQUFuQyxvQ0FBbUM7SUFDbkMsb0JBQW1CO0dBQ3JCOztFQUVBO0lBQ0Usd0NBQStCO1lBQS9CLGdDQUErQjtHQUNqQztDQUNGOztBQUVBO0VBQ0Usb0NBQTJCO1VBQTNCLDRCQUEyQjtDQUM3Qjs7QUNiQTtFQUNFO0lBQ0UsMkNBQWtDO1lBQWxDLG1DQUFrQztJQUNsQyxvQkFBbUI7R0FDckI7O0VBRUE7SUFDRSx3Q0FBK0I7WUFBL0IsZ0NBQStCO0dBQ2pDO0NBQ0Y7O0FBVEE7RUFDRTtJQUNFLDJDQUFrQztZQUFsQyxtQ0FBa0M7SUFDbEMsb0JBQW1CO0dBQ3JCOztFQUVBO0lBQ0Usd0NBQStCO1lBQS9CLGdDQUErQjtHQUNqQztDQUNGOztBQUVBO0VBQ0UscUNBQTRCO1VBQTVCLDZCQUE0QjtDQUM5Qjs7QUNiQTs7QUFBQTs7R0FJRTs7QUNKRjs7Ozs7Ozs7R0RjRTs7QUNGRjs7Ozs7Ozs7R0RZRTs7QUNDRjs7Ozs7OztHRFFFOztBQ3NCQTtFQUNDO0VBQ0E7Q0RMSDs7QUNRRTs7O0VBRUM7RUFDQTtDREpIOztBRUNJO0VETEY7SUFDQztJQUNBO0dEUUQ7O0VDTEE7OztJQUVDO0lBQ0E7R0RTRDtDQUNGOztBRWJJO0VETEY7SUFDQztJQUNBO0dEc0JEOztFQ25CQTs7O0lBRUM7SUFDQTtHRHVCRDtDQUNGOztBRTNCSTtFRExGO0lBQ0M7SUFDQTtHRG9DRDs7RUNqQ0E7OztJQUVDO0lBQ0E7R0RxQ0Q7Q0FDRjs7QUV6Q0k7RURMRjtJQUNDO0lBQ0E7R0RrREQ7O0VDL0NBOzs7SUFFQztJQUNBO0dEbUREO0NBQ0Y7O0FDNURNO0VBY0g7RUFDQTtDRGtESDs7QUNwREE7OztFQU1LO0VBQ0E7Q0RvREw7O0FHekhFO0VDREE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQVFJO0NKdUhOOztBRTVFSTtFQ3RERjtJQ1dJO0dKNEhKO0NBQ0Y7O0FFbEZJO0VDdERGO0lDV0k7R0prSUo7Q0FDRjs7QUV4Rkk7RUN0REY7SUNXSTtHSndJSjtDQUNGOztBRzlJRTs7Ozs7RUNQQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NKNkpGOztBRTFHSTtFQ3JDRTs7SUFDRTtHSG9KTjtDQUNGOztBRWpISTtFQ3JDRTs7O0lBQ0U7R0g0Sk47Q0FDRjs7QUV6SEk7RUNyQ0U7Ozs7SUFDRTtHSHFLTjtDQUNGOztBR3ZLTTs7Ozs7RUFDRTtDSDhLUjs7QUdsSkU7RUM3QkE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtDSm1MRjs7QUN0Sk07RUVJRjtFQUNBO0NIc0pKOztBQzlJQTs7O0VFSk07RUFDQTtDSHdKTjs7QUtsTkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q0wyUko7O0FLclFNOztFQUNFO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7Q0x5UVI7O0FLcFFVO0VEdUJOO1VBQUE7RUFDQTtDSmlQSjs7QUt6UVU7RUR1Qk47VUFBQTtFQUNBO0NKc1BKOztBSzlRVTtFRHVCTjtVQUFBO0VBQ0E7Q0oyUEo7O0FLblJVO0VEdUJOO1VBQUE7RUFDQTtDSmdRSjs7QUt4UlU7RUR1Qk47VUFBQTtFQUNBO0NKcVFKOztBSzdSVTtFRHVCTjtVQUFBO0VBQ0E7Q0owUUo7O0FLNVJNO0VEQUo7VUFBQTtFQUNBO0VBQ0E7Q0pnU0Y7O0FLNVJVO0VEZFI7VUFBQTtFQUlBO0NKMlNGOztBS2pTVTtFRGRSO1VBQUE7RUFJQTtDSmdURjs7QUt0U1U7RURkUjtVQUFBO0VBSUE7Q0pxVEY7O0FLM1NVO0VEZFI7VUFBQTtFQUlBO0NKMFRGOztBS2hUVTtFRGRSO1VBQUE7RUFJQTtDSitURjs7QUtyVFU7RURkUjtVQUFBO0VBSUE7Q0pvVUY7O0FLMVRVO0VEZFI7VUFBQTtFQUlBO0NKeVVGOztBSy9UVTtFRGRSO1VBQUE7RUFJQTtDSjhVRjs7QUtwVVU7RURkUjtVQUFBO0VBSUE7Q0ptVkY7O0FLelVVO0VEZFI7VUFBQTtFQUlBO0NKd1ZGOztBSzlVVTtFRGRSO1VBQUE7RUFJQTtDSjZWRjs7QUtuVlU7RURkUjtVQUFBO0VBSUE7Q0prV0Y7O0FLbFZNO0VBQXdCO1VBQUE7Q0xzVjlCOztBS3BWTTtFQUF1QjtVQUFBO0NMd1Y3Qjs7QUtyVlE7RUFBd0I7VUFBQTtDTHlWaEM7O0FLelZRO0VBQXdCO1VBQUE7Q0w2VmhDOztBSzdWUTtFQUF3QjtVQUFBO0NMaVdoQzs7QUtqV1E7RUFBd0I7VUFBQTtDTHFXaEM7O0FLcldRO0VBQXdCO1VBQUE7Q0x5V2hDOztBS3pXUTtFQUF3QjtVQUFBO0NMNldoQzs7QUs3V1E7RUFBd0I7VUFBQTtDTGlYaEM7O0FLalhRO0VBQXdCO1VBQUE7Q0xxWGhDOztBS3JYUTtFQUF3QjtVQUFBO0NMeVhoQzs7QUt6WFE7RUFBd0I7VUFBQTtDTDZYaEM7O0FLN1hRO0VBQXdCO1VBQUE7Q0xpWWhDOztBS2pZUTtFQUF3QjtVQUFBO0NMcVloQzs7QUtyWVE7RUFBd0I7VUFBQTtDTHlZaEM7O0FLbFlZO0VEakJWO0NKdVpGOztBS3RZWTtFRGpCVjtDSjJaRjs7QUsxWVk7RURqQlY7Q0orWkY7O0FLOVlZO0VEakJWO0NKbWFGOztBS2xaWTtFRGpCVjtDSnVhRjs7QUt0Wlk7RURqQlY7Q0oyYUY7O0FLMVpZO0VEakJWO0NKK2FGOztBSzlaWTtFRGpCVjtDSm1iRjs7QUtsYVk7RURqQlY7Q0p1YkY7O0FLdGFZO0VEakJWO0NKMmJGOztBSzFhWTtFRGpCVjtDSitiRjs7QUUxYkk7RUczQkU7SUFDRTtJQUNBO1lBQUE7SUFDQTtJQUNBO0dMeWROOztFS3BkUTtJRHVCTjtZQUFBO0lBQ0E7R0ppY0Y7O0VLemRRO0lEdUJOO1lBQUE7SUFDQTtHSnNjRjs7RUs5ZFE7SUR1Qk47WUFBQTtJQUNBO0dKMmNGOztFS25lUTtJRHVCTjtZQUFBO0lBQ0E7R0pnZEY7O0VLeGVRO0lEdUJOO1lBQUE7SUFDQTtHSnFkRjs7RUs3ZVE7SUR1Qk47WUFBQTtJQUNBO0dKMGRGOztFSzVlSTtJREFKO1lBQUE7SUFDQTtJQUNBO0dKZ2ZBOztFSzVlUTtJRGRSO1lBQUE7SUFJQTtHSjJmQTs7RUtqZlE7SURkUjtZQUFBO0lBSUE7R0pnZ0JBOztFS3RmUTtJRGRSO1lBQUE7SUFJQTtHSnFnQkE7O0VLM2ZRO0lEZFI7WUFBQTtJQUlBO0dKMGdCQTs7RUtoZ0JRO0lEZFI7WUFBQTtJQUlBO0dKK2dCQTs7RUtyZ0JRO0lEZFI7WUFBQTtJQUlBO0dKb2hCQTs7RUsxZ0JRO0lEZFI7WUFBQTtJQUlBO0dKeWhCQTs7RUsvZ0JRO0lEZFI7WUFBQTtJQUlBO0dKOGhCQTs7RUtwaEJRO0lEZFI7WUFBQTtJQUlBO0dKbWlCQTs7RUt6aEJRO0lEZFI7WUFBQTtJQUlBO0dKd2lCQTs7RUs5aEJRO0lEZFI7WUFBQTtJQUlBO0dKNmlCQTs7RUtuaUJRO0lEZFI7WUFBQTtJQUlBO0dKa2pCQTs7RUtsaUJJO0lBQXdCO1lBQUE7R0xzaUI1Qjs7RUtwaUJJO0lBQXVCO1lBQUE7R0x3aUIzQjs7RUtyaUJNO0lBQXdCO1lBQUE7R0x5aUI5Qjs7RUt6aUJNO0lBQXdCO1lBQUE7R0w2aUI5Qjs7RUs3aUJNO0lBQXdCO1lBQUE7R0xpakI5Qjs7RUtqakJNO0lBQXdCO1lBQUE7R0xxakI5Qjs7RUtyakJNO0lBQXdCO1lBQUE7R0x5akI5Qjs7RUt6akJNO0lBQXdCO1lBQUE7R0w2akI5Qjs7RUs3akJNO0lBQXdCO1lBQUE7R0xpa0I5Qjs7RUtqa0JNO0lBQXdCO1lBQUE7R0xxa0I5Qjs7RUtya0JNO0lBQXdCO1lBQUE7R0x5a0I5Qjs7RUt6a0JNO0lBQXdCO1lBQUE7R0w2a0I5Qjs7RUs3a0JNO0lBQXdCO1lBQUE7R0xpbEI5Qjs7RUtqbEJNO0lBQXdCO1lBQUE7R0xxbEI5Qjs7RUtybEJNO0lBQXdCO1lBQUE7R0x5bEI5Qjs7RUtsbEJVO0lEakJWO0dKdW1CQTs7RUt0bEJVO0lEakJWO0dKMm1CQTs7RUsxbEJVO0lEakJWO0dKK21CQTs7RUs5bEJVO0lEakJWO0dKbW5CQTs7RUtsbUJVO0lEakJWO0dKdW5CQTs7RUt0bUJVO0lEakJWO0dKMm5CQTs7RUsxbUJVO0lEakJWO0dKK25CQTs7RUs5bUJVO0lEakJWO0dKbW9CQTs7RUtsbkJVO0lEakJWO0dKdW9CQTs7RUt0bkJVO0lEakJWO0dKMm9CQTs7RUsxbkJVO0lEakJWO0dKK29CQTs7RUs5bkJVO0lEakJWO0dKbXBCQTtDQUNGOztBRS9vQkk7RUczQkU7SUFDRTtJQUNBO1lBQUE7SUFDQTtJQUNBO0dMOHFCTjs7RUt6cUJRO0lEdUJOO1lBQUE7SUFDQTtHSnNwQkY7O0VLOXFCUTtJRHVCTjtZQUFBO0lBQ0E7R0oycEJGOztFS25yQlE7SUR1Qk47WUFBQTtJQUNBO0dKZ3FCRjs7RUt4ckJRO0lEdUJOO1lBQUE7SUFDQTtHSnFxQkY7O0VLN3JCUTtJRHVCTjtZQUFBO0lBQ0E7R0owcUJGOztFS2xzQlE7SUR1Qk47WUFBQTtJQUNBO0dKK3FCRjs7RUtqc0JJO0lEQUo7WUFBQTtJQUNBO0lBQ0E7R0pxc0JBOztFS2pzQlE7SURkUjtZQUFBO0lBSUE7R0pndEJBOztFS3RzQlE7SURkUjtZQUFBO0lBSUE7R0pxdEJBOztFSzNzQlE7SURkUjtZQUFBO0lBSUE7R0owdEJBOztFS2h0QlE7SURkUjtZQUFBO0lBSUE7R0ordEJBOztFS3J0QlE7SURkUjtZQUFBO0lBSUE7R0pvdUJBOztFSzF0QlE7SURkUjtZQUFBO0lBSUE7R0p5dUJBOztFSy90QlE7SURkUjtZQUFBO0lBSUE7R0o4dUJBOztFS3B1QlE7SURkUjtZQUFBO0lBSUE7R0ptdkJBOztFS3p1QlE7SURkUjtZQUFBO0lBSUE7R0p3dkJBOztFSzl1QlE7SURkUjtZQUFBO0lBSUE7R0o2dkJBOztFS252QlE7SURkUjtZQUFBO0lBSUE7R0prd0JBOztFS3h2QlE7SURkUjtZQUFBO0lBSUE7R0p1d0JBOztFS3Z2Qkk7SUFBd0I7WUFBQTtHTDJ2QjVCOztFS3p2Qkk7SUFBdUI7WUFBQTtHTDZ2QjNCOztFSzF2Qk07SUFBd0I7WUFBQTtHTDh2QjlCOztFSzl2Qk07SUFBd0I7WUFBQTtHTGt3QjlCOztFS2x3Qk07SUFBd0I7WUFBQTtHTHN3QjlCOztFS3R3Qk07SUFBd0I7WUFBQTtHTDB3QjlCOztFSzF3Qk07SUFBd0I7WUFBQTtHTDh3QjlCOztFSzl3Qk07SUFBd0I7WUFBQTtHTGt4QjlCOztFS2x4Qk07SUFBd0I7WUFBQTtHTHN4QjlCOztFS3R4Qk07SUFBd0I7WUFBQTtHTDB4QjlCOztFSzF4Qk07SUFBd0I7WUFBQTtHTDh4QjlCOztFSzl4Qk07SUFBd0I7WUFBQTtHTGt5QjlCOztFS2x5Qk07SUFBd0I7WUFBQTtHTHN5QjlCOztFS3R5Qk07SUFBd0I7WUFBQTtHTDB5QjlCOztFSzF5Qk07SUFBd0I7WUFBQTtHTDh5QjlCOztFS3Z5QlU7SURqQlY7R0o0ekJBOztFSzN5QlU7SURqQlY7R0pnMEJBOztFSy95QlU7SURqQlY7R0pvMEJBOztFS256QlU7SURqQlY7R0p3MEJBOztFS3Z6QlU7SURqQlY7R0o0MEJBOztFSzN6QlU7SURqQlY7R0pnMUJBOztFSy96QlU7SURqQlY7R0pvMUJBOztFS24wQlU7SURqQlY7R0p3MUJBOztFS3YwQlU7SURqQlY7R0o0MUJBOztFSzMwQlU7SURqQlY7R0pnMkJBOztFSy8wQlU7SURqQlY7R0pvMkJBOztFS24xQlU7SURqQlY7R0p3MkJBO0NBQ0Y7O0FFcDJCSTtFRzNCRTtJQUNFO0lBQ0E7WUFBQTtJQUNBO0lBQ0E7R0xtNEJOOztFSzkzQlE7SUR1Qk47WUFBQTtJQUNBO0dKMjJCRjs7RUtuNEJRO0lEdUJOO1lBQUE7SUFDQTtHSmczQkY7O0VLeDRCUTtJRHVCTjtZQUFBO0lBQ0E7R0pxM0JGOztFSzc0QlE7SUR1Qk47WUFBQTtJQUNBO0dKMDNCRjs7RUtsNUJRO0lEdUJOO1lBQUE7SUFDQTtHSiszQkY7O0VLdjVCUTtJRHVCTjtZQUFBO0lBQ0E7R0pvNEJGOztFS3Q1Qkk7SURBSjtZQUFBO0lBQ0E7SUFDQTtHSjA1QkE7O0VLdDVCUTtJRGRSO1lBQUE7SUFJQTtHSnE2QkE7O0VLMzVCUTtJRGRSO1lBQUE7SUFJQTtHSjA2QkE7O0VLaDZCUTtJRGRSO1lBQUE7SUFJQTtHSis2QkE7O0VLcjZCUTtJRGRSO1lBQUE7SUFJQTtHSm83QkE7O0VLMTZCUTtJRGRSO1lBQUE7SUFJQTtHSnk3QkE7O0VLLzZCUTtJRGRSO1lBQUE7SUFJQTtHSjg3QkE7O0VLcDdCUTtJRGRSO1lBQUE7SUFJQTtHSm04QkE7O0VLejdCUTtJRGRSO1lBQUE7SUFJQTtHSnc4QkE7O0VLOTdCUTtJRGRSO1lBQUE7SUFJQTtHSjY4QkE7O0VLbjhCUTtJRGRSO1lBQUE7SUFJQTtHSms5QkE7O0VLeDhCUTtJRGRSO1lBQUE7SUFJQTtHSnU5QkE7O0VLNzhCUTtJRGRSO1lBQUE7SUFJQTtHSjQ5QkE7O0VLNThCSTtJQUF3QjtZQUFBO0dMZzlCNUI7O0VLOThCSTtJQUF1QjtZQUFBO0dMazlCM0I7O0VLLzhCTTtJQUF3QjtZQUFBO0dMbTlCOUI7O0VLbjlCTTtJQUF3QjtZQUFBO0dMdTlCOUI7O0VLdjlCTTtJQUF3QjtZQUFBO0dMMjlCOUI7O0VLMzlCTTtJQUF3QjtZQUFBO0dMKzlCOUI7O0VLLzlCTTtJQUF3QjtZQUFBO0dMbStCOUI7O0VLbitCTTtJQUF3QjtZQUFBO0dMdStCOUI7O0VLditCTTtJQUF3QjtZQUFBO0dMMitCOUI7O0VLMytCTTtJQUF3QjtZQUFBO0dMKytCOUI7O0VLLytCTTtJQUF3QjtZQUFBO0dMbS9COUI7O0VLbi9CTTtJQUF3QjtZQUFBO0dMdS9COUI7O0VLdi9CTTtJQUF3QjtZQUFBO0dMMi9COUI7O0VLMy9CTTtJQUF3QjtZQUFBO0dMKy9COUI7O0VLLy9CTTtJQUF3QjtZQUFBO0dMbWdDOUI7O0VLNS9CVTtJRGpCVjtHSmloQ0E7O0VLaGdDVTtJRGpCVjtHSnFoQ0E7O0VLcGdDVTtJRGpCVjtHSnloQ0E7O0VLeGdDVTtJRGpCVjtHSjZoQ0E7O0VLNWdDVTtJRGpCVjtHSmlpQ0E7O0VLaGhDVTtJRGpCVjtHSnFpQ0E7O0VLcGhDVTtJRGpCVjtHSnlpQ0E7O0VLeGhDVTtJRGpCVjtHSjZpQ0E7O0VLNWhDVTtJRGpCVjtHSmlqQ0E7O0VLaGlDVTtJRGpCVjtHSnFqQ0E7O0VLcGlDVTtJRGpCVjtHSnlqQ0E7O0VLeGlDVTtJRGpCVjtHSjZqQ0E7Q0FDRjs7QUV6akNJO0VHM0JFO0lBQ0U7SUFDQTtZQUFBO0lBQ0E7SUFDQTtHTHdsQ047O0VLbmxDUTtJRHVCTjtZQUFBO0lBQ0E7R0pna0NGOztFS3hsQ1E7SUR1Qk47WUFBQTtJQUNBO0dKcWtDRjs7RUs3bENRO0lEdUJOO1lBQUE7SUFDQTtHSjBrQ0Y7O0VLbG1DUTtJRHVCTjtZQUFBO0lBQ0E7R0ora0NGOztFS3ZtQ1E7SUR1Qk47WUFBQTtJQUNBO0dKb2xDRjs7RUs1bUNRO0lEdUJOO1lBQUE7SUFDQTtHSnlsQ0Y7O0VLM21DSTtJREFKO1lBQUE7SUFDQTtJQUNBO0dKK21DQTs7RUszbUNRO0lEZFI7WUFBQTtJQUlBO0dKMG5DQTs7RUtobkNRO0lEZFI7WUFBQTtJQUlBO0dKK25DQTs7RUtybkNRO0lEZFI7WUFBQTtJQUlBO0dKb29DQTs7RUsxbkNRO0lEZFI7WUFBQTtJQUlBO0dKeW9DQTs7RUsvbkNRO0lEZFI7WUFBQTtJQUlBO0dKOG9DQTs7RUtwb0NRO0lEZFI7WUFBQTtJQUlBO0dKbXBDQTs7RUt6b0NRO0lEZFI7WUFBQTtJQUlBO0dKd3BDQTs7RUs5b0NRO0lEZFI7WUFBQTtJQUlBO0dKNnBDQTs7RUtucENRO0lEZFI7WUFBQTtJQUlBO0dKa3FDQTs7RUt4cENRO0lEZFI7WUFBQTtJQUlBO0dKdXFDQTs7RUs3cENRO0lEZFI7WUFBQTtJQUlBO0dKNHFDQTs7RUtscUNRO0lEZFI7WUFBQTtJQUlBO0dKaXJDQTs7RUtqcUNJO0lBQXdCO1lBQUE7R0xxcUM1Qjs7RUtucUNJO0lBQXVCO1lBQUE7R0x1cUMzQjs7RUtwcUNNO0lBQXdCO1lBQUE7R0x3cUM5Qjs7RUt4cUNNO0lBQXdCO1lBQUE7R0w0cUM5Qjs7RUs1cUNNO0lBQXdCO1lBQUE7R0xnckM5Qjs7RUtockNNO0lBQXdCO1lBQUE7R0xvckM5Qjs7RUtwckNNO0lBQXdCO1lBQUE7R0x3ckM5Qjs7RUt4ckNNO0lBQXdCO1lBQUE7R0w0ckM5Qjs7RUs1ckNNO0lBQXdCO1lBQUE7R0xnc0M5Qjs7RUtoc0NNO0lBQXdCO1lBQUE7R0xvc0M5Qjs7RUtwc0NNO0lBQXdCO1lBQUE7R0x3c0M5Qjs7RUt4c0NNO0lBQXdCO1lBQUE7R0w0c0M5Qjs7RUs1c0NNO0lBQXdCO1lBQUE7R0xndEM5Qjs7RUtodENNO0lBQXdCO1lBQUE7R0xvdEM5Qjs7RUtwdENNO0lBQXdCO1lBQUE7R0x3dEM5Qjs7RUtqdENVO0lEakJWO0dKc3VDQTs7RUtydENVO0lEakJWO0dKMHVDQTs7RUt6dENVO0lEakJWO0dKOHVDQTs7RUs3dENVO0lEakJWO0dKa3ZDQTs7RUtqdUNVO0lEakJWO0dKc3ZDQTs7RUtydUNVO0lEakJWO0dKMHZDQTs7RUt6dUNVO0lEakJWO0dKOHZDQTs7RUs3dUNVO0lEakJWO0dKa3dDQTs7RUtqdkNVO0lEakJWO0dKc3dDQTs7RUtydkNVO0lEakJWO0dKMHdDQTs7RUt6dkNVO0lEakJWO0dKOHdDQTs7RUs3dkNVO0lEakJWO0dKa3hDQTtDQUNGOztBTS96Q007Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBd0I7Q053MUM5Qjs7QU14MUNNOzs7RUFBd0I7Q044MUM5Qjs7QU05MUNNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQXdCO0NOdTNDOUI7O0FNdjNDTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUF3QjtDTnE2QzlCOztBTXI2Q007RUFBd0I7Q055NkM5Qjs7QU16NkNNO0VBQXdCO0NONjZDOUI7O0FNNzZDTTtFQUF3QjtDTmk3QzlCOztBTWo3Q007Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQXdCO0VBQUE7Q051akQ5Qjs7QU12akRNOzs7Ozs7RUFBd0I7RUFBQTtDTmdrRDlCOztBRS9nREk7RUlqREU7O0lBQXdCO0dOc2tENUI7O0VNdGtESTtJQUF3QjtHTjBrRDVCOztFTTFrREk7SUFBd0I7R044a0Q1Qjs7RU05a0RJO0lBQXdCO0dOa2xENUI7O0VNbGxESTtJQUF3QjtHTnNsRDVCOztFTXRsREk7SUFBd0I7R04wbEQ1Qjs7RU0xbERJO0lBQXdCO0dOOGxENUI7O0VNOWxESTtJQUF3QjtJQUFBO0dOa21ENUI7O0VNbG1ESTtJQUF3QjtJQUFBO0dOc21ENUI7Q0FDRjs7QUV0akRJO0VJakRFOzs7Ozs7OztJQUF3QjtHTm1uRDVCOztFTW5uREk7SUFBd0I7R051bkQ1Qjs7RU12bkRJOzs7O0lBQXdCO0dOOG5ENUI7O0VNOW5ESTs7Ozs7Ozs7Ozs7SUFBd0I7R040b0Q1Qjs7RU01b0RJO0lBQXdCO0dOZ3BENUI7O0VNaHBESTtJQUF3QjtHTm9wRDVCOztFTXBwREk7SUFBd0I7R053cEQ1Qjs7RU14cERJOzs7Ozs7OztJQUF3QjtJQUFBO0dObXFENUI7O0VNbnFESTtJQUF3QjtJQUFBO0dOdXFENUI7Q0FDRjs7QUV2bkRJO0VJakRFO0lBQXdCO0dONnFENUI7O0VNN3FESTtJQUF3QjtHTmlyRDVCOztFTWpyREk7SUFBd0I7R05xckQ1Qjs7RU1yckRJO0lBQXdCO0dOeXJENUI7O0VNenJESTtJQUF3QjtHTjZyRDVCOztFTTdyREk7SUFBd0I7R05pc0Q1Qjs7RU1qc0RJO0lBQXdCO0dOcXNENUI7O0VNcnNESTtJQUF3QjtJQUFBO0dOeXNENUI7O0VNenNESTtJQUF3QjtJQUFBO0dONnNENUI7Q0FDRjs7QUU3cERJO0VJakRFO0lBQXdCO0dObXRENUI7O0VNbnRESTtJQUF3QjtHTnV0RDVCOztFTXZ0REk7SUFBd0I7R04ydEQ1Qjs7RU0zdERJO0lBQXdCO0dOK3RENUI7O0VNL3RESTtJQUF3QjtHTm11RDVCOztFTW51REk7SUFBd0I7R051dUQ1Qjs7RU12dURJO0lBQXdCO0dOMnVENUI7O0VNM3VESTtJQUF3QjtJQUFBO0dOK3VENUI7O0VNL3VESTtJQUF3QjtJQUFBO0dObXZENUI7Q0FDRjs7QU0xdURBO0VBRUk7SUFBcUI7R042dUR2Qjs7RU03dURFO0lBQXFCO0dOaXZEdkI7O0VNanZERTtJQUFxQjtHTnF2RHZCOztFTXJ2REU7SUFBcUI7R055dkR2Qjs7RU16dkRFO0lBQXFCO0dONnZEdkI7O0VNN3ZERTtJQUFxQjtHTml3RHZCOztFTWp3REU7SUFBcUI7R05xd0R2Qjs7RU1yd0RFO0lBQXFCO0lBQUE7R055d0R2Qjs7RU16d0RFO0lBQXFCO0lBQUE7R042d0R2QjtDQUNGOztBTzN4REk7Ozs7Ozs7Ozs7O0VBQWdDO0VBQUE7VUFBQTtDUHl5RHBDOztBT3h5REk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUFnQztFQUFBO1VBQUE7Q1ArMERwQzs7QU85MERJO0VBQWdDO0VBQUE7VUFBQTtDUGsxRHBDOztBT2oxREk7RUFBZ0M7RUFBQTtVQUFBO0NQcTFEcEM7O0FPbjFESTs7Ozs7O0VBQThCO0NQNDFEbEM7O0FPMzFESTs7RUFBOEI7Q1BnMkRsQzs7QU8vMURJO0VBQThCO0NQbTJEbEM7O0FPbDJESTtFQUE4QjtVQUFBO0NQczJEbEM7O0FPcjJESTtFQUE4QjtVQUFBO0NQeTJEbEM7O0FPeDJESTtFQUE4QjtVQUFBO0NQNDJEbEM7O0FPMzJESTtFQUE4QjtDUCsyRGxDOztBTzkyREk7RUFBOEI7Q1BrM0RsQzs7QU9oM0RJO0VBQW9DO1VBQUE7Q1BvM0R4Qzs7QU9uM0RJOzs7RUFBb0M7VUFBQTtDUHkzRHhDOztBT3gzREk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQW9DO1VBQUE7Q1BpNkR4Qzs7QU9oNkRJOzs7Ozs7Ozs7Ozs7RUFBb0M7VUFBQTtDUCs2RHhDOztBTzk2REk7RUFBb0M7Q1BrN0R4Qzs7QU9oN0RJOzs7RUFBaUM7VUFBQTtDUHM3RHJDOztBT3I3REk7O0VBQWlDO1VBQUE7Q1AwN0RyQzs7QU96N0RJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBaUM7VUFBQTtDUGdoRXJDOztBTy9nRUk7OztFQUFpQztVQUFBO0NQcWhFckM7O0FPcGhFSTtFQUFpQztVQUFBO0NQd2hFckM7O0FPdGhFSTtFQUFrQztDUDBoRXRDOztBT3poRUk7RUFBa0M7Q1A2aEV0Qzs7QU81aEVJO0VBQWtDO0NQZ2lFdEM7O0FPL2hFSTtFQUFrQztDUG1pRXRDOztBT2xpRUk7RUFBa0M7Q1BzaUV0Qzs7QU9yaUVJO0VBQWtDO0NQeWlFdEM7O0FPdmlFSTtFQUFnQztDUDJpRXBDOztBTzFpRUk7RUFBZ0M7Q1A4aUVwQzs7QU83aUVJO0VBQWdDO0NQaWpFcEM7O0FPaGpFSTtFQUFnQztDUG9qRXBDOztBT25qRUk7RUFBZ0M7Q1B1akVwQzs7QU90akVJO0VBQWdDO0NQMGpFcEM7O0FFOWlFSTtFS2xEQTs7SUFBZ0M7SUFBQTtZQUFBO0dQc21FbEM7O0VPcm1FRTtJQUFnQztJQUFBO1lBQUE7R1B5bUVsQzs7RU94bUVFO0lBQWdDO0lBQUE7WUFBQTtHUDRtRWxDOztFTzNtRUU7SUFBZ0M7SUFBQTtZQUFBO0dQK21FbEM7O0VPN21FRTtJQUE4QjtHUGluRWhDOztFT2huRUU7SUFBOEI7R1BvbkVoQzs7RU9ubkVFO0lBQThCO0dQdW5FaEM7O0VPdG5FRTtJQUE4QjtZQUFBO0dQMG5FaEM7O0VPem5FRTtJQUE4QjtZQUFBO0dQNm5FaEM7O0VPNW5FRTtJQUE4QjtZQUFBO0dQZ29FaEM7O0VPL25FRTtJQUE4QjtHUG1vRWhDOztFT2xvRUU7SUFBOEI7R1Bzb0VoQzs7RU9wb0VFO0lBQW9DO1lBQUE7R1B3b0V0Qzs7RU92b0VFO0lBQW9DO1lBQUE7R1Ayb0V0Qzs7RU8xb0VFO0lBQW9DO1lBQUE7R1A4b0V0Qzs7RU83b0VFO0lBQW9DO1lBQUE7R1BpcEV0Qzs7RU9ocEVFO0lBQW9DO0dQb3BFdEM7O0VPbHBFRTtJQUFpQztZQUFBO0dQc3BFbkM7O0VPcnBFRTtJQUFpQztZQUFBO0dQeXBFbkM7O0VPeHBFRTtJQUFpQztZQUFBO0dQNHBFbkM7O0VPM3BFRTtJQUFpQztZQUFBO0dQK3BFbkM7O0VPOXBFRTtJQUFpQztZQUFBO0dQa3FFbkM7O0VPaHFFRTtJQUFrQztHUG9xRXBDOztFT25xRUU7SUFBa0M7R1B1cUVwQzs7RU90cUVFO0lBQWtDO0dQMHFFcEM7O0VPenFFRTtJQUFrQztHUDZxRXBDOztFTzVxRUU7SUFBa0M7R1BnckVwQzs7RU8vcUVFO0lBQWtDO0dQbXJFcEM7O0VPanJFRTtJQUFnQztHUHFyRWxDOztFT3ByRUU7SUFBZ0M7R1B3ckVsQzs7RU92ckVFO0lBQWdDO0dQMnJFbEM7O0VPMXJFRTtJQUFnQztHUDhyRWxDOztFTzdyRUU7SUFBZ0M7R1Bpc0VsQzs7RU9oc0VFO0lBQWdDO0dQb3NFbEM7Q0FDRjs7QUV6ckVJO0VLbERBOzs7Ozs7O0lBQWdDO0lBQUE7WUFBQTtHUHN2RWxDOztFT3J2RUU7SUFBZ0M7SUFBQTtZQUFBO0dQeXZFbEM7O0VPeHZFRTtJQUFnQztJQUFBO1lBQUE7R1A0dkVsQzs7RU8zdkVFO0lBQWdDO0lBQUE7WUFBQTtHUCt2RWxDOztFTzd2RUU7SUFBOEI7R1Bpd0VoQzs7RU9od0VFO0lBQThCO0dQb3dFaEM7O0VPbndFRTtJQUE4QjtHUHV3RWhDOztFT3R3RUU7SUFBOEI7WUFBQTtHUDB3RWhDOztFT3p3RUU7SUFBOEI7WUFBQTtHUDZ3RWhDOztFTzV3RUU7SUFBOEI7WUFBQTtHUGd4RWhDOztFTy93RUU7SUFBOEI7R1BteEVoQzs7RU9seEVFO0lBQThCO0dQc3hFaEM7O0VPcHhFRTs7O0lBQW9DO1lBQUE7R1AweEV0Qzs7RU96eEVFOztJQUFvQztZQUFBO0dQOHhFdEM7O0VPN3hFRTs7O0lBQW9DO1lBQUE7R1BteUV0Qzs7RU9seUVFO0lBQW9DO1lBQUE7R1BzeUV0Qzs7RU9yeUVFO0lBQW9DO0dQeXlFdEM7O0VPdnlFRTs7SUFBaUM7WUFBQTtHUDR5RW5DOztFTzN5RUU7SUFBaUM7WUFBQTtHUCt5RW5DOztFTzl5RUU7Ozs7OztJQUFpQztZQUFBO0dQdXpFbkM7O0VPdHpFRTtJQUFpQztZQUFBO0dQMHpFbkM7O0VPenpFRTtJQUFpQztZQUFBO0dQNnpFbkM7O0VPM3pFRTtJQUFrQztHUCt6RXBDOztFTzl6RUU7SUFBa0M7R1BrMEVwQzs7RU9qMEVFO0lBQWtDO0dQcTBFcEM7O0VPcDBFRTtJQUFrQztHUHcwRXBDOztFT3YwRUU7SUFBa0M7R1AyMEVwQzs7RU8xMEVFO0lBQWtDO0dQODBFcEM7O0VPNTBFRTtJQUFnQztHUGcxRWxDOztFTy8wRUU7SUFBZ0M7R1BtMUVsQzs7RU9sMUVFO0lBQWdDO0dQczFFbEM7O0VPcjFFRTtJQUFnQztHUHkxRWxDOztFT3gxRUU7SUFBZ0M7R1A0MUVsQzs7RU8zMUVFO0lBQWdDO0dQKzFFbEM7Q0FDRjs7QUVwMUVJO0VLbERBO0lBQWdDO0lBQUE7WUFBQTtHUDI0RWxDOztFTzE0RUU7SUFBZ0M7SUFBQTtZQUFBO0dQODRFbEM7O0VPNzRFRTtJQUFnQztJQUFBO1lBQUE7R1BpNUVsQzs7RU9oNUVFO0lBQWdDO0lBQUE7WUFBQTtHUG81RWxDOztFT2w1RUU7SUFBOEI7R1BzNUVoQzs7RU9yNUVFO0lBQThCO0dQeTVFaEM7O0VPeDVFRTtJQUE4QjtHUDQ1RWhDOztFTzM1RUU7SUFBOEI7WUFBQTtHUCs1RWhDOztFTzk1RUU7SUFBOEI7WUFBQTtHUGs2RWhDOztFT2o2RUU7SUFBOEI7WUFBQTtHUHE2RWhDOztFT3A2RUU7SUFBOEI7R1B3NkVoQzs7RU92NkVFO0lBQThCO0dQMjZFaEM7O0VPejZFRTtJQUFvQztZQUFBO0dQNjZFdEM7O0VPNTZFRTtJQUFvQztZQUFBO0dQZzdFdEM7O0VPLzZFRTtJQUFvQztZQUFBO0dQbTdFdEM7O0VPbDdFRTtJQUFvQztZQUFBO0dQczdFdEM7O0VPcjdFRTtJQUFvQztHUHk3RXRDOztFT3Y3RUU7SUFBaUM7WUFBQTtHUDI3RW5DOztFTzE3RUU7SUFBaUM7WUFBQTtHUDg3RW5DOztFTzc3RUU7SUFBaUM7WUFBQTtHUGk4RW5DOztFT2g4RUU7SUFBaUM7WUFBQTtHUG84RW5DOztFT244RUU7SUFBaUM7WUFBQTtHUHU4RW5DOztFT3I4RUU7SUFBa0M7R1B5OEVwQzs7RU94OEVFO0lBQWtDO0dQNDhFcEM7O0VPMzhFRTtJQUFrQztHUCs4RXBDOztFTzk4RUU7SUFBa0M7R1BrOUVwQzs7RU9qOUVFO0lBQWtDO0dQcTlFcEM7O0VPcDlFRTtJQUFrQztHUHc5RXBDOztFT3Q5RUU7SUFBZ0M7R1AwOUVsQzs7RU96OUVFO0lBQWdDO0dQNjlFbEM7O0VPNTlFRTtJQUFnQztHUGcrRWxDOztFTy85RUU7SUFBZ0M7R1BtK0VsQzs7RU9sK0VFO0lBQWdDO0dQcytFbEM7O0VPcitFRTtJQUFnQztHUHkrRWxDO0NBQ0Y7O0FFOTlFSTtFS2xEQTtJQUFnQztJQUFBO1lBQUE7R1BxaEZsQzs7RU9waEZFO0lBQWdDO0lBQUE7WUFBQTtHUHdoRmxDOztFT3ZoRkU7SUFBZ0M7SUFBQTtZQUFBO0dQMmhGbEM7O0VPMWhGRTtJQUFnQztJQUFBO1lBQUE7R1A4aEZsQzs7RU81aEZFO0lBQThCO0dQZ2lGaEM7O0VPL2hGRTtJQUE4QjtHUG1pRmhDOztFT2xpRkU7SUFBOEI7R1BzaUZoQzs7RU9yaUZFO0lBQThCO1lBQUE7R1B5aUZoQzs7RU94aUZFO0lBQThCO1lBQUE7R1A0aUZoQzs7RU8zaUZFO0lBQThCO1lBQUE7R1AraUZoQzs7RU85aUZFO0lBQThCO0dQa2pGaEM7O0VPampGRTtJQUE4QjtHUHFqRmhDOztFT25qRkU7SUFBb0M7WUFBQTtHUHVqRnRDOztFT3RqRkU7SUFBb0M7WUFBQTtHUDBqRnRDOztFT3pqRkU7SUFBb0M7WUFBQTtHUDZqRnRDOztFTzVqRkU7SUFBb0M7WUFBQTtHUGdrRnRDOztFTy9qRkU7SUFBb0M7R1Bta0Z0Qzs7RU9qa0ZFO0lBQWlDO1lBQUE7R1Bxa0ZuQzs7RU9wa0ZFO0lBQWlDO1lBQUE7R1B3a0ZuQzs7RU92a0ZFO0lBQWlDO1lBQUE7R1Aya0ZuQzs7RU8xa0ZFO0lBQWlDO1lBQUE7R1A4a0ZuQzs7RU83a0ZFO0lBQWlDO1lBQUE7R1BpbEZuQzs7RU8va0ZFO0lBQWtDO0dQbWxGcEM7O0VPbGxGRTtJQUFrQztHUHNsRnBDOztFT3JsRkU7SUFBa0M7R1B5bEZwQzs7RU94bEZFO0lBQWtDO0dQNGxGcEM7O0VPM2xGRTtJQUFrQztHUCtsRnBDOztFTzlsRkU7SUFBa0M7R1BrbUZwQzs7RU9obUZFO0lBQWdDO0dQb21GbEM7O0VPbm1GRTtJQUFnQztHUHVtRmxDOztFT3RtRkU7SUFBZ0M7R1AwbUZsQzs7RU96bUZFO0lBQWdDO0dQNm1GbEM7O0VPNW1GRTtJQUFnQztHUGduRmxDOztFTy9tRkU7SUFBZ0M7R1BtbkZsQztDQUNGOztBUXBxRkE7Ozs7Ozs7Ozs7Ozs7R1JtckZFOztBUy9xRkY7Ozs7Ozs7OztHVDByRkU7O0FTeG5GRjs7Ozs7R1QrbkZFOztBU25uRkY7Ozs7OztHVDJuRkU7O0FTcmpGRjs7R1R5akZFOztBUy9pRkY7Ozs7O0dUc2pGRTs7QVM1aUZGOzs7O0dUa2pGRTs7QVN6aUZGOzs7O0dUK2lGRTs7QVN0aUZGOzs7O0dUNGlGRTs7QVNuaUZGOztHVHVpRkU7O0FTaGlGRjs7OztHVHNpRkU7O0FTbGhGRjs7Ozs7Ozs7R1Q0aEZFOztBU3pnRkY7O0dUNmdGRTs7QVN4Z0ZGOzs7RVQ2Z0ZDOztBU3pnRkQ7Ozs7O0VUZ2hGQzs7QVN4Z0ZEOzs7OztFVCtnRkM7O0FTdmdGRDs7Ozs7RVQ4Z0ZDOztBU3RnRkQ7Ozs7O0VUNmdGQzs7QVNyZ0ZEOzs7OztFVDRnRkM7O0FTcGdGRDs7Ozs7RVQyZ0ZDOztBU25nRkQ7Ozs7O0VUMGdGQzs7QVNsZ0ZEOzs7OztFVHlnRkM7O0FVL3pGRDs7R1ZtMEZFOztBV2wwRkY7RUFDSTtFQUNBO0VBQ0E7RUFHQTtFQUNIO0VBQ0E7Q1htMEZEOztBVy96RkE7RUFDSTtFQUNBO0VBQ0E7RUFHQTtFQUNIO0VBQ0E7Q1hnMEZEOztBVzV6RkE7RUFDSTtFQUNBO0VBQ0E7RUFHQTtFQUNIO0VBQ0E7Q1g2ekZEOztBV3p6RkE7RUFDSTtFQUNBO0VBQ0E7RUFHQTtFQUNIO0VBQ0E7Q1gwekZEOztBV3R6RkE7RUFDSTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0NYdXpGSjs7QVduekZBO0VBQ0k7RUFDQTtFQUNBO0VBR0E7RUFDQTtDWG96Rko7O0FXaHpGQTtFQUNJO0VBQ0E7RUFDQTtFQUdBO0VBQ0g7RUFDQTtDWGl6RkQ7O0FXN3lGQTtFQUNJO0VBQ0E7RUFDQTtFQUdBO0VBQ0g7RUFDQTtDWDh5RkQ7O0FXMXlGQTtFQUNJO0VBQ0E7RUFDQTtFQUdBO0VBQ0g7RUFDQTtDWDJ5RkQ7O0FZbDVGQTs7OztHWnc1RkU7O0FZbDVGRjs7eUVaczVGd0U7O0FZbDVGeEU7RUFDRTtFQUNBO0VBQWdDO0VBQ2hDO0VBQ0E7RUFDQTtLQUFBO0NaczVGRjs7QVluNUZBOzs7RUFHRTtFQUE4QjtFQUM5QjtDWnU1RkY7O0FZcDVGQTs7RUFFRTtFQUEwQjtFQUMxQjtDWnc1RkY7O0FZcjVGQTtFQUNFO0VBQVk7RUFDWjtDWnk1RkY7O0FZdDVGQTs7eUVaMDVGd0U7O0FZdDVGeEU7RUFDRTtFQUFtQjtFQUNuQjtFQUFXO0NaMjVGYjs7QVl4NUZBOztFQUVFO0VBQWdCO0NaNDVGbEI7O0FZejVGQTtFQUNFO0VBQW9CO0NaNjVGdEI7O0FZMTVGQTtFQUNFO0VBQWdCO0NaODVGbEI7O0FBcDdDQTtFWXQrQ0U7RUFBZTtDWis1RmpCOztBWTU1RkE7RUFDRTtFQUFxQjtFQUNyQjtFQUNBO0VBQ0E7VUFBQTtDWmc2RkY7O0FZNzVGQTtFQUNFO0VBQStCO0NaaTZGakM7O0FZOTVGQTs7RUFFRTtFQUFrQjtDWms2RnBCOztBWS81RkE7Ozs7RUFJRTtFQUFtQztDWm02RnJDOztBWWg2RkE7RUFDRTtFQUFnQjtDWm82RmxCOztBWWo2RkE7O0VBRUU7RUFBcUI7Q1pxNkZ2Qjs7QVlsNkZBOztBQUNBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0NaczZGRjs7QVluNkZBO0VBQ0U7Q1pzNkZGOztBWW42RkE7RUFDRTtDWnM2RkY7O0FZbjZGQTs7eUVadTZGd0U7O0FZbjZGeEU7RUFDRTtDWnM2RkY7O0FZbjZGQTs7QVptK0NBO0VZaitDRTtDWnU2RkY7O0FBbjhDQTs7RVkvOUNFO0VBQWM7Q1p3NkZoQjs7QUFwOENBO0VZaCtDRTtFQUErQjtFQUMvQjtDWnk2RkY7O0FBcjhDQTtFWWgrQ0U7RUFBMEI7Q1owNkY1Qjs7QVl2NkZBO0VBQ0U7RUFBZ0I7RUFDaEI7RUFBa0I7Q1o0NkZwQjs7QVl6NkZBOzs7OztFQUtFO0VBQWU7Q1o2NkZqQjs7QVkxNkZBO0VBQ0U7RUFBbUI7Q1o4NkZyQjs7QVkzNkZBO0VBQ0U7RUFBbUI7Q1orNkZyQjs7QVk1NkZBOztFQUVFO0VBQXNCO0NaZzdGeEI7O0FZNzZGQTs7QUFDQTs7Ozs7RUFLRTtFQUNBO0NaaTdGRjs7QVk5NkZBOztBQUNBOzs7O0VBSUU7RUFDQTtDWms3RkY7O0FZLzZGQTs7QUFDQTs7OztFQUlFO0NabTdGRjs7QVloN0ZBOzs7O0VBSUU7RUFBNEI7Q1pvN0Y5Qjs7QVlqN0ZBOztBQUNBOzs7O0VBSUU7RUFDQTtDWnE3RkY7O0FZbDdGQTs7QUFDQTtFQUNFO0VBQXVCO0VBQ3ZCO0VBQTBCO0NadzdGNUI7O0FZcjdGQTtFQUNFO0VBQWU7Q1p5N0ZqQjs7QVl0N0ZBO0VBQ0U7RUFBcUI7Q1owN0Z2Qjs7QVl2N0ZBO0VBQ0U7RUFBVztFQUNYO0VBQWdCO0VBQ2hCO0VBQWdCO0VBQ2hCO0VBQWlCO0VBQ2pCO0VBQXFCO0VBQ3JCO0VBQWlCO0NaZzhGbkI7O0FZNzdGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQWU7Q1ppOEZqQjs7QVk5N0ZBOzt5RVprOEZ3RTs7QVk5N0Z4RTtFQUNFO0VBQW9CO0NaazhGdEI7O0FZLzdGQTs7QUFDQTtFQUNFO0NabThGRjs7QVloOEZBO0VBQ0U7Q1ptOEZGOztBWWg4RkE7O3lFWm84RndFOztBWWg4RnhFOztBQUNBO0VaaStDRTtJWS85Q0U7R1pvOEZGOztFQW4rQ0E7SVk5OUNFO0lBQ0E7R1pxOEZGO0NBQ0Y7O0FZbDhGQTs7QVo4OUNBO0VZNTlDRTtDWnM4RkY7O0FZbjhGQTs7QVo2OUNBO0VZMzlDRTtDWnU4RkY7O0FZcDhGQTs7QVo0OUNBO0VZMTlDRTtDWnc4RkY7O0FhanVHQTs7aURicXVHZ0Q7O0FhanVHaEQ7RUFDRTtDYm91R0Y7O0FhanVHQTtFQUEwQjtDYnF1RzFCOztBYW51R0E7RUFDRTtFQUNBO0VBQ0E7Q2JzdUdGOztBYW51R0E7RUFDRTtFQUNBO0VBQ0E7Q2JzdUdGOztBYW51R0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0c7RUFDQztFQUNJO0Nic3VHVjs7QWFudUdBO0VBQ0U7RUFDQTtFQUNBO0Nic3VHRjs7QWFudUdBO0VBQ0U7RUFDQTtDYnN1R0Y7O0FhbnVHQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0Nic3VHRjs7QWFudUdBO0VBQ0U7RUFDQTtDYnN1R0Y7O0FhbnVHQTtFQUNFO0VBQ0E7Q2JzdUdGOztBYW51R0E7RUFDRTtDYnN1R0Y7O0FhbnVHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0Nic3VHRjs7QWFudUdBO0VBQ0U7Q2JzdUdGOztBYW51R0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtDYnN1R0Y7O0FhbnVHQTtFQUFzQztDYnV1R3RDOztBYXR1R0E7RUFBa0M7Q2IwdUdsQzs7QWF6dUdBOztBQUNBO0VBQ0U7RUFDQTtDYjZ1R0Y7O0FhM3VHQTtFQUNFO0VBQ0E7Q2I4dUdGOztBYTN1R0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NiOHVHRjs7QWEzdUdBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDYjh1R0Y7O0FhM3VHQTtFQUFvQztDYit1R3BDOztBYTd1R0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NiZ3ZHRjs7QWE3dUdBO0VBQ0U7Q2JndkdGOztBY3YzR0E7RUFBbUQ7Q2QyM0duRDs7QUF6Z0RBO0VjbDNEK0U7Q2QrM0cvRTs7QWMvM0c0RztFQUFXO0VBQWtCO0VBQXNCO0VBQVc7RUFBa0I7RUFBZTtFQUFnQjtFQUFVO0VBQUE7RUFBQTtFQUFBO0NkMDRHck87O0FjMTRHc1I7RUFBNkM7Q2Q4NEduVTs7QWM5NEc0VTtFQUFvRDtFQUFZO0VBQU87RUFBdUI7RUFBeUI7VUFBQTtDZHM1R25jOztBY3Q1RytkO0VBQWdEO0NkMDVHL2dCOztBYzE1R3FoQjtFQUF1RDtFQUFTO0VBQU87RUFBdUI7RUFBNEI7VUFBQTtDZGs2Ry9vQjs7QWNsNkc4cUI7RUFBOEM7Q2RzNkc1dEI7O0FjdDZHb3VCO0VBQXFEO0VBQTJCO0VBQTBCO0VBQVc7VUFBQTtDZDY2R3oxQjs7QWM3NkdzM0I7RUFBK0M7Q2RpN0dyNkI7O0FjajdHNDZCO0VBQXNEO0VBQVU7RUFBMkI7RUFBMkI7VUFBQTtDZHc3R2xpQzs7QWN4N0dna0M7RUFBNkM7VUFBQTtDZDQ3RzdtQzs7QWM1N0d1cUM7RUFBYTtFQUFXO0VBQVk7Q2RrOEczc0M7O0FjbDhHc3RDO0VBQW9CO0VBQVc7RUFBa0I7RUFBeUI7Q2R5OEdoeUM7O0FjejhHbXpDO0VBQWU7RUFBa0I7RUFBZ0I7Q2QrOEdwMkM7O0FlLzhHQTs7Ozs7OztHZnc5R0U7O0FldDdHRjs7Ozs7O0dmODdHRTs7QWVsN0dGOzs7Ozs7O0dmMjdHRTs7QWV2NkdGOzs7Ozs7OztHZmk3R0U7O0FlbjZHRjs7Ozs7Ozs7R2Y2NkdFOztBZ0I3L0dGOzs7OztHaEJvZ0hFOztBaUJwZ0hGOzs7OztHakIyZ0hFOztBa0IzZ0hGOzs7Ozs7R2xCbWhIRTs7QW1CbmhIRjs7Ozs7O0duQjJoSEU7O0FvQjNoSEY7Ozs7R3BCaWlIRTs7QXFCamlIRjs7OztHckJ1aUhFOztBc0J2aUhGOzs7O0d0QjZpSEU7O0F1QjdpSEY7Ozs7OztHdkJxakhFOztBd0JyakhGOzs7OztHeEI0akhFOztBeUI1akhGOzs7Ozs7O0d6QnFrSEU7O0EwQnJrSEY7Ozs7O0cxQjRrSEU7O0EwQjNpSEY7Ozs7O0cxQmtqSEU7O0EwQmxpSEE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFDQztDMUJ5a0hIOztBMEIxa0hFOzs7O0VBQ0M7QzFCZ2xISDs7QTBCdGtIQTs7OztHMUI0a0hFOztBMEJua0hEO0VBQ0M7QzFCc2tIRjs7QTBCdmtIQztFQUNDO0MxQjBrSEY7O0EwQjNrSEM7RUFDQztFQUFBO0MxQjhrSEY7O0EwQi9rSEM7RUFDQztFQUFBO0MxQmtsSEY7O0EyQnhwSEE7Ozs7RzNCOHBIRTs7QTJCenBIRjs7Ozs7RUFJQztDM0I2cEhEOztBMkIzcEhDOzs7OztFRkZBO0VBQ0E7RUxvQkk7RUFBQTtFT2ZIO0VBQ0E7RUFDQTtFQUNBO0VBQUE7QzNCbXFIRjs7QTJCanFIRTs7Ozs7RUFDQztDM0J3cUhIOztBMkJycUhFOzs7OztFUE1HO0NwQnVxSEw7O0EyQnpxSEU7Ozs7O0VQRUc7Q3BCK3FITDs7QTRCN3NIQTs7OztHNUJtdEhFOztBNEI5c0hGO0VQeUJLO0VBQUE7RUFBQTtFQUFBO0VPdkJKO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtDNUJrdEhEOztBNEI5dEhBO0VBZUU7RUFDQTtDNUJtdEhGOztBNEJudUhBO0VBbUJHO0M1Qm90SEg7O0E0QnZ1SEE7RVJ5Qks7Q3BCa3RITDs7QTRCM3VIQTtFUnlCSztDcEJzdEhMOztBNEIvdUhBO0VBb0NFO0M1QitzSEY7O0E0Qm52SEE7RUF1Q0U7QzVCZ3RIRjs7QTRCdnZIQTtFQTBDRTtDNUJpdEhGOztBNEIzdkhBO0VBNkNFO0M1Qmt0SEY7O0E2QnB3SEE7RUFFQztJQUNDO0c3QnN3SEE7O0U2Qm53SEQ7SUFDQztHN0Jzd0hBOztFNkJud0hEO0lBQ0M7RzdCc3dIQTtDQUNGOztBNkJseEhBO0VBRUM7SUFDQztHN0Jzd0hBOztFNkJud0hEO0lBQ0M7RzdCc3dIQTs7RTZCbndIRDtJQUNDO0c3QnN3SEE7Q0FDRjs7QTZCbndIQTtFQUVDO0lBQ0M7RzdCcXdIQTs7RTZCbHdIRDtJQUNDO0c3QnF3SEE7O0U2Qmx3SEQ7SUFDQztHN0Jxd0hBO0NBQ0Y7O0E2Qmp4SEE7RUFFQztJQUNDO0c3QnF3SEE7O0U2Qmx3SEQ7SUFDQztHN0Jxd0hBOztFNkJsd0hEO0lBQ0M7RzdCcXdIQTtDQUNGOztBOEJoeUhBOztHOUJveUhFOztBRXh1SEU7RVVsREo7SWtCSEU7RzlCa3lIQTtDQUNGOztBOEIveEhBO0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7QzlCOHhIRDs7QUV4dkhJO0U0QmpESjtJQWNFO0lBQ0E7RzlCZ3lIQTtDQUNGOztBOEI3eEhBOztFQUVDO0VBQ0E7QzlCZ3lIRDs7QVk1dkhBO0VrQmhDQztFQUNBO0M5Qmd5SEQ7O0E4Qjd4SEE7RVZYSztFQUFBO0NwQjZ5SEw7O0E4QnZ4SEE7RUFDRTtDOUIweEhGOztBOEJ2eEhBO0VBQ0U7QzlCMHhIRjs7QThCdnhIQTtFQUNFO0M5QjB4SEY7O0ErQnYxSEE7O0cvQjIxSEU7O0ErQnIxSEY7O0VYd0JLO0VBQUE7Q3BCbTBITDs7QUVyeUhJO0U2QnRESjs7SUFVRTtJQUNBO0cvQnUxSEE7Q0FDRjs7QStCcDFIQTs7OztFQUlDO0VBQ0E7RVhJSTtFQUFBO0NwQnExSEw7O0FFdnpISTtFNkJ2Q0o7Ozs7SUFhRTtJQUNBO0cvQnkxSEE7Q0FDRjs7QStCdDFIQTs7RUFJQztFQUNBO0VYZEk7RUFBQTtDcEJ1MkhMOztBK0JoMUhBOztFQUVDO0VBQ0E7RVgxQkk7RUFBQTtDcEIrMkhMOztBK0IzMEhBOztFQUVDO0VBRUE7Qy9CNjBIRDs7QStCMTBIQTs7RUFFQztDL0I2MEhEOztBZ0N4NUhBOzs7OztHaEMrNUhFOztBZ0N6NUhGO0VBQ0M7Ozs7OztJaENpNkhFO0NBQ0g7O0FnQzM1SEM7RUFDQztFWmVHO0VBQUE7RUFBQTtFQUFBO0VDQUE7RUFBQTtDckJxNUhMOztBZ0N6NUhDO0VWbEJBO0VBcUJJO0VBQUE7RUFBQTtFTnJCSDtFQUNBO0VnQnFCQTtFQUFBO0VBQ0E7Q2hDKzVIRjs7QWdDcDZIRTtFaEJiQTtFQUNBO0NoQnE3SEY7O0FpQ244SEE7Ozs7R2pDeThIRTs7QWlDcDhIRjtFWEdDO0VBcUJJO0VBQUE7RUFBQTtFV3JCSjtFQUNBO0NqQ3k4SEQ7O0FpQzc4SEE7RVhHQztFQXFCSTtFQUFBO0VBQUE7RVdmSDtVQUFBO0NqQzQ4SEY7O0FpQ3I5SEE7RUFhRTtFQUFBO0VBQUE7RUFBQTtDakM0OEhGOztBaUNyOEhTO0VBQ1A7VUFBQTtFQUNBO0NqQ3c4SEY7O0FFdjZISTtFK0J2REo7SWJ5Qks7SWFHSDtJQUNBO0lBQ0E7SUFDQTtHakN3OEhBOztFaUNuOUhPO0lBY047SUFDQTtZQUFBO0dqQ3k4SEQ7O0VpQzUrSEY7SUF1Q0c7SUFDQTtJQUNBO0lBQ0E7SUFDQTtZQUFBO0dqQ3k4SEQ7Q0FDRjs7QWlDdDhIQztFYnRCSTtFQUFBO0VhMkJIO0VBQ0E7RUFDQTtDakN1OEhGOztBaUM5OEhFO0VidEJHO0VBQUE7Q3BCeStITDs7QWlDbjlIRTtFYnRCRztDcEI2K0hMOztBaUN2OUhFO0VidEJHO0NwQmkvSEw7O0FpQzM5SEU7RUFzQkM7RUFBQTtDakN5OEhIOztBaUMvOUhFOzs7RUEyQkU7Q2pDMDhISjs7QWtDemhJQTs7Ozs7R2xDZ2lJRTs7QWtDeGhJQTtFQUNFO0NsQzJoSUo7O0FrQzVoSUc7RUFJRztFQUNBO0VBQ0E7RUFDQTtDbEM0aElOOztBa0NuaUlHO0VBVUs7Q2xDNmhJUjs7QWtDeGhJRTtFYk9HO0VBQUE7RWFKRDtDbEMyaElKOztBRXovSEk7RWdDckNGO0liT0c7SUFBQTtHckI2aElIO0NBQ0Y7O0FrQzNoSUU7RWRIRztFQUFBO0NwQm1pSUw7O0FFcmdJSTtFZ0MzQkY7SWRIRztJQUFBO0dwQnlpSUg7Q0FDRjs7QWtDdmlJRztFZEhFO0NwQjhpSUw7O0FFaGhJSTtFZ0MzQkQ7SWRIRTtHcEJtaklIO0NBQ0Y7O0FFdGhJSTtFZ0MzQkQ7SWRIRTtHcEJ5aklIO0NBQ0Y7O0FrQ3ZqSUc7RWRIRTtDcEI4aklMOztBa0NsaUlJO0VUakRIO0VBQ0E7RVNvREs7S0FBQTtFQUNBO0VBQUE7S0FBQTtDbENvaUlOOztBa0NoaUlFO0VkckNHO0VBQUE7Q3BCMGtJTDs7QWtDcmlJRztFZHJDRTtDcEI4a0lMOztBa0N6aUlHO0VkckNFO0NwQmtsSUw7O0FFcGpJSTtFZ0NPRjtJZHJDRztJQUFBO0dwQndsSUg7Q0FDRjs7QWtDcmlJSTtFQUlFO0VBQ0E7RUFDQTtDbENxaUlOOztBa0MzaUlLO0VUekVKO0VBQ0E7RVNvRk87RUFDQTtFQUFBO0VBQUE7RUFBQTtDbENxaUlSOztBa0NuaUlnQjtFQUNOO1VBQUE7Q2xDc2lJVjs7QUU1a0lJO0VnQ3NCQTtJZHBEQztJYzJFRztHbENxaUlOO0NBQ0Y7O0FrQzVrSUc7RWJyQ0U7RWFtRkM7Q2xDbWlJTjs7QUV4bElJO0VnQ09EO0lickNFO0dyQjJuSUg7Q0FDRjs7QWtDdmxJRztFZHJDRTtFQUFBO0NwQmlvSUw7O0FrQzVsSUc7RWRyQ0U7Q3BCcW9JTDs7QWtDaG1JRztFZHJDRTtDcEJ5b0lMOztBa0NwbUlHO0VBaUVLO0VBQ0E7RUFDQTtFQUFBO0NsQ3VpSVI7O0FrQzFtSUc7O0VBdUVPO0NsQ3dpSVY7O0FrQ2xpSUU7RWJsSEc7RUFBQTtFYXFIRDtFQUNBO0VBRUE7RUFDQTtDbENvaUlKOztBRS9uSUk7RWdDb0ZGO0libEhHO0dyQmtxSUg7Q0FDRjs7QWtDampJRztFZGxIRTtFQUFBO0Vjb0lDO0VBQUE7Q2xDcWlJTjs7QWtDdmpJRzs7RUFzQks7Q2xDc2lJUjs7QWtDNWpJRztFZGxIRTtFQUFBO0NwQm1ySUw7O0FrQ2prSUc7RWRsSEU7RUFBQTtDcEJ3cklMOztBRTFwSUk7RWdDb0ZEO0lkbEhFO0lBQUE7SUFBQTtJQUFBO0dwQmdzSUg7O0VrQzlrSUM7SWRsSEU7R3BCb3NJSDtDQUNGOztBa0NubElHO0VkbEhFO0VLckJKO0VBQ0E7RVNtTE87Q2xDNmlJUjs7QUU5cUlJO0VnQ29GRDtJZGxIRTtJQUFBO0dwQmt0SUg7Q0FDRjs7QThCcnJJQTtFSTRJRTtFQUNBO0VBQ0E7Q2xDNmlJRjs7QUU5cUlJO0U0QmJKO0lJZ0pJO0lBQ0E7R2xDZ2pJRjtDQUNGOztBa0N2aklBO0VBVUk7RUFBQTtDbENpaklKOztBRXpySUk7RWdDOEhKO0lBYU07SUFDQTtJQUNBO0dsQ21qSUo7Q0FDRjs7QWtDbmtJQTtFQW1CTTtDbENvaklOOztBa0N2a0lBO0VBdUJNO0NsQ29qSU47O0FFenNJSTtFZ0M4SEo7SUF5QlE7R2xDdWpJTjtDQUNGOztBa0NqbElBOztFQStCTTtDbEN1aklOOztBRXB0SUk7RWdDOEhKOztJQWlDUTtHbEMyaklOO0NBQ0Y7O0FrQzdsSUE7RUFzQ007Q2xDMmpJTjs7QUUvdElJO0VnQzhISjtJQXdDUTtHbEM4aklOO0NBQ0Y7O0FrQ3ZtSUE7RUE2Q007RUFDQTtFQUNBO0NsQzhqSU47O0FFM3VJSTtFZ0M4SEo7SUFrRFE7R2xDZ2tJTjtDQUNGOztBa0NubklBO0VBc0RRO0NsQ2lrSVI7O0FFcnZJSTtFZ0M4SEo7SUE4RE07R2xDOGpJSjtDQUNGOztBa0M3bklBO0VBa0VNO0VBQ0E7RUFDQTtDbEMraklOOztBRWp3SUk7RWdDOEhKO0lBdUVRO0dsQ2lrSU47Q0FDRjs7QWtDem9JQTtFQTJFUTtDbENra0lSOztBa0M3b0lBO0VBZ0ZNO1VBQUE7Q2xDaWtJTjs7QUUvd0lJO0VnQzhISjtJQXNGTTtHbENna0lKO0NBQ0Y7O0FFcnhJSTtFZ0M4SEo7SUEyRlE7R2xDaWtJTjtDQUNGOztBRTN4SUk7RWdDOEhKO0lBa0dNO0lBQ0E7R2xDZ2tJSjtDQUNGOztBa0M1aklBOzs7RUFJSTtDbEM4aklKOztBbUNqM0lBOzs7OztHbkN3M0lFOztBbUNsM0lGO0VBT0U7RUFDQTtFQUNBO0VBQ0E7Q25DKzJJRjs7QUVuMElJO0VpQ3RESjtJQWtCSTtHbkM0MklGOztFbUMxMklHO0lmSUE7SUFBQTtHcEIyMklIO0NBQ0Y7O0FtQy8xSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuQ2sySUo7O0FtQzkxSUU7RUFJRTtFQUNBO0NuQzgxSUo7O0FtQzMxSVk7RWRqQ1A7Q3JCZzRJTDs7QUVsMklJO0VpQ0dRO0lkakNQO0dyQnE0SUg7Q0FDRjs7QW1DNTFJWTtFQUNOO0NuQysxSU47O0FFNTJJSTtFaUNZUTtJQUlKO0duQ2kySU47Q0FDRjs7QW1DNzFJRTtFYnpFRDtFQXFCSTtFQUFBO0VBQUE7RURDQTtFY3VERDtFQUNBO0NuQ2sySUo7O0FtQy8xSUU7RUFHRTtDbkNnMklKOztBbUNuMklHO0VmM0RFO0Vlb0VDO0NuQysxSU47O0FtQ3gySUc7RUFhSztDbkMrMUlSOztBbUM1MklHO0VBaUJLO0NuQysxSVI7O0FtQ2gzSUc7O0VBeUJPO0VBQ0E7Q25DNDFJVjs7QW1DdDNJRztFQThCTztFQUNBO0NuQzQxSVY7O0FtQzMzSUc7RUFrQ1M7Q25DNjFJWjs7QW1DLzNJRztFQXdDSztDbkMyMUlSOztBbUNuNElHO0VBNENLO0NuQzIxSVI7O0FtQ3Y0SUc7RUFnREs7RUFDQTtDbkMyMUlSOztBRXo2SUk7RWlDNkJEO0lBcURLO0duQzQxSU47Q0FDRjs7QW1DbDVJRztFQTJESztDbkMyMUlSOztBRW43SUk7RWlDNkJEO0lBOERPO0lBQUE7R25DNjFJUjtDQUNGOztBbUM1NUlHO0VBc0VPO0VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtDbkMwMUlWOztBbUNsNklHO0VBOEVHO0VBQUE7RUFDQTtFQUNBO0NuQ3cxSU47O0FFcjhJSTtFaUM2QkQ7SUFtRks7R25DMDFJTjtDQUNGOztBbUM5NklHO0VBdUZLO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuQzIxSVI7O0FtQ3g3SUc7RUFnR087Q25DNDFJVjs7QW1DNTdJRztFQXFHSztFQUNBO0VBQ0E7Q25DMjFJUjs7QW1DbDhJRztFQTBHTztFQUNBO0VBQ0E7Q25DNDFJVjs7QW1DeDhJRztFQWtISztDbkMwMUlSOztBbUM1OElHO0VBeUhPO0VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkN1MUlWOztBbUN2OUlHO0VBbUlTO0NuQ3cxSVo7O0FtQzM5SUc7RUFzSVc7Q25DeTFJZDs7QW1DLzlJRztFQTRJUztFQUFBO0VBQ0E7RUFFQTtVQUFBO0VBQ0E7VUFBQTtDbkNzMUlaOztBbUN0K0lHO0VBb0pXO0VBQ0E7RUFDQTtFQUNBO0NuQ3MxSWQ7O0FtQzcrSUc7RUE0SlM7RUFBQTtFQUNBO0NuQ3ExSVo7O0FtQzcwSUU7RWZoT0c7RWVtT0Q7RUFDQTtFQUNBO0NuQyswSUo7O0FFdGhKSTtFaUNrTUY7SWZoT0c7SWUwT0M7SUFDQTtHbkNnMUlKO0NBQ0Y7O0FtQzMwSUU7RWZqUEc7Q3BCZ2tKTDs7QUVsaUpJO0VpQ21ORjtJZmpQRztJQUFBO0lBQUE7R3BCdWtKSDtDQUNGOztBbUN2MUlHO0VmalBFO0VBQUE7RUtyQko7RUFDQTtDekJtbUpEOztBRWpqSkk7RWlDbU5EO0lmalBFO0lBQUE7R3BCcWxKSDtDQUNGOztBRTNpSkk7RWlDME5RO0lBRUo7SUFDQTtJQUFBO0lBQ0E7SUFBQTtZQUFBO0lBQ0E7WUFBQTtHbkNvMUlOO0NBQ0Y7O0FtQy8wSUU7RWZoUkc7RUFBQTtFQUFBO0VBQUE7RWVvUkQ7RUFDQTtFQUNBO0NuQ20xSUo7O0FFM2tKSTtFaUNrUEY7SUFTSTtJQUNBO0duQ3ExSUo7Q0FDRjs7QW1DaDJJRztFZmhSRTtFQUFBO0VBQUE7RUFBQTtFZStSQztFQUNBO0NuQ3kxSU47O0FFM2xKSTtFaUNrUEQ7SWZoUkU7SUFBQTtJQUFBO0llcVNHO0duQzQxSU47Q0FDRjs7QW1DdjFJRTtFYmpVRDtFQXFCSTtFQUFBO0VBQUE7RUFBQTtFYThTRDtFQUNBO0NuQzgxSUo7O0FFOW1KSTtFaUM2UUY7SUFNSTtHbkNnMklKOztFbUM5MUlJO0lBQ0U7SUFDQTtHbkNpMklOO0NBQ0Y7O0FtQzUySUc7RUFlRztFYmhWTDtFQXFCSTtFQUFBO0VBQUE7RUFBQTtFYTZUQztDbkNxMklOOztBbUN0M0lHO0VWaFVGO0VBQ0E7RVVxVks7RUFBQTtLQUFBO0VBQ0E7S0FBQTtDbkNzMklOOztBbUNuMklZO0VBQ047Q25DczJJTjs7QUU5b0pJO0VpQ3VTUTtJZnJVUDtJZTBVRztHbkN3MklOO0NBQ0Y7O0FtQ24ySUU7RVZyV0Q7RUFDQTtFVXdXRztFQUFBO0tBQUE7RUFDQTtLQUFBO0NuQ3EySUo7O0FFNXBKSTtFaUNrVEY7SVZyV0Q7SUFDQTtHekJvdEpDO0NBQ0Y7O0FtQ3AySUE7RUFFSTtDbkNzMklKOztBbUN4MklBO0VBS007RUFDQTtFQUNBO0NuQ3UySU47O0FtQ2wySUE7RUFDRTtDbkNxMklGOztBb0M3dUpBOztHcENpdkpFOztBb0M5dUpGO0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7Q3BDOHVKRDs7QW9DN3ZKQTs7RUFvQks7RUFDQTtDcEM4dUpMOztBRTFzSkk7RWtDekRKO0lBeUJFO0dwQyt1SkE7Q0FDRjs7QW9DdnVKQztFaEJQSTtFQUFBO0NwQm12Skw7O0FvQzV1SkU7RWZQRztFQUFBO0VBQUE7RUFBQTtFZXFCRjtFQUNBO0NwQ3N1Skg7O0FFOXRKSTtFa0N2QkY7SWZQRztJQUFBO0dyQmt3Skg7Q0FDRjs7QW9DNXZKRTtFQXVCQztDcEN5dUpIOztBcUNyeUpBOztHckN5eUpFOztBcUN0eUpGO0VqQjJCSztFQUFBO0NwQmd4Skw7O0FFbHZKSTtFbUN6REo7SWpCMkJLO0lBQUE7R3BCc3hKSDtDQUNGOztBcUNsekpBO0VBWUU7Q3JDMHlKRjs7QUU3dkpJO0VtQ3pESjtJakIyQks7R3BCZ3lKSDtDQUNGOztBcUMxeUpVO0VBQ1A7Q3JDNnlKSDs7QXFDaDBKQTtFQTBCRTtDckMweUpGOztBcUNwMEpBO0VmS0M7RUFxQkk7RUFBQTtFQUFBO0VBQUE7RUdwQko7RUFDQTtFWTJCRTtFQUNBO0VBQ0E7Q3JDNnlKSDs7QUV4eEpJO0VtQ3pESjtJWk1DO0lBQ0E7R3pCZzFKQztDQUNGOztBRS94Skk7RW1DekRKO0lBK0NJO0dyQzh5SkY7Q0FDRjs7QUVyeUpJO0VtQ3pESjtJQXVESTtHckM0eUpGO0NBQ0Y7O0FxQ3h5SkM7RWpCakNJO0NwQjYwSkw7O0FxQzV5SkU7RWpCakNHO0NwQmkxSkw7O0FxQ2h6SkU7RWpCakNHO0NwQnExSkw7O0FxQ3h5SkM7RWpCN0NJO0VpQjRESDtDckM4eEpGOztBRTV6Skk7RW1DZUg7SWpCN0NJO0dwQisxSkg7Q0FDRjs7QXFDbHlKVTtFakI5REw7RUFBQTtDcEJxMkpMOztBRXYwSkk7RW1DZ0NNO0lqQjlETDtJQUFBO0dwQjIySkg7Q0FDRjs7QXFDbHlKVTtFakIxRUw7RUFBQTtDcEJpM0pMOztBcUNueUpVO0VqQjlFTDtFQUFBO0NwQnMzSkw7O0FFeDFKSTtFbUNnRE07SWpCOUVMO0lBQUE7R3BCNDNKSDtDQUNGOztBcUNyeUpDO0VaN0dBO0VBQ0E7RVlnSEM7Q3JDdXlKRjs7QXFDM3lKRTtFWjdHRDtFQUNBO0VZcUhFO0VBQUE7S0FBQTtFQUNBO0tBQUE7Q3JDd3lKSDs7QXFDdHlKVztFQUNQO0VBQUE7S0FBQTtDckN5eUpKOztBRWgzSkk7RW1Dc0VPO0lmMUhWO0lBcUJJO0lBQUE7SWU2R0E7R3JDMHlKSDs7RXFDdnlKVTtJQUNQO0dyQzB5Skg7O0VxQ3Z5SlU7SUFDUDtHckMweUpIOztFcUN2eUpVO0lBQ1A7WUFBQTtHckMweUpIOztFcUN2eUpVO0lBQ1A7WUFBQTtHckMweUpIOztFcUN2eUpVO0lBQ1A7R3JDMHlKSDtDQUNGOztBcUN0OEpBO0VoQjJCSztDckIrNkpMOztBc0M3OEpBOztHdENpOUpFOztBc0M5OEpGO0VBS0M7RUFDQTtDdEM2OEpEOztBc0MxOEpDO0VBSUM7Q3RDMDhKRjs7QXNDdDhKQztFQUdDO0N0Q3U4SkY7O0FzQ3A4SkM7RWhCbEJBO0VBcUJJO0VBQUE7RUFBQTtFQUFBO0VnQkFIO0VBQ0E7RUFDQTtDdEMwOEpGOztBc0MvOEpFO0ViakJEO0VBQ0E7RWEwQkU7RUFBQTtLQUFBO0VBQ0E7S0FBQTtDdEMyOEpIOztBc0N2OEpDO0VBQ0M7RUFDQTtDdEMwOEpGOztBc0M1OEpFO0VBTUU7Q3RDMDhKSjs7QXNDcDhKQztFQUlDO0VBQ0E7Q3RDbzhKRjs7QXNDejhKRTtFQVFDO0N0Q3E4Skg7O0FzQzc4SkU7RWI1Q0Q7RUFDQTtFYXlERTtDdENxOEpIOztBRTU4Skk7RW9DUEY7SWxCdkJHO0lBQUE7R3BCZy9KSDtDQUNGOztBc0M1Z0tBO0VoQktDO0VBcUJJO0VBQUE7RUFBQTtFZ0JpREg7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUtBO0N0Q3E4SkY7O0F1QzNoS0E7O0d2QytoS0U7O0F1QzVoS0Y7RUFJQztFQUNBO0VBQ0M7RUFDQTtDdkM0aEtGOztBRTErSkk7RXFDekRKO0lBVUk7SUFDQTtHdkM4aEtGO0NBQ0Y7O0F1QzVoS0M7RUFHQztFQUNBO0N2QzZoS0Y7O0F1Q2ppS0U7RW5CYUc7Q3BCd2hLTDs7QUUxL0pJO0VxQzNDRjtJbkJhRztHcEI2aEtIO0NBQ0Y7O0F1QzFoS0M7RUFDQztDdkM2aEtGOztBRXBnS0k7RXFDMUJIO0lBSUU7R3ZDK2hLRDtDQUNGOztBdUNwaUtFO0VBU0U7RUFDQTtDdkMraEtKOztBRS9nS0k7RXFDMUJGO0luQkpHO0ltQm1CQTtJQUNBO0d2Q2dpS0g7Q0FDRjs7QXVDampLRTtFbkJKRztFQUFBO0VtQjRCRDtFQUNBO0N2QytoS0o7O0FFOWhLSTtFcUMxQkY7SUE0Qkc7R3ZDaWlLSDtDQUNGOztBdUM1aEtDO0VBQ0M7Q3ZDK2hLRjs7QUV4aUtJO0VxQ1FIO0lBSUU7R3ZDaWlLRDtDQUNGOztBdUM5aEtDO0VsQjlDSTtFQUFBO0VrQmlESDtFQUNBO0N2Q2lpS0Y7O0F1Q3JpS0U7RW5COUNHO0NwQnVsS0w7O0FFempLSTtFcUNnQkY7SW5COUNHO0dwQjRsS0g7Q0FDRjs7QUUvaktJO0VxQ2dCSDtJbEI5Q0k7SUFBQTtJa0I4REY7SUFDQTtHdkNzaUtEO0NBQ0Y7O0FFeGtLSTtFcUNvQ0Y7SUFFRTtHdkN1aUtGO0NBQ0Y7O0F1Q3BpS0U7RUFDQztDdkN1aUtIOztBdUNuaUtDO0VuQjdFSTtFbUJnRkg7Q3ZDcWlLRjs7QXVDeGlLRTtFakJuR0Q7RUFxQkk7RUFBQTtFQUFBO0VpQnVGRjtFQUNBO0VBQUE7RUFDQTtFQUNBO0N2Q3VpS0g7O0F1Q25qS0U7O0VBaUJDO0N2Q3VpS0g7O0F1Q2xpS0M7RUEyQkM7Q3ZDMmdLRjs7QXVDdGlLRTtFbkJuR0c7Q3BCNm9LTDs7QUUvbUtJO0VxQ3FFRjtJbkJuR0c7R3BCa3BLSDtDQUNGOztBdUNoaktFO0VuQm5HRztDcEJ1cEtMOztBRXpuS0k7RXFDcUVGO0luQm5HRztHcEI0cEtIO0NBQ0Y7O0F1QzVoS0M7RUFDQztDdkMraEtGOztBdUNoaUtFO0VuQmpJRztDcEJxcUtMOztBdUM1aEtDO0VqQi9KQTtFQXFCSTtFQUFBO0VBQUE7RUFBQTtFR3BCSjtFQUNBO0VjaUtDO0VBQUE7S0FBQTtFQUNBO0tBQUE7RUFDQTtFQUNBO0N2Q21pS0Y7O0F1Q2ppS1U7RUFDUDtFQUNBO0N2Q29pS0g7O0F1Q2hpS0M7RWQ3S0E7RUFDQTtFY2lMQztFQUFBO0tBQUE7RUFDQTtLQUFBO0VBQ0E7VUFBQTtFQUVBO0N2Q2dpS0Y7O0FFbnFLSTtFcUN3SUg7SUFDQztJQUNHO0d2QytoS0g7Q0FDRjs7QXdDdHVLQTs7R3hDMHVLRTs7QXdDdnVLRjtFcEIyQks7RUFBQTtDcEJpdEtMOztBRW5yS0k7RXNDekRKO0lwQjJCSztJQUFBO0dwQnV0S0g7Q0FDRjs7QXdDNXVLRTtFcEJvQkc7Q3BCNHRLTDs7QXdDaHZLRTtFQVNDO0N4QzJ1S0g7O0FFbHNLSTtFc0N0Q0Y7SW5CUUc7SUlyQko7SUFDQTtHekIydktDO0NBQ0Y7O0F3Q2h2S0c7RWZiRjtFQUNBO0Vlc0JHO0tBQUE7RUFDQTtFQUFBO0tBQUE7Q3hDNHVLSjs7QXdDenVLRTtFbkJORztDckJtdktMOztBeUNqeEtBOztHekNxeEtFOztBeUNseEtGO0VyQjJCSztFQUFBO0NwQjR2S0w7O0FFOXRLSTtFdUN6REo7SXJCMkJLO0lBQUE7R3BCa3dLSDtDQUNGOztBeUN2eEtDO0VyQm9CSTtFQUFBO0VxQmhCSDtDekN5eEtGOztBeUN0eEtDO0VBSUM7Q3pDc3hLRjs7QXlDaHhLRTtFQUlDO1VBQUE7Q3pDZ3hLSDs7QXlDN3dLRTtFckJKRztDcEJxeEtMOztBeUMzd0tFO0VyQlZHO0NwQnl4S0w7O0F5QzN3S0U7RUFHQztFQUNBO0N6QzR3S0g7O0EwQzV6S0E7O0cxQ2cwS0U7O0EwQzF6S0Q7RUFHQztDMUMyektGOztBMEN6ektVO0VyQm1CTDtFQUFBO0NyQjJ5S0w7O0EwQzF6S1U7RXJCZUw7RUFBQTtDckJnektMOztBMEMzektVO0VyQldMO0VBQUE7Q3JCcXpLTDs7QTBDNzBLRTtFdEJ3Qkc7RUFBQTtFc0JKRjtFQUNBO0MxQyt6S0g7O0FFOXhLSTtFd0N0REY7SXRCd0JHO0lBQUE7SXNCRUQ7SUFDQTtHMUNpMEtGO0NBQ0Y7O0EwQzd6S0M7RXBCOUJBO0VBcUJJO0VBQUE7RUFBQTtFQUFBO0N0QjgwS0w7O0EwQ3IwS0U7RWpCN0JEO0VBQ0E7RWlCbUNFO0MxQ28wS0g7O0EwQzd6S0M7RXBCNUNBO0VBcUJJO0VBQUE7RUFBQTtFQUFBO0VOckJIO0VBQ0E7RUlxQkc7RUFBQTtFc0IrQkg7RUFBQTtFQUdBO0VBQ0E7QzFDK3pLRjs7QTBDNTBLRTtFMUJ2Q0E7RUFDQTtDaEJ1M0tGOztBRXowS0k7RXdDUkg7SXRCdEJJO0lBQUE7R3BCNjJLSDtDQUNGOztBMEM1ektDO0VwQnhFQTtFQXFCSTtFQUFBO0VBQUE7RUFBQTtFR3BCSjtFQUNBO0VpQjBFQztFQUNBO0VBQUE7S0FBQTtFQUNBO0tBQUE7RUFDQTtFQUFBO0VBSUE7QzFDZzBLRjs7QTBDOXpLVTtFMUJyRlI7RUFDQTtDaEJ1NUtGOztBMENuMEtVO0UxQmhGUjtFQUNBO0NoQnU1S0Y7O0EwQy96S0M7RWpCN0ZBO0VBQ0E7RUxvQkk7RUFBQTtFc0I2RUg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0MxQ2swS0Y7O0FFcjNLSTtFd0MwQ0g7SWpCN0ZBO0lBQ0E7R3pCNjZLQztDQUNGOztBMENsMUtFO0VqQjdGRDtFQUNBO0VMb0JJO0VzQjRGRjtDMUNxMEtIOztBMENoMEtDO0V2QnBIQTtFdUJ3SEM7RUFDQTtDMUNpMEtGOztBMEM3ektDO0V0QjFHSTtFQUFBO0VBQUE7RUFBQTtFc0JpSEg7QzFDOHpLRjs7QTJDNzhLQTs7RzNDaTlLRTs7QTJDMzhLRDtFQUdDO0VBQ0E7RUFFQTtDM0MyOEtGOztBMkNqOUtFO0V2QndCRztDcEI2N0tMOztBMkN4OEtDO0VsQlZBO0VBQ0E7Q3pCczlLRDs7QTJDNzhLRTtFbEJWRDtFQUNBO0VrQmdCRTtFQUFBO0tBQUE7RUFDQTtLQUFBO0MzQzQ4S0g7O0FFMzZLSTtFeUN6Q0Y7SXJCWEQ7SUFxQkk7SUFBQTtJQUFBO0lBQUE7R3RCbTlLSDtDQUNGOztBNENqL0tBOzs7RzVDcy9LRTs7QTRDNStLUTtFQUNQO1VBQUE7QzVDKytLSDs7QTRDditLRTtFeEJXRztFQUFBO0V3QlBGO0VBQ0E7QzVDeStLSDs7QUVyOEtJO0UwQ3pDRjtJQVFFO0c1QzIrS0Y7Q0FDRjs7QTZDdmdMQTs7Ozs7RzdDOGdMRTs7QUVyOEtFO0UyQ25FSjtJQVFFO0lBQ0E7SUFDQTtJQUNBO0lBQUE7SUFBQTtJQUFBO0c3Q3FnTEE7O0U2Q25nTFE7SXZCWFQ7SUFxQkk7SUFBQTtJdUJORjtJQUNBO0lBQ0E7WUFBQTtHN0NzZ0xEOztFNkNuZ0xRO0lBRVA7WUFBQTtHN0NxZ0xEO0NBQ0Y7O0FFMzlLSTtFMkN0Q0g7SUFJRTtZQUFBO0lBQ0E7SUFBQTtJQUFBO0lBQUE7SUFDQTtHN0NrZ0xEOztFNkN4Z0xBO0lBU0U7SUFDQTtZQUFBO0c3Q21nTEY7Q0FDRjs7QTZDOS9LQztFeEJyQkk7RUFBQTtDckJ3aExMOztBNkNuZ0xFO0VBTUM7QzdDaWdMSDs7QTZDdmdMRTtFcEIxQ0Q7RUFDQTtDekJxakxEOztBNkM5L0tHO0V6Qm5DRTtDcEJxaUxMOztBNkM3L0tHO0V6QnhDRTtDcEJ5aUxMOztBRTkvS0k7RTJDdEJIO0l4QnJCSTtJQUFBO0l3QmlERjtJQUNBO0lBQ0E7SUFBQTtHN0MrL0tEO0NBQ0Y7O0E2QzMvS0M7RUFJQztDN0MyL0tGOztBRXpoTEk7RTJDMEJIO0l6QnhESTtJQUFBO0l5QmlFRjtHN0M2L0tEO0NBQ0Y7O0E2Q3ZnTEU7RXpCeERHO0VBQUE7Q3BCb2tMTDs7QUV0aUxJO0UyQzBCRjtJekJ4REc7SUFBQTtHcEIwa0xIO0NBQ0Y7O0FFN2lMSTtFMkMwQkY7SXpCeERHO0lBQUE7R3BCaWxMSDtDQUNGOztBNkMxaExFO0V6QnhERztDcEJzbExMOztBNkM5aExFO0V6QnhERztDcEIwbExMOztBRTVqTEk7RTJDMEJGOzs7SXhCeERHO0lBQUE7SUFBQTtJQUFBO0dyQm9tTEg7Q0FDRjs7QUUxakxJO0UyQ25FSjtJeEJ3Qks7SUFBQTtJd0J3R0Y7SUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0c3Q29nTEQ7O0U2QzdvTEY7OztJQThJSTtHN0NxZ0xGO0NBQ0Y7O0E2Qy8vS0M7RUFJQztDN0MrL0tGOztBNkNuZ0xFOzs7Ozs7RUFXRTtDN0NpZ0xKOztBNkM3L0tVO0V6QjVJTDtDcEI2b0xMOztBNkM3L0tVOzs7RXBCcktUO0VBQ0E7Q3pCd3FMRDs7QUV0bkxJO0UyQ2tITTs7O0l6QmhKTDtHcEIycExIO0NBQ0Y7O0E2Q3gvS1U7RXBCekxUO0VBQ0E7RUxvQkk7RUFBQTtFeUI0S0Q7RUFDQTtFQUNBO0M3Q3cvS0o7O0E2Q3AvS1U7RXpCbExMO0VBQUE7RXlCMExEO0VBRUE7RUFDQTtFQUNBO0M3Q2kvS0o7O0E2QzcrS1U7RXBCdk5UO0VBQ0E7RW9CME5HO0M3QysrS0o7O0E2QzM5S0U7RUFDQztFQUNBO0M3Qzg5S0g7O0E2Q2grS0c7RUFJQztFQUNBO0M3Q2crS0o7O0E2Q3IrS0c7RUFRQztDN0NpK0tKOztBNkM3OUtFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzdDZytLSDs7QTZDN2tMRTs7O0VBdUhDO0VBQ0E7RUFBQTtDN0M0OUtIOztBNkNwbExFOzs7Ozs7RUE2SEU7QzdDZytLSjs7QUU1ckxJO0UyQytGSDtJQWtJRTtJQUNBO0c3Q2crS0Q7Q0FDRjs7QUV0ckxJO0UyQ3lORDtJQUNDO0lBQ0E7SUFDQTtHN0NpK0tGOztFNkNwK0tDOztJQU9FO0lBQ0E7RzdDaytLSDs7RTZDMStLQzs7SXZCMVJGO0lBcUJJO0lBQUE7SUFBQTtJdUJrUkM7SUFDQTtJQUNBO0c3Q3MrS0o7Q0FDRjs7QTZDaCtLQztFeEIxUkk7RUFBQTtFQUFBO0VBQUE7RXdCK1JIO0VBQ0E7RUFDQTtFQUNBO0M3Q20rS0Y7O0E2QzMrS0U7RXBCL1NEO0VBQ0E7RW9CNlRFO0M3Q2srS0g7O0E2Q2ovS0U7RUFtQkM7RUFDQTtFekI5U0U7RUFBQTtDcEJreExMOztBNkN4L0tFOztFQXlCRTtDN0NvK0tKOztBNkM3L0tFO0V6QjFSRztDcEIyeExMOztBNkNqZ0xFO0V6QjFSRztDcEIreExMOztBNkNyZ0xFO0V6QjFSRztFQUFBO0NwQm95TEw7O0E4Q2wwTEE7Ozs7O0c5Q3kwTEU7O0E4Q2gwTEQ7RTFCcUJJO0VBQUE7RTBCbEJIO0VBQ0E7RUFDQTtFQUNBO0M5Q20wTEY7O0E4Q3owTEU7RUFTQztDOUNvMExIOztBOEM3MExFO0VBWUM7QzlDcTBMSDs7QThDajBMQztFMUJLSTtFQUFBO0UwQkRIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlDbTBMRjs7QThDMzBMRTtFQVdDO0M5Q28wTEg7O0E4Qy8wTEU7RUFjQztDOUNxMExIOztBRWh6TEk7RTRDbkNIO0kxQktJO0lBQUE7STBCZUY7RzlDczBMRDtDQUNGOztBOEMzMUxFO0VBd0JDO0VBQUE7QzlDdTBMSDs7QThDLzFMRTs7O0VBNkJFO0M5Q3cwTEo7O0E4Q3IyTEU7RTFCS0c7RUFBQTtDcEJxMkxMOztBOEMxMkxFO0UxQktHO0NwQnkyTEw7O0E4QzkyTEU7RTFCS0c7Q3BCNjJMTDs7QUUvMExJO0U0Q3RESjtJekJ3Qks7SUFBQTtJQUFBO0lBQUE7SXlCNENIO0lBQ0E7SUFDQTtJQUVBO0lBQUE7SUFHQTtJQW1CQTs7O005Q3V6TEc7R0FDSDs7RThDejBMUTtJeEIzRVQ7SUFxQkk7SUFBQTtJQUFBO0lOckJIO0lBQ0E7SThCOEVDO0c5QyswTEQ7Q0FDRjs7QUV6ekxJO0U0QzNCTTtJQU9OO0lBQ0E7RzlDazFMRjtDQUNGOztBRWwzTEk7RTRDbUNNO0lBQ1A7STlCbkZEO0lBQ0E7R2hCdTZMQTs7RThDNTZMRDtJMUJxQkk7SUFBQTtJQUFBO0lBQUE7R3BCODVMSDs7RThDLzBMQTtJQUNDO0c5Q2sxTEQ7O0U4Q24xTEM7SUFJQztHOUNtMUxGOztFOEMvMExDO0kxQnZGRTtJQUFBO0dwQjI2TEg7O0U4Q3AxTEU7STFCdkZDO0dwQis2TEg7O0U4Q3gxTEU7STFCdkZDO0dwQm03TEg7O0U4QzUxTEU7STFCdkZDO0lBQUE7STBCb0dBO0lBQ0E7RzlDcTFMSDtDQUNGOztBRWg1TEk7RTRDbUVNO0l4QnBJVDtJQXFCSTtJQUFBO0lEQ0E7SUFWRDtJTFpGO0lBQ0E7SVNBRDtJQUNBO0lxQndJRTtJQUNBO0lBQ0E7SUFDQTtJQUFBO0c5Q3ExTEQ7O0U4QzkxTFM7STlCL0hUO0lBQ0E7R2hCaStMQTs7RThDbjJMUztJQWtCUDtHOUNxMUxGOztFOEN2MkxTO0kxQjlHTjtJMEJxSUQ7RzlDcTFMRjs7RThDNTJMUztJMUI5R047SUFBQTtHcEIrOUxIOztFOENqM0xTO0kxQjlHTjtJQUFBO0kwQjhJQTtJQUNBO0c5Q3UxTEg7O0U4Q3gzTFM7SUFxQ047RzlDdTFMSDs7RThDNTNMUztJQXlDTjtHOUN1MUxIO0NBQ0Y7O0ErQzdnTUE7Ozs7O0cvQ29oTUU7O0ErQzlnTUY7RUFjQztDL0NvZ01EOztBK0NsaE1BO0VBR0U7Qy9DbWhNRjs7QStDcmdNQztFekJmQTtFQXFCSTtFQUFBO0VBQUE7RUFBQTtFeUJHSDtDL0NxZ01GOztBZ0RyaU1BOzs7Ozs7R2hENmlNRTs7QWdEdGlNRjtFNUJ1Qks7RUFBQTtDcEJvaE1MOztBRXQvTEk7RThDckRKO0k1QnVCSztJQUFBO0dwQjBoTUg7Q0FDRjs7QWdEbGpNQTtFdkJFQztFQUNBO0VMb0JJO0U0QlJIO0VBQ0E7Q2hEMGlNRjs7QUVyZ01JO0U4Q3JESjtJNUJ1Qks7R3BCd2lNSDtDQUNGOztBZ0Roa01BO0U1QnVCSztFQUFBO0NwQjhpTUw7O0FFaGhNSTtFOENyREo7STVCdUJLO0lBQUE7R3BCb2pNSDtDQUNGOztBZ0Q3aU1FO0VBRUM7Q2hEK2lNSDs7QWdEM2lNQztFNUJkSTtFNEJrQkg7RUFDQTtFQUNBO0NoRDRpTUY7O0FFbGlNSTtFOENoQkg7STVCZEk7STRCeUJGO0lBQ0E7R2hENmlNRDtDQUNGOztBZ0QzaU1FO0U1QjdCRztFNEJrQ0Y7RUFDQTtFQUNBO0NoRDJpTUg7O0FnRHRpTUM7RTVCekNJO0U0QjZDSDtFQUNBO0VBQ0E7Q2hEdWlNRjs7QUV4ak1JO0U4Q1dIO0k1QnpDSTtJNEJvREY7R2hEd2lNRDtDQUNGOztBZ0RyaU1FO0VBSUM7RUFDQTtDaERxaU1IOztBRXBrTUk7RThDMEJGO0lBUUU7SUFDQTtHaER1aU1GO0NBQ0Y7O0FnRGxpTUM7RTVCdkVJO0VBQUE7RTRCMkVIO0VBQ0E7RUFDQTtDaERvaU1GOztBRW5sTUk7RThDeUNIO0k1QnZFSTtJQUFBO0k0QmtGRjtJQUNBO0doRHNpTUQ7Q0FDRjs7QWdEbGlNQztFNUJ4Rkk7RTRCNEZIO0VBQ0E7Q2hEbWlNRjs7QUVsbU1JO0U4QzBESDtJNUJ4Rkk7R3BCcW9NSDtDQUNGOztBZ0RsaU1DO0U1QnBHSTtFQUFBO0U0QndHSDtFQUNBO0VBQ0E7Q2hEb2lNRjs7QWdEaGlNQztFQUdDO0VBQ0E7RUFDQTtDaERpaU1GOztBRXRuTUk7RThDZ0ZIO0lBUUU7SUFDQTtHaERtaU1EO0NBQ0Y7O0FnRDdpTUU7RTVCOUdHO0VBQUE7RTRCK0hGO0VBQ0E7Q2hEa2lNSDs7QWdEL2hNRTtFN0J0SkQ7RUNtQkk7RUFBQTtFNEJ3SUY7RUFDQTtFQUNBO0NoRGlpTUg7O0FFN29NSTtFOENxR0Y7SUFVRTtHaERtaU1GO0NBQ0Y7O0FnRGhpTUU7RUFDQztDaERtaU1IOztBaURudE1BOzs7OztHakQwdE1FOztBaURwdE1GO0U1QndCSztFQUFBO0VEQUE7RUFBQTtFNkJwQko7Q2pEd3RNRDs7QUV0cU1JO0UrQ3RESjtJNUJ3Qks7SUFBQTtJREFBO0lBQUE7R3BCNHNNSDtDQUNGOztBaUQxdE1DO0VBR0M7RUFDQTtFQUNBO0VBQ0E7Q2pEMnRNRjs7QWlEanVNRTtFNUJhRztFQUFBO0VBQUE7RUFBQTtFSXJCSjtFQUNBO0V3QnFCRTtLQUFBO0VBQ0E7RUFBQTtLQUFBO0VBQ0E7Q2pENnRNSDs7QWlEenRNQztFQUNDO0VBQ0E7Q2pENHRNRjs7QWlEenRNQztFNUJaSTtFQUFBO0U0QmVIO0NqRDR0TUY7O0FpRDF0TUU7RTdCakJHO0VBQUE7RUFBQTtFNkJxQkY7RUFDQTtFQUNBO0NqRDZ0TUg7O0FpRDF0TUU7RTdCMUJHO0U2QjRCRjtFQUNBO0VBQ0E7Q2pENnRNSDs7QWlEanVNRztFN0IxQkU7Q3BCK3ZNTDs7QWlEcnVNRztFN0IxQkU7Q3BCbXdNTDs7QWlEM3RNSTtFQUVDO0NqRDZ0TUw7O0FrRHJ5TUE7Ozs7R2xEMnlNRTs7QWtEdHlNRjtFQVlFO0NsRDh4TUY7O0FrRDF5TUE7RUEyQkc7Q2xEbXhNSDs7QUUxdU1JO0VnRHBFSjtJQWlDSTtHbERreE1GO0NBQ0Y7O0FtRHp6TUE7Ozs7O0duRGcwTUU7O0FtRHB6TUQ7RUFHQztDbkRxek1GOztBbURqek1DO0UvQldJO0UrQlBIO0VBQ0E7Q25Ea3pNRjs7QW1EaHpNRTtFL0JJRztFK0JBRjtFQUNBO0VBQ0E7Q25EaXpNSDs7QUVyeE1JO0VpRGxDRjtJL0JJRztJK0JPRDtJQUNBO0duRGt6TUY7Q0FDRjs7QW1EL3lNRTtFL0JaRztFQUFBO0UrQmdCRjtFQUNBO0VBQ0E7Q25EaXpNSDs7QUVyeU1JO0VpRGxCRjtJL0JaRztJQUFBO0krQnNCRDtHbkRvek1GO0NBQ0Y7O0FtRGp6TUU7RTFCL0NEO0VBQ0E7RUhGQTtFQXFCSTtFQUFBO0VBQUE7RUFBQTtFNkIrQkY7RUFBQTtLQUFBO0VBQ0E7S0FBQTtFQUNBO0NuRHd6TUg7O0FtRG56TUM7RUFNQztFQUNBO0VBQ0E7Q25EaXpNRjs7QW1EenpNRTtFQVdDO0NuRGt6TUg7O0FFcDBNSTtFaURPRjtJQWNFO1lBQUE7SUFDQTtJQUNBO0duRG96TUY7Q0FDRjs7QW1EcjBNRTtFMUIxREQ7RUFDQTtFMEJpRkU7RUFFQTtFQUFBO0NuRGt6TUg7O0FtRDUwTUU7RTFCMUREO0VBQ0E7RTBCeUZHO0NuRGt6TUo7O0FtRGwxTUU7O0VBcUNFO0VBQ0E7Q25Ea3pNSjs7QUUvMU1JO0VpRE9GO0kxQjFERDtJQUNBO0kwQnFHRztHbkRtek1GO0NBQ0Y7O0FtRC95TUM7RTlCdEZJO0U4QnlGSDtDbkRpek1GOztBRTUyTUk7RWlEd0RIO0k5QnRGSTtHckIrNE1IO0NBQ0Y7O0FtRGh6TUM7RS9CaEdJO0VBQUE7Q3BCcTVNTDs7QUV2M01JO0VpRGtFSDtJL0JoR0k7SUFBQTtHcEIyNU1IO0NBQ0Y7O0FFOTNNSTtFaUQwRUg7SS9CeEdJO0lBQUE7R3BCazZNSDs7RW1EMXpNQTtJL0J4R0c7R3BCczZNSDs7RW1EOXpNQTs7SS9CeEdHO0dwQjI2TUg7Q0FDRjs7QW9EMThNQTs7OztHcERnOU1FOztBb0QzOE1GO0VoQ3lCSztFQUFBO0NwQnU3TUw7O0FFejVNSTtFa0R2REo7SWhDeUJLO0lBQUE7R3BCNjdNSDtDQUNGOztBRWg2TUk7RWtEMUNIO0loQ1lJO0lBQUE7R3BCbzhNSDtDQUNGOztBb0QzOE1DO0VoQ01JO0VBQUE7Q3BCMDhNTDs7QXFEeCtNQTs7Ozs7R3JEKytNRTs7QXFEeitNRjtFaEN3Qks7RUFBQTtFZ0NyQko7Q3JENCtNRDs7QUV6N01JO0VtRHRESjtJaEN3Qks7SUFBQTtHckI2OU1IO0NBQ0Y7O0FxRDcrTUM7RWpDZUk7Q3BCaytNTDs7QUVwOE1JO0VtRDdDSDtJakNlSTtHcEJ1K01IO0NBQ0Y7O0FzRHRnTkE7Ozs7O0d0RDZnTkU7O0FzRHZnTkY7RUFLQztFQUFBO0VBR0E7RUFDQTtDdERvZ05EOztBc0QxL01VO0VBQ1A7Q3RENi9NSDs7QXNEOS9NVTtFQUNQO0N0RGlnTkg7O0FzRGxnTlU7RUFDUDtDdERxZ05IOztBc0R0Z05VO0VBQ1A7Q3REeWdOSDs7QXNEcmdOUztFQUNQO0VBQ0E7Q3REd2dORjs7QXNEcmdOUztFQUNQO0VBQ0E7Q3REd2dORjs7QXNEcmdORTtFQUlDO0N0RHFnTkg7O0FzRHpnTkU7RUFRQztDdERxZ05IOztBc0Q3Z05FOztFQVlDO1VBQUE7Q3REc2dOSDs7QXNEbGhORTtFQWVDO1VBQUE7RUFDQTtDdER1Z05IOztBRXQvTUk7RW9EakNGO0lBcUJFO0d0RHVnTkY7Q0FDRjs7QXNEbmdOQztFQUdDO0VBQ0E7Q3REb2dORjs7QXNEbGdORTtFQUVDO0N0RG9nTkg7O0FzRGpnTkU7RUFFQztDdERtZ05IOztBc0RyZ05HO0VBS0M7Q3REb2dOSjs7QXNEemdORztFQVNDO0VBQ0E7VUFBQTtDdERvZ05KOztBc0Q5Z05HO0VBYUU7Q3REcWdOTDs7QUV0aE5JO0VvRHVCQTtJQUVDO0d0RGtnTkg7Q0FDRjs7QUU1aE5JO0VvRFBIO0lBcUNFO0lBQ0E7R3REbWdORDs7RXNEbmlOQTtJQW1DRTtJQUNBO0d0RG9nTkY7Q0FDRjs7QUVyak5JO0VvRGlCRjtJQW9DRTtJQUNBO1lBQUE7SUFDQTtHdERxZ05GOztFc0R4Z05FO0lBTUM7R3REc2dOSDtDQUNGOztBc0Q1L01DO0VsQ25HSTtFQUFBO0VrQ3dHSDtFQUNBO0N0RDYvTUY7O0FzRDMvTUU7RUFHQztFQUNBO0N0RDQvTUg7O0FFN2tOSTtFb0RxRUg7SWxDbkdJO0lBQUE7SWtDcUhGO0lBQ0E7R3RENi9NRDtDQUNGOztBRXprTkk7RW9Ed0RIO0lBc0JFO0lBQ0E7WUFBQTtHdERnZ05EO0NBQ0Y7O0FzRDcvTUM7RUFHQztFQUNBO0VBQ0E7Q3REOC9NRjs7QXNEbmdORTtFaENwSkQ7RUFxQkk7RUFBQTtFQUFBO0VnQzBJRjtFQUFBO0VBQUE7RUFBQTtFQUNBO0VBQ0E7Q3REZ2dOSDs7QXNENS9NQztFakMvSUk7RURBQTtFQUFBO0VrQ29KSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0N0RDgvTUY7O0FFMW5OSTtFb0RpSEg7SWxDL0lJO0lBQUE7SUNBQTtJQUFBO0lBQUE7R3JCaXFOSDs7RXNEbGhOQTtJQW9CRTtHdERrZ05GO0NBQ0Y7O0FFM25OSTtFb0RvR0g7SUF3QkU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHdERvZ05EOztFc0RuaU5BO0lBa0NFO0lBQ0E7R3REcWdORjtDQUNGOztBc0R6aU5FO0VBd0NDO0N0RHFnTkg7O0FzRGhnTkU7RWxDNUxHO0NwQmdzTkw7O0FFbHFOSTtFb0Q4Skg7SWxDNUxJO0lBQUE7SUNBQTtJQUFBO0lJckJKO0lBQ0E7STZCNk5FO0lBQ0E7WUFBQTtHdERrZ05EO0NBQ0Y7O0FzRDkvTUM7RWhDck9BO0VBcUJJO0VBQUE7RUZDQTtFQUFBO0VrQ29OSDtFQUNBO0VBQ0E7RUFDQTtDdERrZ05GOztBRTNyTkk7RW9EaUxIO0lsQy9NSTtJQUFBO0lBQUE7SUtyQko7SUFDQTtJNkJnUEU7SUFFQTtJQUNBO0lBQ0E7R3REc2dORDtDQUNGOztBc0R4aE5FO0U3QnBPRDtFQUNBO0U2QjRQRTtDdERxZ05IOztBRS9zTkk7RW9EaUxGO0k3QnBPRDtJQUNBO0d6QnV3TkM7Q0FDRjs7QUV6c05JO0VvRHNNSDtJQUtFO1lBQUE7SUFDQTtHdERtZ05EO0NBQ0Y7O0FzRDFnTkU7RWxDalBHO0VBQUE7RUFBQTtFQUFBO0VLckJKO0VBQ0E7Q3pCd3hORDs7QXNEbmhORTtFbENqUEc7Q3BCd3dOTDs7QXNEdmhORTtFbENqUEc7Q3BCNHdOTDs7QUU5dU5JO0VvRG1ORjtJbENqUEc7SUFBQTtJQUFBO0lBQUE7R3BCb3hOSDtDQUNGOztBc0QxZ05VO0VsQzNRTDtFQUFBO0VBQUE7Q3BCMnhOTDs7QUU3dk5JO0VvRDZPTTtJbEMzUUw7R3BCZ3lOSDtDQUNGOztBc0R0aE5VO0VBUU47RUFDQTtFQUFBO0N0RGtoTko7O0FzRDNoTlU7RUFZTDtDdERtaE5MOztBc0QvaE5VO0VBaUJOO0N0RGtoTko7O0FzRDdnTkE7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N0RGloTko7O0FzRHpoTkE7RUFVSztDdERtaE5MOztBRWp5Tkk7RW9Eb1FKO0lBYUc7R3REcWhORDtDQUNGOztBc0RuaE5JO0VBQ0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0N0RHNoTkY7O0FFbHpOSTtFb0RvUkE7SUFXRDtHdER3aE5EO0NBQ0Y7O0FzRHRoTkM7RUFDSTtDdER5aE5MOztBc0R2aE5DO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N0RDBoTkw7O0FzRHhoTkM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N0RDJoTkw7O0FzRGhpTkU7RUFPTztFQUNBO0N0RDZoTlQ7O0FzRDFoTkM7RUFDSTtDdEQ2aE5MOztBdURsNU5BOzs7O0d2RHc1TkU7O0F1RG41TkY7RUFDQztDdkRzNU5EOztBRWgyTkk7RXFEdkRKO0lqQ0dDO0lBcUJJO0lBQUE7SUFBQTtJaUNsQkg7R3ZEMDVOQTs7RXVEeDVOUTtJakNMVDtJQXFCSTtJQUFBO0lBQUE7SWlDYkY7WUFBQTtHdkQ2NU5EOztFdUQxNU5RO0lBQ1A7SUFBQTtJQUFBO0lBQUE7R3ZENjVORDs7RXVEeDVOUTtJQUNQO1lBQUE7SUFDQTtHdkQyNU5EO0NBQ0Y7O0F3RHY3TkE7Ozs7O0V4RDg3TkM7O0F3RHY3TkQ7RUFDSTtDeEQwN05KOztBRXQ0Tkk7RXNEckRKO0lBSVE7R3hENDdOTjtDQUNGOztBRTU0Tkk7RXNEckRKO0lBT1E7R3hEKzdOTjtDQUNGOztBd0Q3N05JO0VBQ0k7RUFDQTtDeERnOE5SOztBd0Q1OE5BOztFQWlCUTtFQUFBO0N4RGc4TlI7O0F3RDc3Tkk7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hEODdOUjs7QUVyNk5JO0VzRGpDQTtJQVdRO0lBQ0E7SUFDQTtJQUNBO0d4RGc4TlY7Q0FDRjs7QXdELzhOSztFQWtCTztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hEaThOWjs7QXdELytOQTtFQXFEZ0I7VUFBQTtDeEQ4N05oQjs7QXdEMTdOSTtFQUNJO0VBQ0E7Q3hENjdOUjs7QUVuOE5JO0VzRElBO0lBS1E7R3hEKzdOVjtDQUNGOztBd0RyOE5LO0VBV087RUFDQTtFQUNBO0N4RDg3Tlo7O0F3RDM4Tks7RUFnQlc7Q3hEKzdOaEI7O0F3RC84Tks7RUFvQlc7Q3hEKzdOaEI7O0F3RG45Tks7RUF3Qlc7RUFDQTtVQUFBO0VBQ0E7Q3hEKzdOaEI7O0F3RHo5Tks7RUE4Qlc7Q3hEKzdOaEI7O0F3RDVnT0k7RUFtRkk7RUFDQTtDeEQ2N05SOztBRXQrTkk7RXNEM0NBO0lBdUZRO0d4RCs3TlY7Q0FDRjs7QXdEcjhOSztFQVVXO0N4RCs3TmhCOztBd0R6OE5LO0VBYVc7Q3hEZzhOaEI7O0F3RDc4Tks7O0VBbUJXO0VBQ0E7Q3hEKzdOaEI7O0FFMS9OSTtFc0R1Q0M7O0lBdUJlO0d4RGs4TmxCO0NBQ0Y7O0F3RDE5Tks7O0VBMkJlO0N4RG84TnBCOztBd0QvOU5LOztFQWlDZTtDeERtOE5wQjs7QXdENzdOSTtFQUNJO0N4RGc4TlI7O0F3RGo4Tks7RUFJTztVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeERpOE5aOztBd0QxOE5LO0VBWVc7RUFDQTtFQUNBO0N4RGs4TmhCOztBd0RoOU5LO0VBbUJlO0VBQ0E7Q3hEaThOcEI7O0F3RHI5Tks7RUF5QmU7RUFDQTtDeERnOE5wQjs7QXdEMTlOSztFQStCZTtFQUNBO0N4RCs3TnBCOztBd0QvOU5LO0VBc0NPO0VBQ0E7Q3hENjdOWjs7QXdEdm1PQTtFQStLUTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0N4RDQ3TlI7O0F3RDltT0E7RUFxTFk7RUFDQTtFQUNBO0VBQ0E7Q3hENjdOWjs7QUVoa09JO0VzRHJESjtJQTRMWTtHeEQ4N05WOztFd0Qxbk9GO0lBK0xnQjtHeEQrN05kO0NBQ0Y7O0F3RC9uT0E7RUFvTVk7RUFDQTtDeEQrN05aOztBd0Rwb09BO0VBd01nQjtDeERnOE5oQjs7QXdEeG9PQTtFQTJNZ0I7Q3hEaThOaEI7O0F3RDVvT0E7RUE4TWdCO0N4RGs4TmhCOztBd0RocE9BO0VBb05RO0VBQ0E7RUFDQTtFQUNBO0N4RGc4TlI7O0F3RDc3Tkk7RUFFUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RCs3Tlo7O0FFN2xPSTtFc0R3SkE7SUFVUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0d4RGc4TlY7O0V3RDk4TkU7SUFpQlk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R3hEaThOZDs7RXdEMzlORTtJQThCWTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0d4RGk4TmQ7Q0FDRjs7QUUvb09JO0VzRHFLQTtJQTZDWTtJQUNBO0lBQ0E7SUFDQTtHeERrOE5kO0NBQ0Y7O0F3RG4vTkk7RUFxRFE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUFBO0VBQUE7RUFBQTtDeERrOE5aOztBRXJwT0k7RXNEd0pBO0lBOERZO0lBQ0E7R3hEbzhOZDtDQUNGOztBd0RsOE5vQjtFQUNKO1VBQUE7Q3hEcThOaEI7O0F3RGg4Tlk7RUFDVjtFQUNNO0N4RG04TlI7O0F3RHI4TmE7RUFLRDtDeERvOE5aOztBRXRyT0k7RXNENk9RO0lBU0E7SUFDQTtJQUVBO0lBQ1Q7SUFDQTtJQUNBO0lBQ1M7SUFDQTtJQUNBO0lBQ1Q7SUFDQTtJQUFBO0lBR1M7WUFBQTtHeERrOE5WOztFd0R6OU5XOztJQTJCRztHeERtOE5kO0NBQ0Y7O0FFNXNPSTtFc0Q2T1E7SUErQkE7R3hEcThOVjs7RXdEcCtOVztJQWtDRztHeERzOE5kO0NBQ0Y7O0FFenNPSTtFc0RnT1M7SUEyQ0c7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHeERtOE5kOztFd0RsL05XOztJQW1ETztHeERvOE5sQjs7RXdEdi9OVztJQXNETztHeERxOE5sQjs7RXdEMy9OVztJQTBEVDtJQUNBO0d4RHE4TkY7O0V3RGhnT1c7SUE4REc7R3hEczhOZDs7RXdEcGdPVztJQWlFTztHeER1OE5sQjtDQUNGOztBRXR2T0k7RXNEbVRROztJQUdBO0lBQ0E7SUFDQTtZQUFBO0d4RHM4TlY7Q0FDRjs7QXdEbjhOWTtFQUNKO0N4RHM4TlI7O0F5RC96T0E7RUFJUTtFQUNBO0N6RCt6T1I7O0F5RHAwT0E7RUFVTTtLQUFBO0N6RDh6T047O0EwRHgwT0E7RUFDRTtDMUQyME9GOztBMEQ1ME9BO0VBR0k7RUFDQTtDMUQ2ME9KOztBMERqMU9BO0VBTU07RUFDQTtDMUQrME9OOztBMER0MU9BO0VBVVE7RUFDQTtDMURnMU9SOztBMEQ1ME9BO0VBQ0U7QzFEKzBPRjs7QTJELzFPQTs7OztHM0RxMk9FOztBMkRoMk9GO0VBRUM7RXJDQ0E7RUFxQkk7RUFBQTtFQUFBO0VBQUE7RXFDYko7O0kzRGcyT0U7RTJELzBPRjs7OztJM0RvMU9FO0NBQ0g7O0EyRGozT0E7RUFnQkc7QzNEcTJPSDs7QTJEcjNPQTtFQXVCRztDM0RrMk9IOztBMkR4MU9DO0VBQ0M7RWxDOUJEO0VBQ0E7Q3pCMDNPRDs7QTREcDRPQTs7OztHNUQwNE9FOztBdUNoeE9DO0VxQi9HRjtLQUFBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQUE7RXZDY0k7RUFBQTtFQUFBO0VBQUE7Q3JCdzNPTDs7QUUxMU9JO0VxQzhERDtJbEI1RkU7SUFBQTtJdUNOSDtHNURxNE9BO0NBQ0Y7O0E0RHo1T0E7RUFpQ0U7S0FBQTtNQUFBO1VBQUE7RUFDQTtDNUQ0M09GOztBNER6M09TO0V2Q1pKO0VBQUE7RUFBQTtFQUFBO0V1Q21CSDtFQUNBO0VBQ0E7QzVEMDNPRjs7QTREbjRPUztFeENaSjtFS3JCSjtFQUNBO0N6Qnk2T0Q7O0E0RHo0T1M7RUFpQk47QzVENDNPSDs7QTREeDNPUztFeENqQ0o7RUtyQko7RUFDQTtFbUM0REU7QzVEdzNPSDs7QTREcDNPUztFdkM1Q0o7RUFBQTtFQUFBO0VBQUE7Q3JCdTZPTDs7QTREdDNPVTtFbkN0RVQ7RUFDQTtFTG9CSTtDcEI2Nk9MOztBNERuM09TO0VBR1A7RUFDQTtFQUNBO0VBQ0E7QzVEbzNPRjs7QUV0NU9JO0UwRDRCSztJQVNOO0lBQ0E7RzVEczNPRDtDQUNGOztBNERqNE9TO0VuQy9FUjtFQUNBO0VMb0JJO0V3QzRFRjtDNURzM09IOztBRXA2T0k7RTBENEJLO0l4QzFESjtJQUFBO0dwQnc4T0g7Q0FDRjs7QTRELzRPUzs7O0VBNEJOO0M1RHkzT0g7O0E0RHIzT1M7RXZDMUZKO0VBQUE7RXVDK0ZIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVEczNPRjs7QTRELzNPUztFdkMxRko7RXVDdUdGO0VBQ0E7RUFDQTtDNUR1M09IOztBNER0NE9TO0V4QzFGSjtFd0NnSEY7RUFDQTtDNURxM09IOztBNEQ1NE9TO0V4QzFGSjtFQUFBO0VLckJKO0VBQ0E7RW1DNElFO0VBQ0E7QzVEczNPSDs7QTREbDNPUztFdkM3SEo7RUFBQTtFQUFBO0VBQUE7RXVDaUlIO0VBQ0E7RUFDQTtDNURzM09GOztBNEQ1M09TO0VBU047RUFDQTtFQUNBO0M1RHUzT0g7O0E0RG4zT1M7RXZDNUlKO0VBQUE7RUFBQTtFQUFBO0V1Q2lKSDtFQUNBO0VBQ0E7QzVEczNPRjs7QTRENzNPUztFbkNqS1I7RUFDQTtFTG9CSTtFd0M2SkY7QzVEbTNPSDs7QTREcDRPUztFQXFCTjtDNURtM09IOztBRXQvT0k7RTBEOEdLO0l2QzVJSjtJQUFBO0dyQjBoUEg7Q0FDRjs7QTREajNPUztFQUNQO0VBQ0E7RUFDQTtFQUNBO0M1RG8zT0Y7O0E0RHgzT1M7RUFPTjtFQUNBO0VBQ0E7QzVEcTNPSDs7QTREOTNPUztFQWFOO0M1RHEzT0g7O0E0RGozT1M7O0VBQ1A7RUFDQTtFQUNBO0M1RHEzT0Y7O0E0RHgzT1M7O0VBTU47RUFDQTtDNUR1M09IOztBNERwM09TO0VBSU47QzVEbzNPSDs7QTREaDNPUztFQUNQO0VBQ0E7RUFDQTtDNURtM09GOztBNER0M09TO0VBTU47QzVEbzNPSDs7QTREMTNPUztFQVVOO0VBQ0E7QzVEbzNPSDs7QTREaDNPUztFQUNQO0VBQ0E7RUFDQTtDNURtM09GOztBNER0M09TO0VBTU47QzVEbzNPSDs7QTREMTNPUztFQVVOO0VBQ0E7QzVEbzNPSDs7QTREaDNPUztFQUNQO0VBQ0E7RUFDQTtDNURtM09GOztBNER0M09TO0VBTU47QzVEbzNPSDs7QTREMTNPUztFQVVOO0VBQ0E7QzVEbzNPSDs7QTREaDNPUztFQUNQO0VBQ0E7RUFDQTtDNURtM09GOztBNER0M09TO0VBTU47QzVEbzNPSDs7QTREMTNPUztFQVVOO0VBQ0E7QzVEbzNPSDs7QTREaDNPUztFQUNQO0VBQ0E7RUFDQTtDNURtM09GOztBNER0M09TO0VBTU47QzVEbzNPSDs7QTREMTNPUztFQVVOO0VBQ0E7QzVEbzNPSDs7QTREaDNPQztFdkN4Ukk7RUFBQTtFdUM0Ukg7QzVEazNPRjs7QTRELzJPQztFbkNwVEE7RUFDQTtFbUN1VEM7RUFDQTtFQUNBO0M1RGkzT0Y7O0E0RHYzT0U7RUFVQztFQUNBO0VBQ0E7QzVEaTNPSDs7QTREOTJPRztFQUVDO0M1RGczT0o7O0E0RDcyT0c7RUFFQztDNUQrMk9KOztBNERyNE9FO0VuQ3BURDtFQUNBO0VtQ2dWRTtDNUQ4Mk9IOztBNEQzNE9FO0VBaUNDO0M1RDgyT0g7O0E2RDVzUEE7Ozs7RzdEa3RQRTs7QTZEN3NQRjtFQUtDO0VBQ0E7QzdENHNQRDs7QTZEenNQQztFekNnQkk7RUFBQTtDcEI4clBMOztBNkQ5c1BFO0VBS0M7RUFBQTtFQUNBO0M3RDZzUEg7O0E2RG50UEU7RXpDZ0JHO0V5Q0hGO0M3RDJzUEg7O0E2RHh0UEU7RXpDZ0JHO0NwQjRzUEw7O0E2RDV0UEU7RXpDZ0JHO0NwQmd0UEw7O0E2RGh1UEU7RUF3QkU7QzdENHNQSjs7QTZEcHVQRTs7RUFtQ0U7QzdEc3NQSjs7QThEdnZQQTs7O0c5RDR2UEU7O0E4RHJ2UEQ7RTFDdUJJO0VBQUE7Q3BCbXVQTDs7QThEMXZQRTtFMUN1Qkc7Q3BCdXVQTDs7QThEOXZQRTtFMUN1Qkc7Q3BCMnVQTDs7QThEMXZQSTtFckNOSDtFQUNBO0VxQ1NDO0VBQ0E7RUFDQTtFQUVBO0tBQUE7TUFBQTtVQUFBO0VBQ0E7RUFBQTtDOUQydlBGOztBOERwd1BLO0VBWUY7RUFBQTtDOUQ0dlBIOztBOER4d1BLOztFQWlCRjtDOUQ0dlBIOztBOEQ3d1BLOztFQW9CRDtDOUQ4dlBKOztBOERseFBLO0VyQ05KO0VBQ0E7RXFDZ0NFO0M5RDZ2UEg7O0ErRHZ5UEE7O0cvRDJ5UEU7O0ErRHh5UEY7RXpDS0M7RUFxQkk7RUFBQTtFRkNBO0VBQUE7RTJDdEJKO0VBQUE7RUFJQTtFQUNBO0MvRHl5UEQ7O0ErRG56UEE7RUFhRTtDL0QweVBGOztBK0R2elBBO0VBaUJFO0MvRDB5UEY7O0ErRDN6UEE7RUFxQkU7Qy9EMHlQRjs7QStEdHlQQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0R5eVBEOztBK0RwelBBO0VBY0U7Qy9EMHlQRjs7QWdFcDFQQTs7OztHaEUwMVBFOztBZ0VyMVBGO0UzQ3lCSztFQUFBO0VBQUE7RUFBQTtFMkNuQko7RUFDQTtFQUNBO0VBRUE7RUFBQTtDaEVzMVBEOztBZ0VoMlBBO0VBZUU7Q2hFcTFQRjs7QWdFcDJQQTtFQW1CRTtFQUNBO0NoRXExUEY7O0FnRWwxUFM7RTNDRUo7RUFBQTtDckJxMVBMOztBZ0VuMVBTO0UzQ0ZKO0VBQUE7Q3JCMDFQTDs7QWdFbjFQQztFQUdDO0VBQ0E7Q2hFbzFQRjs7QWdFbDFQVTtFQUNQO0VBQ0E7RUFDQTtDaEVxMVBIOztBZ0VsMVBVO0VBQ1A7RUFDQTtDaEVxMVBIOztBZ0VuNFBBO0V2Q0lDO0VBQ0E7RXVDZ0RDO0NoRW8xUEY7O0FpRTk0UEE7O0dqRWs1UEU7O0FpRS80UEY7RUFNQztFQUNBO0VBQ0E7RUFBQTtFQUdBO0NqRTI0UEQ7O0FpRXQ1UEE7O0VBZUU7Q2pFNDRQRjs7QWlFMzVQQTs7RUFvQkc7Q2pFNDRQSDs7QWlFaDZQQTs7OztFQTBCRTtDakU2NFBGOztBaUV2NlBBOztFQThCRTtDakU4NFBGOztBaUV6NFBDO0VBR0M7Q2pFMDRQRjs7QUV2M1BJO0UrRHRCSDtJeEM3QkE7SUFDQTtHekIrNlBDO0NBQ0Y7O0FpRXA1UEU7RXhDN0JEO0VBQ0E7RXdDd0NFO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7RUFBQTtLQUFBO0NqRTg0UEg7O0FFdjRQSTtFK0RGSDtJQUlFO0dqRTA0UEQ7Q0FDRjs7QWlFdDRQQztFN0NyQ0k7RUFBQTtFNkN5Q0g7RUFDQTtDakV3NFBGOztBaUVwNFBDO0U3QzlDSTtDcEJzN1BMOztBaUVuNFBDO0VBSUM7RUFDQTtDakVtNFBGOztBaUV4NFBFO0U3Q25ERztFNkM4REY7Q2pFazRQSDs7QWtFOTlQQTs7OztHbEVvK1BFOztBa0UzOVBEO0U5Q3FCSTtFQUFBO0U4Q2pCSDtDbEU2OVBGOztBa0VqK1BFO0U5Q3FCRztDcEJnOVBMOztBa0VyK1BFO0U5Q3FCRztDcEJvOVBMOztBa0V6K1BFO0VBY0M7VUFBQTtDbEUrOVBIOztBa0UzOVBFO0U3Q0dHO0VBQUE7RUFBQTtFQUFBO0U2Q1FGO0VBQ0E7RUFDQTtFQU1BO0VBQUE7Q2xFbTlQSDs7QUVyOFBJO0VnRWpDRjtJN0NHRztJQUFBO0lBQUE7R3JCMCtQSDtDQUNGOztBa0U5K1BHOztFQTBCQztDbEV5OVBKOztBa0VuL1BHO0V6Q2xCRjtFQUNBO0VMb0JJO0VBQUE7RThDOEJEO0NsRTA5UEo7O0FrRXY5UEc7RTlDakNFO0U4Q3FDRDtDbEV3OVBKOztBRS85UEk7RWdFR0Q7STlDakNFO0dwQmtnUUg7Q0FDRjs7QWtFdDlQRTtFQUdDO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEV1OVBIOztBRTcrUEk7RWdFZUY7SUFVRTtJQUNBO0lBRUE7WUFBQTtJQUNBO0dsRXc5UEY7Q0FDRjs7QWtFcjlQRTtFOUMvREc7RThDa0VGO1VBQUE7RUFDQTtFQUNBO0VBQ0E7Q2xFdTlQSDs7QUU5L1BJO0VnRWlDRjtJOUMvREc7SThDMEVEO0lBQ0E7SUFDQTtZQUFBO0lBQ0E7R2xFdzlQRjtDQUNGOztBa0VyOVBFO0U5Q2pGRztDcEIwaVFMOztBa0V6OVBHO0V6Q3RHRjtFQUNBO0V5QzJHRztFQUVBO0VBQUE7RUFBQTtFQUFBO0VBQ0E7Q2xFdzlQSjs7QWtFbjlQRztFQU1DO0VBQ0E7Q2xFaTlQSjs7QUV6aFFJO0VnRWlFRDtJQVVFO0lBQ0E7STdDMUdBO0lBQUE7R3JCK2pRSDtDQUNGOztBa0VqK1BHO0U5Qy9GRTtDcEJva1FMOztBa0VyK1BHO0U5Qy9GRTtDcEJ3a1FMOztBbUV0bVFBOztHbkUwbVFFOztBbUV2bVFGO0UxQ01DO0VBQ0E7RTBDQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFBQTtDbkVvbVFEOztBRTFqUUk7RWlFekRKO0lBb0JFO0lBQ0E7R25Fb21RQTtDQUNGOztBbUUxblFBOztFQThCRTtFQUNBO0NuRWltUUY7O0FtRWhvUUE7O0VuRFVFO0VBQ0E7Q2hCMm5RRjs7QW1FdG9RQTtFQXlDRTtDbkVpbVFGOztBbUUxb1FBO0VuRFVFO0VBQ0E7Q2hCb29RRjs7QW1FL29RQTtFQWlERTtFQUNBO0NuRWttUUY7O0FtRXBwUUE7RW5EVUU7RUFDQTtFbUQyQ0M7VUFBQTtDbkVvbVFIOztBbUUxcFFBO0VBMERHO0NuRW9tUUg7O0FtRWhtUUM7RTdDekRBO0VBcUJJO0VBQUE7RUdwQko7RUFDQTtFVEZDO0VBQ0E7RW1EOERBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7Q25FcW1RRjs7QW1FN2xRQztFMUN2RUE7RUFDQTtFMEMwRUM7RUFFQTtFQUNBO0VBQUE7Q25FOGxRRjs7QW1Fcm1RRTtFQVVDO0NuRStsUUg7O0FvRXpyUUE7OztHcEU4clFFOztBb0UxclFGO0UzQ0tDO0VBQ0E7RTJDS0E7RUFDQTtDcEVxclFEOztBRXpvUUk7RWtFeERKO0kzQ0tDO0lBQ0E7R3pCaXNRQztDQUNGOztBb0V4c1FBO0VBZUU7RUFBQTtFQUFBO0VBQUE7RUFDQTtDcEU2clFGOztBb0U3c1FBO0VBcUJHO1VBQUE7Q3BFNHJRSDs7QW9FeHJRQztFM0NwQkE7RUFDQTtFVEZDO0VBQ0E7RW9Ed0JBO0VBQUE7Q3BFNHJRRjs7QW9FeHJRVTtFcEQ3QlI7RUFDQTtDaEJ5dFFGOztBb0U3clFVO0VwRHhCUjtFQUNBO0NoQnl0UUY7O0FvRTFzUUU7RTlDckJEO0VBcUJJO0VBQUE7RUFBQTtFOENtQkY7RUFDQTtFQUFBO0VBSUE7RUFDQTtDcEU0clFIOztBb0V0clFDO0UzQ25EQTtFQUNBO0VKb0JJO0UrQ29DSDtDcEV1clFGOztBRTdyUUk7RWtFQUg7SS9DOUJJO0dyQmd1UUg7Q0FDRjs7QW9FdHJRQztFQUdDO0VBQ0E7Q3BFdXJRRjs7QUV4c1FJO0VrRWFIO0lBT0U7SUFDQTtHcEV5clFEO0NBQ0Y7O0FxRTN3UUE7Ozs7R3JFaXhRRTs7QXFFNXdRRjtFQU1DO0VBQ0E7RUFDQTtFQUNBO0NyRTB3UUQ7O0FFNXRRSTtFbUV2REo7SUFZRTtHckU0d1FBO0NBQ0Y7O0FxRXp4UUE7RUFrQkU7RUFDQTtFQUVBO0VBQ0E7RUFDQTtDckUwd1FGOztBRTF1UUk7RW1FdkRKO0lBMEJHO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7R3JFMndRRDtDQUNGOztBcUUzeVFBO0VqRHlCSztFaURZSDtFQUNBO0NyRTJ3UUY7O0FFMXZRSTtFbUV2REo7SUF5Q0c7SUFDQTtHckU2d1FEO0NBQ0Y7O0FxRXh6UUE7RUE4Q0c7RUFDQTtDckU4d1FIOztBRXR3UUk7RW1FdkRKO0lBa0RJO0lBQ0E7R3JFZ3hRRjtDQUNGOztBcUVwMFFBO0VBeURFO0NyRSt3UUY7O0FxRXgwUUE7O0VBK0RHO0NyRTh3UUg7O0FxRTcwUUE7O0VBbUVHO1VBQUE7Q3JFK3dRSDs7QXFFbDFRQTs7RUF1RUc7Q3JFZ3hRSDs7QXFFdjFRQTs7RUEyRUc7RUFDQTtDckVpeFFIOztBRXR5UUk7RW1FMkJIO0lBRUU7R3JFOHdRRDtDQUNGOztBcUVqd1FDO0UvQy9GQTtFQXFCSTtFQUFBO0VBQUE7RUFBQTtFK0MrRUg7Q3JFcXdRRjs7QXFFbHdRQztFQUdDO0VBQ0E7Q3JFbXdRRjs7QXFFaHdRQztFL0M5R0E7RUFxQkk7RUFBQTtFQUFBO0VBQUE7RUdwQko7RUFDQTtFNENpSEM7S0FBQTtFQUNBO0VBQUE7S0FBQTtFQUVBO0NyRXF3UUY7O0FxRWp3UUM7RS9DMUhBO0VBcUJJO0VBQUE7RUFBQTtFQUFBO0VHcEJKO0VBQ0E7RTRDNEhDO0VBQUE7S0FBQTtFQUNBO0tBQUE7RUFDQTtFQUFBO0VBQUE7RUFBQTtFQUNBO0VBRUE7Q3JFdXdRRjs7QXFFNzRRQTtFL0NHQztFQXFCSTtFQUFBO0VBQUE7RStDcUhIO0VBQ0E7RUFBQTtFQUlBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7Q3JFcXdRRjs7QXFFbndRVTtFQUNQO0NyRXN3UUg7O0FxRWp3UUM7RWhEcElJO0VDdEJKO0VBcUJJO0VBQUE7RUFBQTtFK0MwSUg7Q3JFcXdRRjs7QUVoM1FJO0VtRXNHSDtJakRwSUk7SUFBQTtJQUFBO0dwQnE1UUg7Q0FDRjs7QXFFbHdRQztFakRwSkk7RUFBQTtFaUR3Skg7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0NyRW93UUY7O0FxRWp3UUM7RWpEL0pJO0VBQUE7RUFBQTtFaURtS0g7Q3JFb3dRRjs7QXFFandRQztFakR0S0k7RUFBQTtFQUFBO0VpRDJLSDtDckVtd1FGOztBcUV4d1FFO0VqRHRLRztDcEJrN1FMOztBcUU1d1FFO0VqRHRLRztDcEJzN1FMOztBcUVoeFFFO0U1QzNMRDtFQUNBO0N6Qis4UUQ7O0FxRXJ4UUU7RS9DNUxEO0VBcUJJO0VBQUE7RURDQTtFQUFBO0VBQUE7RUFBQTtFTHRCSDtFQUNBO0VxRG1OQztFQUNBO0VBRUE7VUFBQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JFeXdRSDs7QXFFM3lRRTtFckR2TEE7RUFDQTtDaEJzK1FGOztBcUVwd1FDO0VoRGxOSTtFZ0R1Tkg7Q3JFb3dRRjs7QXFFcnZRQztFNUMzUEE7RUFDQTtFNEM2UEM7RUFDQTtFQUFBO0VBQ0E7Q3JFd3ZRRjs7QXNFamdSQTs7OztHdEV1Z1JFOztBc0VsZ1JGO0VqRHlCSztFQUFBO0VBQUE7RUFBQTtFaURwQko7RUFDQTtFQUNBO0VBQ0E7Q3RFcWdSRDs7QXNFN2dSQTtFQVlHO0VBQ0E7RUFDQTtDdEVxZ1JIOztBc0VuaFJBO0VBb0JJO0N0RW1nUko7O0FzRXZoUkE7RWxEeUJLO0VBQUE7RWtESUg7RUFBQTtFQUFBO0VBQ0E7Q3RFZ2dSRjs7QXNFNy9RQztFN0M3QkE7RUFDQTtFSEZBO0VBcUJJO0VBQUE7RUFBQTtFQUFBO0VnRGFIO0VBQUE7S0FBQTtFQUNBO0tBQUE7RUFDQTtDdEVvZ1JGOztBc0UzaVJBO0VoREdDO0VBcUJJO0VBQUE7RUFBQTtFZ0RzQkg7RUFDQTtFQUFBO0VBSUE7RUFDQTtDdEVrZ1JGOztBc0UvL1FDO0U3Q25EQTtFQUNBO0U2Q3VEQztDdEVnZ1JGOztBc0U3L1FDO0VsRHRDSTtFa0QwQ0g7RUFDQTtDdEU4L1FGOztBc0VuZ1JFO0VsRHRDRztDcEI2aVJMOztBc0V2Z1JFO0VsRHRDRztDcEJpalJMOztBc0UzL1FDO0VsRHRESTtFa0R5REg7RUFDQTtDdEU2L1FGOztBc0UxL1FDO0VsRDdESTtFQUFBO0VrRGlFSDtFQUNBO0VBQ0E7Q3RFNC9RRjs7QXVFN2xSQTs7Ozs7R3ZFb21SRTs7QXVFOWxSRjtFbER3Qks7RUFBQTtFQUFBO0VBQUE7RWtEakJKO0VBQ0E7RUFDQTtFQUNBO0N2RStsUkQ7O0FFbmpSSTtFcUV0REo7SWxEd0JLO0lBQUE7R3JCdWxSSDtDQUNGOztBRTFqUkk7RXFFdERKO0lsRHdCSztJQUFBO0lBQUE7R3JCK2xSSDtDQUNGOztBdUV4blJBO0VqREVDO0VBcUJJO0VBQUE7RUZDQTtFQUFBO0NwQndtUkw7O0FFMWtSSTtFcUV0REo7SW5Ed0JLO0dwQjZtUkg7Q0FDRjs7QUVobFJJO0VxRXRESjtJbkR3Qks7R3BCbW5SSDtDQUNGOztBdUU1b1JBO0VuRHdCSztFQUFBO0VFdEJKO0VBcUJJO0VBQUE7Q3RCNm5STDs7QXVFcHBSQTtFQTBDRTtVQUFBO0N2RThtUkY7O0F1RXptUkM7RW5EdkJJO0VBQUE7RUNBQTtFa0Q0Qkg7RUFDQTtFQUNBO0VBQ0E7Q3ZFMm1SRjs7QUU1bVJJO0VxRVBIO0luRHZCSTtJQ0FBO0dyQmdwUkg7Q0FDRjs7QUVublJJO0VxRVBIO0luRHZCSTtJQ0FBO0lrRDBDRjtJQUNBO0d2RThtUkQ7Q0FDRjs7QXVFMW1SQztFbkRoREk7RUFBQTtFbURvREg7RUFDQTtFQUNBO0N2RTRtUkY7O0FFcG9SSTtFcUVrQkg7SW5EaERJO0lBQUE7R3BCd3FSSDtDQUNGOztBRTNvUkk7RXFFa0JIO0luRGhESTtJQUFBO0ltRCtERjtHdkVpblJEO0NBQ0Y7O0F1RTltUkM7RW5EbkVJO0VtRHdFSDtFQUNBO0VBQ0E7Q3ZFOG1SRjs7QUUxcFJJO0VxRXFDSDtJQVVFO0d2RWduUkQ7Q0FDRjs7QXdFNXRSQTs7Ozs7R3hFbXVSRTs7QXdFN3RSRjtFL0NHQztFQUNBO0UrQ0VBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFBQTtDeEUydFJEOztBRWpyUkk7RXNFdERKO0kvQ0dDO0lBQ0E7R3pCeXVSQztDQUNGOztBd0U5dVJBOzs7RUFxQkU7Q3hFK3RSRjs7QXdFcHZSQTtFQXlCRTtFQUNBO0N4RSt0UkY7O0F3RXp2UkE7O0VBOEJHO0N4RWd1Ukg7O0F3RTl2UkE7RUFrQ0c7Q3hFZ3VSSDs7QXdFbHdSQTtFL0NHQztFQUNBO0VMb0JJO0VvRG1CSDtDeEU4dFJGOztBRW50Ukk7RXNFdERKO0lwRHdCSztJS3JCSjtJQUNBO0d6QjR3UkM7Q0FDRjs7QXdFNXRSQztFQUlDO0VBQ0E7RUFDQTtDeEU0dFJGOztBRWp1Ukk7RXNFREg7SUFTRTtJQUNBO0d4RTh0UkQ7Q0FDRjs7QXdFM3RSQztFL0NoRUE7RUFDQTtFK0NtRUM7RUFDQTtDeEU2dFJGOztBRS91Ukk7RXNFYUg7SXBEM0NJO0lBQUE7R3BCbXhSSDtDQUNGOztBd0U5dFJFO0VBQ0M7RUFDQTtDeEVpdVJIOztBd0U5dFJFO0UvQ2hGRDtFQUNBO0N6Qmt6UkQ7O0F3RTN0UkU7RS9DeEZEO0VBQ0E7Q3pCdXpSRDs7QXdFdHRSQztFQUNDO0VBQ0E7Q3hFeXRSRjs7QUUxd1JJO0VzRStDSDtJQUtFO0d4RTJ0UkQ7Q0FDRjs7QXdFenRSRTtFL0MxR0Q7RUFDQTtFTG9CSTtFb0QwRkY7Q3hFMnRSSDs7QUV2eFJJO0VzRXVERjtJcERyRkc7SUtyQko7SUFDQTtHekJnMVJDO0NBQ0Y7O0F3RTV0Uk07RUFDRTtDeEUrdFJSOztBd0UzdFJFO0VBQ0M7Q3hFOHRSSDs7QXdFeHZSRTtFQThCSTtFQUNBO0N4RTh0Uk47O0F3RTF0UkE7RUFDRTtDeEU2dFJGOztBeUU1MlJBOzs7O0d6RWszUkU7O0F5RTcyUkY7RUFHQztFQUNBO0VBQ0E7Q3pFODJSRDs7QXlFbjNSQTtFQVFFO0N6RSsyUkY7O0F5RTUyUkM7RUFDQztFQUNBO0N6RSsyUkY7O0F5RTUyUkM7RWhEWkE7RUFDQTtFTG9CSTtDcEJ5MlJMOztBeUUzMlJDO0V0RGpCQTtFQ21CSTtFcURHSDtFQUNBO0N6RTQyUkY7O0FFbDFSSTtFdUVoQ0g7SUFTRTtJQUNBO0d6RTgyUkQ7Q0FDRjs7QXlFMzJSQztFckRaSTtFcURnQkg7RUFDQTtFQUNBO0N6RTQyUkY7O0FFaDJSSTtFdUVsQkg7SUFTRTtJQUNBO0d6RTgyUkQ7Q0FDRjs7QTBFbjZSQTs7OztHMUV5NlJFOztBMEVwNlJGO0VyRHlCSztFcURuQko7RUFDQTtFQUNBO0VBQ0E7QzFFbTZSRDs7QUVyM1JJO0V3RXZESjtJQVlFO0cxRXE2UkE7Q0FDRjs7QUUzM1JJO0V3RXZESjtJckR5Qks7R3JCODVSSDtDQUNGOztBMEV4N1JBO0VBb0JFO0MxRXc2UkY7O0EwRXI2UkM7RXJERUk7Q3JCdTZSTDs7QTBFbDZSQztFcEQzQkE7RUFxQkk7RUFBQTtFQUFBO0VHcEJKO0VBQ0E7RWlENkJDO0MxRXc2UkY7O0EwRTU2UkU7RWpEMUJEO0VBQ0E7RWlEbUNFO0VBQUE7S0FBQTtFQUNBO0tBQUE7QzFFdzZSSDs7QTBFcjZSVTtFakR4Q1Q7RUFDQTtFaUQwQ0U7QzFFdzZSSDs7QTBFbDZSQztFdEQ1Qkk7RUNBQTtFQUFBO0VxRGlDSDtFQUVBO0VBQUE7RUFBQTtFQUFBO0VBRUE7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0MxRWk2UkY7O0EwRS81UlU7RUFDUDtVQUFBO0MxRWs2Ukg7O0FFajdSSTtFd0VGSDtJckQ1Qkk7SUFBQTtHckJxOVJIO0NBQ0Y7O0EwRWw2UlU7RXJEcERMO0VEQUE7RXNEd0RGO0VBQ0E7VUFBQTtDMUVvNlJIOztBRS83Ukk7RXdFc0JNO0lyRHBETDtHckJrK1JIO0NBQ0Y7O0EwRTM1UkM7RUFDQztFQUNBO0VBQUE7QzFFODVSRjs7QTBFNTVSVTtFQUNQO0MxRSs1Ukg7O0EwRXJnU0E7RXREeUJLO0VzRHNGSDtVQUFBO0MxRTI1UkY7O0EwRTFnU0E7RUFtSEU7RUFDQTtDMUUyNVJGOztBMEV0NVJDO0V0RGhHSTtFQUFBO0VzRG1HSDtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QzFFdzVSRjs7QTBFdDVSVTtFdEQzR0w7RXNENkdGO0MxRXk1Ukg7O0FFeCtSSTtFd0VrRUg7SUFpQkU7SUFDQTtHMUUwNVJEO0NBQ0Y7O0EwRXI1UkM7RXREeEhJO0VBQUE7RXNEMEhIO0VBQ0E7QzFFeTVSRjs7QTBFNTVSRTtFdER4SEc7Q3BCd2hTTDs7QTBFaDZSRTtFdER4SEc7Q3BCNGhTTDs7QUU5L1JJO0V3RTBGSDtJQWFFO0lBQ0E7RzFFNDVSRDtDQUNGOztBMEUxNVJVO0V0RHpJTDtFc0Q2SUY7RUFDQTtDMUUyNVJIOztBMEVyNVJDO0V0RHBKSTtFQUFBO0VzRHVKSDtFQUNBO0VBQ0E7QzFFdzVSRjs7QUVuaFNJO0V3RXNISDtJQVFFO0lBQ0E7RzFFMDVSRDtDQUNGOztBMEVyNVJDO0V0RG5LSTtFQUFBO0VzRHNLSDtFQUNBO0MxRXc1UkY7O0FFamlTSTtFd0VxSUg7SUFPRTtJQUNBO0cxRTA1UkQ7Q0FDRjs7QTBFbjZSRTtFdERuS0c7Q3BCMGtTTDs7QTBFdjZSRTtFdERuS0c7Q3BCOGtTTDs7QTJFNW1TQTs7Ozs7RzNFbW5TRTs7QTJFN21TRjtFQUlDO0VBQ0E7RUFDQTtFQUNBO0MzRTZtU0Q7O0EyRS9sU0M7RWxEbEJBO0VBQ0E7RWtEb0JDO0tBQUE7RUFDQTtFQUFBO0tBQUE7QzNFa21TRjs7QTJFL2xTQztFdERKSTtFQUFBO0VBQUE7RUFBQTtDckIwbVNMOztBRTVrU0k7RXlFMUJIO0l0REpJO0lBQUE7SUFBQTtJQUFBO0dyQmtuU0g7Q0FDRjs7QUV4a1NJO0V5RXZDSDtJQVFFO0czRTRtU0Q7Q0FDRjs7QTJFcm5TRTtFdkRKRztDcEI2blNMOztBMkV6blNFO0V2REpHO0NwQmlvU0w7O0EyRTduU0U7RXZESkc7RUFBQTtFQ0FBO0VzRDhCRjtFQUNBO0VBRUE7QzNFeW1TSDs7QUU1bVNJO0V5RTFCRjtJQWdDRTtJQUNBO0czRTJtU0Y7Q0FDRjs7QTJFN29TRTtFdkRKRztFQUFBO0NwQnNwU0w7O0EyRWxwU0U7RXJEMUJEO0VBcUJJO0VBQUE7RUZDQTtFQUFBO0VLckJKO0VBQ0E7RWtEcUVJO0VBQ0E7QzNFZ25TTDs7QUVwb1NJO0V5RTFCRjtJdkRKRztJQUFBO0dwQndxU0g7Q0FDRjs7QTJFcnFTRTtFdkRKRztDcEI2cVNMOztBMkV6cVNFO0V2REpHO0NwQmlyU0w7O0EyRTltU0M7RXZEbkVJO0V1RHNFSDtFQUNBO0VBQ0E7QzNFZ25TRjs7QTRFdHRTQTs7Ozs7O0c1RTh0U0U7O0E0RXZ0U0Y7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1RXd0U0Q7O0E0RS90U0E7RXREQ0M7RUFxQkk7RUFBQTtFQUFBO0VHcEJKO0VBQ0E7RW1EV0M7RUFBQTtFQUNBO0VBQ0E7RUFFQTtDNUUwdFNGOztBNEV2dFNDO0VBR0M7RUFDQTtFQUNBO0M1RXd0U0Y7O0E0RXJ0U0M7RXZETkk7RUFBQTtFQUFBO0VBQUE7RURBQTtFQUFBO0V3RFlIO0VBQ0E7QzVFeXRTRjs7QTRFdHRTQztFdER0Q0E7RUFxQkk7RUFBQTtFQUFBO0VBQUE7RUdwQko7RUFDQTtFbUR3Q0M7RUFBQTtLQUFBO0VBQ0E7S0FBQTtFQUNBO0VBQ0E7QzVFNnRTRjs7QTZFbHhTQTs7OztHN0V3eFNFOztBNkVueFNGO0VBSUM7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7QzdFa3hTRDs7QTZFNXhTQTtFekR5Qks7RXlEUkg7RUFDQTtDN0VneFNGOztBRTN1U0k7RTJFdkRKO0lBcUJHO0lBQ0E7RzdFa3hTRDtDQUNGOztBNkV6eVNBO0VBMkJFO0VBQ0E7QzdFa3hTRjs7QUV2dlNJO0UyRXZESjtJQStCRztJQUNBO0c3RW94U0Q7Q0FDRjs7QTZFcnpTQTs7RUFzQ0U7RUFDQTtDN0VveFNGOztBNkUzelNBOztFQTZDRztDN0VteFNIOztBNkU5d1NDO0VBRUM7RUFDQTtDN0VneFNGOztBRTl3U0k7RTJFTEg7SUFNRTtHN0VreFNEO0NBQ0Y7O0E2RWh4U0U7RUFDQztFQUNBO0VBQUE7QzdFbXhTSDs7QTZFOXhTRTtFcEQ5Q0Q7RUFDQTtFb0Q4REU7S0FBQTtFQUNBO0VBQUE7S0FBQTtDN0VteFNIOztBNkU5d1NDO0V4RGhESTtFQUFBO0VBQUE7RUFBQTtDckJxMFNMOztBNkVyeFNFO0VBSUM7QzdFcXhTSDs7QUUzeVNJO0UyRWtCSDtJeERoREk7SUFBQTtHckIrMFNIO0NBQ0Y7O0FFbHpTSTtFMkVrQkg7SXhEaERJO0lBQUE7SUFBQTtJQUFBO0dyQncxU0g7Q0FDRjs7QThFdjNTQTs7OztHOUU2M1NFOztBOEV2M1NGO0VBQ0U7QzlFMDNTRjs7QThFdjNTQTtFQU1FO0VBQ0E7RUFFQTtFQUNBO0VBT0E7QzlFODJTRjs7QUU3MFNJO0U0RWxESjtJQWFJO0lBQ0E7RzlFdTNTRjtDQUNGOztBOEV0NFNBO0VBb0JJO0M5RXMzU0o7O0E4RTE0U0E7RUF3Qkk7RUFDQTtDOUVzM1NKOztBRTcxU0k7RTRFbERKO0lBNEJNO0lBQ0E7RzlFdzNTSjtDQUNGOztBOEV0NVNBO0VBa0NJO0VBQ0E7QzlFdzNTSjs7QUV6MlNJO0U0RWxESjtJQXNDTTtJQUNBO0c5RTAzU0o7Q0FDRjs7QThFbDZTQTtFQTRDSTtDOUUwM1NKOztBOEV0NlNBOztFQWtESTtDOUV5M1NKOztBOEUzNlNBOztFQXFETTtVQUFBO0M5RTIzU047O0E4RXQzU0U7RUFDRTtFQUVBO0M5RXczU0o7O0E4RXQzU0k7RUFDRTtFQUNBO0VBQUE7QzlFeTNTTjs7QUV4NFNJO0U0RWFBO0lBS0k7RzlFMjNTTjtDQUNGOztBOEV4M1NJO0VBQ0U7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlFMjNTTjs7QThFajRTSztFQVNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUU0M1NSOztBOEU3NFNLO0VBb0JLO0M5RTYzU1Y7O0E4RS81U0c7RXJEM0RGO0VBQ0E7RXNEVkQ7RUQ4R007S0FBQTtFQUNBO0tBQUE7QzlFNDNTTjs7QThFdjNTRTtFQUNFO0VBQ0E7QzlFMDNTSjs7QThFNTNTRztFQUtHO0M5RTIzU047O0E4RWg0U0c7RUFTRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5RTIzU047O0FFaDhTSTtFNEV3REQ7SUFrQks7RzlFMjNTTjtDQUNGOztBOEV2OVNHO0VBa0dDO0M5RXkzU0o7O0FFMThTSTtFNEVqQkQ7SUFxR0c7RzlFMjNTSjtDQUNGOztBOEVoNFNHO0VBUUc7RUFDQTtDOUU0M1NOOztBOEVyNFNHO0VBY0s7QzlFMjNTUjs7QThFejRTRztFQW1CRztDOUUwM1NOOztBRTc5U0k7RTRFZ0ZEO0lBc0JLO0c5RTQzU047Q0FDRjs7QThFdjNTQTtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlFdzNTRjs7QThFLzNTQTtFQVVJO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlFdzNTSjs7QThFMTRTQTtFQXNCSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUV3M1NKOztBRWhnVEk7RTRFNEdKO0lBK0JNO0lBQ0E7SUFDQTtHOUUwM1NKO0NBQ0Y7O0E4RTU1U0E7RUFzQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUUwM1NKOztBRWhoVEk7RTRFNEdKO0lBNkNNO0c5RTQzU0o7Q0FDRjs7QThFMTZTQTtFckQvSkM7RUFDQTtFcURrTkc7S0FBQTtFQUNBO0VBQUE7S0FBQTtDOUU0M1NKOztBOEV6M1NFO0VBQ0U7RUFDQTtDOUU0M1NKOztBOEUxM1NJO0VBQ0U7RUFDQTtDOUU2M1NOOztBRXZpVEk7RTRFd0tBO0lBS0k7SUFDQTtHOUUrM1NOO0NBQ0Y7O0E4RTMzU0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlFODNTSjs7QUV2alRJO0U0RTRHSjtJQWlGSTtJQUNBO0c5RSszU0Y7Q0FDRjs7QUVqalRJO0U0RStGSjtJQXVGTTtHOUVnNFNKO0NBQ0Y7O0E4RXg5U0E7RUE0RlE7RUFDQTtFQUNBO0VBQ0E7QzlFZzRTUjs7QUU5alRJO0U0RStGSjtJQWtHVTtJQUNBO0lBQ0E7RzlFazRTUjtDQUNGOztBOEV2K1NBO0VBeUdRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlFazRTUjs7QUU5a1RJO0U0RStGSjtJQWdIVTtJQUNBO0c5RW80U1I7Q0FDRjs7QThFOTNTQTtFQUVFO0VBQ0E7RUFFQTtFQUNBO0M5RSszU0Y7O0E4RXI0U0E7RUFTSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQUE7RUFBQTtDOUVnNFNKOztBOEU3M1NFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5RWc0U0o7O0E4RXQ0U0c7RXJEelNGO0VBQ0E7RXFEbVRLO0tBQUE7RUFDQTtFQUFBO0tBQUE7QzlFaTRTTjs7QUVub1RJO0U0RW9PSjtJQW1DSTtHOUVpNFNGOztFOEUvM1NFO0lBQ0U7RzlFazRTSjs7RThFeDZTRjtJQXlDTTtHOUVtNFNKO0NBQ0Y7O0FBM25IQTtFOEVod0xJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUUrM1NKOztBRTdvVEk7RUZpaE1BO0k4RWh3TEU7SUFDQTtHOUVpNFNKO0NBQ0Y7O0FBaG9IRTtFOEU5dkxJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0M5RWs0U047O0E4RS8zU0k7RUFDRTtJQUNFO1lBQUE7RzlFazRTTjtDQUNGOztBOEVyNFNJO0VBQ0U7SUFDRTtZQUFBO0c5RWs0U047Q0FDRjs7QUFwb0hFO0U4RTF2TEk7QzlFazRTTjs7QUFyb0hBO0U4RW52TFE7VUFBQTtDOUU0M1NSOztBQXRvSEE7RThFbHZMUTtDOUU0M1NSOztBQXZvSEE7RThFNXVMTTtDOUV1M1NOOztBQXpvSEU7RThFM3VMTTtDOUV3M1NSOztBQTNvSEk7RThFMXVMTTtDOUV5M1NWOztBQTVvSEE7RThFdHVMSTtFQUNBO0VBQ0E7RUFDQTtDOUVzM1NKOztBRXBzVEk7RUZ1ak1BO0k4RXR1TEU7SUFDQTtHOUV3M1NKO0NBQ0Y7O0FBanBIRTtFOEVwdUxJO0M5RXkzU047O0FBbnBISTtFOEVudUxJO0M5RTAzU1I7O0E4RXAzU0E7RUFFSTtFQUNBO0VBQ0E7RUFDQTtDOUVzM1NKOztBRXZ1VEk7RTRFNFdKO0lBUU07RzlFdzNTSjtDQUNGOztBOEVqNFNBO0VBWU07QzlFeTNTTjs7QThFcjRTQTtFQWdCTTtDOUV5M1NOOztBRXJ2VEk7RTRFaVlKO0lBRUk7RzlFdTNTRjtDQUNGOztBZ0Z2elRBOzs7O0doRjZ6VEU7O0FnRnh6VEY7RUFPRTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0NoRm16VEY7O0FnRmgwVEE7RUFpQkk7RUFDQTtDaEZtelRKOztBZ0ZyMFRBO0VBd0JJO0VBQ0E7Q2hGaXpUSjs7QWdGMTBUQTtFQTRCTTtDaEZrelROOztBZ0Y5MFRBOztFQW1DTTtDaEZnelROOztBZ0ZuMVRBOztFQXVDTTtVQUFBO0NoRml6VE47O0FnRngxVEE7O0VBMkNNO0NoRmt6VE47O0FnRjcxVEE7O0VBK0NNO0VBQ0E7RUFBQTtDaEZtelROOztBRTV5VEk7RThFSEY7SUFFSTtHaEZrelRKO0NBQ0Y7O0FnRi95VEU7RTFEdkREO0VBcUJJO0VBQUE7RUFBQTtFQUFBO0UwRHVDRDtDaEZtelRKOztBZ0ZoelRFO0VBR0U7RUFDQTtDaEZpelRKOztBZ0Y5eVRFO0UxRHRFRDtFQXFCSTtFQUFBO0VBQUE7RUFBQTtFR3BCSjtFQUNBO0V1RHlFRztLQUFBO0VBQ0E7RUFBQTtLQUFBO0VBRUE7Q2hGbXpUSjs7QWdGL3lURTtFMURsRkQ7RUFxQkk7RUFBQTtFQUFBO0VBQUE7RUdwQko7RUFDQTtFdURvRkc7RUFBQTtLQUFBO0VBQ0E7S0FBQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0VBQ0E7RUFFQTtDaEZxelRKOztBZ0ZuNVRBO0UxREdDO0VBcUJJO0VBQUE7RUFBQTtFMEQ2RUQ7RUFDQTtFQUFBO0VBSUE7RUFDQTtFQUFBO0VBQ0E7RUFDQTtDaEZtelRKOztBZ0ZqelRZO0VBQ047Q2hGb3pUTjs7QWdGL3lURTtFQUNFO0UzRDdGQztFQ3RCSjtFQXFCSTtFQUFBO0VBQUE7RTBEa0dEO0NoRm96VEo7O0FFdjNUSTtFOEU4REY7STVENUZHO0lBQUE7SUFBQTtHcEI0NVRIO0NBQ0Y7O0FnRmp6VEU7RTVENUdHO0VBQUE7RTREaUhEO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtDaEZrelRKOztBZ0YveVRFO0U1RHhIRztFQUFBO0VBQUE7RTRENEhEO0NoRmt6VEo7O0FnRjl5VEU7RTNEaElHO0UyRHFJRDtDaEY4eVRKOztBZ0YxeVRFO0V2RDlKRDtFQUNBO0V1RGdLRztFQUNBO0VBQUE7RUFDQTtDaEY2eVRKOztBZ0YxeVRFO0VBQ0U7Q2hGNnlUSjs7QUVqNlRJO0U4RW1IRjtJQUlJO0doRit5VEo7Q0FDRjs7QWdGOTlUQTtFQW9MSTtFQUNBO0NoRjh5VEo7O0FFNTZUSTtFOEV2REo7SUF5TEk7R2hGK3lURjs7RWdGN3lURTtJQUNFO0doRmd6VEo7O0VnRjUrVEY7SUFnTU07SUFDQTtHaEZnelRKOztFZ0ZqL1RGO0lBcU1NO0lBQ0E7R2hGZ3pUSjs7RWdGdC9URjtJQTJNUTtHaEYreVROO0NBQ0Y7O0FnRnh5VEU7RUFFRTtFQVlBO0VBQ0E7Q2hGK3hUSjs7QWdGOXlURztFQUtHO0VBQ0E7Q2hGNnlUTjs7QWdGbnpURztFQVVHO0VBQ0E7Q2hGNnlUTjs7QWdGeHpURztFQWtCRztFQUNBO0NoRjB5VE47O0FnRjd6VEc7RUF1Qkc7RUFDQTtDaEYweVROOztBZ0ZsMFRHO0VBNkJHO0VBQ0E7Q2hGeXlUTjs7QUVuK1RJO0U4RTRKRjtJQW1DSTtJQUNBO0doRnl5VEo7O0VnRjcwVEM7SUF1Q0s7SUFDQTtJQUNBO0doRjB5VE47O0VnRm4xVEM7SUE2Q0s7R2hGMHlUTjs7RWdGdjFUQztJQWlESztJQUNBO0doRjB5VE47Q0FDRjs7QWlGcmpVQTs7OztHakYyalVFOztBaUZ0alVGO0U3RHlCSztDcEJpaVVMOztBaUYxalVBO0U3RHlCSztDcEJxaVVMOztBaUZsalVDO0U3RGFJO0VBQUE7Q3BCMGlVTDs7QWlGampVQztFN0RPSTtFQ0FBO0U0REZIO0VBQ0E7RUFDQTtDakZralVGOztBa0ZobFVBOzs7O0dsRnNsVUU7O0FrRnZrVUQ7RTlEZUk7RUFBQTtDcEI2alVMOztBRS9oVUk7RWdGN0NIO0k5RGVJO0lBQUE7R3BCbWtVSDtDQUNGOztBa0ZubFVFO0VBU0M7Q2xGOGtVSDs7QWtGdmxVRTtFQWtCQztDbEZ5a1VIOztBa0Zwa1VDO0U3RFJJO0VBQUE7RTZEV0g7Q2xGdWtVRjs7QUVwalVJO0VnRnRCSDtJN0RSSTtJQUFBO0dyQndsVUg7Q0FDRjs7QW1Gdm5VQTs7Ozs7R25GOG5VRTs7QW1GeG5VRjtFQTBDQzs7Ozs7Ozs7SW5GeWxVRTtDQUNIOztBbUY3blVDO0VBSUM7RUFDQTtDbkY2blVGOztBbUZ4blVDO0UxRGRBO0VBQ0E7RTBEaUJDO0VBQUE7S0FBQTtFQUNBO0tBQUE7RUFFQTtFQUNBO0NuRnluVUY7O0FtRnJuVUM7RUFHQztFQUNBO0VBQ0E7VUFBQTtDbkZzblVGOztBRWxtVUk7RWlGekJIO0lBUUU7SUFDQTtHbkZ3blVEO0NBQ0Y7O0FtRjVtVUM7RTFEaERBO0VBQ0E7RTBEb0RDO0VBQ0E7Q25GNm1VRjs7QW1Gbm5VRTtFMURoREQ7RUFDQTtFMEQwREU7Q25GOG1VSDs7QW1Gdm1VRTtFMURsRUQ7RUFDQTtDekI2cVVEOztBRTNuVUk7RWlGZUY7STFEbEVEO0lBQ0E7R3pCbXJVQztDQUNGOztBbUYzbVVFO0UxRDFFRDtFQUNBO0N6QnlyVUQ7O0FFdm9VSTtFaUZ1QkY7STFEMUVEO0lBQ0E7R3pCK3JVQztDQUNGOztBbUZob1VFO0UxRGpFRDtFQUNBO0N6QnFzVUQ7O0FvRi9zVUE7Ozs7R3BGcXRVRTs7QW9GaHRVRjtFaEV5Qks7RUFBQTtFZ0VsQko7Q3BGK3NVRDs7QUUvcFVJO0VrRnZESjtJaEV5Qks7SUFBQTtHcEJtc1VIO0NBQ0Y7O0FvRnB0VUM7RUFJQztDcEZvdFVGOztBb0Y3c1VFO0UvREtHO0VBQUE7RUFBQTtFK0RBRjtDcEYrc1VIOztBRWpyVUk7RWtGbkNGO0kvREtHO0lEQUE7SUFBQTtHcEJzdFVIO0NBQ0Y7O0FvRjV0VUc7RTlEakJGO0VBcUJJO0VBQUE7RThEaUJEO0VBRUE7RUFDQTtFQUNBO0NwRjZzVUo7O0FFbnNVSTtFa0ZQUztJQUNQO0dwRjhzVUo7O0VvRjNzVVc7SUFDUDtHcEY4c1VKO0NBQ0Y7O0FvRmh2VUc7RUF5Q0M7RUFDQTtDcEYyc1VKOztBRWx0VUk7RWtGbkNEO0lBNkNFO0lBQ0E7R3BGNnNVSDtDQUNGOztBb0Y1dlVHO0VBbURDO0VBQ0E7Q3BGNnNVSjs7QUU5dFVJO0VrRm5DRDtJQXVERTtJQUNBO0dwRitzVUg7Q0FDRjs7QW9GM3NVRTtFM0Q3RUQ7RUFDQTtFMkRnRkU7RUFBQTtLQUFBO0VBQ0E7S0FBQTtFQUVBO0VBQ0E7Q3BGNHNVSDs7QUU5dVVJO0VrRjBCRjtJM0Q3RUQ7SUFDQTtHekJzeVVDO0NBQ0Y7O0FxRmp6VUE7Ozs7R3JGdXpVRTs7QXFGbHpVRjtFaEV5Qks7RUFBQTtFQUFBO0VBQUE7RWdFZko7RUFDQTtFQUNBO0NyRmd6VUQ7O0FxRjl5VUM7RWpFV0k7RUFBQTtFaUVQSDtDckZnelVGOztBcUZwelVFO0VBUUM7Q3JGZ3pVSDs7QXFGeHpVRTtFQVdDO0NyRml6VUg7O0FxRjV6VUU7RWpFV0c7Q3BCcXpVTDs7QXFGN3lVRTs7O0VBTUM7RUFDQTtDckY2eVVIOztBcUZ6eVVFO0VBSUM7Q3JGeXlVSDs7QXFGN3lVRTtFQVFDO0NyRnl5VUg7O0FxRmp6VUU7RUFZQztDckZ5eVVIOztBcUZyelVFO0VBZUM7Q3JGMHlVSDs7QXFGcnlVRTtFaEV2Q0c7RUFBQTtFREFBO0VBQUE7RWlFNENGO0VBQ0E7RUFDQTtFQUNBO0NyRnd5VUg7O0FxRnR5VUc7RUFHQztDckZ1eVVKOztBcUZyeVVHO0VBR0M7RUFDQTtVQUFBO0NyRnN5VUo7O0FxRnB5VUc7RUFFQztFQUNBO1VBQUE7Q3JGc3lVSjs7QXFGcHlVRztFQUdDO1VBQUE7Q3JGcXlVSjs7QXFGeHlVSTtFakVqRUM7RWlFMEVBO0VBQ0E7RUFDQTtDckZveVVMOztBcUY3eFVDO0VBSUM7Q3JGNnhVRjs7QXFGanlVRTtFQVNDO0VBQ0E7Q3JGNHhVSDs7QXFGdHlVRTtFNUR4R0Q7RUFDQTtFTG9CSTtFaUVvR0Y7Q3JGNHhVSDs7QXFGeHhVQztFL0Q5SEE7RUFxQkk7RUFBQTtFQUFBO0VBQUE7RU5yQkg7RUFDQTtFU0FEO0VBQ0E7RTREbUlDO0VBQUE7RUFFQTtDckY2eFVGOztBcUZ0eVVFO0VyRXpIQTtFQUNBO0NoQm02VUY7O0FxRjN5VUU7RUFnQkM7Q3JGK3hVSDs7QXFGM3hVQztFakU1SEk7RUFBQTtDcEI0NVVMOztBcUY3eFVFO0VBQ0M7Q3JGZ3lVSDs7QXFGN3hVRztFQUlDO0NyRjZ4VUo7O0FxRmp5VUc7RUFRQztVQUFBO0VBQ0E7RWhFNUlDO0VBQUE7Q3JCMjZVTDs7QXFGeHlVRztFQWNFO0NyRjh4VUw7O0FxRjV5VUc7RUFrQkU7Q3JGOHhVTDs7QXFGenhVRztFQUtFO1VBQUE7Q3JGd3hVTDs7QXFGN3hVRztFQVFHO0VBQ0E7Q3JGeXhVTjs7QXFGbHlVRztFQWNFO1VBQUE7Q3JGd3hVTDs7QXFGdHlVRztFQWlCRztFQUNBO0VBQ0E7Q3JGeXhVTjs7QXFGcHhVRztFQUlDO1VBQUE7Q3JGb3hVSjs7QXFGeHhVRztFQVFHO0VBQ0E7RUFDQTtDckZveFVOOztBcUY5eFVHO0VBZUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckZteFVOOztBcUZ0eVVHO0VqRWxMRTtFaUU0TUM7RUFDQTtDckZpeFVOOztBcUY1d1VHO0VBV0U7VUFBQTtDckZxd1VMOztBcUZoeFVHO0VBTUc7RUFDQTtFQUNBO0NyRjh3VU47O0FxRnR4VUc7RUFvQkU7VUFBQTtDckZzd1VMOztBcUYxeFVHO0VBZUc7RUFDQTtFQUNBO0NyRit3VU47O0FxRmh5VUc7RUF3QkU7VUFBQTtDckY0d1VMOztBcUZweVVHO0VBMkJHO0VBQ0E7RUFDQTtFQUNBO0NyRjZ3VU47O0FxRnRoVkE7RS9ER0M7RUFxQkk7RUFBQTtFRkNBO0VBQUE7RWlFaVFIO0VBQ0E7RUFBQTtFQUNBO0NyRnF3VUY7O0FxRmppVkE7RUFpU0c7RUFBQTtFQUFBO0VBQUE7RUFDQTtDckZvd1VIOztBcUZ0aVZBO0VBc1NHO0NyRm93VUg7O0FxRjFpVkE7RUF5U0k7VUFBQTtDckZxd1VKOztBcUYvdlVDO0VqRXRSSTtDcEJ5aFZMOztBcUZod1VHO0VBS0M7VUFBQTtDckYrdlVKOztBcUZwd1VHO0VoRXpSRTtFQUFBO0VnRW9TRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFBQTtDckY4dlVKOztBcUYvd1VHO0VBdUJFO0VBQ0E7Q3JGNHZVTDs7QXFGdnZVRztFQUVDO0NyRnl2VUo7O0FxRjN2VUc7RUFZRztDckZtdlVOOztBcUY1dVVDO0VqRXpVSTtFQUFBO0NwQjBqVkw7O0FxRjd1VUM7RWpFN1VJO0VBQUE7Q3BCK2pWTDs7QXFGOXVVRTs7RWpFalZHO0VBQUE7RWlFdVZGO0VBQ0E7RUFDQTtDckYrdVVIOztBcUZ2dlVFOztFakVqVkc7RUFBQTtDcEI4a1ZMOztBcUY3dlVFOztFakVqVkc7Q3BCbWxWTDs7QXFGbHdVRTs7RWpFalZHO0NwQndsVkw7O0FzRnRuVkE7Ozs7O0d0RjZuVkU7O0FzRnZuVkY7RWpFd0JLO0VBQUE7RUFBQTtFQUFBO0VpRWZKO0N0RnNuVkQ7O0FzRjFuVlM7RUFDUDtDdEY2blZGOztBc0Zub1ZBO0VsRXdCSztFQUFBO0VrRU5IO0N0RnVuVkY7O0FFbmxWSTtFb0Z0REo7SWxFd0JLO0lBQUE7SUFBQTtJQUFBO0dwQnluVkg7O0VzRmpwVkY7SUF3Qkk7R3RGNm5WRjs7RXNGcnBWRjs7SUE2Qkk7R3RGNm5WRjs7RXNGMXBWRjtJQWlDSTtHdEY2blZGO0NBQ0Y7O0FzRi9wVkE7RWpFd0JLO0VBQUE7Q3JCNG9WTDs7QXNGMW5WQztFQUlDO0N0RjBuVkY7O0FzRjluVkU7RUFPQztVQUFBO0N0RjJuVkg7O0FzRmxvVkU7RWpFbEJHO0VBQUE7RWlFaUNGO0VBQ0E7RUFDQTtFQUNBO0N0RnluVkg7O0FzRjNvVkU7RUFxQkU7Q3RGMG5WSjs7QXNGL29WRTtFQXlCRTtDdEYwblZKOztBc0ZucFZFO0VsRWxCRztFS3JCSjtFQUNBO0N6QityVkQ7O0FzRnpwVkU7RUFtQ0U7RUFDQTtDdEYwblZKOztBc0ZyblZDO0VqRTNESTtFQUFBO0VBQUE7RUFBQTtFaUU4REg7Q3RGMG5WRjs7QUUxcFZJO0VvRjZCSDtJakUzREk7SUFBQTtJQUFBO0lBQUE7R3JCZ3NWSDtDQUNGOztBc0Y1blZFO0VBRUM7Q3RGOG5WSDs7QXVGbnVWQTs7OztHdkZ5dVZFOztBdUZwdVZGO0VsRXlCSztFa0VsQko7Q3ZGa3VWRDs7QUVsclZJO0VxRnZESjtJbEV5Qks7R3JCcXRWSDtDQUNGOztBdUYvdVZBO0VuRXlCSztDcEIwdFZMOztBdUZydVZDO0VuRVdJO0VtRVBIO0VBQ0E7Q3ZGc3VWRjs7QXVGcHVWRTtFbkVJRztDcEJvdVZMOztBdUYvdVZFO0VBY0M7Q3ZGcXVWSDs7QUUxc1ZJO0VxRnpDSDtJQWtCRTtHdkZzdVZEO0NBQ0Y7O0F1RnB1VkU7RWpFaENEO0VBcUJJO0VBQUE7RUFBQTtFQUFBO0VHcEJKO0VBQ0E7RThEa0NFO0VBQUE7S0FBQTtFQUNBO0tBQUE7RUFDQTtFQUVBO0N2RjB1Vkg7O0F1RnZ3VkU7RWpFWEQ7RUFxQkk7RUFBQTtFQUFBO0VpRTBCRjtFQUVBO0VBQ0E7RUFBQTtFQUlBO0N2RnV1Vkg7O0FFenVWSTtFcUZ6Q0Y7SUE4Q0U7R3ZGeXVWRjtDQUNGOztBdUZ0dVZFO0VsRXZDRztFa0UyQ0Y7RUFDQTtDdkZ1dVZIOztBRXJ2Vkk7RXFGU0Y7SWxFdkNHO0dyQnd4Vkg7Q0FDRjs7QXVGbHZWRztFbkV2Q0U7Q3BCNnhWTDs7QUUvdlZJO0VxRlNEO0luRXZDRTtHcEJreVZIO0NBQ0Y7O0F1RnZ1VkU7RW5FNURHO0VtRThERjtDdkYwdVZIOztBRTF3Vkk7RXFGOEJGO0lBS0U7SUFDQTtHdkY0dVZGO0NBQ0Y7O0F1Rnp1VkU7RW5FdEVHO0VBQUE7RW1FMEVGO0VBQ0E7Q3ZGMnVWSDs7QUV4eFZJO0VxRndDRjtJbkV0RUc7SW1FZ0ZEO0lBQ0E7R3ZGNHVWRjtDQUNGOztBdUZ2dVZDO0VuRXZGSTtFQUFBO0NwQm0wVkw7O0FFcnlWSTtFcUZ5REg7SW5FdkZJO0lBQUE7R3BCeTBWSDtDQUNGOztBdUYzdVZHO0VuRS9GRTtDcEI4MFZMOztBdUYvdVZHO0VuRS9GRTtDcEJrMVZMOztBdUZudlZHO0VuRS9GRTtFbUUwR0Q7Q3ZGNnVWSjs7QUV6elZJO0VxRmlFRDtJbkUvRkU7R3BCNDFWSDtDQUNGOztBdUY5dlZHO0VBbUJDO0VBQ0E7Q3ZGK3VWSjs7QUVwMFZJO0VxRmlFRDtJbkUvRkU7SW1FdUhBO0lBQ0E7R3ZGaXZWSDtDQUNGOztBdUYzdVZDO0VuRS9ISTtFQUFBO0NwQisyVkw7O0FFajFWSTtFcUZpR0g7SW5FL0hJO0lBQUE7R3BCcTNWSDtDQUNGOztBdUYxdVZFO0VuRTVJRztFQUFBO0NwQjIzVkw7O0F1RjV1VkU7RWxFL0lHO0VBQUE7RUlyQko7RUFDQTtFOER5S0U7RUFDQTtDdkY4dVZIOztBRXQyVkk7RXFGaUhGO0lsRS9JRztJQUFBO0lJckJKO0lBQ0E7R3pCZzZWQztDQUNGOztBdUY5dlZHO0U5RHBLRjtFQUNBO0U4RG9MRztFQUNBO0tBQUE7RUFDQTtFQUFBO0tBQUE7Q3ZGbXZWSjs7QXVGL3VWRTtFOUQzTEQ7RUFDQTtFSEZBO0VBcUJJO0VGQ0E7RW1FNEtGO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7Q3ZGa3ZWSDs7QXVGM3ZWRztFOUQzTEY7RUFDQTtFOER3TUc7Q3ZGbXZWSjs7QXVGandWRztFQWtCQztDdkZtdlZKOztBdUZodlZHO0VuRTNMRTtFbUU2TEQ7Q3ZGbXZWSjs7QXVGanZWRztFbkUvTEU7RW1FaU1EO0N2Rm92Vko7O0F3Rm45VkE7Ozs7R3hGeTlWRTs7QUU3NVZFO0VzRnZESjtJcEV5Qks7SUFBQTtHcEJpOFZIO0NBQ0Y7O0F3RjM5VkE7RXBFeUJLO0VBQUE7RUFBQTtDcEJ3OFZMOztBd0Z0OVZDO0VwRWNJO0VBQUE7RW9FVkg7RUFDQTtDeEZ3OVZGOztBRWo3Vkk7RXNGNUNIO0lBUUU7SUFDQTtHeEYwOVZEO0NBQ0Y7O0F3RnY5VkM7RUFHQztFQUNBO0N4Rnc5VkY7O0FFNzdWSTtFc0YvQkg7SUFPRTtJQUNBO0d4RjA5VkQ7Q0FDRjs7QXlGaGdXQTs7OztHekZzZ1dFOztBeUZqZ1dGO0VwRXlCSztFQUFBO0VvRXRCSjtFQUNBO0VBQ0E7Q3pGb2dXRDs7QUVsOVZJO0V1RmhESDtJQUdFO0lBQ0E7R3pGb2dXRDtDQUNGOztBeUZoZ1dDO0VyRVNJO0VDQUE7RUFBQTtFb0VKSDtFQUNBO0VBQ0E7RUFDQTtDekZrZ1dGOztBRW4rVkk7RXVGdkNIO0lBV0U7R3pGb2dXRDtDQUNGOztBeUZqZ1dDO0VBQ0M7RUFBQTtFQUNBO0VBQUE7VUFBQTtFQUNBO0N6Rm9nV0Y7O0F5RmxnV0U7RUFDQztFQUNBO0VBQ0E7RUFDQTtDekZxZ1dIOztBeUZ6Z1dHO0VBT0M7RUFDQTtDekZzZ1dKOztBeUY5Z1dHO0VBV0U7Q3pGdWdXTDs7QXlGamdXQztFckU1Qkk7RUFBQTtFQUFBO0NwQm1pV0w7O0F5RnZnV0U7RUFJQztDekZ1Z1dIOztBeUZqZ1dBOzs7OztHekZ3Z1dFOztBeUZsZ1dGO0VuRWxFQztFQXFCSTtFQUFBO0VBQUE7RUFBQTtFbUVpREo7Q3pGdWdXRDs7QXlGcGdXUztFbkV6RVI7RUFxQkk7RUFBQTtFQUFBO0VBQUE7Q3RCZ2tXTDs7QUVqaVdJO0V1RnFCSztJQUlOO0d6RjZnV0Q7O0V5RmpoV1E7SXJFbkRMO0dwQndrV0g7Q0FDRjs7QXlGeGdXUztFbkV2RlI7RUFxQkk7RUFBQTtFQUFBO0VBQUE7Q3RCa2xXTDs7QUVualdJO0V1Rm1DSztJQUlOO0d6RmloV0Q7Q0FDRjs7QXlGM2lXQTtFekVsRUU7RUFDQTtFeUVpR0E7RUFBQTtFQUFBO0VBQUE7RUFLQTtVQUFBO0VBQ0E7RXJFbEZHO0VBQUE7RXFFeUdIO0N6RnkvVkY7O0F5RnRqV0E7O0VBMENHO1VBQUE7Q3pGaWhXSDs7QUV6a1dJO0V1RmNKO0lBOENHO1lBQUE7R3pGa2hXRDtDQUNGOztBeUZqa1dBO0V6RTdERTtFQUNBO0V5RWlIQztVQUFBO0N6RmtoV0g7O0F5RnZrV0E7O0VBd0RJO1VBQUE7Q3pGb2hXSjs7QUUxbFdJO0V1RmNKO0lBZ0VHO0d6RmloV0Q7Q0FDRjs7QXlGNWdXQztFbkV4SUE7RUFxQkk7RUFBQTtFQUFBO0VBQUE7RU5yQkg7RUFDQTtFeUUySUE7RUFBQTtFQUVBO0VBQ0E7Q3pGa2hXRjs7QXlGemhXRTtFekVuSUE7RUFDQTtDaEJncVdGOztBeUY5Z1dBOzs7O0d6Rm9oV0U7O0F5Ri9nV0Y7RXJFdklLO0VBQUE7RUNBQTtFQUFBO0NyQjZwV0w7O0F5RmhoV0E7Ozs7R3pGc2hXRTs7QXlGNWdXRDtFcEV2Skk7RUFBQTtFb0UySkg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0N6RjhnV0Y7O0F5RnRoV0U7RUFXQztDekYrZ1dIOztBMEYvc1dBOzs7O0cxRnF0V0U7O0EwRmh0V0Y7RUFHQztFQUFBO0VBQ0E7QzFGaXRXRDs7QTBGcnRXQTtFQU9FO0MxRmt0V0Y7O0EwRnp0V0E7RUFXRTtFQUNBO0VBQ0E7QzFGa3RXRjs7QTBGL3RXQTtFdEV5Qks7RUFBQTtFc0VQRjtDMUZtdFdIOztBMEZydVdBO0VBdUJFO0MxRmt0V0Y7O0EwRi9zV0M7RUFHQztDMUZndFdGOztBMEY3dVdBOztFakVJQztFQUNBO0VpRWtDQztFQUNBO0MxRjZzV0Y7O0EwRnJ2V0E7O0VqRUlDO0VBQ0E7Q3pCc3ZXRDs7QTBGM3NXRTtFQUtFO0MxRjBzV0o7O0EwRi9zV0U7RXBFN0NEO0VBcUJJO0VBQUE7RURDQTtFQUFBO0VBQUE7RUFBQTtFREFBO0VzRTJDRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtDMUZ1c1dIOztBMEY5cldDO0V0RTlESTtDcEJnd1dMOztBMEY5cldDO0V0RWxFSTtDcEJvd1dMOztBMEY5cldDO0VBRUM7RUFDQTtFQUNBO1VBQUE7QzFGZ3NXRjs7QTBGcHNXRTtFQU9DO0MxRmlzV0g7O0EwRjdyV0M7RXRFakZJO0VBQUE7RXNFbUZIO0VBQ0E7RUFDQTtDMUZpc1dGOztBMEY5cldDO0VBQ0M7RUFDQTtFQUNBO0MxRmlzV0Y7O0EwRjNyV0U7RUFDQztDMUY4cldIOztBMEYvcldHO0VqRXRIRjtFQUNBO0VpRTZIRztFQUNBO0VBQ0E7QzFGNnJXSjs7QTBGdnNXRztFQWFFO0VBQ0E7QzFGOHJXTDs7QTBGNXNXRzs7RUFxQkU7RUFDQTtFQUNBO0MxRjRyV0w7O0EwRm50V0c7RUEyQkU7QzFGNHJXTDs7QTBGdnRXRztFQStCRTtDMUY0cldMOztBMEYzdFdHO0VBbUNFO0MxRjRyV0w7O0EwRi90V0c7RUFzQ0c7QzFGNnJXTjs7QTBGdHJXVztFQUNQO0MxRnlyV0o7O0EwRm5yV0E7Ozs7O0cxRjByV0U7O0EyRjcyV0Y7Ozs7O0czRm8zV0U7O0EyRnIyV0Q7RXZFZUk7RUFBQTtDcEIyMVdMOztBMkYxMldFO0V2RWVHO0NwQisxV0w7O0EyRjkyV0U7RXZFZUc7Q3BCbTJXTDs7QTJGdDJXRTtFbEVsQkQ7RUFDQTtFa0VzQkU7RUFDQTtFQUNBO0MzRnUyV0g7O0EyRnIyV1c7O0VBQ1A7RUFDQTtFQUNBO0MzRnkyV0o7O0E0Rmg1V0E7Ozs7O0c1RnU1V0U7O0E0Rmo1V0Y7RUFLQztFQUNBO0M1Rmc1V0Q7O0E0RnQ1V0E7RUFTRTtDNUZpNVdGOztBNEYxNVdBO0VBYUU7RUFDQTtDNUZpNVdGOztBNEYvNVdBO0VuRUdDO0VBQ0E7RUxvQkk7RXdFRkg7RUFDQTtDNUZnNVdGOztBNEY5NFdVO0VuRXRCVDtFQUNBO0VtRXdCRTtDNUZpNVdIOztBNEY3NldBO0VBZ0NHO0M1Rmk1V0g7O0E0Rmo3V0E7RXRFRUM7RUFxQkk7RUFBQTtFQUFBO0VBQUE7RUZDQTtFQUFBO0VBQUE7RUFBQTtFS3JCSjtFQUNBO0VtRXFDRTtFQUNBO0VBQUE7RUFDQTtDNUZ1NVdIOztBNEZyNVdXO0VBQ1A7QzVGdzVXSjs7QTRGcjVXVztFbkU5Q1Y7RUFDQTtDekJ1OFdEOztBNkZqOVdBOzs7OztHN0Z3OVdFOztBNkZsOVdGO0V4RXdCSztFQUFBO0VBQUE7RUFBQTtFQ3RCSjtFQXFCSTtFQUFBO0VBQUE7RXVFbkJKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtVQUFBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFHQTtFQUNBO0M3RnU5V0Q7O0E2RnI5V1M7RUFDUDtDN0Z3OVdGOztBRXA3V0k7RTJGdERKO0l4RXdCSztJQUFBO0l3RUFIO0lBQ0E7SUFBQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7WUFBQTtJQUNBO0lBQ0E7RzdGeTlXQTs7RTZGLy9XRjs7SUEyQ0c7SUFDQTtHN0Z5OVdEOztFNkZwL1dPO0lBK0JOO0c3Rnk5V0Q7Q0FDRjs7QTZGMWdYQTtFQXFERTtVQUFBO0VBQ0E7QzdGeTlXRjs7QTZGcDlXQztFcEV4REE7RUFDQTtFTG9CSTtDcEI2L1dMOztBNkYxOVdFO0VwRXhERDtFQUNBO0VvRWdFRTtDN0Z1OVdIOztBNkZqOVdDO0V6RWxESTtFQUFBO0V5RXFESDtFQUNBO0VBQ0E7QzdGbzlXRjs7QTZGejlXRTtFekVsREc7Q3BCK2dYTDs7QTZGajlXQztFekU5REk7RUFBQTtDcEJvaFhMOztBNkZ0OVdFO0V6RTlERztDcEJ3aFhMOztBNkZqOVdDO0V6RXZFSTtFQUFBO0NwQjZoWEw7O0E2RnQ5V0U7RXpFdkVHO0NwQmlpWEw7O0E2RjE5V0U7RXpFdkVHO0NwQnFpWEw7O0E2Rm45V0M7RXpFbEZJO0V5RXFGSDtDN0ZxOVdGOztBOEZ4a1hBOzs7O0c5RjhrWEU7O0ErRjlrWEY7Ozs7O0cvRnFsWEU7O0ErRi9rWEY7RTNFd0JLO0NwQjJqWEw7O0ErRm5sWEE7RTNFd0JLO0NwQitqWEw7O0ErRjdrWEM7RS9FUkM7RUFDQTtFK0VXQTtFQUFBO0VBQ0E7RUFDQTtDL0Yra1hGOztBK0ZybFhFO0UzRWNHO0VBQUE7Q3BCNGtYTDs7QStGMWxYRTtFQWFDO0MvRmlsWEg7O0ErRjlrWEU7RTFFRkc7RUFBQTtDckJxbFhMOztBK0ZubVhFO0UzRWNHO0UyRVVGO0VBQ0E7RUFDQTtDL0ZnbFhIOztBK0YxbVhFO0UvRUhBO0VBQ0E7RStFaUNDO0MvRmlsWEg7O0FnR2hvWEE7Ozs7OztHaEd3b1hFOztBZ0dob1hGO0VBT0M7RUFDQTtFQUNBO0VBRUE7Q2hHNG5YRDs7QWdHdm9YQTtFQWNFO0NoRzZuWEY7O0FnRzNvWEE7RTFFQUM7RUFxQkk7RUFBQTtFQUFBO0VGQ0E7RUFBQTtFNEVBSDtFQUFBO0VBQUE7RUFBQTtFQUNBO0NoRytuWEY7O0FnRzduWFU7RTVFSEw7RUFBQTtDcEJxb1hMOztBZ0czcFhBO0U1RXNCSztFQUFBO0VDQUE7RUFBQTtFMkVjSDtFQUNBO0NoRytuWEY7O0FnRzduWFU7RUFDUDtVQUFBO0NoR2dvWEg7O0FnRzNuWEM7RUFLQztFQUNBO1VBQUE7Q2hHMG5YRjs7QWdHdm5YQztFdkVyREE7RUFDQTtFdUV3REM7Q2hHeW5YRjs7QWdHN25YRTtFdkVyREQ7RUFDQTtFdUU4REU7RUFBQTtFQUNBO0NoR3luWEg7O0FnR3BvWEU7RUFnQkU7Q2hHd25YSjs7QWlHdHNYQTs7OztHakc0c1hFOztBaUd2c1hGO0U3RXlCSztFQUFBO0VBQUE7Q3BCb3JYTDs7QWlHenNYQztFN0VxQkk7RUtyQko7RUFDQTtDekI4c1hEOztBaUcvc1hFO0V4RUFEO0VBQ0E7RUhGQTtFQXFCSTtFQUFBO0VBQUE7RUFBQTtFMkVYRjtFQVVBO0NqR3dzWEg7O0FpR3BzWEM7RXhFdkJBO0VBQ0E7RXdFMEJDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pHc3NYRjs7QWlHOXNYRTtFeEV2QkQ7RUFDQTtFd0VvQ0U7Q2pHc3NYSDs7QWlHbHNYQztFN0VwQkk7RUFBQTtFQUFBO0NwQjR0WEw7O0FpR3BzWEc7RTdFeEJFO0U2RWlDRDtFQUNBO0VBQ0E7Q2pHZ3NYSjs7QWlHM3NYRztFQWNDO0VBQ0E7RUFDQTtDakdpc1hKOztBa0d2d1hBOzs7OztHbEc4d1hFOztBa0d4d1hGO0U5RXdCSztFQUFBO0NwQnF2WEw7O0FFdnRYSTtFZ0d0REo7STlFd0JLO0lBQUE7R3BCMnZYSDtDQUNGOztBbUcxeFhBOzs7OztHbkdpeVhFOztBbUczeFhGO0U5RXdCSztFQUFBO0U4RXJCSjtDbkc4eFhEOztBRTN1WEk7RWlHdERKO0k5RXdCSztJQUFBO0dyQit3WEg7Q0FDRjs7QW1HL3hYQztFL0VlSTtFK0VaSDtDbkdpeVhGOztBRXZ2WEk7RWlHN0NIO0kvRWVJO0dwQjB4WEg7Q0FDRjs7QW1HaHlYQztFMUVoQkE7RUFDQTtFMEVvQkM7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUFBO0VBQ0E7Q25HK3hYRjs7QW1HM3lYRTtFQWdCQztDbkcreFhIOztBbUcveVhFO0VBb0JDO0NuRyt4WEg7O0FtR256WEU7RTFFaEJEO0VBQ0E7RUxvQkk7RStFc0JGO0NuRyt4WEg7O0FvR24xWEE7Ozs7O0dwRzAxWEU7O0FvR3AxWEY7RUFHQztDcEdxMVhEOztBb0duMVhFO0VBSUM7RUFDQTtDcEdtMVhIOztBRXZ5WEk7RWtHakRGO0loRm1CRztJQUFBO0lBQUE7SWdGVEQ7SUFDQTtHcEdzMVhGO0NBQ0Y7O0FvR2wyWEU7RTNFRkQ7RUFDQTtFTG9CSTtFQUFBO0VnRkREO0VBVUE7RUFFQTtFQUNBO0VBQUE7Q3BHODBYSjs7QW9HNzJYRTtFaEZtQkc7Q3BCODFYTDs7QW9HajNYRTtFaEZtQkc7Q3BCazJYTDs7QW9HcjNYRTtFQTBDRztDcEcrMFhMOztBb0dqMFhDO0UvRXJDSTtFQUFBO0VBQUE7RUFBQTtFK0UwQ0g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEdvMFhGOztBb0dsMFhFO0VBR0M7Q3BHbTBYSDs7QUV4MVhJO0VrR2tCRjtJQU1FO0dwR3EwWEY7Q0FDRjs7QW9HNTBYRztFaEZoREU7Q3BCZzRYTDs7QW9HaDFYRztFaEZoREU7Q3BCbzRYTDs7QW9HcDBYRTtFaEZoRUc7RUFBQTtFZ0ZtRUY7RUFDQTtDcEd1MFhIOztBb0dyMFhFO0VoRnRFRztFQUFBO0NwQmc1WEw7O0FvR3YwWEU7RWhGekVHO0VnRjZFRjtDcEd3MFhIOztBb0d0MFhFO0U5RXJHRDtFQXFCSTtFQUFBO0VBQUE7RUFBQTtFR3BCSjtFQUNBO0UyRXVHRTtFQUFBO0tBQUE7RUFDQTtLQUFBO0VBQ0E7RUFDQTtDcEc2MFhIOztBcUdqOFhBOzs7O0dyR3U4WEU7O0FxR2w4WEY7RWpGeUJLO0VBQUE7Q3BCODZYTDs7QXFHdjhYQTtFakZ5Qks7Q3BCazdYTDs7QXFHMzhYQTtFakZ5Qks7Q3BCczdYTDs7QXFHbjhYQztFakZhSTtFQUFBO0VpRlJIO1VBQUE7RUFTQTtFQUNBO0VBQ0E7Q3JHNDdYRjs7QXFHNThYRTtFakZhRztDcEJtOFhMOztBcUdoOVhFO0VqRmFHO0NwQnU4WEw7O0FxR3A5WEU7RTVFUkQ7RUFDQTtFTG9CSTtFaUZVRjtDckdvOFhIOztBcUczOVhFO0VBOEJDO0VBQ0E7RUFDQTtFQUNBO0VBQUE7Q3JHaThYSDs7QXFHbCtYRTs7RUFxQ0U7RUFDQTtDckdrOFhKOztBcUd4K1hFO0VBMENFO0NyR2s4WEo7O0FzRzcvWEE7Ozs7O0d0R29nWUU7O0FzRzkvWEY7RWxGd0JLO0VBQUE7RUNBQTtDckI0K1hMOztBRTk4WEk7RW9HdERKO0lsRndCSztJQUFBO0dwQmsvWEg7Q0FDRjs7QXNHM2dZQTtFbEZ3Qks7RUFBQTtDcEJ3L1hMOztBc0doZ1lDO0U3RWJBO0VBQ0E7RTZFZ0JDO0N0R2tnWUY7O0FFaCtYSTtFb0d0Q0g7STdFYkE7SUFDQTtHekJ3aFlDO0NBQ0Y7O0FzR25nWUU7RTdFdkJEO0VBQ0E7RTZFMEJFO0VBQUE7S0FBQTtFQUNBO0tBQUE7Q3RHcWdZSDs7QXNHamdZQztFaEZqQ0E7RUFxQkk7RUFBQTtFQUFBO0VBQUE7RUdwQko7RUFDQTtFTG9CSTtFQUFBO0VrRmtCSDtDdEd1Z1lGOztBc0c5Z1lFO0VBWUM7RUFDQTtDdEdzZ1lIOztBRWhnWUk7RW9HbkJGO0lBZ0JFO0lBQ0E7R3RHd2dZRjtDQUNGOztBdUdua1lBOzs7O0d2R3lrWUU7O0F1R2prWVE7RTlFQ1Q7RUFDQTtDekJva1lEOztBRWxoWUk7RXFHcERNO0k5RUNUO0lBQ0E7SUxvQkk7R3BCdWpZSDtDQUNGOztBdUdya1lVO0VuRmFMO0VBQUE7RUFBQTtFS3JCSjtFQUNBO0N6Qm9sWUQ7O0FFbGlZSTtFcUczQ007SW5GYUw7SUFBQTtJQUFBO0lLckJKO0lBQ0E7R3pCNmxZQztDQUNGOztBdUcxa1lVO0U5RXJCVDtFQUNBO0N6Qm1tWUQ7O0FFampZSTtFcUc5Qk07STlFckJUO0lBQ0E7R3pCeW1ZQztDQUNGOztBdUc5a1lVO0U5RTdCVDtFQUNBO0VMb0JJO0VBQUE7Q3BCNmxZTDs7QXdHM25ZQTs7Ozs7R3hHa29ZRTs7QXdHNW5ZRjtFL0VHQztFQUNBO0N6QjZuWUQ7O0FFM2tZSTtFc0d0REo7SS9FR0M7SUFDQTtHekJtb1lDO0NBQ0Y7O0FFbGxZSTtFc0d0REo7SS9FR0M7SUFDQTtHekIwb1lDO0NBQ0Y7O0F3Ry9vWUE7RS9FR0M7RUFDQTtFK0VnQkc7RUFDQTtFQUFBO0N4R2lvWUo7O0F3R3RwWUE7O0VBMkJLO0N4R2dvWUw7O0F5R2pxWUE7Ozs7O0d6R3dxWUU7O0F5R2xxWUY7RUFNQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtDekdncVlEOztBRXJuWUk7RXVHdERKO0lyRndCSztHcEJ3cFlIO0NBQ0Y7O0F5R2pyWUE7OztFQW9CRTtFQUNBO0VBQ0E7VUFBQTtDekdtcVlGOztBeUd6cllBO0VBNEJHO1VBQUE7Q3pHaXFZSDs7QXlHN3JZQTtFQWdDRztFQUNBO0VBQ0E7VUFBQTtDekdpcVlIOztBeUc3cFlDO0VwRmRJO0VBQUE7RUFBQTtFQUFBO0NyQmtyWUw7O0FFcHBZSTtFdUdoQkg7SXBGZEk7SUFBQTtHckJ3cllIO0NBQ0Y7O0F5RzNxWUU7RXJGZEc7RUFBQTtFS3JCSjtFQUNBO0VnRjhDRTtFQUNBO1VBQUE7RUFDQTtFQUFBO0VBQUE7RUFBQTtDekd1cVlIOztBeUducVlDO0VuRnREQTtFQXFCSTtFQUFBO0VBQUE7RW1GcUNIO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0N6R3NxWUY7O0F5R25xWUM7RUFDQztDekdzcVlGOztBeUd2cVlFO0VwRi9DRztFQUFBO0VBQUE7RUFBQTtFb0YyREY7RUFBQTtDekdtcVlIOztBRWhzWUk7RXVHaUJGO0lwRi9DRztJQUFBO0dyQm91WUg7Q0FDRjs7QXlHdHJZRTtFQWVFO0N6RzJxWUo7O0EwR3Z3WUE7Ozs7O0cxRzh3WUU7O0EwR3h3WUY7RXJGd0JLO0VBQUE7RUFBQTtFQUFBO0VxRmxCSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFHMHdZRDs7QTBHeHdZUztFcEZYUjtFQXFCSTtFQUFBO0VGQ0E7RXNGTkg7RUFBQTtFQUFBO0VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtDMUcyd1lGOztBMEdseFlVO0VBVVA7VUFBQTtDMUc0d1lIOztBMEd4d1lDO0VwRnpCQTtFQXFCSTtFQUFBO0VGQ0E7RUtyQko7RUFDQTtFaUY0QkM7RUFDQTtFQUNBO0MxRzZ3WUY7O0EwR3B4WUU7RWpGeEJEO0VBQ0E7RWlGb0NFO0VBQ0E7RUFBQTtDMUc2d1lIOztBMEczd1lXO0VBQ1A7VUFBQTtDMUc4d1lKOztBMEd4d1lDO0V0RjFCSTtFQUFBO0VzRjZCSDtFQUNBO0MxRzJ3WUY7O0EwR3h3WUU7RXRGakNHO0VBQUE7Q3BCOHlZTDs7QTBHN3dZRTtFdEZqQ0c7Q3BCa3pZTDs7QTBHanhZRTtFdEZqQ0c7Q3BCc3pZTDs7QTBHdHdZQztFQUlDO0VBQ0E7QzFHc3dZRjs7QTBHM3dZRTtFQVVDO0MxR3F3WUg7O0EwR2x3WUU7RWpGbEZEO0VBQ0E7RUxvQkk7RXNGa0VGO0VBQ0E7QzFHb3dZSDs7QTBHMXdZRztFakZsRkY7RUFDQTtFaUY0Rkc7QzFHcXdZSjs7QTJHMzJZQTs7Ozs7RzNHazNZRTs7QTJHNTJZRjtFdEZ3Qks7RUFBQTtFc0ZuQko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0MzRzYyWUQ7O0EyR3QzWUE7RUFZRTtDM0c4MllGOztBMkcxM1lBO0VsRkdDO0VBQ0E7RUxvQkk7RXVGTEg7RUFBQTtDM0c4MllGOztBNEd2NFlBOzs7OztHNUc4NFlFOztBNEd4NFlGO0V4RndCSztFQUFBO0NwQnEzWUw7O0E0Rzc0WUE7RUFLRTtDNUc0NFlGOztBNEdqNVlBO0VBUUc7QzVHNjRZSDs7QTZHMTVZQTs7Ozs7RzdHaTZZRTs7QTZHMzVZRjtFekZ1Qks7RUFBQTtFeUZuQko7RUFDQTtFQUNBO0M3RzY1WUQ7O0E2R3Y1WUM7RXpGV0k7RUFBQTtDcEJpNVlMOztBNkc1NVlFO0VBT0M7RUFDQTtFQUFBO0M3R3k1WUg7O0E2R2o2WUU7OztFQWFFO0VBQ0E7QzdHMDVZSjs7QThHMzdZQTs7Ozs7RzlHazhZRTs7QThHbjdZRDs7RUFJQztFQUNBO0VBQ0E7QzlHbzdZRjs7QThHajdZQztFMUZNSTtDcEIrNllMOztBOEdqN1lDO0UxRkVJO0NwQm03WUw7O0E4R2g3WUM7RUFJQztFQU9BO0VBQ0E7RUFDQTtDOUcwNllGOztBRTU1WUk7RTRHM0JIO0kxRkhJO0dwQis3WUg7Q0FDRjs7QThHNzdZRTs7RXJGeEJEO0VBQ0E7RUxvQkk7RTBGNEJGO0VBQ0E7RUFDQTtFQUNBO0M5RzQ2WUg7O0E4R3Q2WUM7RUFDQztVQUFBO0M5R3k2WUY7O0E4R3YrWUE7RXJGR0M7RUFDQTtDekJ3K1lEOztBOEd4NllVO0V4RmxFVDtFQXFCSTtFQUFBO0VBQUE7RUZDQTtDcEI0OVlMOztBOEczNllVO0V4RnZFVDtFQXFCSTtFQUFBO0VBQUE7RUZDQTtDcEJvK1lMOztBK0dsZ1pBOzs7OztHL0d5Z1pFOztBK0duZ1pGO0VBS0M7RUFDQTtDL0drZ1pEOztBK0cvL1lTO0VBQ1A7Qy9Ha2daRjs7QStHLy9ZUztFQUNQO0MvR2tnWkY7O0ErR2hnWlM7RUFDUDtDL0dtZ1pGOztBK0cvL1lTO0UzRkdKO0UyRkNIO0VBQ0E7Qy9HZ2daRjs7QStHNS9ZUztFM0ZOSjtDcEJzZ1pMOztBZ0hwaVpBOzs7OztHaEgyaVpFOztBZ0hyaVpGO0UzRndCSztFQUFBO0UyRmZKO0VBQ0E7RUFDQTtFQUVBO0NoSGlpWkQ7O0FFeC9ZSTtFOEd0REo7STNGd0JLO0lBQUE7R3JCNGhaSDtDQUNGOztBZ0hyalpBO0VBZUU7Q2hIMGlaRjs7QWdIempaQTtFQW9CRTtFQUNBO0NoSHlpWkY7O0FFeGdaSTtFOEd0REo7SUF3Qkc7SUFDQTtJQUNBO0doSDJpWkQ7Q0FDRjs7QUVuZ1pJO0U4R25FSjtJQThCRztJQUNBO0doSDZpWkQ7Q0FDRjs7QWdIN2taQTtFQW1DRztFQUNBO0VBQ0E7RUFDQTtFM0ZkRTtFQUFBO0NyQjhqWkw7O0FnSHRsWkE7RUEyQ0c7RUFDQTtFQUFBO1VBQUE7RTVGcEJFO0VBQUE7Q3BCcWtaTDs7QWdIN2xaQTtFNUZ3Qks7Q3BCeWtaTDs7QWdIam1aQTtFNUZ3Qks7RTRGZ0NGO0VBQ0E7Q2hIOGlaSDs7QWdIdm1aQTtFNUZ3Qks7RTRGdUNGO0NoSDZpWkg7O0FnSDVtWkE7RUFrRUk7VUFBQTtDaEg4aVpKOztBZ0hoblpBO0U1RndCSztDcEI0bFpMOztBZ0hwblpBO0VBNEVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtDaEgyaVpIOztBRTdrWkk7RThHd0NIO0kzRnRFSTtJQUFBO0dyQmluWkg7Q0FDRjs7QUVwbFpJO0U4R3dDRjtJM0Z0RUc7STJGZ0ZEO0doSHdpWkY7Q0FDRjs7QUUzbFpJO0U4R3dDRjtJQWtCRTtHaEhzaVpGO0NBQ0Y7O0FFam1aSTtFOEd3Q0Y7SUEwQkU7R2hIb2laRjtDQUNGOztBZ0gvalpFO0VBK0JDO0NoSG9pWkg7O0FFM21aSTtFOEd3Q0Y7SUFrQ0U7R2hIc2laRjtDQUNGOztBZ0h6a1pFO0VBeUNDO0NoSG9pWkg7O0FFcm5aSTtFOEd3Q0Y7SUE4Q0U7R2hIb2laRjtDQUNGOztBRTNuWkk7RThHd0NGO0kzRnRFRztJMkY4SEQ7R2hIaWlaRjtDQUNGOztBZ0g1aFpDO0UzRnBJSTtFQUFBO0UyRndJSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hIOGhaRjs7QWdINWhaRTtFNUYvSUc7RUFBQTtDcEJnclpMOztBRWxwWkk7RThHd0hIO0k1RnRKSTtJQUFBO0dwQnNyWkg7Q0FDRjs7QWdIemhaQztFNUY5Skk7RUFBQTtFNEZrS0g7RUFDQTtFQUNBO0NoSDJoWkY7O0FFanFaSTtFOEdnSUg7STVGOUpJO0dwQm9zWkg7Q0FDRjs7QWdIemhaQztFNUY1S0k7RURuQko7RTZGb01DO0VBQ0E7RUFDQTtDaEgwaFpGOztBRS9xWkk7RThHOElIO0k1RjVLSTtJNEZ3TEY7SUFDQTtHaEgyaFpEO0NBQ0Y7O0FnSHZoWkM7RTVGOUxJO0VBQUE7RTRGa01IO0VBQ0E7RUFDQTtDaEh5aFpGOztBRS9yWkk7RThHZ0tIO0k1RjlMSTtHcEJrdVpIO0NBQ0Y7O0FnSHZoWkM7RTVGNU1JO0U0RmlOSDtFQUNBO0VBQ0E7Q2hIdWhaRjs7QWdIbmhaQztFNUZ2Tkk7Q3BCOHVaTDs7QWdIdmhaRTtFQUlDO0VBQUE7RUFDQTtDaEh1aFpIOztBZ0g1aFpFO0VBV0M7Q2hIcWhaSDs7QUV6dFpJO0U4R3lMSDtJNUZ2Tkk7R3BCNHZaSDtDQUNGOztBaUgzeFpBOzs7Ozs7R2pIbXlaRTs7QWlINXhaRjtFN0Z1Qks7RUFBQTtDcEIwd1pMOztBRTV1Wkk7RStHckRKO0lBUVE7R2pIOHhaTjtDQUNGOztBaUh2eVpBO0VBV1E7RUFDQTtDakhneVpSOztBaUg1eVpBO0VBZVE7RUFDQTtDakhpeVpSOztBaUhqelpBO0U3RnVCSztDcEI4eFpMOztBaUhyelpBO0U3RnVCSztDcEJreVpMOztBaUh4eFpFO0U1RlZHO0U0RllEO0VBQ0E7Q2pIMnhaSjs7QWtIdDBaQTs7Ozs7R2xINjBaRTs7QWtIdjBaRjtFQU1DO0VBQ0E7RUFDQTtFQUNBO0NsSHEwWkQ7O0FFeHhaSTtFZ0h0REo7SUFZRTtHbEh1MFpBO0NBQ0Y7O0FFOXhaSTtFZ0h2Q0g7SUFFRTtHbEh3MFpEO0NBQ0Y7O0FrSDExWkE7RUFzQkU7Q2xIdzBaRjs7QWtIOTFaQTtFQTBCRTtDbEh3MFpGOztBa0hwMFpDO0U1RjVCQTtFQXFCSTtFQUFBO0VBQUE7RUFBQTtFNEZZSDtDbEh3MFpGOztBa0hwMFpDO0U1RnJDQTtFQXFCSTtFQUFBO0VBQUE7RUFBQTtFR3BCSjtFQUNBO0V5RnVDQztLQUFBO0VBQ0E7RUFBQTtLQUFBO0VBRUE7Q2xIMDBaRjs7QWtIcjBaQztFN0YzQkk7RUN0Qko7RUFxQkk7RUFBQTtFQUFBO0U0RmlDSDtDbEh5MFpGOztBRTMwWkk7RWdISEg7STlGM0JJO0lBQUE7SUFBQTtHcEJnM1pIO0NBQ0Y7O0FtSC80WkE7Ozs7O0duSHM1WkU7O0FtSGg1WkY7RTFGR0M7RUFDQTtFTG9CSTtDcEI4M1pMOztBbUg1NFpTO0U5RmNKO0VBQUE7RUFBQTtFQUFBO0U4RlhIO0VBQ0E7RUFDQTtDbkhpNVpGOztBbUg5NFpDO0UvRk1JO0VBQUE7RStGSEg7RUFDQTtDbkhpNVpGOztBbUgxNFpDO0UvRkxJO0VBQUE7RStGUUg7RUFDQTtFQUNBO0NuSDY0WkY7O0FtSDM0WlU7RS9GWkw7RStGZUY7RUFDQTtDbkg2NFpIOztBbUhqNVpVO0VBUU47Q25INjRaSjs7QW1IdjRaRTtFL0YxQkc7Q3BCcTZaTDs7QW1IMzNaQztFMUYvREE7RUFDQTtFMEZpRUM7RUFDQTtFQUNBO0VBQUE7Q25IODNaRjs7QW1IbjRaRTtFQVNDO0NuSDgzWkg7O0FtSDMzWlU7RTFGM0VUO0VBQ0E7RTBGNkVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFBQTtDbkg2M1pIOztBbUhyNFpVO0VBYU47RUFDQTtFQUNBO0NuSDQzWko7O0FtSDM0WlU7RUFtQk47RUFDQTtFQUNBO0NuSDQzWko7O0FtSHYzWkM7RTFGckdBO0VBQ0E7RTBGd0dDO0VBQ0E7Q25IeTNaRjs7QW1IOTNaRTtFQVFDO0NuSDAzWkg7O0FtSHYzWlU7RTFGaEhUO0VBQ0E7RTBGaUhFO0NuSDIzWkg7O0FvSHQvWkE7Ozs7OztHcEg4L1pFOztBb0h4K1pEO0VBQ0M7RUFDQTtDcEgyK1pGOztBb0h6K1pDO0UvRklJO0VBQUE7RUFBQTtFQUFBO0UrRkFIO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtDcEg2K1pGOztBb0hyL1pFO0VBV0M7Q3BIOCtaSDs7QW9Iei9aRTtFM0ZqQkQ7RUFDQTtFVEZDO0VBQ0E7RUlxQkc7RWdHZUY7RUFDQTtFQUFBO0VBRUE7Q3BIOCtaSDs7QW9IcGdhRTtFQTBCQztDcEg4K1pIOztBb0h4Z2FFO0VwR2JBO0VBQ0E7Q2hCeWhhRjs7QW9IN2dhRTtFQWtDQztDcEgrK1pIOztBcUgzaWFBOzs7OztHckhramFFOztBcUg1aWFGO0VBS0M7Q3JIMmlhRDs7QXFIaGphQTtFQVFFO0VBQ0E7Q3JINGlhRjs7QXFIMWlhVTtFQUVOO1VBQUE7Q3JINGlhSjs7QXFIemphQTtFakd3Qks7RUFBQTtFaUdGSDtFQUNBO0NySHlpYUY7O0FxSGhrYUE7RUErQkU7RUFDQTtDckhxaWFGOztBcUhya2FBO0VBb0NFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckhxaWFGOztBcUhwbGFBOztFQXdERTtFQUNBO0VBQ0E7Q3JIaWlhRjs7QXFIM2xhQTs7RUE2REc7RUFDQTtFQUNBO0NySG1pYUg7O0FxSGxtYUE7O0VqR3dCSztFS3JCSjtFQUNBO0U0RmtFRTtFQUNBO0VBQUE7RUFBQTtFQUFBO0VBQ0E7RUFDQTtVQUFBO0NySG9pYUg7O0FxSGppYVU7O0VBRU47VUFBQTtDckhvaWFKOztBcUhoaWFDO0VBQ0M7Q3JIbWlhRjs7QXFIaGlhUztFQUNQO0VBQ0E7RUFDQTtDckhtaWFGOztBcUhoaWFTO0VoR3BFSjtFQUFBO0VBQUE7RUFBQTtFZ0d1RUg7RUFDQTtFQUNBO0VBQ0E7Q3JIcWlhRjs7QXFIM2lhVztFaEdwRU47Q3JCbW5hTDs7QXFIL2lhVztFakdwRU47RUtyQko7RUFDQTtFNEZ3R0U7RUFDQTtDckhzaWFIOztBcUhsaWFTO0VoR3pGSjtFQUFBO0VBQUE7RUFBQTtFZ0c4Rkg7RUFDQTtFQUNBO0VBQ0E7Q3JIcWlhRjs7QXFIN2lhVztFakd6Rk47Q3BCMG9hTDs7QXFIamphVztFakd6Rk47Q3BCOG9hTDs7QXFIamlhQztFckduSUM7RUFDQTtFTUREO0VBcUJJO0VBQUE7RUZDQTtFaUdrSEg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFFQTtDckhxaWFGOztBcUhqamFFO0VqRzdHRztFQUFBO0VBQUE7RUFBQTtDcEJxcWFMOztBcUh4amFFO0VqRzdHRztDcEJ5cWFMOztBcUg1amFFO0VqRzdHRztDcEI2cWFMOztBcUhoa2FFO0VqRzdHRztFQUFBO0NwQmtyYUw7O0FxSHhpYVU7RXJHM0pSO0VBQ0E7Q2hCdXNhRjs7QXFIemlhVTtFakc5SUw7RWlHaUpGO0VBQ0E7RUFDQTtVQUFBO0NySDJpYUg7O0FxSHhpYVU7RUFDUDtFQUNBO1VBQUE7Q3JIMmlhSDs7QXFIeGlhVTtFakczSkw7RUFBQTtFQUFBO0VpRzhKRjtDckg0aWFIOztBcUh4aWFVO0VqR2xLTDtFQUFBO0VBQUE7RWlHcUtGO0VBQ0E7Q3JINGlhSDs7QXNIaHZhQTs7Ozs7R3RIdXZhRTs7QXNIanZhRjtFQU1DO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3RIK3VhRDs7QXNIN3VhQztFakdVSTtFQUFBO0VBQUE7RUFBQTtFaUdMSDtFQUNBO0VBQ0E7RUFDQTtDdEhndmFGOztBc0h4dmFFO0VsR1VHO0VrR0lDO0N0SCt1YU47O0FzSDN1YVU7RWxHUkw7RWtHWUQ7Q3RINHVhSjs7QXNIaHZhVTtFbEdSTDtFa0dpQkQ7Q3RINHVhSjs7QXNIcnZhVTtFbEdSTDtFa0d1QkQ7VUFBQTtDdEgydWFKOztBc0gxdmFVO0VsR1JMO0VLckJKO0VBQ0E7RTZGa0RHO0N0SDJ1YUo7O0FzSHR1YVU7RWpHbkNMO0VBQUE7Q3JCOHdhTDs7QXNIM3VhVTtFbEduQ0w7Q3BCa3hhTDs7QXNIL3VhVTtFbEduQ0w7RUFBQTtFS3JCSjtFQUNBO0U2RmtFRztDdEg0dWFKOztBc0h0dWFDO0VoRzFFQTtFQXFCSTtFQUFBO0VBQUE7RUZDQTtFQUFBO0VDQUE7RUFBQTtFTHRCSDtFQUNBO0VzRytFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUVBO0N0SDZ1YUY7O0FzSDF2YUU7RWxHcERHO0VBQUE7Q3BCbXphTDs7QXNIL3ZhRTtFbEdwREc7Q3BCdXphTDs7QXNIbndhRTtFbEdwREc7Q3BCMnphTDs7QXNINXVhVTtFdEdoR1I7RUFDQTtDaEJnMWFGOztBdUg5MWFBOzs7OztHdkhxMmFFOztBdUgvMWFGOztFQUtDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkgrMWFEOztBdUh6MmFBOztFQWFFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkhpMmFGOztBdUh6M2FBOzs7RWxHd0JLO0VBQUE7RUFBQTtFQUFBO0VrR1NIO0VBQ0E7Q3ZIazJhRjs7QXVIaDJhVTs7Ozs7Ozs7Ozs7O0VsR1pMO0VBQUE7Q3JCNDNhTDs7QXVIcDVhQTs7O0VuR3dCSztFbUdzQkY7Q3ZINjJhSDs7QXVIMzVhQTs7O0VuR3dCSztFS3JCSjtFQUNBO0U4RmtERTtDdkg4MmFIOztBdUhwNmFBOztFQTJERTtDdkg4MmFGOztBdUgzMmFXOztFbkd0Q047RUFBQTtFS3JCSjtFQUNBO0U4RitERTtDdkgrMmFIOztBdUgzMmFTOztFQUNQO0N2SCsyYUY7O0F1SDUyYUM7RWpHekVBO0VBcUJJO0VBQUE7RUFBQTtFRkNBO0VBQUE7RUFBQTtFQ0FBO0VBQUE7RUx0Qkg7RUFDQTtFdUc4RUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFBQTtFQUNBO0VBT0E7RUFDQTtDdkg2MmFGOztBdUh2NGFFO0VBc0JDO0VBQ0E7Q3ZIcTNhSDs7QXVINTRhRTtFdkdwRUE7RUFDQTtDaEJvOWFGOztBdUhqNWFFO0VsR25ERztFQUFBO0VrR3VGRjtFQUFBO0N2SG0zYUg7O0F1SHY1YUU7O0VBd0NFO0N2SG8zYUo7O0F3SDcrYUE7Ozs7O0d4SG8vYUU7O0F3SDkrYUY7RUFLQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0N4SDYrYUQ7O0F3SHgvYUE7RW5Hd0JLO0VBQUE7RUFBQTtFQUFBO0VtR1JIO1VBQUE7Q3hIZy9hRjs7QXdIaGdiQTtFQW1CRztDeEhpL2FIOztBd0g3K2FTO0VBQ1A7VUFBQTtDeEhnL2FGOztBd0g3K2FTO0VuR0hKO0VBQUE7Q3JCcS9hTDs7QXdINSthUztFQUNQO0VBQ0E7Q3hIKythRjs7QXdIai9hUztFbkdUSjtFQUFBO0NyQisvYUw7O0F3SDUrYUM7RW5HbkJJO0VBQUE7RW1HdUJIO0N4SDgrYUY7O0F3SDUrYUU7RW5HekJHO0VBQUE7Q3JCMGdiTDs7QXdIai9hRztFbkd6QkU7Q3JCOGdiTDs7QXdIOSthVztFbkdoQ047RUFBQTtDckJtaGJMOztBd0gvK2FXO0VuR3BDTjtFQUFBO0NyQndoYkw7O0F3SC8rYUU7RXBHekNHO0VBQUE7RUNBQTtFQUFBO0VBQUE7RUFBQTtDckJpaWJMOztBd0h4L2FHO0UvRjlERjtFQUNBO0UrRnFFRztDeEhzL2FKOztBd0huL2FXO0VuR3BETjtFQUFBO0NyQjRpYkw7O0F3SHAvYVc7RW5HeEROO0VBQUE7Q3JCaWpiTDs7QXlIL2tiQTs7Ozs7R3pIc2xiRTs7QXlIaGxiRjtFcEd3Qks7RUFBQTtFQUFBO0VBQUE7RW9HcEJKO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtDekhtbGJEOztBMEhubWJBOzs7O0cxSHltYkU7O0EwSHBtYkY7RUFDQztFQUNBO0VBQ0E7RUFFQTtFQUNBO0MxSHNtYkQ7O0EwSDVtYkE7RXJHeUJLO0VBQUE7RUFBQTtFQUFBO0VJckJKO0VBQ0E7RWlHT0M7QzFIMG1iRjs7QTBIdG5iQTtFQWVHO0MxSDJtYkg7O0EySC9uYkE7Ozs7O0czSHNvYkU7O0EySGhvYkY7RXRHd0JLO0VBQUE7RUFBQTtFQUFBO0VzR2pCSjtFQUNBO0VBRUE7RUFDQTtDM0hnb2JEOztBRXJsYkk7RXlIdERKO0lBY0U7SUFDQTtHM0hrb2JBO0NBQ0Y7O0EySGxwYkE7RUFtQkU7QzNIbW9iRjs7QTJIaG9iQztFdkdFSTtDcEJrb2JMOztBRXBtYkk7RXlIaENIO0l2R0VJO0dwQnVvYkg7Q0FDRjs7QTJIN25iQztFbEdoQ0E7RUFDQTtFTkNBO0VFbUJJO0VBQUE7RXNHa0JIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNIK25iRjs7QTJIMW9iRTtFM0dqQ0E7RUFDQTtFMkdpREM7RUFBQTtDM0grbmJIOztBMkgxbmJZO0UzR2xEVjtFQUNBO0NoQmdyYkY7O0EySHJwYkU7RUEyQkU7QzNIOG5iSjs7QTJINW5iWTtFM0d6RFY7RUFDQTtDaEJ5cmJGOztBMkg5cGJFO0VyR2pDRDtFQXFCSTtFQUFBO0VGQ0E7RUtyQko7RUFDQTtFa0d3RUU7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFBQTtFQUdBO0MzSDZuYkg7O0EySDNuYlc7RUFDUDtVQUFBO0VBQ0E7QzNIOG5iSjs7QTRIMXRiQTs7Ozs7RzVIaXViRTs7QTRIM3RiRjtFekdLQztFTUZBO0VBQ0E7RW1HSUE7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1SHl0YkQ7O0E0SHZ1YkE7RUFtQkU7QzVId3RiRjs7QTRIM3ViQTtFbkdHQztFQUNBO0VtR3FCQztDNUh3dGJGOztBNEhydGJTO0VBQ1A7QzVId3RiRjs7QTRIcnRiUztFbkc3QlI7RUFDQTtFTkNBO0V5R2dDQztFQUNBO0VBQ0E7QzVIdXRiRjs7QTRIOXRiUztFbkc3QlI7RUFDQTtDekIrdmJEOztBNEhwdGJTO0VuRzVDUjtFQUNBO0VtRzhDQztFQUNBO0M1SHV0YkY7O0E0SDN0YlM7RW5HNUNSO0VBQ0E7Q3pCMndiRDs7QTRIcnRiUztFbkd2RFI7RUFDQTtFbUc0REM7RUFDQTtDNUhxdGJGOztBNEg1dGJTO0VuR3ZEUjtFQUNBO0VtR21FRTtDNUhxdGJIOztBNEhqdGJTO0VuR3hFUjtFQUNBO0VtRzBFQztDNUhvdGJGOztBNEhqdGJTO0VuRzlFUjtFQUNBO0VtR2lGQztFQUNBO0M1SG10YkY7O0E0SGh0YlM7RW5HdEZSO0VBQ0E7RW1Hd0ZDO0VBQ0E7QzVIbXRiRjs7QUUxdmJJO0UwSG1DSztJQU9OO0c1SHF0YkQ7Q0FDRjs7QTRIbHRiUztFbkdqR1I7RUFDQTtFbUdtR0M7RUFDQTtDNUhxdGJGOztBRXZ3Ykk7RTBIOENLO0lBT047RzVIdXRiRDtDQUNGOztBNEgvdGJTO0VBV047RUFDQTtDNUh3dGJIOztBNEhwdGJTO0VBQ1A7QzVIdXRiRjs7QTRIcHRiUztFQUNQO0M1SHV0YkY7O0E0SHB0YlM7RUFDUDtDNUh1dGJGOztBNEhwdGJTO0VBQ1A7QzVIdXRiRjs7QTRIcHRiUztFQUNQO0VBQ0E7QzVIdXRiRjs7QTRIcHRiUztFQUNQO0M1SHV0YkY7O0E2SHYyYkE7RUFFTTtFQUNBO0M3SHkyYk47O0E4SDUyYkE7RUFFSTtDOUg4MmJKOztBOEhoM2JBO0VBTUk7QzlIODJiSjs7QThIcDNiQTtFQVNNO0M5SCsyYk47O0E4SHgzYkE7RUFhTTtDOUgrMmJOOztBOEg1M2JBO0VBZ0JRO0VBQ0E7QzlIZzNiUjs7QThIajRiQTtFQXNCTTtFQUNBO0VBQ0E7QzlIKzJiTjs7QThINzJiTTtFQTFCTjtJQTJCUTtJQUNBO0lBQ0E7RzlIaTNiTjtDQUNGOztBOEgvNGJBO0VBaUNRO0VBQ0E7RUFDQTtFQUNBO0M5SGszYlI7O0E4SGgzYlE7RUF0Q1I7SUF1Q1U7SUFDQTtJQUNBO0c5SG8zYlI7Q0FDRjs7QThIOTViQTtFQThDUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5SG8zYlI7O0E4SGwzYlE7RUF2RFI7SUF3RFU7SUFDQTtJQUNBO0c5SHMzYlI7Q0FDRjs7QThIajdiQTtFQThEVTtDOUh1M2JWOztBOEhyN2JBO0VBa0VVO0VBQ0E7QzlIdTNiVjs7QThIcjNiVTtFQXJFVjtJQXNFWTtHOUh5M2JWO0NBQ0Y7O0ErSGg4YkE7RUFDRTtDL0htOGJGOztBK0hwOGJBO0VBR0k7Qy9IcThiSjs7QUU1NGJJO0U2SDVESjtJQU1JO0cvSHU4YkY7Q0FDRjs7QWdJOThiQTs7R2hJazliRTs7QWdJLzhiRjtFQU1DO0NoSTY4YkQ7O0FnSTE4YkM7RUFJQztDaEkwOGJGOztBZ0l0OGJDO0UzR1VJO0UyR05IO0NoSXU4YkY7O0FnSXI4YlU7RTNHSUw7Q3JCcThiTDs7QUV2NmJJO0U4SGxDTTtJM0dJTDtHckIwOGJIO0NBQ0Y7O0FnSXY4YlU7RTVHSkw7Q3BCKzhiTDs7QWdJcjhiQztFM0dWSTtFMkdjSDtDaElzOGJGOztBZ0lwOGJVO0U1R2hCTDtDcEJ3OWJMOztBZ0k1N2JDO0UxR2xEQTtFQXFCSTtFQUFBO0VBQUE7RUFBQTtFR3BCSjtFQUNBO0V1R29EQztLQUFBO0VBQ0E7Q2hJbThiRjs7QWdJajhiRTtFQUNDO0VBQUE7S0FBQTtDaElvOGJIOztBZ0lqOGJFO0VBQ0M7RUFBQTtLQUFBO0NoSW84Ykg7O0FpSXBnY0E7RUFFSTtFQUNBO0NqSXNnY0o7O0FpSXJnY0k7RUFKSjtJQUtNO0dqSXlnY0o7Q0FDRjs7QWlJL2djQTtFQVNNO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqSTBnY047O0FpSXpoY0E7RUFrQlE7RUFDQTtDakkyZ2NSOztBaUk5aGNBO0VBd0JNO0NqSTBnY047O0FpSWxpY0E7RUE4Qk07RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtDakl3Z2NOOztBaUl0Z2NNO0VBQ0U7Q2pJeWdjUjs7QWlJdGdjTTtFQS9DTjtJQWdEUTtJQUNBO0lBQ0E7WUFBQTtJQUNBO0lBQ0E7R2pJMGdjTjs7RWlJOWpjRjtJQXVEVTtHakkyZ2NSO0NBQ0Y7O0FpSW5rY0E7RUE2RE07RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0VBQ0E7Q2pJMGdjTjs7QWlJaGxjQTtFQXlFUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7Q2pJMmdjUjs7QWlJemdjUTtFQWhGUjtJQWlGVTtJQUNBO0dqSTZnY1I7Q0FDRjs7QWlJaG1jQTs7RUF1RlE7Q2pJOGdjUjs7QWlJM2djTTtFQTFGTjtJQTJGUTtJQUNBO0lBQ0E7R2pJK2djTjs7RWlJNW1jRjtJQWlHWTtZQUFBO0dqSStnY1Y7Q0FDRjs7QWlJam5jQTtFQXdHTTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakk2Z2NOOztBaUkzbmNBO0VBaUhRO0NqSThnY1I7O0FpSS9uY0E7RUFxSFE7RUFDQTtFQUNBO0NqSThnY1I7O0FpSXJvY0E7RUEySFE7RUFDQTtDakk4Z2NSOztBaUkxb2NBO0VBZ0lRO0VBQ0E7Q2pJOGdjUjs7QWlJL29jQTtFQXNJTTtFQUNBO0NqSTZnY047O0FpSXBwY0E7RUEwSVE7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakk4Z2NSOztBaUlqcWNBO0VBd0pNO0VBQ0E7Q2pJNmdjTjs7QWlJdHFjQTtFQThKSTtDakk0Z2NKOztBaUkxcWNBO0VBbUtVO0NqSTJnY1Y7O0FpSTlxY0E7RUF5S007Q2pJeWdjTjs7QWlJbHJjQTtFQStLTTtDakl1Z2NOOztBaUlyZ2NNO0VBakxOO0lBa0xRO1lBQUE7R2pJeWdjTjs7RWlJM3JjRjtJQW9MVTtZQUFBO0dqSTJnY1I7Q0FDRjs7QWlJaHNjQTtFQTBMTTtFQUNBO1VBQUE7Q2pJMGdjTjs7QWlJeGdjTTtFQTdMTjtJQThMUTtHakk0Z2NOO0NBQ0Y7O0FpSXpnY1E7RUFsTVI7SUFtTVU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO1lBQUE7R2pJNmdjUjs7RWlJcnRjRjtJQTJNWTtJQUNBO0lBQ0E7SUFDQTtZQUFBO0dqSThnY1Y7O0VpSTV0Y0Y7SUFrTlk7R2pJOGdjVjtDQUNGOztBaUlqdWNBO0VBME5RO0VBQ0E7RUFDQTtDakkyZ2NSOztBaUl6Z2NRO0VBOU5SO0lBK05VO0lBQ0E7R2pJNmdjUjtDQUNGOztBaUk5dWNBO0VBd09NO0VBQ0E7Q2pJMGdjTjs7QWlJemdjTTtFQTFPTjtJQTJPUTtHakk2Z2NOO0NBQ0Y7O0FpSXp2Y0E7RUErT1E7Q2pJOGdjUjs7QWlJNWdjUTtFQWpQUjtJQWtQVTtHaklnaGNSO0NBQ0Y7O0FpSW53Y0E7RUF3UE07Q2pJK2djTjs7QWlJdndjQTtFQTJQUTtDaklnaGNSOztBaUkzd2NBO0VBK1BRO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUFBO1VBQUE7RUFDQTtVQUFBO0NqSWdoY1I7O0FpSXR4Y0E7RUF5UVU7Q2pJaWhjVjs7QWlJMXhjQTtFQThRUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0NqSWdoY1I7O0FpSTlnY1E7RUF0UlI7SUF1UlU7SUFDQTtHaklraGNSO0NBQ0Y7O0FpSTN5Y0E7O0VBNFJVO0VBQ0E7RUFDQTtFQUNBO0NqSW9oY1Y7O0FpSW56Y0E7RUFtU1U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0NqSW9oY1Y7O0FpSTN6Y0E7RUEyU1U7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0VBQ0E7Q2pJb2hjVjs7QWlJcDBjQTtFQXFUUTtFQUFBO0VBQ0E7Q2pJbWhjUjs7QWlJamhjUTtFQXhUUjtJQXlUVTtJQUNBO0lBQ0E7R2pJcWhjUjtDQUNGOztBaUlqMWNBO0VBOFRVO0NqSXVoY1Y7O0FpSXIxY0E7RUFvVVU7VUFBQTtDaklxaGNWOztBaUl6MWNBO0VBK1VRO0VBQUE7Q2pJOGdjUjs7QWlJNzFjQTtFQWtWVTtFQUNBO1VBQUE7Q2pJK2djVjs7QWlJbDJjQTtFQTRWSTtDakkwZ2NKOztBaUl0MmNBO0VBK1ZNO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqSTJnY047O0FpSXpnY007RUExV047SUEyV1E7SUFDQTtJQUNBO0lBQ0E7R2pJNmdjTjtDQUNGOztBaUk1M2NBO0VBbVhNO0VBQ0E7Q2pJNmdjTjs7QWlJM2djTTtFQXRYTjtJQXVYUTtHakkrZ2NOO0NBQ0Y7O0FpSXY0Y0E7RUE0WE07RUFDQTtFQUFBO0NqSStnY047O0FpSTU0Y0E7RUFpWU07RUFDQTtFQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtFQUFBO0VBQUE7RUFBQTtDakkrZ2NOOztBaUk3Z2NNO0VBdllOO0lBd1lRO0lBQ0E7SUFDQTtJQUNBO0dqSWloY047Q0FDRjs7QWlJNzVjQTtFQStZUTtVQUFBO0NqSWtoY1I7O0FpSWo2Y0E7RUFtWlE7RUFDQTtDaklraGNSOztBaUl0NmNBO0VBeVpNO0VBQUE7RUFDQTtFQUNBO0VBQUE7Q2pJaWhjTjs7QWlJNTZjQTtFQThaUTtDaklraGNSOztBaUloN2NBO0VBa2FRO0NqSWtoY1I7O0FpSS9nY007RUFyYU47SUFzYVE7WUFBQTtJQUNBO1lBQUE7SUFDQTtZQUFBO0dqSW1oY047O0VpSTM3Y0Y7SUEyYVU7R2pJb2hjUjs7RWlJLzdjRjtJQSthVTtHaklvaGNSOztFaUluOGNGO0lBbWJVO0dqSW9oY1I7Q0FDRjs7QWlJeDhjQTtFQXdiUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFBQTtDaklvaGNSOztBaUlsaGNRO0VBcmNSO0lBc2NVO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7WUFBQTtJQUNBO0dqSXNoY1I7Q0FDRjs7QWlJbCtjQTtFQWdkUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pJc2hjUjs7QWlJMytjQTtFQTJkUTtDaklvaGNSOztBaUlsaGNRO0VBN2RSO0lBOGRVO0lBQ0E7SUFDQTtHaklzaGNSO0NBQ0Y7O0FpSXYvY0E7RUFxZVE7RUFDQTtFQUNBO0VBQ0E7VUFBQTtDaklzaGNSOztBaUlwaGNRO0VBMWVSO0lBMmVVO0dqSXdoY1I7Q0FDRjs7QWlJcGdkQTtFQWlmTTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqSXVoY047O0FpSXJoY007RUF2Zk47SUF3ZlE7SUFDQTtJQUNBO0dqSXloY047Q0FDRjs7QWlJcGhkQTtFQWtnQlE7Q2pJc2hjUjs7QWlJeGhkQTtFQXNnQlE7Q2pJc2hjUjs7QWlJNWhkQTtFQW1oQlE7RUFDQTtDakk2Z2NSOztBaUlqaWRBO0VBOGdCVTtFQUNBO0VBQ0E7Q2pJdWhjVjs7QWlJdmlkQTtFQXdoQlE7RUFDQTtFQUNBO1VBQUE7Q2pJbWhjUjs7QWlJN2lkQTtFQStoQk07Q2pJa2hjTjs7QWlJampkQTtFQXNpQkk7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0VBQ0E7VUFBQTtDakkrZ2NKOztBaUk3Z2NJO0VBQ0U7RUFDQTtVQUFBO0NqSWdoY047O0FpSTdnY0k7RUFyakJKO0lBc2pCTTtJQUNBO0lBQ0E7R2pJaWhjSjtDQUNGOztBaUkxa2RBO0VBNGpCTTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFBQTtDaklraGNOOztBaUl6bGRBO0VBMGtCUTtFQUNBO0NqSW1oY1I7O0FpSTlsZEE7RUFnbEJNO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pJa2hjTjs7QWlJaGhjTTtFQXRsQk47SUF1bEJRO0lBQ0E7R2pJb2hjTjtDQUNGOztBaUk3bWRBO0VBNGxCUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqSXFoY1I7O0FpSW5oY1E7RUFsbUJSO0lBbW1CVTtJQUNBO0lBQ0E7R2pJdWhjUjtDQUNGOztBaUk3bmRBO0VBMm1CTTtDaklzaGNOOztBaUlwaGNNO0VBN21CTjtJQThtQlE7R2pJd2hjTjtDQUNGOztBaUl2b2RBO0VBbW5CTTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtDakl3aGNOOztBaUl0aGNNO0VBQ0U7Q2pJeWhjUjs7QWlJdnBkQTtFQW1vQk07RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqSXdoY047O0FpSWhxZEE7RUEyb0JRO0NqSXloY1I7O0FpSXRoY007RUE5b0JOO0lBK29CUTtJQUNBO0dqSTBoY047Q0FDRjs7QWlJM3FkQTtFQXFwQk07RUFBQTtFQUNBO0VBQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQTtDakkwaGNOOztBaUlucmRBO0VBNHBCUTtFQUNBO0VBQ0E7RUFDQTtDakkyaGNSOztBaUkxcmRBO0VBbXFCUTtFQUNBO0NqSTJoY1I7O0FpSS9yZEE7RUE0cUJJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7Q2pJdWhjSjs7QWlJNXNkQTtFQXdyQk07VUFBQTtDakl3aGNOOztBaUlodGRBO0VBNHJCTTtFQUNBO0VBQ0E7Q2pJd2hjTjs7QWlJdHRkQTtFQWtzQk07RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqSXdoY047O0FpSXRoY007RUF6c0JOO0lBMHNCUTtJQUNBO0dqSTBoY047Q0FDRjs7QWlJdHVkQTtFQStzQlE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakkyaGNSOztBaUl6aGNRO0VBcnRCUjtJQXN0QlU7SUFDQTtJQUNBO0dqSTZoY1I7Q0FDRjs7QWlJdHZkQTtFQTh0Qk07RUFDQTtDakk0aGNOOztBaUkzdmRBO0VBbXVCTTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7VUFBQTtDakk0aGNOOztBaUlud2RBO0VBMHVCUTtFQUNBO0VBQ0E7Q2pJNmhjUjs7QWlJendkQTtFQWl2Qk07Q2pJNGhjTjs7QWlJN3dkQTtFQW92QlE7Q2pJNmhjUjs7QWlJanhkQTtFQXd2QlE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakk2aGNSOztBaUl6eGRBO0VBK3ZCVTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtDakk4aGNWOztBaUlseWRBO0VBeXdCUTtFQUNBO0VBQ0E7RUFDQTtDakk2aGNSOztBaUl6eWRBO0VBK3dCVTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUFBO1VBQUE7RUFDQTtVQUFBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFDQTtDakk4aGNWOztBaUl4emRBO0VBNnhCWTtVQUFBO0NqSStoY1o7O0FpSTV6ZEE7RUFpeUJZO0NqSStoY1o7O0FpSWgwZEE7RUFxeUJZO0NqSStoY1o7O0FpSXAwZEE7RUEweUJVO0NqSThoY1Y7O0FpSXgwZEE7RUFnekJNO0VBQUE7RUFDQTtFQUNBO0VBQ0E7Q2pJNGhjTjs7QWlJLzBkQTtFQTB6Qkk7Q2pJeWhjSjs7QWlJbjFkQTtFQTZ6Qk07RUFDQTtDakkwaGNOOztBaUl4MWRBO0VBazBCTTtFQUNBO0VBQ0E7RUFBQTtDakkwaGNOOztBaUk5MWRBO0VBdTBCUTtDakkyaGNSOztBaUlsMmRBOztFQTIwQlE7RUFDQTtFQUNBO0VBQ0E7Q2pJNGhjUjs7QWlJMTJkQTtFQWsxQlE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0NqSTRoY1I7O0FpSWwzZEE7RUEwMUJRO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUFBO0VBQUE7RUFBQTtFQUNBO0NqSTRoY1I7O0FpSTMzZEE7RUF3MkJNO0NqSXVoY047O0FpSS8zZEE7RUE0MkJNO1VBQUE7Q2pJdWhjTjs7QWlJbjRkQTtFQWszQk07RUFDQTtFQUNBO0VBQUE7RUFDQTtDaklxaGNOOztBaUkxNGRBO0VBdzNCUTtFQUNBO0VBQ0E7Q2pJc2hjUjs7QWlJbGhjUTtFQTkzQlI7SUErM0JVO0lBQ0E7SUFDQTtJQUNBO0dqSXNoY1I7Q0FDRjs7QWlJejVkQTtFQXU0QlE7RUFDQTtDaklzaGNSOztBaUk5NWRBO0VBMjRCVTtDakl1aGNWOztBaUlsNmRBO0VBaTVCTTtFQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQUE7Q2pJcWhjTjs7QWlJMTZkQTtFQXc1QlE7Q2pJc2hjUjs7QWlJOTZkQTtFQTY1Qk07VUFBQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqSXFoY047O0FpSXg3ZEE7RUFzNkJRO0VBQ0E7RUFDQTtFQUNBO0NqSXNoY1I7O0FpSS83ZEE7RUFxN0JNO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqSThnY047O0FpSTU4ZEE7RUErNkJRO0VBQ0E7RUFBQTtFQUNBO1VBQUE7RUFDQTtDaklpaWNSOztBaUluaGNNO0VBaDhCTjtJQWk4QlE7SUFDQTtJQUNBO0lBQ0E7R2pJdWhjTjtDQUNGOztBaUk1OWRBO0VBdzhCUTtFQUNBO0NqSXdoY1I7O0FpSWorZEE7RUE2OEJRO0VBQ0E7Q2pJd2hjUjs7QWlJdCtkQTtFQW05QlU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakl1aGNWOztBaUlqL2RBO0VBaytCTTtFQUNBO0VBQ0E7RUFDQTtDakltaGNOOztBaUl4L2RBO0VBNCtCSTtFQUNBO0VBQ0E7RUFDQTtDaklnaGNKOztBaUk5Z2NJO0VBai9CSjtJQWsvQk07SUFDQTtHaklraGNKO0NBQ0Y7O0FpSXRnZUE7RUF1L0JNO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtDakltaGNOOztBaUk5Z2VBO0VBOC9CUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqSW9oY1I7O0FpSWxoY1E7RUFwZ0NSO0lBcWdDVTtJQUNBO0dqSXNoY1I7Q0FDRjs7QWlJN2hlQTtFQTJnQ1E7RUFDQTtPQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pJc2hjUjs7QWlJcGhjUTtFQWxoQ1I7SUFtaENVO0lBQ0E7R2pJd2hjUjtDQUNGOztBaUk3aWVBO0VBeWhDUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pJd2hjUjs7QWlJdGhjUTtFQWhpQ1I7SUFpaUNVO0lBQ0E7R2pJMGhjUjtDQUNGOztBaUk3amVBO0VBdWlDUTtDakkwaGNSOztBaUlqa2VBO0VBNGlDTTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pJeWhjTjs7QWlJdmhjTTtFQW5qQ047SUFvakNRO0dqSTJoY047Q0FDRjs7QWlJaGxlQTtFQXdqQ1E7RUFDQTtDakk0aGNSOztBaUlybGVBO0VBNmpDUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqSTRoY1I7O0FpSTdsZUE7RUFxa0NRO0NqSTRoY1I7O0FpSWptZUE7RUF3a0NVO0NqSTZoY1Y7O0FpSXJtZUE7RUE2a0NRO0NqSTRoY1I7O0FpSXptZUE7RUFnbENVO0NqSTZoY1Y7O0FpSTdtZUE7RUFzbENNO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtDakkyaGNOOztBaUl6aGNNO0VBcm1DTjtJQXNtQ1E7R2pJNmhjTjtDQUNGOztBaUlwb2VBO0VBMG1DUTtDakk4aGNSOztBaUl4b2VBO0VBOG1DUTtDakk4aGNSOztBaUk1b2VBO0VBa25DUTtFQUNBO0VBQ0E7Q2pJOGhjUjs7QWlJbHBlQTtFQXluQ007Q2pJNmhjTjs7QWtJNXBlQTs7Ozs7R2xJbXFlRTs7QWtJMXBlRDtFOUdxQkk7RUFBQTtFOEdqQkg7Q2xJNHBlRjs7QUU3bWVJO0VnSW5ESDtJQU9FO0lBQ0E7R2xJOHBlRDtDQUNGOztBa0kzcGVDO0U5R1NJO0VBQUE7Q3BCdXBlTDs7QUV6bmVJO0VnSXZDSDtJOUdTSTtJQUFBO0dwQjZwZUg7Q0FDRjs7QWtJOXBlRTs7RUFVQztDbEl5cGVIOztBa0lucWVFO0U5R0FHO0NwQnVxZUw7O0FrSXZxZUU7RTdHQUc7Q3JCMnFlTDs7QWtJM3FlRTtFQXVCQztDbEl3cGVIOztBa0k5b2VDO0U3R2pDSTtFQUFBO0U2R29DSDtDbElpcGVGOztBRXZwZUk7RWdJR0g7STdHakNJO0lBQUE7R3JCMnJlSDtDQUNGOztBa0lqcGVFO0VBSUM7RUFDQTtDbElpcGVIOztBRW5xZUk7RWdJYUY7SUFRRTtHbEltcGVGO0NBQ0Y7O0FtSXJ1ZUE7OztHbkkwdWVFOztBbUlwdWVEO0U5R3dCSTtFQUFBO0NyQml0ZUw7O0FtSXp1ZUU7RS9Hd0JHO0NwQnF0ZUw7O0FtSTd1ZUU7RS9Hd0JHO0NwQnl0ZUw7O0FFM3JlSTtFaUl0REg7STlHd0JJO0lBQUE7R3JCK3RlSDtDQUNGOztBbUl0dWVDO0VBSUM7Q25Jc3VlRjs7QW1JMXVlRTtFL0dNRztFK0dFRjtVQUFBO0NuSXV1ZUg7O0FtSW51ZUM7RUFDQztDbklzdWVGOztBb0kzd2VBOzs7OztHcElreGVFOztBb0l6d2VBO0VBVUM7Q3BJbXdlSDs7QW9JN3dlRTtFQWdCQztDcElpd2VIOztBb0k5dmVFO0VoSEVHO0VBQUE7RUFBQTtDcEJrd2VMOztBRXB1ZUk7RWtJaENGO0loSEVHO0dwQnV3ZUg7Q0FDRjs7QW9JbHdlRTtFL0dORztFQUFBO0VJckJKO0VBQ0E7RTJHK0JFO0NwSXF3ZUg7O0FFbHZlSTtFa0l4QkY7SS9HTkc7SUFBQTtJREFBO0lBQUE7SUtyQko7SUFDQTtHekI4eWVDO0NBQ0Y7O0FFN3ZlSTtFa0lSSDtJaEh0Qkk7SUFBQTtHcEJpeWVIO0NBQ0Y7O0FvSTV3ZUU7RTNHM0NEO0VBQ0E7Q3pCMnplRDs7QW9JM3ZlQztFL0c1Q0k7RUFBQTtFK0crQ0g7Q3BJOHZlRjs7QUUvd2VJO0VrSWNIO0kvRzVDSTtJQUFBO0dyQm16ZUg7Q0FDRjs7QW9JdnZlRTtFaEg3REc7RWdIaUVGO0VBQ0E7Q3BJd3ZlSDs7QUU1eGVJO0VrSStCRjtJaEg3REc7SWdIdUVEO0lBQ0E7R3BJeXZlRjtDQUNGOztBb0lyd2VHO0VoSDdERTtDcEJzMGVMOztBb0l6d2VHO0VoSDdERTtDcEIwMGVMOztBb0l2dmVFO0UvR25GRztFQUFBO0VBQUE7RUFBQTtFK0dzRkY7RUFDQTtFQUNBO0VBQ0E7Q3BJNHZlSDs7QUV2emVJO0VrSXFERjtJL0duRkc7SUFBQTtHckIyMWVIO0NBQ0Y7O0FvSXp3ZUc7RWhIbkZFO0VLckJKO0VBQ0E7RTJHd0hHO0VBQ0E7Q3BJK3ZlSjs7QW9JanhlRztFM0d4R0Y7RUFDQTtDekI2M2VEOztBRTMwZUk7RWtJcUREO0kzR3hHRjtJQUNBO0kyR2tJSTtJQUNBO0dwSWt3ZUg7O0VvSTl4ZUM7STNHeEdGO0lBQ0E7R3pCMDRlQztDQUNGOztBb0kvdmVHO0UvR3hIRTtFREFBO0VnSDRIRDtDcElpd2VKOztBb0lyd2VJO0VoSHhIQztDcEJpNGVMOztBb0l6d2VJO0VoSHhIQztDcEJxNGVMOztBRXYyZUk7RWtJMEZEO0kvR3hIRTtJREFBO0dwQjI0ZUg7Q0FDRjs7QW9JcHhlSTtFaEh4SEM7RUFBQTtFZ0g2SUE7RUFDQTtFQUNBO0NwSXF3ZUw7O0FFdDNlSTtFa0kwRkE7SUEwQkU7SUFDQTtHcEl1d2VKO0NBQ0Y7O0FvSW53ZUc7RWhIeEpFO0NwQis1ZUw7O0FvSXZ3ZUk7RWhIeEpDO0VBQUE7RWdIZ0tBO0VBQ0E7RUFDQTtDcElxd2VMOztBRXo0ZUk7RWtJMEhBO0lBYUU7SUFDQTtHcEl1d2VKO0NBQ0Y7O0FvSXR4ZUk7RWhIeEpDO0NwQms3ZUw7O0FvSTF4ZUk7RWhIeEpDO0NwQnM3ZUw7O0FvSXB3ZUc7RWhIbExFO0VnSHFMRDtFQUNBO0NwSXN3ZUo7O0FFOTVlSTtFa0lvSkQ7SUFPRTtJQUNBO0dwSXd3ZUg7Q0FDRjs7QW9JanhlSTtFaEhsTEM7Q3BCdThlTDs7QW9JcnhlSTtFaEhsTEM7Q3BCMjhlTDs7QXFJeitlQTs7OztHckkrK2VFOztBcUl4K2VEO0VBQ0M7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7Q3JJMitlRjs7QUU5N2VJO0VtSXJESDtJQVVFO0lBQUE7WUFBQTtJQUNBO0lBQ0E7R3JJOCtlRDtDQUNGOztBcUk3K2VFOztFQUNDO0NySWkvZUg7O0FFMzhlSTtFbUl2Q0Y7O0lBR0U7R3JJcS9lRjtDQUNGOztBcUluL2VFO0VBQ0M7Q3JJcy9lSDs7QXFJdi9lRztFQUdDO0NySXcvZUo7O0FxSXIvZUU7RUFDQztFQUNBO0NySXcvZUg7O0FxSXAvZUM7RWpIVEk7Q3BCaWdmTDs7QXFJci9lRztFakhaRTtFQUFBO0VpSGtCRDtFQUNBO0VBQ0E7Q3JJcS9lSjs7QUUzK2VJO0VtSWxCRDtJQVdFO0lBQ0E7R3JJdS9lSDtDQUNGOztBcUlwZ2ZHO0VqSFpFO0VLckJKO0VBQ0E7Q3pCMGlmRDs7QUV4L2VJO0VtSWxCRDtJakhaRTtJS3JCSjtJQUNBO0d6QmlqZkM7Q0FDRjs7QXFJbi9lRTtFQUlDO0NySW0vZUg7O0FxSWwrZVc7RUFDUDtVQUFBO0NySXErZUo7O0FxSWwrZUc7RWpIcEVFO0VFdEJKO0VBcUJJO0VBQUE7RUdwQko7RUFDQTtFNEc2Rkc7RUFBQTtFQUFBO0VBQUE7Q3JJdStlSjs7QXFJbCtlRTtFNUduR0Q7RUFDQTtFNEdxR0U7RUFDQTtDcklxK2VIOztBcUk3OWVFO0VBT0M7Q3JJMDllSDs7QXFJaitlRTtFQVdDO0NySTA5ZUg7O0FxSXI5ZUU7RWpIMUdHO0VBQUE7Q3BCb2tmTDs7QUV0aWZJO0VtSTRFRjtJakgxR0c7SUFBQTtJQUFBO0lBQUE7R3BCNGtmSDtDQUNGOztBcUkzOWVFO0VoSGxIRztFQUFBO0VEQUE7RUFBQTtFaUh1SEY7RUFDQTtDckk4OWVIOztBRXhqZkk7RW1Jb0ZGO0loSGxIRztJQUFBO0lEQUE7SUFBQTtJaUg2SEQ7R3JJaytlRjtDQUNGOztBcUloK2VXO0VqSGhJTjtFQUFBO0NwQnFtZkw7O0FFdmtmSTtFbUlzR0Q7SUFFRTtHcklvK2VIO0NBQ0Y7O0FzSXpvZkE7Ozs7R3RJK29mRTs7QXNJMW9mRjtFbEh5Qks7RUFBQTtDcEJzbmZMOztBRXhsZkk7RW9JdkRKO0lsSHlCSztJQUFBO0dwQjRuZkg7Q0FDRjs7QXNJNW9mQztFakhlSTtDckJpb2ZMOztBc0l6b2ZDO0VsSFFJO0VBQUE7Q3BCc29mTDs7QUV4bWZJO0VvSXRDSDtJbEhRSTtJQUFBO0dwQjRvZkg7Q0FDRjs7QXNJN29mQztFbEhBSTtFa0hJSDtDdEk4b2ZGOztBc0k1b2ZFO0VsSE5HO0VrSFVGO0VBQ0E7Q3RJNm9mSDs7QXNJeHBmRTtFQW1CQztFQUNBO0N0SXlvZkg7O0FzSTdwZkU7RWxIQUc7RUtyQko7RUFDQTtFNkcrQ0c7Q3RJeW9mSjs7QXVJbHNmQTs7Ozs7R3ZJeXNmRTs7QXVJbnNmRjtFQUlNO0N2SW1zZk47O0FFanBmSTtFcUl0REo7SUFPUTtHdklxc2ZOO0NBQ0Y7O0F1SWhzZkE7RUFDRTtDdkltc2ZGOztBd0l2dGZBOzs7R3hJNHRmRTs7QXdJdHRmRDtFbkh3Qkk7Q3JCa3NmTDs7QXdJMXRmRTtFbkh3Qkc7Q3JCc3NmTDs7QUV4cWZJO0VzSXRESDtJbkh3Qkk7R3JCMnNmSDtDQUNGOztBd0l0dGZDO0VwSFVJO0NwQmd0Zkw7O0F3SXR0ZkU7RXBITUc7RUFBQTtFQUFBO0VBQUE7RW9IREY7RUFDQTtFQUNBO0N4SXl0Zkg7O0F3SWh1Zkc7RXBITUU7RUFBQTtDcEIrdGZMOztBd0lydWZHO0VwSE1FO0VBQUE7Q3BCb3VmTDs7QXdJMXVmRztFQWlCQztDeEk2dGZKOztBRTFzZkk7RXNJcENEO0lBb0JFO0d4SSt0Zkg7Q0FDRjs7QUVodGZJO0VzSXBDRjtJcEhNRztJQUFBO0lBQUE7SUFBQTtJb0hxQkQ7R3hJa3VmRjtDQUNGOztBeUl0eGZBOzs7OztHekk2eGZFOztBeUl0eGZEO0VBSUM7Q3pJc3hmRjs7QXlJMXhmRTtFckh1Qkc7RXFIZkY7VUFBQTtDekl1eGZIOztBMEl0eWZBOzs7OztHMUk2eWZFOztBMEl2eWZGO0VBQ0M7QzFJMHlmRDs7QWlCeHhmSTtFQUNDO0NqQjJ4Zkw7O0FpQjV4Zkk7RUFDQztDakIreGZMOztBaUJoeWZJO0VBQ0M7Q2pCbXlmTDs7QWlCcHlmSTs7RUFDQztDakJ3eWZMOztBaUJ6eWZJO0VBQ0M7Q2pCNHlmTDs7QWlCN3lmSTtFQUNDO0NqQmd6Zkw7O0FpQjV6Zks7RUFDQztDakIremZOOztBaUJoMGZLO0VBQ0M7Q2pCbTBmTjs7QWlCcDBmSztFQUNDO0NqQnUwZk47O0FpQngwZks7RUFDQztDakIyMGZOOztBaUI1MGZLO0VBQ0M7Q2pCKzBmTjs7QWlCaDFmSztFQUNDO0NqQm0xZk47O0FpQnAxZks7RUFDQztDakJ1MWZOOztBaUJ4MWZLO0VBQ0M7Q2pCMjFmTjs7QWlCNTFmSztFQUNDO0NqQisxZk47O0FpQmgyZks7RUFDQztDakJtMmZOOztBaUJwMmZLO0VBQ0M7Q2pCdTJmTjs7QWlCeDJmSztFQUNDO0NqQjIyZk47O0FpQjUyZks7Ozs7O0VBQ0M7Q2pCbTNmTjs7QWlCcDNmSztFQUNDO0NqQnUzZk47O0FpQngzZks7RUFDQztDakIyM2ZOOztBaUI1M2ZLO0VBQ0M7Q2pCKzNmTjs7QWlCaDRmSztFQUNDO0NqQm00Zk47O0FpQnA0Zks7RUFDQztDakJ1NGZOOztBaUJ4NGZLO0VBQ0M7Q2pCMjRmTjs7QWlCNTRmSztFQUNDO0NqQis0Zk47O0FpQmg1Zks7RUFDQztDakJtNWZOOztBaUJwNWZLO0VBQ0M7Q2pCdTVmTjs7QWlCeDVmSztFQUNDO0NqQjI1Zk47O0FpQjU1Zks7RUFDQztDakIrNWZOOztBaUJoNmZLO0VBQ0M7Q2pCbTZmTjs7QWlCcDZmSztFQUNDO0NqQnU2Zk47O0FpQng2Zks7RUFDQztDakIyNmZOOztBaUI1NmZLO0VBQ0M7Q2pCKzZmTjs7QWlCaDdmSztFQUNDO0NqQm03Zk47O0FpQnA3Zks7RUFDQztDakJ1N2ZOOztBaUJ4N2ZLO0VBQ0M7Q2pCMjdmTjs7QWlCNTdmSztFQUNDO0NqQis3Zk47O0FpQmg4Zks7RUFDQztDakJtOGZOOztBaUJwOGZLO0VBQ0M7Q2pCdThmTjs7QWlCeDhmSztFQUNDO0NqQjI4Zk47O0FpQjU4Zks7RUFDQztDakIrOGZOOztBaUJoOWZLO0VBQ0M7Q2pCbTlmTjs7QWlCcDlmSztFQUNDO0NqQnU5Zk47O0FpQng5Zks7RUFDQztDakIyOWZOOztBaUI1OWZLO0VBQ0M7Q2pCKzlmTjs7QWlCaCtmSztFQUNDO0NqQm0rZk47O0FpQnArZks7RUFDQztDakJ1K2ZOOztBaUJ4K2ZLO0VBQ0M7Q2pCMitmTjs7QWlCNStmSzs7RUFDQztDakJnL2ZOOztBaUJqL2ZLO0VBQ0M7Q2pCby9mTjs7QWlCci9mSztFQUNDO0NqQncvZk47O0FpQnovZks7Ozs7O0VBQ0M7Q2pCZ2dnQk47O0FpQmpnZ0JLO0VBQ0M7Q2pCb2dnQk47O0FpQnJnZ0JLO0VBQ0M7Q2pCd2dnQk47O0FpQnpnZ0JLO0VBQ0M7Q2pCNGdnQk47O0FpQjdnZ0JLO0VBQ0M7Q2pCZ2hnQk47O0FpQmpoZ0JLO0VBQ0M7Q2pCb2hnQk47O0FpQnJoZ0JLO0VBQ0M7Q2pCd2hnQk47O0FpQnpoZ0JLO0VBQ0M7Q2pCNGhnQk47O0FpQjdoZ0JLO0VBQ0M7Q2pCZ2lnQk47O0FpQmppZ0JLO0VBQ0M7Q2pCb2lnQk47O0FpQnJpZ0JLO0VBQ0M7Q2pCd2lnQk47O0FpQnppZ0JLO0VBQ0M7Q2pCNGlnQk47O0FpQjdpZ0JLO0VBQ0M7Q2pCZ2pnQk47O0FpQmpqZ0JLO0VBQ0M7Q2pCb2pnQk47O0FpQnJqZ0JLO0VBQ0M7Q2pCd2pnQk47O0FpQnpqZ0JLO0VBQ0M7Q2pCNGpnQk47O0FpQjdqZ0JLO0VBQ0M7Q2pCZ2tnQk47O0FpQmprZ0JLO0VBQ0M7Q2pCb2tnQk47O0FpQnJrZ0JLO0VBQ0M7Q2pCd2tnQk47O0FpQnprZ0JLO0VBQ0M7Q2pCNGtnQk47O0FpQjdrZ0JLO0VBQ0M7Q2pCZ2xnQk47O0FpQmpsZ0JLO0VBQ0M7Q2pCb2xnQk47O0FpQnJsZ0JLO0VBQ0M7Q2pCd2xnQk47O0FpQnpsZ0JLO0VBQ0M7Q2pCNGxnQk47O0FpQjdsZ0JLO0VBQ0M7Q2pCZ21nQk47O0FpQmptZ0JLO0VBQ0M7Q2pCb21nQk47O0FpQnJtZ0JLO0VBQ0M7Q2pCd21nQk47O0FpQnptZ0JLO0VBQ0M7Q2pCNG1nQk47O0FpQjdtZ0JLO0VBQ0M7Q2pCZ25nQk47O0FpQmpuZ0JLO0VBQ0M7Q2pCb25nQk47O0FpQnJuZ0JLO0VBQ0M7Q2pCd25nQk47O0FpQnpuZ0JLO0VBQ0M7Q2pCNG5nQk47O0FpQjduZ0JLO0VBQ0M7Q2pCZ29nQk47O0FpQmpvZ0JLO0VBQ0M7Q2pCb29nQk47O0FpQnJvZ0JLO0VBQ0M7Q2pCd29nQk47O0EySXZwZ0JBOzs7Ozs7O0czSWdxZ0JFOztBNkNyZ2dCQTs7Ozs7Ozs7Ozs7O0U4RmxJRTtDM0lzcGdCSjs7QTJJdnBnQkc7RUFDQztDM0kwcGdCSjs7QTJJM3BnQkc7RUFDQztDM0k4cGdCSjs7QW1IL21nQkU7O0V3Qi9DRTtDM0ltcWdCSjs7QUVob2dCSTtFeUlwQ0Q7SUFDQztHM0l3cWdCRjs7RTJJenFnQkM7SUFDQztHM0k0cWdCRjs7RTJJN3FnQkM7SUFDQztHM0lncmdCRjs7RTJJanJnQkM7SUFDQztHM0lvcmdCRjtDQUNGOztBRWxwZ0JJO0V5SXBDRDtJQUNDO0czSTByZ0JGOztFa0Nqb2dCRzs7SXlHekREO0czSStyZ0JGOztFMkloc2dCQztJQUNDO0czSW1zZ0JGOztFMklwc2dCQztJQUNDO0czSXVzZ0JGO0NBQ0Y7O0FFcnFnQkk7RXlJcENEO0lBQ0M7RzNJNnNnQkY7O0UySTlzZ0JDO0lBQ0M7RzNJaXRnQkY7O0UySWx0Z0JDO0lBQ0M7RzNJcXRnQkY7O0UySXR0Z0JDO0lBQ0M7RzNJeXRnQkY7Q0FDRjs7QUV2cmdCSTtFeUlwQ0Q7SUFDQztHM0krdGdCRjs7RTJJaHVnQkM7SUFDQztHM0ltdWdCRjs7RTJJcHVnQkM7SUFDQztHM0l1dWdCRjs7RTJJeHVnQkM7SUFDQztHM0kydWdCRjtDQUNGOztBNElyd2dCQTs7Ozs7RzVJNHdnQkU7O0E0SXZ2Z0JDO0VBQ0M7QzVJMHZnQko7O0FFcHRnQkk7RTBJdkNEO0lBQ0M7RzVJK3ZnQkY7Q0FDRjs7QUUxdGdCSTtFMEl2Q0Q7SUFDQztHNUlxd2dCRjtDQUNGOztBRWh1Z0JJO0UwSXZDRDtJQUNDO0c1STJ3Z0JGO0NBQ0Y7O0FFdHVnQkk7RTBJdkNEO0lBQ0M7RzVJaXhnQkY7Q0FDRjs7QTZJeHlnQkE7Ozs7Ozs7RzdJaXpnQkU7O0E2SXR5Z0JBO0VBQ0M7QzdJeXlnQkg7O0E2SS94Z0JBOzs7Ozs7OztHN0l5eWdCRTs7QW9GdHlnQkM7O0V5RFNEO0M3SWt5Z0JGOztBNklueWdCQztFQUNDO0M3SXN5Z0JGOztBNkl2eWdCQztFQUNDO0M3STB5Z0JGOztBOEJqMGdCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0UrR3VCRTtDN0lxMGdCRjs7QStCajJnQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFOEc0QkU7QzdJODNnQkY7O0E2SS8zZ0JDO0VBQ0M7QzdJazRnQkY7O0E4QnAzZ0JBOzs7OztFK0dkRTtDN0kwNGdCRjs7QTZJMzRnQkM7RUFDQztDN0k4NGdCRjs7QTZJLzRnQkM7RUFDQztDN0lrNWdCRjs7QTZJejRnQkE7Ozs7Ozs7RzdJazVnQkU7O0E2STUzZ0JDO0VBQ0M7QzdJKzNnQko7O0E2SWg0Z0JHO0VBQ0M7QzdJbTRnQko7O0E2SXA0Z0JHO0VBQ0M7QzdJdTRnQko7O0F5Q3Y2Z0JHOztFb0dnQ0M7QzdJNDRnQko7O0E2STc0Z0JHO0VBQ0M7QzdJZzVnQko7O0E2SWo1Z0JHO0VBQ0M7QzdJbzVnQko7O0E2SXI1Z0JHO0VBQ0M7QzdJdzVnQko7O0FFOTVnQkk7RTJJS0Q7SUFDQztHN0k2NWdCRjs7RTZJOTVnQkM7SUFDQztHN0lpNmdCRjs7RTZJbDZnQkM7SUFDQztHN0lxNmdCRjs7RTZJdDZnQkM7SUFDQztHN0l5NmdCRjs7RTZJMTZnQkM7SUFDQztHN0k2NmdCRjs7RTZJOTZnQkM7SUFDQztHN0lpN2dCRjs7RTZJbDdnQkM7SUFDQztHN0lxN2dCRjtDQUNGOztBRTU3Z0JJO0UySUtEO0lBQ0M7RzdJMjdnQkY7O0U2STU3Z0JDO0lBQ0M7RzdJKzdnQkY7O0U2SWg4Z0JDO0lBQ0M7RzdJbThnQkY7O0U2SXA4Z0JDO0lBQ0M7RzdJdThnQkY7O0U2SXg4Z0JDO0lBQ0M7RzdJMjhnQkY7O0U2STU4Z0JDO0lBQ0M7RzdJKzhnQkY7O0U2SWg5Z0JDO0lBQ0M7RzdJbTlnQkY7Q0FDRjs7QUUxOWdCSTtFMklLRDtJQUNDO0c3SXk5Z0JGOztFNkkxOWdCQztJQUNDO0c3STY5Z0JGOztFNkk5OWdCQztJQUNDO0c3SWkrZ0JGOztFNklsK2dCQztJQUNDO0c3SXErZ0JGOztFNkl0K2dCQztJQUNDO0c3SXkrZ0JGOztFNkkxK2dCQztJQUNDO0c3STYrZ0JGOztFNkk5K2dCQztJQUNDO0c3SWkvZ0JGO0NBQ0Y7O0FFeC9nQkk7RTJJS0Q7SUFDQztHN0l1L2dCRjs7RTZJeC9nQkM7SUFDQztHN0kyL2dCRjs7RTZJNS9nQkM7SUFDQztHN0krL2dCRjs7RTZJaGdoQkM7SUFDQztHN0ltZ2hCRjs7RTZJcGdoQkM7SUFDQztHN0l1Z2hCRjs7RTZJeGdoQkM7SUFDQztHN0kyZ2hCRjs7RTZJNWdoQkM7SUFDQztHN0krZ2hCRjtDQUNGOztBNklyZ2hCQTtFQUNDO0M3SXdnaEJEOztBNkloZ2hCQTs7Ozs7Ozs7RzdJMGdoQkU7O0E4QnJsaEJGOzs7RStHd0ZHO0M3SW1naEJIOztBNklwZ2hCRTtFQUNDO0M3SXVnaEJIOztBbURobGhCRzs7O0UwRnlFQTtDN0k2Z2hCSDs7QXNFcmhoQkU7O0V1RVFDO0M3SWtoaEJIOztBOElybmhCQTs7Ozs7Ozs7RzlJK25oQkU7O0F5Q25saEJDOzs7RXFHckJDO0M5SThtaEJKOztBOEkvbWhCRztFQUNDO0M5SWtuaEJKOztBOElubmhCRztFQUNDO0M5SXNuaEJKOztBOEl2bmhCRztFQUNDO0M5STBuaEJKOztBcUN0a2hCRTs7Ozs7Ozs7Ozs7RXlHeENHO0M5STRuaEJMOztBb0MxbmhCRTs7RTBHRkc7QzlJaW9oQkw7O0FxQ3psaEJFOzs7Ozs7Ozs7OztFeUd4Q0c7QzlJK29oQkw7O0FvQzdvaEJFOztFMEdGRztDOUlvcGhCTDs7QTBDeGpoQkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VvR25GRTtFQUNBO0VBQ0E7RUFDQTtDOUlxcWhCSjs7QThJOXBoQkc7RUFDQztFQUNBO0M5SWlxaEJKOztBNkM5amhCRTs7Ozs7OztFaUczRkU7RUFDQTtDOUltcWhCSjs7QThJbHNoQkk7RUFDQztDOUlxc2hCTDs7QThJdHNoQkk7RUFDQztDOUl5c2hCTDs7QThJMXNoQkk7RUFDQztDOUk2c2hCTDs7QThJOXNoQkk7RUFDQztDOUlpdGhCTDs7QThJenNoQkc7RUFDQztFQUNBO0VBQ0E7RUFDQTtDOUk0c2hCSjs7QThJcnNoQkc7RUFDQztFQUNBO0M5SXdzaEJKOztBOElqc2hCRztFQUNDO0VBQ0E7QzlJb3NoQko7O0F1Q251aEJFOzs7RXVHQ0c7QzlJd3VoQkw7O0E4SXp1aEJJO0VBQ0M7QzlJNHVoQkw7O0FtRS9yaEJFOzs7RTJFN0NHO0M5SWt2aEJMOztBOEludmhCSTtFQUNDO0M5SXN2aEJMOztBOEk5dWhCRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0M5SWl2aEJKOztBcUU5bmhCRTs7O0V5RTNHRTtFQUNBO0M5SSt1aEJKOztBOEl4dWhCRztFQUNDO0VBQ0E7QzlJMnVoQko7O0ErQ3R5aEJBOzs7Ozs7RStGNkJLO0M5SWt4aEJMOztBeUNweWhCRTs7O0VxR2tCRztDOUl3eGhCTDs7QW9FbHZoQkU7Ozs7RTBFdENHO0M5SSt4aEJMOztBOEloeWhCSTtFQUNDO0M5SW15aEJMOztBbUVyd2hCRTs7RTJFckJFO0VBQ0E7RUFDQTtFQUNBO0M5SSt4aEJKOztBcUMzMGhCQTs7Ozs7O0V5R29ESTtFQUNBO0M5SWd5aEJKOztBOEl6eGhCRztFQUNDO0VBQ0E7QzlJNHhoQko7O0E4STN6aEJJO0VBQ0M7QzlJOHpoQkw7O0E4SS96aEJJO0VBQ0M7QzlJazBoQkw7O0E0QzkxaEJFOzs7RWtHNEJHO0M5SXcwaEJMOztBOEl6MGhCSTtFQUNDO0M5STQwaEJMOztBOElwMGhCRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0M5SXUwaEJKOztBOEloMGhCRztFQUNDO0VBQ0E7QzlJbTBoQko7O0E4STV6aEJHO0VBQ0M7RUFDQTtDOUkremhCSjs7QThJOTFoQkk7RUFDQztDOUlpMmhCTDs7QThJbDJoQkk7RUFDQztDOUlxMmhCTDs7QXNDNTNoQkU7O0V3R3VCRztDOUkwMmhCTDs7QThJMzJoQkk7RUFDQztDOUk4MmhCTDs7QThJdDJoQkc7RUFDQztFQUNBO0VBQ0E7RUFDQTtDOUl5MmhCSjs7QThJbDJoQkc7RUFDQztFQUNBO0M5SXEyaEJKOztBOEk5MWhCRztFQUNDO0VBQ0E7QzlJaTJoQko7O0E4SWg0aEJJO0VBQ0M7QzlJbTRoQkw7O0E4SXA0aEJJO0VBQ0M7QzlJdTRoQkw7O0FvRjU1aEJFOzs7RTBEcUJHO0M5STY0aEJMOztBOEk5NGhCSTtFQUNDO0M5SWk1aEJMOztBOEl6NGhCRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0M5STQ0aEJKOztBOElyNGhCRztFQUNDO0VBQ0E7QzlJdzRoQko7O0ErQzE3aEJBOztFK0YwREk7RUFDQTtDOUlxNGhCSjs7QThJcDZoQkk7RUFDQztDOUl1NmhCTDs7QThJeDZoQkk7RUFDQztDOUkyNmhCTDs7QThJNTZoQkk7RUFDQztDOUkrNmhCTDs7QThJaDdoQkk7RUFDQztDOUltN2hCTDs7QThJMzZoQkc7RUFDQztFQUNBO0VBQ0E7RUFDQTtDOUk4NmhCSjs7QThJdjZoQkc7RUFDQztFQUNBO0M5STA2aEJKOztBOEluNmhCRztFQUNDO0VBQ0E7QzlJczZoQko7O0FvSTk5aEJFOztFVTBCRztDOUl5OGhCTDs7QThJMThoQkk7RUFDQztDOUk2OGhCTDs7QThJOThoQkk7RUFDQztDOUlpOWhCTDs7QThJbDloQkk7RUFDQztDOUlxOWhCTDs7QThJNzhoQkc7RUFDQztFQUNBO0VBQ0E7RUFDQTtDOUlnOWhCSjs7QThJejhoQkc7RUFDQztFQUNBO0M5STQ4aEJKOztBMkNqZ2lCQTs7RW1HNkRJO0VBQ0E7QzlJeThoQko7O0E4SXgraEJJO0VBQ0M7QzlJMitoQkw7O0E4STUraEJJO0VBQ0M7QzlJKytoQkw7O0E4SWgvaEJJO0VBQ0M7QzlJbS9oQkw7O0E4SXAvaEJJO0VBQ0M7QzlJdS9oQkw7O0E4SS8raEJHO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzlJay9oQko7O0E4STMraEJHO0VBQ0M7RUFDQTtDOUk4K2hCSjs7QThJditoQkc7RUFDQztFQUNBO0M5STAraEJKOztBOEl6Z2lCSTtFQUNDO0M5STRnaUJMOztBOEk3Z2lCSTtFQUNDO0M5SWdoaUJMOztBOElqaGlCSTtFQUNDO0M5SW9oaUJMOztBOElyaGlCSTtFQUNDO0M5SXdoaUJMOztBOEloaGlCRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0M5SW1oaUJKOztBOEk1Z2lCRztFQUNDO0VBQ0E7QzlJK2dpQko7O0E4SXhnaUJHO0VBQ0M7RUFDQTtDOUkyZ2lCSjs7QThJbGdpQkU7RUFDQztDOUlxZ2lCSDs7QThJNy9oQkU7RUFDQztDOUlnZ2lCSDs7QThJeC9oQkU7RUFDQztFQUNBO0M5STIvaEJIOztBOEluL2hCRTtFQUNDO0VBQ0E7QzlJcy9oQkg7O0E4SXhpaUJHO0VBMkRBO0VBQ0E7QzlJaS9oQkg7O0E2Q3g4aEJFOzs7Ozs7O0VpR2hDQztFQUNBO0M5SWsvaEJIOztBMEMvK2hCRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RW9HTUM7QzlJbWdpQkg7O0FFNWtpQkk7RTRJdENEO0lBQ0M7RzlJc25pQkY7O0U4SXZuaUJDO0lBQ0M7RzlJMG5pQkY7O0U4STNuaUJDO0lBQ0M7RzlJOG5pQkY7O0U4SS9uaUJDO0lBQ0M7RzlJa29pQkY7O0U4SXZuaUJFO0lBQ0M7RzlJMG5pQkg7O0U4STNuaUJFO0lBQ0M7RzlJOG5pQkg7O0U4SS9uaUJFO0lBQ0M7RzlJa29pQkg7O0U4SW5vaUJFO0lBQ0M7RzlJc29pQkg7O0U4STluaUJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJaW9pQkY7O0U4STFuaUJDO0lBQ0M7SUFDQTtHOUk2bmlCRjs7RThJdG5pQkM7SUFDQztJQUNBO0c5SXluaUJGOztFOEl4cGlCRTtJQUNDO0c5STJwaUJIOztFOEk1cGlCRTtJQUNDO0c5SStwaUJIOztFOElocWlCRTtJQUNDO0c5SW1xaUJIOztFOElwcWlCRTtJQUNDO0c5SXVxaUJIOztFOEkvcGlCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5SWtxaUJGOztFOEkzcGlCQztJQUNDO0lBQ0E7RzlJOHBpQkY7O0U4SXZwaUJDO0lBQ0M7SUFDQTtHOUkwcGlCRjs7RThJenJpQkU7SUFDQztHOUk0cmlCSDs7RThJN3JpQkU7SUFDQztHOUlnc2lCSDs7RThJanNpQkU7SUFDQztHOUlvc2lCSDs7RThJcnNpQkU7SUFDQztHOUl3c2lCSDs7RThJaHNpQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUltc2lCRjs7RThJNXJpQkM7SUFDQztJQUNBO0c5SStyaUJGOztFOEl4cmlCQztJQUNDO0lBQ0E7RzlJMnJpQkY7O0U4STF0aUJFO0lBQ0M7RzlJNnRpQkg7O0U4STl0aUJFO0lBQ0M7RzlJaXVpQkg7O0VxRWxtaUJBOztJeUUvSEc7RzlJc3VpQkg7O0U4SXZ1aUJFO0lBQ0M7RzlJMHVpQkg7O0U4SWx1aUJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJcXVpQkY7O0VxRWxuaUJBOztJeUUzR0U7SUFDQTtHOUlrdWlCRjs7RThJM3RpQkM7SUFDQztJQUNBO0c5STh0aUJGOztFOEk3dmlCRTtJQUNDO0c5SWd3aUJIOztFOElqd2lCRTtJQUNDO0c5SW93aUJIOztFOElyd2lCRTtJQUNDO0c5SXd3aUJIOztFOEl6d2lCRTtJQUNDO0c5STR3aUJIOztFOElwd2lCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5SXV3aUJGOztFOElod2lCQztJQUNDO0lBQ0E7RzlJbXdpQkY7O0U4STV2aUJDO0lBQ0M7SUFDQTtHOUkrdmlCRjs7RThJOXhpQkU7SUFDQztHOUlpeWlCSDs7RThJbHlpQkU7SUFDQztHOUlxeWlCSDs7RThJdHlpQkU7SUFDQztHOUl5eWlCSDs7RThJMXlpQkU7SUFDQztHOUk2eWlCSDs7RThJcnlpQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUl3eWlCRjs7RThJanlpQkM7SUFDQztJQUNBO0c5SW95aUJGOztFOEk3eGlCQztJQUNDO0lBQ0E7RzlJZ3lpQkY7O0U4SS96aUJFO0lBQ0M7RzlJazBpQkg7O0U4SW4waUJFO0lBQ0M7RzlJczBpQkg7O0U4SXYwaUJFO0lBQ0M7RzlJMDBpQkg7O0U4STMwaUJFO0lBQ0M7RzlJODBpQkg7O0U4SXQwaUJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJeTBpQkY7O0U4SWwwaUJDO0lBQ0M7SUFDQTtHOUlxMGlCRjs7RThJOXppQkM7SUFDQztJQUNBO0c5SWkwaUJGOztFOEloMmlCRTtJQUNDO0c5SW0yaUJIOztFOElwMmlCRTtJQUNDO0c5SXUyaUJIOztFOEl4MmlCRTtJQUNDO0c5STIyaUJIOztFOEk1MmlCRTtJQUNDO0c5SSsyaUJIOztFOEl2MmlCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5STAyaUJGOztFOEluMmlCQztJQUNDO0lBQ0E7RzlJczJpQkY7O0U4SS8xaUJDO0lBQ0M7SUFDQTtHOUlrMmlCRjs7RThJajRpQkU7SUFDQztHOUlvNGlCSDs7RThJcjRpQkU7SUFDQztHOUl3NGlCSDs7RThJejRpQkU7SUFDQztHOUk0NGlCSDs7RThJNzRpQkU7SUFDQztHOUlnNWlCSDs7RThJeDRpQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUkyNGlCRjs7RThJcDRpQkM7SUFDQztJQUNBO0c5SXU0aUJGOztFOEloNGlCQztJQUNDO0lBQ0E7RzlJbTRpQkY7O0U4SWw2aUJFO0lBQ0M7RzlJcTZpQkg7O0U4SXQ2aUJFO0lBQ0M7RzlJeTZpQkg7O0U4STE2aUJFO0lBQ0M7RzlJNjZpQkg7O0U4STk2aUJFO0lBQ0M7RzlJaTdpQkg7O0U4SXo2aUJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJNDZpQkY7O0U4SXI2aUJDO0lBQ0M7SUFDQTtHOUl3NmlCRjs7RThJajZpQkM7SUFDQztJQUNBO0c5SW82aUJGOztFOEluOGlCRTtJQUNDO0c5SXM4aUJIOztFOEl2OGlCRTtJQUNDO0c5STA4aUJIOztFOEkzOGlCRTtJQUNDO0c5STg4aUJIOztFOEkvOGlCRTtJQUNDO0c5SWs5aUJIOztFOEkxOGlCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5STY4aUJGOztFOEl0OGlCQztJQUNDO0lBQ0E7RzlJeThpQkY7O0U4SWw4aUJDO0lBQ0M7SUFDQTtHOUlxOGlCRjs7RThJNTdpQkE7SUFDQztHOUkrN2lCRDs7RThJdjdpQkE7SUFDQztHOUkwN2lCRDs7RThJbDdpQkE7SUFDQztJQUNBO0c5SXE3aUJEOztFOEk3NmlCQTtJQUNDO0lBQ0E7RzlJZzdpQkQ7O0U4SXg2aUJBO0lBQ0M7SUFDQTtHOUkyNmlCRDs7RThJbjZpQkE7SUFDQztJQUNBO0c5SXM2aUJEOztFOEl2L2lCQztJQTBGQTtHOUlpNmlCRDtDQUNGOztBRTMraUJJO0U0SXRDRDtJQUNDO0c5SXFoakJGOztFOEl0aGpCQztJQUNDO0c5SXloakJGOztFOEkxaGpCQztJQUNDO0c5STZoakJGOztFOEk5aGpCQztJQUNDO0c5SWlpakJGOztFaUVyL2lCQTs7STZFaENHO0c5STBoakJIOztFOEkzaGpCRTtJQUNDO0c5SThoakJIOztFa0l4L2lCQzs7O0lZdENFO0c5SW9pakJIOztFOElyaWpCRTtJQUNDO0c5SXdpakJIOztFbUM3eGlCQzs7STJHbFFDO0lBQ0E7SUFDQTtJQUNBO0c5SW9pakJGOztFcUNobGpCRjs7O0l5R29ESTtJQUNBO0c5SWtpakJGOztFOEkzaGpCQztJQUNDO0lBQ0E7RzlJOGhqQkY7O0U4STdqakJFO0lBQ0M7RzlJZ2tqQkg7O0U4SWprakJFO0lBQ0M7RzlJb2tqQkg7O0U4SXJrakJFO0lBQ0M7RzlJd2tqQkg7O0U4SXprakJFO0lBQ0M7RzlJNGtqQkg7O0U4SXBrakJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJdWtqQkY7O0U4SWhrakJDO0lBQ0M7SUFDQTtHOUlta2pCRjs7RThJNWpqQkM7SUFDQztJQUNBO0c5SStqakJGOztFaUh6bmpCRjs7STZCNEJLO0c5SWttakJIOztFOElubWpCRTtJQUNDO0c5SXNtakJIOztFOEl2bWpCRTtJQUNDO0c5STBtakJIOztFOEkzbWpCRTtJQUNDO0c5SThtakJIOztFOEl0bWpCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5SXltakJGOztFOElsbWpCQztJQUNDO0lBQ0E7RzlJcW1qQkY7O0U4STlsakJDO0lBQ0M7SUFDQTtHOUlpbWpCRjs7RThJaG9qQkU7SUFDQztHOUltb2pCSDs7RThJcG9qQkU7SUFDQztHOUl1b2pCSDs7RW1FMWxqQkE7O0kyRTdDRztHOUk0b2pCSDs7RThJN29qQkU7SUFDQztHOUlncGpCSDs7RThJeG9qQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUkyb2pCRjs7RThJcG9qQkM7SUFDQztJQUNBO0c5SXVvakJGOztFOElob2pCQztJQUNDO0lBQ0E7RzlJbW9qQkY7O0U4SWxxakJFO0lBQ0M7RzlJcXFqQkg7O0U4SXRxakJFO0lBQ0M7RzlJeXFqQkg7O0U4STFxakJFO0lBQ0M7RzlJNnFqQkg7O0U4STlxakJFO0lBQ0M7RzlJaXJqQkg7O0U4SXpxakJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJNHFqQkY7O0VrSGxxakJBOztJNEJGRTtJQUNBO0c5SXlxakJGOztFOElscWpCQztJQUNDO0lBQ0E7RzlJcXFqQkY7O0U4SXBzakJFO0lBQ0M7RzlJdXNqQkg7O0U4SXhzakJFO0lBQ0M7RzlJMnNqQkg7O0U0Q3Z1akJBOztJa0c0Qkc7RzlJZ3RqQkg7O0U4SWp0akJFO0lBQ0M7RzlJb3RqQkg7O0U4STVzakJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJK3NqQkY7O0U4SXhzakJDO0lBQ0M7SUFDQTtHOUkyc2pCRjs7RThJcHNqQkM7SUFDQztJQUNBO0c5SXVzakJGOztFOEl0dWpCRTtJQUNDO0c5SXl1akJIOztFOEkxdWpCRTtJQUNDO0c5STZ1akJIOztFOEk5dWpCRTtJQUNDO0c5SWl2akJIOztFOElsdmpCRTtJQUNDO0c5SXF2akJIOztFOEk3dWpCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5SWd2akJGOztFOEl6dWpCQztJQUNDO0lBQ0E7RzlJNHVqQkY7O0U4SXJ1akJDO0lBQ0M7SUFDQTtHOUl3dWpCRjs7RThJdndqQkU7SUFDQztHOUkwd2pCSDs7RThJM3dqQkU7SUFDQztHOUk4d2pCSDs7RThJL3dqQkU7SUFDQztHOUlreGpCSDs7RThJbnhqQkU7SUFDQztHOUlzeGpCSDs7RThJOXdqQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUlpeGpCRjs7RThJMXdqQkM7SUFDQztJQUNBO0c5STZ3akJGOztFOEl0d2pCQztJQUNDO0lBQ0E7RzlJeXdqQkY7O0U4SXh5akJFO0lBQ0M7RzlJMnlqQkg7O0U4STV5akJFO0lBQ0M7RzlJK3lqQkg7O0U4SWh6akJFO0lBQ0M7RzlJbXpqQkg7O0U4SXB6akJFO0lBQ0M7RzlJdXpqQkg7O0U4SS95akJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJa3pqQkY7O0U4STN5akJDO0lBQ0M7SUFDQTtHOUk4eWpCRjs7RStDaDJqQkY7O0krRjBESTtJQUNBO0c5STJ5akJGOztFOEkxMGpCRTtJQUNDO0c5STYwakJIOztFOEk5MGpCRTtJQUNDO0c5SWkxakJIOztFOElsMWpCRTtJQUNDO0c5SXExakJIOztFOEl0MWpCRTtJQUNDO0c5SXkxakJIOztFOElqMWpCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5SW8xakJGOztFOEk3MGpCQztJQUNDO0lBQ0E7RzlJZzFqQkY7O0U4SXowakJDO0lBQ0M7SUFDQTtHOUk0MGpCRjs7RThJMzJqQkU7SUFDQztHOUk4MmpCSDs7RThJLzJqQkU7SUFDQztHOUlrM2pCSDs7RThJbjNqQkU7SUFDQztHOUlzM2pCSDs7RThJdjNqQkU7SUFDQztHOUkwM2pCSDs7RThJbDNqQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUlxM2pCRjs7RThJOTJqQkM7SUFDQztJQUNBO0c5SWkzakJGOztFOEkxMmpCQztJQUNDO0lBQ0E7RzlJNjJqQkY7O0U4SXAyakJBO0lBQ0M7RzlJdTJqQkQ7O0U4SS8xakJBO0lBQ0M7RzlJazJqQkQ7O0U4STExakJBO0lBQ0M7SUFDQTtHOUk2MWpCRDs7RThJcjFqQkE7SUFDQztJQUNBO0c5SXcxakJEOztFOEloMWpCQTtJQUNDO0lBQ0E7RzlJbTFqQkQ7O0U4STMwakJBO0lBQ0M7SUFDQTtHOUk4MGpCRDs7RW1DNXBqQkM7O0kyR3pLQTtHOUkwMGpCRDtDQUNGOztBRXA1akJJO0U0SXRDRDtJQUNDO0c5STg3akJGOztFOEkvN2pCQztJQUNDO0c5SWs4akJGOztFOEluOGpCQztJQUNDO0c5SXM4akJGOztFOEl2OGpCQztJQUNDO0c5STA4akJGOztFOEkvN2pCRTtJQUNDO0c5SWs4akJIOztFOEluOGpCRTtJQUNDO0c5SXM4akJIOztFOEl2OGpCRTtJQUNDO0c5STA4akJIOztFOEkzOGpCRTtJQUNDO0c5STg4akJIOztFOEl0OGpCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5SXk4akJGOztFOElsOGpCQztJQUNDO0lBQ0E7RzlJcThqQkY7O0U4STk3akJDO0lBQ0M7SUFDQTtHOUlpOGpCRjs7RThJaCtqQkU7SUFDQztHOUltK2pCSDs7RThJcCtqQkU7SUFDQztHOUl1K2pCSDs7RThJeCtqQkU7SUFDQztHOUkyK2pCSDs7RThJNStqQkU7SUFDQztHOUkrK2pCSDs7RThJditqQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUkwK2pCRjs7RThJbitqQkM7SUFDQztJQUNBO0c5SXMrakJGOztFOEkvOWpCQztJQUNDO0lBQ0E7RzlJaytqQkY7O0U4SWpna0JFO0lBQ0M7RzlJb2drQkg7O0U4SXJna0JFO0lBQ0M7RzlJd2drQkg7O0U4SXpna0JFO0lBQ0M7RzlJNGdrQkg7O0U4STdna0JFO0lBQ0M7RzlJZ2hrQkg7O0U4SXhna0JDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJMmdrQkY7O0U4SXBna0JDO0lBQ0M7SUFDQTtHOUl1Z2tCRjs7RThJaGdrQkM7SUFDQztJQUNBO0c5SW1na0JGOztFOElsaWtCRTtJQUNDO0c5SXFpa0JIOztFOEl0aWtCRTtJQUNDO0c5SXlpa0JIOztFOEkxaWtCRTtJQUNDO0c5STZpa0JIOztFOEk5aWtCRTtJQUNDO0c5SWlqa0JIOztFOEl6aWtCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5STRpa0JGOztFOElyaWtCQztJQUNDO0lBQ0E7RzlJd2lrQkY7O0U4SWppa0JDO0lBQ0M7SUFDQTtHOUlvaWtCRjs7RThJbmtrQkU7SUFDQztHOUlza2tCSDs7RThJdmtrQkU7SUFDQztHOUkwa2tCSDs7RThJM2trQkU7SUFDQztHOUk4a2tCSDs7RThJL2trQkU7SUFDQztHOUlrbGtCSDs7RThJMWtrQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUk2a2tCRjs7RThJdGtrQkM7SUFDQztJQUNBO0c5SXlra0JGOztFOElsa2tCQztJQUNDO0lBQ0E7RzlJcWtrQkY7O0U4SXBta0JFO0lBQ0M7RzlJdW1rQkg7O0U4SXhta0JFO0lBQ0M7RzlJMm1rQkg7O0U4STVta0JFO0lBQ0M7RzlJK21rQkg7O0U4SWhua0JFO0lBQ0M7RzlJbW5rQkg7O0U4STNta0JDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJOG1rQkY7O0U4SXZta0JDO0lBQ0M7SUFDQTtHOUkwbWtCRjs7RThJbm1rQkM7SUFDQztJQUNBO0c5SXNta0JGOztFOElyb2tCRTtJQUNDO0c5SXdva0JIOztFOEl6b2tCRTtJQUNDO0c5STRva0JIOztFOEk3b2tCRTtJQUNDO0c5SWdwa0JIOztFOElqcGtCRTtJQUNDO0c5SW9wa0JIOztFOEk1b2tCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5SStva0JGOztFOEl4b2tCQztJQUNDO0lBQ0E7RzlJMm9rQkY7O0U4SXBva0JDO0lBQ0M7SUFDQTtHOUl1b2tCRjs7RThJdHFrQkU7SUFDQztHOUl5cWtCSDs7RThJMXFrQkU7SUFDQztHOUk2cWtCSDs7RThJOXFrQkU7SUFDQztHOUlpcmtCSDs7RThJbHJrQkU7SUFDQztHOUlxcmtCSDs7RThJN3FrQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUlncmtCRjs7RThJenFrQkM7SUFDQztJQUNBO0c5STRxa0JGOztFOElycWtCQztJQUNDO0lBQ0E7RzlJd3FrQkY7O0U4SXZza0JFO0lBQ0M7RzlJMHNrQkg7O0U4STNza0JFO0lBQ0M7RzlJOHNrQkg7O0U4SS9za0JFO0lBQ0M7RzlJa3RrQkg7O0U4SW50a0JFO0lBQ0M7RzlJc3RrQkg7O0U4STlza0JDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJaXRrQkY7O0U4STFza0JDO0lBQ0M7SUFDQTtHOUk2c2tCRjs7RThJdHNrQkM7SUFDQztJQUNBO0c5SXlza0JGOztFOEl4dWtCRTtJQUNDO0c5STJ1a0JIOztFOEk1dWtCRTtJQUNDO0c5SSt1a0JIOztFOElodmtCRTtJQUNDO0c5SW12a0JIOztFOElwdmtCRTtJQUNDO0c5SXV2a0JIOztFOEkvdWtCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5SWt2a0JGOztFOEkzdWtCQztJQUNDO0lBQ0E7RzlJOHVrQkY7O0U4SXZ1a0JDO0lBQ0M7SUFDQTtHOUkwdWtCRjs7RThJendrQkU7SUFDQztHOUk0d2tCSDs7RThJN3drQkU7SUFDQztHOUlneGtCSDs7RThJanhrQkU7SUFDQztHOUlveGtCSDs7RThJcnhrQkU7SUFDQztHOUl3eGtCSDs7RThJaHhrQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUlteGtCRjs7RThJNXdrQkM7SUFDQztJQUNBO0c5SSt3a0JGOztFOEl4d2tCQztJQUNDO0lBQ0E7RzlJMndrQkY7O0U4SWx3a0JBO0lBQ0M7RzlJcXdrQkQ7O0U4STd2a0JBO0lBQ0M7RzlJZ3drQkQ7O0U4SXh2a0JBO0lBQ0M7SUFDQTtHOUkydmtCRDs7RThJbnZrQkE7SUFDQztJQUNBO0c5SXN2a0JEOztFOEk5dWtCQTtJQUNDO0lBQ0E7RzlJaXZrQkQ7O0U4SXp1a0JBO0lBQ0M7SUFDQTtHOUk0dWtCRDs7RThJN3prQkM7SUEwRkE7RzlJdXVrQkQ7Q0FDRjs7QUVqemtCSTtFNEl0Q0Q7SUFDQztHOUkyMWtCRjs7RThJNTFrQkM7SUFDQztHOUkrMWtCRjs7RThJaDJrQkM7SUFDQztHOUltMmtCRjs7RThJcDJrQkM7SUFDQztHOUl1MmtCRjs7RThJNTFrQkU7SUFDQztHOUkrMWtCSDs7RThJaDJrQkU7SUFDQztHOUltMmtCSDs7RThJcDJrQkU7SUFDQztHOUl1MmtCSDs7RThJeDJrQkU7SUFDQztHOUkyMmtCSDs7RThJbjJrQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUlzMmtCRjs7RThJLzFrQkM7SUFDQztJQUNBO0c5SWsya0JGOztFOEkzMWtCQztJQUNDO0lBQ0E7RzlJODFrQkY7O0U4STcza0JFO0lBQ0M7RzlJZzRrQkg7O0U4SWo0a0JFO0lBQ0M7RzlJbzRrQkg7O0U4SXI0a0JFO0lBQ0M7RzlJdzRrQkg7O0U4SXo0a0JFO0lBQ0M7RzlJNDRrQkg7O0U4SXA0a0JDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJdTRrQkY7O0U4SWg0a0JDO0lBQ0M7SUFDQTtHOUltNGtCRjs7RThJNTNrQkM7SUFDQztJQUNBO0c5SSsza0JGOztFOEk5NWtCRTtJQUNDO0c5SWk2a0JIOztFOElsNmtCRTtJQUNDO0c5SXE2a0JIOztFOEl0NmtCRTtJQUNDO0c5SXk2a0JIOztFOEkxNmtCRTtJQUNDO0c5STY2a0JIOztFOElyNmtCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5SXc2a0JGOztFOElqNmtCQztJQUNDO0lBQ0E7RzlJbzZrQkY7O0U4STc1a0JDO0lBQ0M7SUFDQTtHOUlnNmtCRjs7RThJLzdrQkU7SUFDQztHOUlrOGtCSDs7RThJbjhrQkU7SUFDQztHOUlzOGtCSDs7RThJdjhrQkU7SUFDQztHOUkwOGtCSDs7RThJMzhrQkU7SUFDQztHOUk4OGtCSDs7RThJdDhrQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUl5OGtCRjs7RThJbDhrQkM7SUFDQztJQUNBO0c5SXE4a0JGOztFOEk5N2tCQztJQUNDO0lBQ0E7RzlJaThrQkY7O0U4SWgra0JFO0lBQ0M7RzlJbStrQkg7O0U4SXAra0JFO0lBQ0M7RzlJdStrQkg7O0U4SXgra0JFO0lBQ0M7RzlJMitrQkg7O0U4STUra0JFO0lBQ0M7RzlJKytrQkg7O0U4SXYra0JDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJMCtrQkY7O0U4SW4ra0JDO0lBQ0M7SUFDQTtHOUlzK2tCRjs7RThJLzlrQkM7SUFDQztJQUNBO0c5SWsra0JGOztFOElqZ2xCRTtJQUNDO0c5SW9nbEJIOztFOElyZ2xCRTtJQUNDO0c5SXdnbEJIOztFOEl6Z2xCRTtJQUNDO0c5STRnbEJIOztFOEk3Z2xCRTtJQUNDO0c5SWdobEJIOztFOEl4Z2xCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5STJnbEJGOztFOElwZ2xCQztJQUNDO0lBQ0E7RzlJdWdsQkY7O0U4SWhnbEJDO0lBQ0M7SUFDQTtHOUltZ2xCRjs7RThJbGlsQkU7SUFDQztHOUlxaWxCSDs7RThJdGlsQkU7SUFDQztHOUl5aWxCSDs7RThJMWlsQkU7SUFDQztHOUk2aWxCSDs7RThJOWlsQkU7SUFDQztHOUlpamxCSDs7RThJemlsQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUk0aWxCRjs7RThJcmlsQkM7SUFDQztJQUNBO0c5SXdpbEJGOztFOElqaWxCQztJQUNDO0lBQ0E7RzlJb2lsQkY7O0U4SW5rbEJFO0lBQ0M7RzlJc2tsQkg7O0U4SXZrbEJFO0lBQ0M7RzlJMGtsQkg7O0U4STNrbEJFO0lBQ0M7RzlJOGtsQkg7O0U4SS9rbEJFO0lBQ0M7RzlJa2xsQkg7O0U4STFrbEJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJNmtsQkY7O0U4SXRrbEJDO0lBQ0M7SUFDQTtHOUl5a2xCRjs7RThJbGtsQkM7SUFDQztJQUNBO0c5SXFrbEJGOztFOElwbWxCRTtJQUNDO0c5SXVtbEJIOztFOEl4bWxCRTtJQUNDO0c5STJtbEJIOztFOEk1bWxCRTtJQUNDO0c5SSttbEJIOztFOElobmxCRTtJQUNDO0c5SW1ubEJIOztFOEkzbWxCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0c5SThtbEJGOztFOEl2bWxCQztJQUNDO0lBQ0E7RzlJMG1sQkY7O0U4SW5tbEJDO0lBQ0M7SUFDQTtHOUlzbWxCRjs7RThJcm9sQkU7SUFDQztHOUl3b2xCSDs7RThJem9sQkU7SUFDQztHOUk0b2xCSDs7RThJN29sQkU7SUFDQztHOUlncGxCSDs7RThJanBsQkU7SUFDQztHOUlvcGxCSDs7RThJNW9sQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHOUkrb2xCRjs7RThJeG9sQkM7SUFDQztJQUNBO0c5STJvbEJGOztFOElwb2xCQztJQUNDO0lBQ0E7RzlJdW9sQkY7O0U4SXRxbEJFO0lBQ0M7RzlJeXFsQkg7O0U4STFxbEJFO0lBQ0M7RzlJNnFsQkg7O0U4STlxbEJFO0lBQ0M7RzlJaXJsQkg7O0U4SWxybEJFO0lBQ0M7RzlJcXJsQkg7O0U4STdxbEJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RzlJZ3JsQkY7O0U4SXpxbEJDO0lBQ0M7SUFDQTtHOUk0cWxCRjs7RThJcnFsQkM7SUFDQztJQUNBO0c5SXdxbEJGOztFOEkvcGxCQTtJQUNDO0c5SWtxbEJEOztFOEkxcGxCQTtJQUNDO0c5STZwbEJEOztFOElycGxCQTtJQUNDO0lBQ0E7RzlJd3BsQkQ7O0U4SWhwbEJBO0lBQ0M7SUFDQTtHOUltcGxCRDs7RThJM29sQkE7SUFDQztJQUNBO0c5SThvbEJEOztFOEl0b2xCQTtJQUNDO0lBQ0E7RzlJeW9sQkQ7O0U4STF0bEJDO0lBMEZBO0c5SW9vbEJEO0NBQ0Y7O0ErSTF3bEJBOzs7OztHL0lpeGxCRTs7QXVDaHdsQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0V3R1BBO0MvSTB5bEJGOztBOEYveWxCQTs7RWlEU0U7Qy9JMnlsQkY7O0ErSXh5bEJDO0VBQ0M7Qy9JMnlsQkY7O0FtQ3B1bEJHOzs7Ozs7Ozs7Ozs7OztFNEcvRUQ7Qy9JbzBsQkY7O0ErSWowbEJDO0VBQ0M7Qy9JbzBsQkY7O0ErSWowbEJDO0VBQ0M7Qy9JbzBsQkY7O0ErSTcwbEJDO0VBQ0M7Qy9JZzFsQkY7O0FvQ3YxbEJBOztFMkdXRTtDL0lpMWxCRjs7QXVIOXdsQkU7O0V3Qi9EQTtDL0lrMWxCRjs7QStJMzFsQkM7RUFDQztDL0k4MWxCRjs7QStJMzFsQkM7RUFDQztDL0k4MWxCRjs7QStJMzFsQkM7RUFDQztDL0k4MWxCRjs7QXVDLzFsQkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0V3R21DRTtDL0krMWxCSjs7QThGOTRsQkE7O0VpRG1ESTtDL0lnMmxCSjs7QStJdjRsQkM7RUEyQ0c7Qy9JZzJsQko7O0FtQ24wbEJHOzs7Ozs7Ozs7Ozs7OztFNEdyQ0M7Qy9JeTNsQko7O0ErSWg2bEJDO0VBMkNHO0MvSXkzbEJKOztBK0loNmxCQztFQTJDRztDL0l5M2xCSjs7QStJNTZsQkM7RUEyQ0c7Qy9JcTRsQko7O0FvQ3Q3bEJBOztFMkdxREk7Qy9JczRsQko7O0F1SDcybEJFOztFd0JyQkU7Qy9JdTRsQko7O0ErSTE3bEJDO0VBMkNHO0MvSW01bEJKOztBK0kxN2xCQztFQTJDRztDL0ltNWxCSjs7QStJMTdsQkM7RUEyQ0c7Qy9JbTVsQko7O0FFbjVsQkk7RTZJVEQ7SUFDQztHL0lnNmxCRjs7RStJNzVsQkM7SUFDQztHL0lnNmxCRjs7RStJNzVsQkM7SUFDQztHL0lnNmxCRjs7RStJejZsQkM7SUFDQztHL0k0NmxCRjs7RStJejZsQkM7SUFDQztHL0k0NmxCRjs7RStJejZsQkM7SUFDQztHL0k0NmxCRjs7RStJcjdsQkM7SUFDQztHL0l3N2xCRjs7RStJcjdsQkM7SUFDQztHL0l3N2xCRjs7RStJcjdsQkM7SUFDQztHL0l3N2xCRjs7RStJajhsQkM7SUFDQztHL0lvOGxCRjs7RStJajhsQkM7SUFDQztHL0lvOGxCRjs7RStJajhsQkM7SUFDQztHL0lvOGxCRjtDQUNGOztBRXI4bEJJO0U2Q3RESjs7O0lnRzhDSTtHL0lvOWxCRjs7RStJajlsQkM7SUFDQztHL0lvOWxCRjs7RStJajlsQkM7SUFDQztHL0lvOWxCRjs7RW9EM2dtQkY7OztJMkYrQ0k7Ry9JaytsQkY7O0UrSS85bEJDO0lBQ0M7Ry9JaytsQkY7O0UrSS85bEJDO0lBQ0M7Ry9JaytsQkY7O0UrSTMrbEJDO0lBQ0M7Ry9JOCtsQkY7O0UrSTMrbEJDO0lBQ0M7Ry9JOCtsQkY7O0UrSTMrbEJDO0lBQ0M7Ry9JOCtsQkY7O0UrSXYvbEJDO0lBQ0M7Ry9JMC9sQkY7O0UrSXYvbEJDO0lBQ0M7Ry9JMC9sQkY7O0UrSXYvbEJDO0lBQ0M7Ry9JMC9sQkY7Q0FDRjs7QUUzL2xCSTtFNklURDtJQUNDO0cvSXdnbUJGOztFK0lyZ21CQztJQUNDO0cvSXdnbUJGOztFK0lyZ21CQztJQUNDO0cvSXdnbUJGOztFK0lqaG1CQztJQUNDO0cvSW9obUJGOztFK0lqaG1CQztJQUNDO0cvSW9obUJGOztFK0lqaG1CQztJQUNDO0cvSW9obUJGOztFK0k3aG1CQztJQUNDO0cvSWdpbUJGOztFK0k3aG1CQztJQUNDO0cvSWdpbUJGOztFK0k3aG1CQztJQUNDO0cvSWdpbUJGOztFK0l6aW1CQztJQUNDO0cvSTRpbUJGOztFK0l6aW1CQztJQUNDO0cvSTRpbUJGOztFK0l6aW1CQztJQUNDO0cvSTRpbUJGO0NBQ0Y7O0FFN2ltQkk7RTZJVEQ7SUFDQztHL0kwam1CRjs7RStJdmptQkM7SUFDQztHL0kwam1CRjs7RStJdmptQkM7SUFDQztHL0kwam1CRjs7RStJbmttQkM7SUFDQztHL0lza21CRjs7RStJbmttQkM7SUFDQztHL0lza21CRjs7RStJbmttQkM7SUFDQztHL0lza21CRjs7RStJL2ttQkM7SUFDQztHL0lrbG1CRjs7RStJL2ttQkM7SUFDQztHL0lrbG1CRjs7RStJL2ttQkM7SUFDQztHL0lrbG1CRjs7RStJM2xtQkM7SUFDQztHL0k4bG1CRjs7RStJM2xtQkM7SUFDQztHL0k4bG1CRjs7RStJM2xtQkM7SUFDQztHL0k4bG1CRjtDQUNGOztBZ0ozcG1CQTs7Ozs7Ozs7R2hKcXFtQkU7O0FnSjdvbUJFO0VBQ0M7Q2hKZ3BtQkw7O0EyRTFwbUJFOztFcUVVRztDaEpxcG1CTDs7QWdKdHBtQkk7RUFDQztDaEp5cG1CTDs7QTJFbnFtQkU7O0VxRVVHO0NoSjhwbUJMOztBZ0p0cG1CRztFQUNDO0VBQ0E7Q2hKeXBtQko7O0FnSmxwbUJHO0VBQ0M7RUFDQTtDaEpxcG1CSjs7QTRCNXJtQkE7O0VvSCtDSTtFQUNBO0VBQ0E7RUFDQTtDaEprcG1CSjs7QWdKanJtQkk7RUFDQztDaEpvcm1CTDs7QWdKcnJtQkk7RUFDQztDaEp3cm1CTDs7QWdKenJtQkk7RUFDQztDaEo0cm1CTDs7QWdKN3JtQkk7RUFDQztDaEpnc21CTDs7QWdKeHJtQkc7RUFDQztFQUNBO0NoSjJybUJKOztBZ0pwcm1CRztFQUNDO0VBQ0E7Q2hKdXJtQko7O0FnSmhybUJHO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2hKbXJtQko7O0F1RXpvbUJFOztFeUV4RUc7Q2hKc3RtQkw7O0FnSnZ0bUJJO0VBQ0M7Q2hKMHRtQkw7O0FnSjN0bUJJO0VBQ0M7Q2hKOHRtQkw7O0FnSi90bUJJO0VBQ0M7Q2hKa3VtQkw7O0FnSjF0bUJHO0VBQ0M7RUFDQTtDaEo2dG1CSjs7QWdKdHRtQkc7RUFDQztFQUNBO0NoSnl0bUJKOztBZ0psdG1CRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0NoSnF0bUJKOztBZ0pwdm1CSTtFQUNDO0NoSnV2bUJMOztBb0MzdW1CRTs7RTRHWkc7Q2hKNHZtQkw7O0FnSjd2bUJJO0VBQ0M7Q2hKZ3dtQkw7O0FvQ3B2bUJFOztFNEdaRztDaEpxd21CTDs7QXNDMXdtQkU7Ozs7RTBHY0U7RUFDQTtDaEptd21CSjs7QXNDanZtQkU7Ozs7O0UwR1ZFO0VBQ0E7Q2hKbXdtQko7O0FxRXhzbUJFOzs7O0UyRW5ERTtFQUNBO0VBQ0E7RUFDQTtDaEprd21CSjs7QWdKanltQkk7RUFDQztDaEpveW1CTDs7QWlFbndtQkU7O0UrRWpDRztDaEp5eW1CTDs7QWdKMXltQkk7RUFDQztDaEo2eW1CTDs7QWlFNXdtQkU7O0UrRWpDRztDaEprem1CTDs7QWdKMXltQkc7RUFDQztFQUNBO0NoSjZ5bUJKOztBMkMxMG1CRTs7OztFcUdxQ0U7RUFDQTtDaEo0eW1CSjs7QWdKcnltQkc7RUFDQztFQUNBO0VBQ0E7RUFDQTtDaEp3eW1CSjs7QWdKdjBtQkk7RUFDQztDaEowMG1CTDs7QWdKMzBtQkk7RUFDQztDaEo4MG1CTDs7QWdKLzBtQkk7RUFDQztDaEprMW1CTDs7QWdKbjFtQkk7RUFDQztDaEpzMW1CTDs7QWdKOTBtQkc7RUFDQztFQUNBO0NoSmkxbUJKOztBZ0oxMG1CRztFQUNDO0VBQ0E7Q2hKNjBtQko7O0FxRW53bUJFOzs7RTJFbEVFO0VBQ0E7RUFDQTtFQUNBO0NoSjIwbUJKOztBZ0oxMm1CSTtFQUNDO0NoSjYybUJMOztBZ0o5Mm1CSTtFQUNDO0NoSmkzbUJMOztBZ0psM21CSTtFQUNDO0NoSnEzbUJMOztBZ0p0M21CSTtFQUNDO0NoSnkzbUJMOztBZ0pqM21CRztFQUNDO0VBQ0E7Q2hKbzNtQko7O0FrRGw1bUJBOzs7RThGc0NJO0VBQ0E7Q2hKazNtQko7O0FnSjMybUJHO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2hKODJtQko7O0FnSjc0bUJJO0VBQ0M7Q2hKZzVtQkw7O0FnSmo1bUJJO0VBQ0M7Q2hKbzVtQkw7O0FnSnI1bUJJO0VBQ0M7Q2hKdzVtQkw7O0FnSno1bUJJO0VBQ0M7Q2hKNDVtQkw7O0FnSnA1bUJHO0VBQ0M7RUFDQTtDaEp1NW1CSjs7QWdKaDVtQkc7RUFDQztFQUNBO0NoSm01bUJKOztBZ0o1NG1CRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0NoSis0bUJKOztBZ0o5Nm1CSTtFQUNDO0NoSmk3bUJMOztBZ0psN21CSTtFQUNDO0NoSnE3bUJMOztBZ0p0N21CSTtFQUNDO0NoSnk3bUJMOztBZ0oxN21CSTtFQUNDO0NoSjY3bUJMOztBZ0pyN21CRztFQUNDO0VBQ0E7Q2hKdzdtQko7O0FzQ3Y4bUJFOztFMEd1QkU7RUFDQTtDaEpxN21CSjs7QWdKOTZtQkc7RUFDQztFQUNBO0VBQ0E7RUFDQTtDaEppN21CSjs7QWdKaDltQkk7RUFDQztDaEptOW1CTDs7QWdKcDltQkk7RUFDQztDaEp1OW1CTDs7QWdKeDltQkk7RUFDQztDaEoyOW1CTDs7QWdKNTltQkk7RUFDQztDaEorOW1CTDs7QWdKdjltQkc7RUFDQztFQUNBO0NoSjA5bUJKOztBZ0puOW1CRztFQUNDO0VBQ0E7Q2hKczltQko7O0FnSi84bUJHO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2hKazltQko7O0FnSmovbUJJO0VBQ0M7Q2hKby9tQkw7O0FnSnIvbUJJO0VBQ0M7Q2hKdy9tQkw7O0FnSnovbUJJO0VBQ0M7Q2hKNC9tQkw7O0FnSjcvbUJJO0VBQ0M7Q2hKZ2duQkw7O0FnSngvbUJHO0VBQ0M7RUFDQTtDaEoyL21CSjs7QWdKcC9tQkc7RUFDQztFQUNBO0NoSnUvbUJKOztBZ0poL21CRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0NoSm0vbUJKOztBZ0p6Z25CRztFQWlDQTtFQUNBO0NoSjQrbUJIOztBZ0pyZ25CRztFQW1DQTtFQUNBO0NoSnMrbUJIOztBNEIvaW5CQTs7RW9IbUZHO0NoSmkrbUJIOztBRTcvbUJJO0U4SXBDQTtJQUNDO0doSnFpbkJIOztFZ0p0aW5CRTtJQUNDO0doSnlpbkJIOztFZ0oxaW5CRTtJQUNDO0doSjZpbkJIOztFZ0o5aW5CRTtJQUNDO0doSmlqbkJIOztFZ0p6aW5CQztJQUNDO0lBQ0E7R2hKNGluQkY7O0VnSnJpbkJDO0lBQ0M7SUFDQTtHaEp3aW5CRjs7RWdKamluQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEpvaW5CRjs7RWdKbmtuQkU7SUFDQztHaEpza25CSDs7RWdKdmtuQkU7SUFDQztHaEowa25CSDs7RWdKM2tuQkU7SUFDQztHaEo4a25CSDs7RWdKL2tuQkU7SUFDQztHaEprbG5CSDs7RWdKMWtuQkM7SUFDQztJQUNBO0doSjZrbkJGOztFZ0p0a25CQztJQUNDO0lBQ0E7R2hKeWtuQkY7O0VnSmxrbkJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKcWtuQkY7O0VnSnBtbkJFO0lBQ0M7R2hKdW1uQkg7O0VnSnhtbkJFO0lBQ0M7R2hKMm1uQkg7O0VnSjVtbkJFO0lBQ0M7R2hKK21uQkg7O0VnSmhubkJFO0lBQ0M7R2hKbW5uQkg7O0VnSjNtbkJDO0lBQ0M7SUFDQTtHaEo4bW5CRjs7RWdKdm1uQkM7SUFDQztJQUNBO0doSjBtbkJGOztFZ0pubW5CQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0doSnNtbkJGOztFdUU1am5CQTs7SXlFeEVHO0doSnlvbkJIOztFZ0oxb25CRTtJQUNDO0doSjZvbkJIOztFZ0o5b25CRTtJQUNDO0doSmlwbkJIOztFZ0pscG5CRTtJQUNDO0doSnFwbkJIOztFZ0o3b25CQztJQUNDO0lBQ0E7R2hKZ3BuQkY7O0VnSnpvbkJDO0lBQ0M7SUFDQTtHaEo0b25CRjs7RWdKcm9uQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEp3b25CRjs7RWdKdnFuQkU7SUFDQztHaEowcW5CSDs7RWdKM3FuQkU7SUFDQztHaEo4cW5CSDs7RWdKL3FuQkU7SUFDQztHaEprcm5CSDs7RWdKbnJuQkU7SUFDQztHaEpzcm5CSDs7RWdKOXFuQkM7SUFDQztJQUNBO0doSmlybkJGOztFZ0oxcW5CQztJQUNDO0lBQ0E7R2hKNnFuQkY7O0VnSnRxbkJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKeXFuQkY7O0VnSnhzbkJFO0lBQ0M7R2hKMnNuQkg7O0VnSjVzbkJFO0lBQ0M7R2hKK3NuQkg7O0VnSmh0bkJFO0lBQ0M7R2hKbXRuQkg7O0VnSnB0bkJFO0lBQ0M7R2hKdXRuQkg7O0VnSi9zbkJDO0lBQ0M7SUFDQTtHaEprdG5CRjs7RWdKM3NuQkM7SUFDQztJQUNBO0doSjhzbkJGOztFZ0p2c25CQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0doSjBzbkJGOztFZ0p6dW5CRTtJQUNDO0doSjR1bkJIOztFZ0o3dW5CRTtJQUNDO0doSmd2bkJIOztFZ0pqdm5CRTtJQUNDO0doSm92bkJIOztFZ0pydm5CRTtJQUNDO0doSnd2bkJIOztFZ0podm5CQztJQUNDO0lBQ0E7R2hKbXZuQkY7O0VnSjV1bkJDO0lBQ0M7SUFDQTtHaEordW5CRjs7RWdKeHVuQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEoydW5CRjs7RWdKMXduQkU7SUFDQztHaEo2d25CSDs7RWdKOXduQkU7SUFDQztHaEppeG5CSDs7RWdKbHhuQkU7SUFDQztHaEpxeG5CSDs7RWdKdHhuQkU7SUFDQztHaEp5eG5CSDs7RWdKanhuQkM7SUFDQztJQUNBO0doSm94bkJGOztFZ0o3d25CQztJQUNDO0lBQ0E7R2hKZ3huQkY7O0VnSnp3bkJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKNHduQkY7O0VnSjN5bkJFO0lBQ0M7R2hKOHluQkg7O0VnSi95bkJFO0lBQ0M7R2hKa3puQkg7O0VnSm56bkJFO0lBQ0M7R2hKc3puQkg7O0VnSnZ6bkJFO0lBQ0M7R2hKMHpuQkg7O0VnSmx6bkJDO0lBQ0M7SUFDQTtHaEpxem5CRjs7RWdKOXluQkM7SUFDQztJQUNBO0doSml6bkJGOztFZ0oxeW5CQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0doSjZ5bkJGOztFZ0o1MG5CRTtJQUNDO0doSiswbkJIOztFZ0poMW5CRTtJQUNDO0doSm0xbkJIOztFZ0pwMW5CRTtJQUNDO0doSnUxbkJIOztFZ0p4MW5CRTtJQUNDO0doSjIxbkJIOztFZ0puMW5CQztJQUNDO0lBQ0E7R2hKczFuQkY7O0VnSi8wbkJDO0lBQ0M7SUFDQTtHaEprMW5CRjs7RWdKMzBuQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEo4MG5CRjs7RWdKNzJuQkU7SUFDQztHaEpnM25CSDs7RWdKajNuQkU7SUFDQztHaEpvM25CSDs7RWdKcjNuQkU7SUFDQztHaEp3M25CSDs7RWdKejNuQkU7SUFDQztHaEo0M25CSDs7RWdKcDNuQkM7SUFDQztJQUNBO0doSnUzbkJGOztFZ0poM25CQztJQUNDO0lBQ0E7R2hKbTNuQkY7O0VnSjUybkJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKKzJuQkY7O0VnSnIybkJBO0lBQ0M7SUFDQTtHaEp3Mm5CRDs7RWdKLzFuQkE7SUFDQztJQUNBO0doSmsybkJEOztFZ0o3M25CQztJQXFDQTtHaEo0MW5CRDtDQUNGOztBRXozbkJJO0U4SXBDQTtJQUNDO0doSmk2bkJIOztFb0NyNW5CQTs7STRHWkc7R2hKczZuQkg7O0VnSnY2bkJFO0lBQ0M7R2hKMDZuQkg7O0VvQzk1bkJBOztJNEdaRztHaEorNm5CSDs7RXNDcDduQkE7O0kwR2NFO0lBQ0E7R2hKMjZuQkY7O0VnSnA2bkJDO0lBQ0M7SUFDQTtHaEp1Nm5CRjs7RWdKaDZuQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEptNm5CRjs7RWdKbDhuQkU7SUFDQztHaEpxOG5CSDs7RWdKdDhuQkU7SUFDQztHaEp5OG5CSDs7RWdKMThuQkU7SUFDQztHaEo2OG5CSDs7RWdKOThuQkU7SUFDQztHaEppOW5CSDs7RWdKejhuQkM7SUFDQztJQUNBO0doSjQ4bkJGOztFZ0pyOG5CQztJQUNDO0lBQ0E7R2hKdzhuQkY7O0VnSmo4bkJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKbzhuQkY7O0VnSm4rbkJFO0lBQ0M7R2hKcytuQkg7O0VnSnYrbkJFO0lBQ0M7R2hKMCtuQkg7O0VnSjMrbkJFO0lBQ0M7R2hKOCtuQkg7O0VnSi8rbkJFO0lBQ0M7R2hKay9uQkg7O0VnSjErbkJDO0lBQ0M7SUFDQTtHaEo2K25CRjs7RWdKdCtuQkM7SUFDQztJQUNBO0doSnkrbkJGOztFZ0psK25CQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0doSnErbkJGOztFZ0pwZ29CRTtJQUNDO0doSnVnb0JIOztFZ0p4Z29CRTtJQUNDO0doSjJnb0JIOztFZ0o1Z29CRTtJQUNDO0doSitnb0JIOztFaUU5K25CQTs7O0krRWpDRztHaEpxaG9CSDs7RWdKN2dvQkM7SUFDQztJQUNBO0doSmdob0JGOztFZ0p6Z29CQztJQUNDO0lBQ0E7R2hKNGdvQkY7O0VnSnJnb0JDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKd2dvQkY7O0VnSnZpb0JFO0lBQ0M7R2hKMGlvQkg7O0VnSjNpb0JFO0lBQ0M7R2hKOGlvQkg7O0VnSi9pb0JFO0lBQ0M7R2hKa2pvQkg7O0VnSm5qb0JFO0lBQ0M7R2hKc2pvQkg7O0UyQ3prb0JBOztJcUc0QkU7SUFDQTtHaEpram9CRjs7RWdKM2lvQkM7SUFDQztJQUNBO0doSjhpb0JGOztFZ0p2aW9CQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0doSjBpb0JGOztFZ0p6a29CRTtJQUNDO0doSjRrb0JIOztFaUUzaW9CQTs7SStFakNHO0doSmlsb0JIOztFZ0psbG9CRTtJQUNDO0doSnFsb0JIOztFZ0p0bG9CRTtJQUNDO0doSnlsb0JIOztFaUU1a29CQTs7SStFSkU7SUFDQTtHaEpxbG9CRjs7RWlFcm5vQkY7Ozs7O0krRXdDSTtJQUNBO0doSnFsb0JGOztFZ0o5a29CQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0doSmlsb0JGOztFZ0pobm9CRTtJQUNDO0doSm1ub0JIOztFZ0pwbm9CRTtJQUNDO0doSnVub0JIOztFZ0p4bm9CRTtJQUNDO0doSjJub0JIOztFZ0o1bm9CRTtJQUNDO0doSitub0JIOztFZ0p2bm9CQztJQUNDO0lBQ0E7R2hKMG5vQkY7O0VzQ3pvb0JBOztJMEd1QkU7SUFDQTtHaEp1bm9CRjs7RWdKaG5vQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEptbm9CRjs7RWdKbHBvQkU7SUFDQztHaEpxcG9CSDs7RWdKdHBvQkU7SUFDQztHaEp5cG9CSDs7RWdKMXBvQkU7SUFDQztHaEo2cG9CSDs7RWdKOXBvQkU7SUFDQztHaEppcW9CSDs7RWdKenBvQkM7SUFDQztJQUNBO0doSjRwb0JGOztFZ0pycG9CQztJQUNDO0lBQ0E7R2hKd3BvQkY7O0VnSmpwb0JDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKb3BvQkY7O0VnSm5yb0JFO0lBQ0M7R2hKc3JvQkg7O0VnSnZyb0JFO0lBQ0M7R2hKMHJvQkg7O0VnSjNyb0JFO0lBQ0M7R2hKOHJvQkg7O0VnSi9yb0JFO0lBQ0M7R2hKa3NvQkg7O0VnSjFyb0JDO0lBQ0M7SUFDQTtHaEo2cm9CRjs7RWdKdHJvQkM7SUFDQztJQUNBO0doSnlyb0JGOztFZ0pscm9CQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0doSnFyb0JGOztFa0R2dW9CRjs7SThGb0JLO0doSnd0b0JIOztFZ0p6dG9CRTtJQUNDO0doSjR0b0JIOztFZ0o3dG9CRTtJQUNDO0doSmd1b0JIOztFZ0pqdW9CRTtJQUNDO0doSm91b0JIOztFZ0o1dG9CQztJQUNDO0lBQ0E7R2hKK3RvQkY7O0VnSnh0b0JDO0lBQ0M7SUFDQTtHaEoydG9CRjs7RWdKcHRvQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEp1dG9CRjs7RWdKdHZvQkU7SUFDQztHaEp5dm9CSDs7RWdKMXZvQkU7SUFDQztHaEo2dm9CSDs7RWtEanhvQkY7O0k4Rm9CSztHaEprd29CSDs7RWdKbndvQkU7SUFDQztHaEpzd29CSDs7RWdKOXZvQkM7SUFDQztJQUNBO0doSml3b0JGOztFZ0oxdm9CQztJQUNDO0lBQ0E7R2hKNnZvQkY7O0VnSnR2b0JDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKeXZvQkY7O0VnSi91b0JBO0lBQ0M7SUFDQTtHaEprdm9CRDs7RWdKenVvQkE7SUFDQztJQUNBO0doSjR1b0JEOztFZ0p2d29CQztJQXFDQTtHaEpzdW9CRDtDQUNGOztBRW53b0JJO0U4SXBDQTtJQUNDO0doSjJ5b0JIOztFZ0o1eW9CRTtJQUNDO0doSit5b0JIOztFZ0poem9CRTtJQUNDO0doSm16b0JIOztFZ0pwem9CRTtJQUNDO0doSnV6b0JIOztFZ0oveW9CQztJQUNDO0lBQ0E7R2hKa3pvQkY7O0VnSjN5b0JDO0lBQ0M7SUFDQTtHaEo4eW9CRjs7RWdKdnlvQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEoweW9CRjs7RWdKejBvQkU7SUFDQztHaEo0MG9CSDs7RWdKNzBvQkU7SUFDQztHaEpnMW9CSDs7RWdKajFvQkU7SUFDQztHaEpvMW9CSDs7RWdKcjFvQkU7SUFDQztHaEp3MW9CSDs7RWdKaDFvQkM7SUFDQztJQUNBO0doSm0xb0JGOztFZ0o1MG9CQztJQUNDO0lBQ0E7R2hKKzBvQkY7O0VnSngwb0JDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKMjBvQkY7O0VnSjEyb0JFO0lBQ0M7R2hKNjJvQkg7O0VnSjkyb0JFO0lBQ0M7R2hKaTNvQkg7O0VnSmwzb0JFO0lBQ0M7R2hKcTNvQkg7O0VnSnQzb0JFO0lBQ0M7R2hKeTNvQkg7O0VnSmozb0JDO0lBQ0M7SUFDQTtHaEpvM29CRjs7RWdKNzJvQkM7SUFDQztJQUNBO0doSmczb0JGOztFZ0p6Mm9CQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0doSjQyb0JGOztFZ0ozNG9CRTtJQUNDO0doSjg0b0JIOztFZ0ovNG9CRTtJQUNDO0doSms1b0JIOztFZ0puNW9CRTtJQUNDO0doSnM1b0JIOztFZ0p2NW9CRTtJQUNDO0doSjA1b0JIOztFZ0psNW9CQztJQUNDO0lBQ0E7R2hKcTVvQkY7O0VnSjk0b0JDO0lBQ0M7SUFDQTtHaEppNW9CRjs7RWdKMTRvQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEo2NG9CRjs7RWdKNTZvQkU7SUFDQztHaEorNm9CSDs7RWdKaDdvQkU7SUFDQztHaEptN29CSDs7RWdKcDdvQkU7SUFDQztHaEp1N29CSDs7RWdKeDdvQkU7SUFDQztHaEoyN29CSDs7RWdKbjdvQkM7SUFDQztJQUNBO0doSnM3b0JGOztFZ0ovNm9CQztJQUNDO0lBQ0E7R2hKazdvQkY7O0VnSjM2b0JDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKODZvQkY7O0VnSjc4b0JFO0lBQ0M7R2hKZzlvQkg7O0VnSmo5b0JFO0lBQ0M7R2hKbzlvQkg7O0VnSnI5b0JFO0lBQ0M7R2hKdzlvQkg7O0VnSno5b0JFO0lBQ0M7R2hKNDlvQkg7O0VnSnA5b0JDO0lBQ0M7SUFDQTtHaEp1OW9CRjs7RWdKaDlvQkM7SUFDQztJQUNBO0doSm05b0JGOztFZ0o1OG9CQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0doSis4b0JGOztFZ0o5K29CRTtJQUNDO0doSmkvb0JIOztFZ0psL29CRTtJQUNDO0doSnEvb0JIOztFZ0p0L29CRTtJQUNDO0doSnkvb0JIOztFZ0oxL29CRTtJQUNDO0doSjYvb0JIOztFZ0pyL29CQztJQUNDO0lBQ0E7R2hKdy9vQkY7O0VnSmovb0JDO0lBQ0M7SUFDQTtHaEpvL29CRjs7RWdKNytvQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEpnL29CRjs7RWdKL2dwQkU7SUFDQztHaEpraHBCSDs7RWdKbmhwQkU7SUFDQztHaEpzaHBCSDs7RWdKdmhwQkU7SUFDQztHaEowaHBCSDs7RWdKM2hwQkU7SUFDQztHaEo4aHBCSDs7RWdKdGhwQkM7SUFDQztJQUNBO0doSnlocEJGOztFZ0psaHBCQztJQUNDO0lBQ0E7R2hKcWhwQkY7O0VnSjlncEJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKaWhwQkY7O0VnSmhqcEJFO0lBQ0M7R2hKbWpwQkg7O0VnSnBqcEJFO0lBQ0M7R2hKdWpwQkg7O0VnSnhqcEJFO0lBQ0M7R2hKMmpwQkg7O0VnSjVqcEJFO0lBQ0M7R2hKK2pwQkg7O0VnSnZqcEJDO0lBQ0M7SUFDQTtHaEowanBCRjs7RWdKbmpwQkM7SUFDQztJQUNBO0doSnNqcEJGOztFZ0ovaXBCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0doSmtqcEJGOztFZ0pqbHBCRTtJQUNDO0doSm9scEJIOztFZ0pybHBCRTtJQUNDO0doSndscEJIOztFZ0p6bHBCRTtJQUNDO0doSjRscEJIOztFZ0o3bHBCRTtJQUNDO0doSmdtcEJIOztFZ0p4bHBCQztJQUNDO0lBQ0E7R2hKMmxwQkY7O0VnSnBscEJDO0lBQ0M7SUFDQTtHaEp1bHBCRjs7RWdKaGxwQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEptbHBCRjs7RWdKbG5wQkU7SUFDQztHaEpxbnBCSDs7RWdKdG5wQkU7SUFDQztHaEp5bnBCSDs7RWdKMW5wQkU7SUFDQztHaEo2bnBCSDs7RWdKOW5wQkU7SUFDQztHaEppb3BCSDs7RWdKem5wQkM7SUFDQztJQUNBO0doSjRucEJGOztFZ0pybnBCQztJQUNDO0lBQ0E7R2hKd25wQkY7O0VnSmpucEJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKb25wQkY7O0VnSjFtcEJBO0lBQ0M7SUFDQTtHaEo2bXBCRDs7RWdKcG1wQkE7SUFDQztJQUNBO0doSnVtcEJEOztFZ0psb3BCQztJQXFDQTtHaEppbXBCRDtDQUNGOztBRTlucEJJO0U4SXBDQTtJQUNDO0doSnNxcEJIOztFZ0p2cXBCRTtJQUNDO0doSjBxcEJIOztFZ0ozcXBCRTtJQUNDO0doSjhxcEJIOztFZ0ovcXBCRTtJQUNDO0doSmtycEJIOztFZ0oxcXBCQztJQUNDO0lBQ0E7R2hKNnFwQkY7O0VnSnRxcEJDO0lBQ0M7SUFDQTtHaEp5cXBCRjs7RWdKbHFwQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEpxcXBCRjs7RWdKcHNwQkU7SUFDQztHaEp1c3BCSDs7RWdKeHNwQkU7SUFDQztHaEoyc3BCSDs7RWdKNXNwQkU7SUFDQztHaEorc3BCSDs7RWdKaHRwQkU7SUFDQztHaEptdHBCSDs7RWdKM3NwQkM7SUFDQztJQUNBO0doSjhzcEJGOztFZ0p2c3BCQztJQUNDO0lBQ0E7R2hKMHNwQkY7O0VnSm5zcEJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKc3NwQkY7O0VnSnJ1cEJFO0lBQ0M7R2hKd3VwQkg7O0VnSnp1cEJFO0lBQ0M7R2hKNHVwQkg7O0VnSjd1cEJFO0lBQ0M7R2hKZ3ZwQkg7O0VnSmp2cEJFO0lBQ0M7R2hKb3ZwQkg7O0VnSjV1cEJDO0lBQ0M7SUFDQTtHaEordXBCRjs7RWdKeHVwQkM7SUFDQztJQUNBO0doSjJ1cEJGOztFZ0pwdXBCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0doSnV1cEJGOztFZ0p0d3BCRTtJQUNDO0doSnl3cEJIOztFZ0oxd3BCRTtJQUNDO0doSjZ3cEJIOztFZ0o5d3BCRTtJQUNDO0doSml4cEJIOztFZ0pseHBCRTtJQUNDO0doSnF4cEJIOztFZ0o3d3BCQztJQUNDO0lBQ0E7R2hKZ3hwQkY7O0VnSnp3cEJDO0lBQ0M7SUFDQTtHaEo0d3BCRjs7RWdKcndwQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEp3d3BCRjs7RWdKdnlwQkU7SUFDQztHaEoweXBCSDs7RWdKM3lwQkU7SUFDQztHaEo4eXBCSDs7RWdKL3lwQkU7SUFDQztHaEprenBCSDs7RWdKbnpwQkU7SUFDQztHaEpzenBCSDs7RWdKOXlwQkM7SUFDQztJQUNBO0doSml6cEJGOztFZ0oxeXBCQztJQUNDO0lBQ0E7R2hKNnlwQkY7O0VnSnR5cEJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKeXlwQkY7O0VnSngwcEJFO0lBQ0M7R2hKMjBwQkg7O0VnSjUwcEJFO0lBQ0M7R2hKKzBwQkg7O0VnSmgxcEJFO0lBQ0M7R2hKbTFwQkg7O0VnSnAxcEJFO0lBQ0M7R2hKdTFwQkg7O0VnSi8wcEJDO0lBQ0M7SUFDQTtHaEprMXBCRjs7RWdKMzBwQkM7SUFDQztJQUNBO0doSjgwcEJGOztFZ0p2MHBCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0doSjAwcEJGOztFZ0p6MnBCRTtJQUNDO0doSjQycEJIOztFZ0o3MnBCRTtJQUNDO0doSmczcEJIOztFZ0pqM3BCRTtJQUNDO0doSm8zcEJIOztFZ0pyM3BCRTtJQUNDO0doSnczcEJIOztFZ0poM3BCQztJQUNDO0lBQ0E7R2hKbTNwQkY7O0VnSjUycEJDO0lBQ0M7SUFDQTtHaEorMnBCRjs7RWdKeDJwQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEoyMnBCRjs7RWdKMTRwQkU7SUFDQztHaEo2NHBCSDs7RWdKOTRwQkU7SUFDQztHaEppNXBCSDs7RWdKbDVwQkU7SUFDQztHaEpxNXBCSDs7RWdKdDVwQkU7SUFDQztHaEp5NXBCSDs7RWdKajVwQkM7SUFDQztJQUNBO0doSm81cEJGOztFZ0o3NHBCQztJQUNDO0lBQ0E7R2hKZzVwQkY7O0VnSno0cEJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKNDRwQkY7O0VnSjM2cEJFO0lBQ0M7R2hKODZwQkg7O0VnSi82cEJFO0lBQ0M7R2hKazdwQkg7O0VnSm43cEJFO0lBQ0M7R2hKczdwQkg7O0VnSnY3cEJFO0lBQ0M7R2hKMDdwQkg7O0VnSmw3cEJDO0lBQ0M7SUFDQTtHaEpxN3BCRjs7RWdKOTZwQkM7SUFDQztJQUNBO0doSmk3cEJGOztFZ0oxNnBCQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0doSjY2cEJGOztFZ0o1OHBCRTtJQUNDO0doSis4cEJIOztFZ0poOXBCRTtJQUNDO0doSm05cEJIOztFZ0pwOXBCRTtJQUNDO0doSnU5cEJIOztFZ0p4OXBCRTtJQUNDO0doSjI5cEJIOztFZ0puOXBCQztJQUNDO0lBQ0E7R2hKczlwQkY7O0VnSi84cEJDO0lBQ0M7SUFDQTtHaEprOXBCRjs7RWdKMzhwQkM7SUFDQztJQUNBO0lBQ0E7SUFDQTtHaEo4OHBCRjs7RWdKNytwQkU7SUFDQztHaEpnL3BCSDs7RWdKai9wQkU7SUFDQztHaEpvL3BCSDs7RWdKci9wQkU7SUFDQztHaEp3L3BCSDs7RWdKei9wQkU7SUFDQztHaEo0L3BCSDs7RWdKcC9wQkM7SUFDQztJQUNBO0doSnUvcEJGOztFZ0poL3BCQztJQUNDO0lBQ0E7R2hKbS9wQkY7O0VnSjUrcEJDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7R2hKKytwQkY7O0VnSnIrcEJBO0lBQ0M7SUFDQTtHaEp3K3BCRDs7RWdKLzlwQkE7SUFDQztJQUNBO0doSmsrcEJEOztFZ0o3L3BCQztJQXFDQTtHaEo0OXBCRDtDQUNGOztBaUpyanFCQTs7Ozs7OztHako4anFCRTs7QStDeGpxQkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RWtHa0JJO0NqSm9vcUJKOztBaUpyb3FCRztFQUNDO0NqSndvcUJKOztBaUp6b3FCRztFQUNDO0NqSjRvcUJKOztBaUo3b3FCRztFQUNDO0VBQUE7Q2pKZ3BxQko7O0FFNW1xQkk7RStJckNEO0lBQ0M7R2pKcXBxQkY7O0VpSnRwcUJDO0lBQ0M7R2pKeXBxQkY7O0VpSjFwcUJDO0lBQ0M7R2pKNnBxQkY7O0VpSjlwcUJDO0lBQ0M7SUFBQTtHakppcXFCRjtDQUNGOztBRTlucUJJO0UrSXJDRDtJQUNDO0dqSnVxcUJGOztFaUp4cXFCQztJQUNDO0dqSjJxcUJGOztFaUo1cXFCQztJQUNDO0dqSitxcUJGOztFaUpocnFCQztJQUNDO0lBQUE7R2pKbXJxQkY7Q0FDRjs7QUVocHFCSTtFK0lyQ0Q7SUFDQztHakp5cnFCRjs7RWlKMXJxQkM7SUFDQztHako2cnFCRjs7RWlKOXJxQkM7SUFDQztHakppc3FCRjs7RWlKbHNxQkM7SUFDQztJQUFBO0dqSnFzcUJGO0NBQ0Y7O0FFbHFxQkk7RStJckNEO0lBQ0M7R2pKMnNxQkY7O0VpSjVzcUJDO0lBQ0M7R2pKK3NxQkY7O0VpSmh0cUJDO0lBQ0M7R2pKbXRxQkY7O0VpSnB0cUJDO0lBQ0M7SUFBQTtHakp1dHFCRjtDQUNGOztBa0podnFCQTs7Ozs7Ozs7O0dsSjJ2cUJFOztBa0podXFCQztFQUNDO0NsSm11cUJKOztBa0pwdXFCRztFQUNDO0NsSnV1cUJKOztBa0o3dHFCSTs7Ozs7O09sSnF1cUJFOztBa0o5dHFCRjtFQUVDO0NsSmd1cUJMOztBa0p6dXFCSTs7Ozs7O09sSml2cUJFOztBa0oxdXFCRjtFQUVDO0NsSjR1cUJMOztBa0pydnFCSTs7Ozs7O09sSjZ2cUJFOztBa0p0dnFCRjtFQUVDO0NsSnd2cUJMOztBa0pqd3FCSTs7Ozs7O09sSnl3cUJFOztBa0psd3FCRjtFQUVDO0NsSm93cUJMOztBa0o3d3FCSTs7Ozs7O09sSnF4cUJFOztBa0o5d3FCRjtFQUVDO0NsSmd4cUJMOztBa0p6eHFCSTs7Ozs7O09sSml5cUJFOztBa0oxeHFCRjtFQUVDO0NsSjR4cUJMOztBa0pyeXFCSTs7Ozs7O09sSjZ5cUJFOztBa0Nqd3FCRDs7Ozs7O0VnSG5DQTtDbEo2eXFCTDs7QWtKdHpxQkk7Ozs7OztPbEo4enFCRTs7QXdDMTFxQko7OztFMEdxQ0c7Q2xKMnpxQkw7O0FFOXlxQkk7RWdKakNEO0lBQ0M7R2xKbTFxQkY7O0VrSnAxcUJDO0lBQ0M7R2xKdTFxQkY7O0VrSjcwcUJFOzs7Ozs7T2xKcTFxQkU7O0VrSjkwcUJGO0lBRUM7R2xKZzFxQkg7O0VrSnoxcUJFOzs7Ozs7T2xKaTJxQkU7O0VrSjExcUJGO0lBRUM7R2xKNDFxQkg7O0VrSnIycUJFOzs7Ozs7T2xKNjJxQkU7O0VrSnQycUJGO0lBRUM7R2xKdzJxQkg7O0VrSmozcUJFOzs7Ozs7T2xKeTNxQkU7O0VrSmwzcUJGO0lBRUM7R2xKbzNxQkg7O0VrSjczcUJFOzs7Ozs7T2xKcTRxQkU7O0V3Q3Y0cUJIOzs7STBHV0U7R2xKazRxQkg7O0VrSjM0cUJFOzs7Ozs7T2xKbTVxQkU7O0VrSjU0cUJGO0lBRUM7R2xKODRxQkg7O0VrSnY1cUJFOzs7Ozs7T2xKKzVxQkU7O0VrSng1cUJGO0lBRUM7R2xKMDVxQkg7O0VrSm42cUJFOzs7Ozs7T2xKMjZxQkU7O0VrSnA2cUJGO0lBRUM7R2xKczZxQkg7Q0FDRjs7QUUxNXFCSTtFZ0NzQkM7O0lnSHRERDtHbEpnOHFCRjs7RWtKajhxQkM7SUFDQztHbEpvOHFCRjs7RWtKMTdxQkU7Ozs7OztPbEprOHFCRTs7RWtKMzdxQkY7SUFFQztHbEo2N3FCSDs7RWtKdDhxQkU7Ozs7OztPbEo4OHFCRTs7RWtKdjhxQkY7SUFFQztHbEp5OHFCSDs7RWtKbDlxQkU7Ozs7OztPbEowOXFCRTs7RWtKbjlxQkY7SUFFQztHbEpxOXFCSDs7RWtKOTlxQkU7Ozs7OztPbEpzK3FCRTs7RWtKLzlxQkY7SUFFQztHbEppK3FCSDs7RWtKMStxQkU7Ozs7OztPbEprL3FCRTs7RWtKMytxQkY7SUFFQztHbEo2K3FCSDs7RWtKdC9xQkU7Ozs7OztPbEo4L3FCRTs7RWtKdi9xQkY7SUFFQztHbEp5L3FCSDs7RWtKbGdyQkU7Ozs7OztPbEowZ3JCRTs7RWtKbmdyQkY7O0lBRUM7R2xKc2dyQkg7O0VrSi9nckJFOzs7Ozs7T2xKdWhyQkU7O0VrSmhockJGO0lBRUM7R2xKa2hyQkg7Q0FDRjs7QUV0Z3JCSTtFZ0pqQ0Q7SUFDQztHbEoyaXJCRjs7RWtKNWlyQkM7SUFDQztHbEoraXJCRjs7RWtKcmlyQkU7Ozs7OztPbEo2aXJCRTs7RWtKdGlyQkY7SUFFQztHbEp3aXJCSDs7RWtKampyQkU7Ozs7OztPbEp5anJCRTs7RWtKbGpyQkY7SUFFQztHbEpvanJCSDs7RWtKN2pyQkU7Ozs7OztPbEpxa3JCRTs7RWtKOWpyQkY7SUFFQztHbEpna3JCSDs7RWtKemtyQkU7Ozs7OztPbEppbHJCRTs7RWtKMWtyQkY7SUFFQztHbEo0a3JCSDs7RWtKcmxyQkU7Ozs7OztPbEo2bHJCRTs7RWtKdGxyQkY7SUFFQztHbEp3bHJCSDs7RWtKam1yQkU7Ozs7OztPbEp5bXJCRTs7RWtKbG1yQkY7SUFFQztHbEpvbXJCSDs7RWtKN21yQkU7Ozs7OztPbEpxbnJCRTs7RWtKOW1yQkY7SUFFQztHbEpnbnJCSDs7RWtKem5yQkU7Ozs7OztPbEppb3JCRTs7RWtKMW5yQkY7SUFFQztHbEo0bnJCSDtDQUNGOztBRWhuckJJO0VnSmpDRDtJQUNDO0dsSnFwckJGOztFa0p0cHJCQztJQUNDO0dsSnlwckJGOztFa0ovb3JCRTs7Ozs7O09sSnVwckJFOztFa0pocHJCRjtJQUVDO0dsSmtwckJIOztFa0ozcHJCRTs7Ozs7O09sSm1xckJFOztFa0o1cHJCRjtJQUVDO0dsSjhwckJIOztFa0p2cXJCRTs7Ozs7O09sSitxckJFOztFa0p4cXJCRjtJQUVDO0dsSjBxckJIOztFa0pucnJCRTs7Ozs7O09sSjJyckJFOztFa0pwcnJCRjtJQUVDO0dsSnNyckJIOztFa0ovcnJCRTs7Ozs7O09sSnVzckJFOztFa0poc3JCRjtJQUVDO0dsSmtzckJIOztFa0ozc3JCRTs7Ozs7O09sSm10ckJFOztFa0o1c3JCRjtJQUVDO0dsSjhzckJIOztFa0p2dHJCRTs7Ozs7O09sSit0ckJFOztFa0p4dHJCRjtJQUVDO0dsSjB0ckJIOztFa0pudXJCRTs7Ozs7O09sSjJ1ckJFOztFa0pwdXJCRjtJQUVDO0dsSnN1ckJIO0NBQ0Y7O0FtSnR4ckJBOzs7Ozs7O0duSit4ckJFOztBOEQzeHJCRjs7Ozs7RXFGcUJJO0NuSjh3ckJKOztBa0N2cHJCRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RWlIdkhDO0NuSjQwckJKOztBNEQ3dXJCUzs7Ozs7Ozs7Ozs7Ozs7RXVGL0ZMO0NuSjYxckJKOztBRTF6ckJJO0VpSnBDRDtJQUNDO0duSmsyckJGOztFbUpuMnJCQztJQUNDO0duSnMyckJGOztFbUp2MnJCQztJQUNDO0duSjAyckJGO0NBQ0Y7O0FFeDByQkk7RThHd0NGOztJbUMzRUU7R25KaTNyQkY7O0VtSmwzckJDO0lBQ0M7R25KcTNyQkY7O0VxQzM0ckJGOzs7Ozs7O0k4R3NCSTtHbkorM3JCRjtDQUNGOztBRTcxckJJO0VpSnBDRDtJQUNDO0duSnE0ckJGOztFbUp0NHJCQztJQUNDO0duSnk0ckJGOztFbUoxNHJCQztJQUNDO0duSjY0ckJGO0NBQ0Y7O0FFMzJyQkk7RWlKcENEO0lBQ0M7R25KbTVyQkY7O0VtSnA1ckJDO0lBQ0M7R25KdTVyQkY7O0VtSng1ckJDO0lBQ0M7R25KMjVyQkY7Q0FDRjs7QW9KcjdyQkE7Ozs7Ozs7R3BKODdyQkU7O0F5Q2w1ckJDOzs7Ozs7RTJHbkJDO0NwSjg2ckJKOztBRTM0ckJJO0VrSnBDRDtJQUNDO0dwSm03ckJGO0NBQ0Y7O0FFajVyQkk7RWtKcENEO0lBQ0M7R3BKeTdyQkY7Q0FDRjs7QUV2NXJCSTtFa0pwQ0Q7SUFDQztHcEorN3JCRjtDQUNGOztBRTc1ckJJO0VrSnBDRDtJQUNDO0dwSnE4ckJGO0NBQ0Y7O0FxSi85ckJBOzs7Ozs7O0dySncrckJFOztBMEN6MnJCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0UyR2xIQTtDckpnL3JCRjs7QXNKNy9yQkE7Ozs7Ozs7R3RKc2dzQkU7O0E2QzlzckJBOzs7Ozs7Ozs7OztFeUcvUkU7Q3RKMi9yQko7O0E2Q3ozckJFOzs7RXlHbElFO0N0Smlnc0JKOztBRTk5ckJJO0VvSnBDRDtJQUNDO0d0SnNnc0JGOztFc0p2Z3NCQztJQUNDO0d0SjBnc0JGO0NBQ0Y7O0FFeCtyQkk7RW9KcENEO0lBQ0M7R3RKZ2hzQkY7O0VzSmpoc0JDO0lBQ0M7R3RKb2hzQkY7Q0FDRjs7QUVsL3JCSTtFb0pwQ0Q7SUFDQztHdEowaHNCRjs7RXNKM2hzQkM7SUFDQztHdEo4aHNCRjtDQUNGOztBRTUvckJJO0VvSnBDRDtJQUNDO0d0Sm9pc0JGOztFc0pyaXNCQztJQUNDO0d0Sndpc0JGO0NBQ0Y7O0F1Smxrc0JBOzs7O0d2Sndrc0JFOztBNkNsL3JCQTs7Ozs7Ozs7O0UwR2pFRTtDdkoranNCSjs7QUV4aHNCSTtFcUp4Q0Q7SUFDQztHdkpva3NCRjtDQUNGOztBRTloc0JJO0VvRDhKRjs7SWlHck1FO0d2SjJrc0JGO0NBQ0Y7O0FFcmlzQkk7RXFKeENEO0lBQ0M7R3ZKaWxzQkY7Q0FDRjs7QUUzaXNCSTtFcUp4Q0Q7SUFDQztHdkp1bHNCRjtDQUNGOztBd0o3bXNCQTs7Ozs7OztHeEpzbnNCRTs7QWlDbGtzQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFdUh6Q0Q7Q3hKeW9zQkQ7O0F3SnRvc0JJO0VBQ0M7Q3hKeW9zQkw7O0F5Snhwc0JBO0VBQ0k7RUFDQTtFQUNBO0N6SjJwc0JKOztBeUo5cHNCQTtFQU1RO0N6SjRwc0JSOztBeUpscXNCQTtFQVNZO0VBQ0E7Q3pKNnBzQlo7O0F5SnZxc0JBO0VBY1k7RUFDQTtDeko2cHNCWjs7QXlKNXFzQkE7RUFtQlk7RUFDQTtDeko2cHNCWjs7QXlKanJzQkE7RUF3Qlk7Q3pKNnBzQlo7O0EwSnJyc0JBO0VBRVE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFM0VUUjtFMkVXUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxSnVyc0JSOztBdUMzbHNCQztFbUh2Rkc7QzFKc3JzQko7O0EwSnZyc0JBO0VBS2dCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUpzcnNCaEI7O0EwSnJzc0JBOztFQXVCZ0I7RUFDQTtDMUptcnNCaEI7O0EwSjdxc0JBO0VBRVE7RUFDQTtFQUNBO0UzRXJEUjtFMkV1RFE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxSitxc0JSOztBMEozcXNCQTtFbkgyQ0M7SW1IekNPO0cxSjhxc0JOOztFMEo3dHNCRjtJQW1Eb0I7RzFKOHFzQmxCOztFMEpuc3NCRjtJQTZCWTtJQUNBO0cxSjBxc0JWO0NBQ0Y7O0F1Rjdrc0JFO0VtRXhGRTtDMUp5cXNCSjs7QXVGamxzQkc7RW1FckZLO0MxSjBxc0JSOztBMEp0cXNCQTs7QUFDQTs7Ozs7OztFQUNJO0VBQ0E7QzFKZ3JzQko7O0EwSjdxc0JBOztBQUNBO0VBR1k7QzFKK3FzQlo7O0EwSmxyc0JBO0VBVWdCO0VBQ0E7QzFKNHFzQmhCOztBMEp2cnNCQTtFQW1CZ0I7RUFDQTtFQUNBO0MxSndxc0JoQjs7QTBKdHFzQmdCO0VBdkJoQjtJQXdCb0I7RzFKMHFzQmxCO0NBQ0Y7O0EwSnRxc0JRO0VBN0JSO0lBZ0NvQjtHMUp3cXNCbEI7Q0FDRjs7QTBKenNzQkE7RUF1Q1E7QzFKc3FzQlI7O0EwSjdzc0JBO0VBMENZO0MxSnVxc0JaOztBMEpqdHNCQTtFQStDUTtDMUpzcXNCUjs7QTBKcnRzQkE7RUF1RHdCO0MxSmtxc0J4Qjs7QTBKenRzQkE7RUFrRW9CO0MxSjJwc0JwQjs7QTBKN3RzQkE7RUFxRXdCO0MxSjRwc0J4Qjs7QTBKanVzQkE7RUF5RWdDO0VBQ0E7QzFKNHBzQmhDOztBMEp0dXNCQTtFQXNGd0I7QzFKb3BzQnhCOztBMEoxdXNCQTtFQTBGd0I7QzFKb3BzQnhCOztBMEo5dXNCQTtFQWtHUTtDMUpncHNCUjs7QTBKbHZzQkE7RUFxR1k7QzFKaXBzQlo7O0EwSjVvc0JBO0VBQ0k7RUFZQTs7OztPMUp1b3NCRTtDQUNOOztBMEpycHNCQTtFQUdRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7S0FBQTtFQUNBO0tBQUE7QzFKc3BzQlI7O0FFanpzQkk7RXdKaUpKO0l0SS9LSztJQUFBO0dwQnExc0JIO0NBQ0Y7O0EwSnZxc0JBO0V0SS9LSztFQUFBO0VBQUE7Q3BCNDFzQkw7O0EwSjdxc0JBO0V0SS9LSztFQUFBO0VzSWdOTztFQUNBO0VBQ0E7RUFDQTtDMUprcHNCWjs7QUV2MHNCSTtFd0ppSko7SUF1Q2dCO0lBQ0E7RzFKb3BzQmQ7Q0FDRjs7QTBKN3JzQkE7RUErQ1k7RUFDQTtDMUprcHNCWjs7QUVuMXNCSTtFd0ppSko7SUFtRGdCO0lBQ0E7RzFKb3BzQmQ7Q0FDRjs7QTJKdDVzQkE7O0FBQ0E7O0VBRVE7RUFDQTtDM0owNXNCUjs7QTJKdjVzQkE7O0VBQ0k7RUFDQTtDM0oyNXNCSjs7QTJKejVzQkE7O0EvRjZMUztFK0YzTEw7QzNKNjVzQko7O0EySjM1c0JBOztBQUNBO0VBR1k7QzNKNjVzQlo7O0EySmg2c0JBO0VBUVE7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzSjQ1c0JSOztBMko5NnNCQTtFQW9CWTtFQUNBO0MzSjg1c0JaOztBMkpuN3NCQTtFQXdCWTtDM0orNXNCWjs7QTJKdjdzQkE7RUE0QlE7QzNKKzVzQlI7O0EySjU1c0JBOztBQUNBO0VBRVE7RUFDQTtDM0orNXNCUjs7QTJKbDZzQkE7RUFNUTtFQUNBO0MzSmc2c0JSOztBMko3NXNCQTs7QUFDQTtFQUVRO0VBQ0E7RUFDQTtDM0pnNnNCUjs7QTJKNzVzQkE7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QzNKaTZzQko7O0EySnA2c0JBO0VBS1E7QzNKbTZzQlI7O0EySng2c0JBO0VBT1k7RUFDQTtDM0pxNnNCWjs7QTJKNzZzQkE7RUFXWTtDM0pzNnNCWjs7QTJKajdzQkE7RUFjWTtDM0p1NnNCWjs7QTJKcjdzQkE7RUFrQlE7QzNKdTZzQlI7O0EySno3c0JBO0VBb0JZO0VBQ0E7RUFDQTtFQUNBO0MzSnk2c0JaOztBMkpoOHNCQTtFQTBCWTtDM0owNnNCWjs7QTJKdDZzQkE7O0FBQ0E7O0VBQ0k7QzNKMjZzQko7O0EySno2c0JBOztFQUNJO0MzSjY2c0JKOztBMkozNnNCQTs7QUFDQTtFQUNJO0VBQ0E7QzNKKzZzQko7O0EySjc2c0JBOztBQUNBO0VBRVE7QzNKZzdzQlI7O0EySmw3c0JBO0VBTVk7QzNKZzdzQlo7O0EySnQ3c0JBO0VBUWdCO0MzSms3c0JoQjs7QTJKMTdzQkE7RUFXZ0I7RUFDQTtDM0ptN3NCaEI7O0EySjc2c0JBOztFQUVRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0pnN3NCUjs7QTJKNTZzQkE7O0ExRzFIQztFMEc0SEc7QzNKZzdzQko7O0EySjc2c0JBO0VBQ0k7RUFDQTtVQUFBO0MzSmc3c0JKOztBNkY1anRCQTtFOERnSkk7QzNKZzdzQko7O0EySjk2c0JBOztBQUNBO0VBQ0k7RUFDQTtDM0prN3NCSjs7QTJKaDdzQkE7O0FBQ0E7RUFDSTtFQUNBO0VBRUE7RUFDQTtDM0pvN3NCSjs7QTJKajdzQkE7O0FBQ0E7O0VBQ0k7QzNKczdzQko7O0EySnA3c0JBO0VBQ0k7QzNKdTdzQko7O0EySmg3c0JBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNKbzdzQko7O0EySmw3c0JBO0VBQ0k7QzNKcTdzQko7O0EySmo3c0JBO0VBQ0k7RUFDQTtDM0pvN3NCSjs7QTJKajdzQkE7RUFDSTtFQUNBO1VBQUE7QzNKbzdzQko7O0FFdGp0Qkk7RXlKc0lBO0lBQ0k7SUFDQTtZQUFBO0czSm83c0JOO0NBQ0Y7O0EySmo3c0JBOztBQUNBO0VBQ0k7QzNKcTdzQko7O0FnSWhvdEJDO0U0QlZHO0VBQ0E7VUFBQTtFQUNBO1VBQUE7QzVKOG90Qko7O0E0SjNvdEJFOztFQUNFO0VBQ0E7QzVKK290Qko7O0E0SjVvdEJFO0VBQ0U7RUFDQTtDNUorb3RCSjs7QUVqbXRCSTtFMEpoREY7SUFLSTtJQUNBO0c1SmlwdEJKO0NBQ0Y7O0E2SnBxdEJBO0VBRUk7RUFDQTtDN0pzcXRCSjs7QTZKbHF0QkE7O0VBQ0U7QzdKc3F0QkY7O0E2SnZxdEJBOztFQUdJO0M3SnlxdEJKOztBRXZudEJJO0U4R2dJSDtJNkM1S0c7RzdKd3F0QkY7Q0FDRjs7QTZKcHF0QkU7RUFDRTtFQUFBO0VBQ0E7RUFBQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtDN0p1cXRCSjs7QTZKcnF0QkU7RUFDRTtFQUNBO0VBQ0E7QzdKd3F0Qko7O0E2SnJxdEJFO0VBQ0U7RUFDQTtDN0p3cXRCSjs7QTZKdnF0Qkk7RUFDRTtDN0owcXRCTjs7QWdEcGt0QkM7RTZHOUZHO0VBQ0E7QzdKc3F0Qko7O0FFenB0Qkk7RThDZ0ZIO0k2RzFGSztJQUNBO0c3SndxdEJKO0NBQ0Y7O0FFbnB0Qkk7RTJKdkNGO0lBd0JFO0c3SnVxdEJGOztFZ0g1K3NCRDtJNkN2TEc7SUFDQTtHN0p1cXRCRjs7RWdIai9zQkE7STZDbkxJO0c3SndxdEJKO0NBQ0Y7O0E2SmpxdEJLO0VBSUs7RUFDQTtDN0ppcXRCVjs7QTZKN3B0Qk87RUFFRztDN0orcHRCVjs7QTZKanF0Qk87RUFJSztDN0ppcXRCWjs7QTZKcnF0Qk87RUFRRztDN0ppcXRCVjs7QTZKenF0Qk87RUFVSztDN0ptcXRCWjs7QTZKN3F0Qk87RUFjRztDN0ptcXRCVjs7QTZKanJ0Qk87RUFnQks7QzdKcXF0Qlo7O0EySC90dEJDO0VtQ3hDQTtDOUoyd3RCRDs7QThKeHd0QkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlKMnd0QkQ7O0FxSTl1dEJHO0V5QnhCRDtVQUFBO0M5SjB3dEJGOztBbUYvd3RCQztFMkVVQTtFQUNBO0M5Snl3dEJEOztBRXJ1dEJJO0U0SmhDSDtJQUVFO0c5Snd3dEJEO0NBQ0Y7O0FxRmx5dEJBO0UwRUpFO0MvSjB5dEJGOztBK0ozeXRCQTs7O0VBTUk7RUFBQTtFQUNBO0VBQUE7VUFBQTtDL0oyeXRCSjs7QStKbHp0QkE7OztFQVVNO0VBQ0E7Qy9KOHl0Qk47O0ErSnp6dEJBO0VBZ0JJO0MvSjZ5dEJKOztBK0o3enRCQTtFQXFCSTtDL0o0eXRCSjs7QStKajB0QkE7RUF3Qk07RUFBQTtFQUNBO0VBQUE7VUFBQTtFQUNBO1VBQUE7RUFDQTtFQUNBO1VBQUE7Qy9KNnl0Qk47O0ErSnowdEJBO0VBK0JRO0VBQ0E7RUFDQTtFQUNBO0MvSjh5dEJSOztBK0poMXRCQTtFQXFDVTtDL0oreXRCVjs7QStKcDF0QkE7RUE0Q007RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUFBO1VBQUE7Qy9KNHl0Qk47O0ErSjMxdEJBO0VBa0RRO0MvSjZ5dEJSOztBK0ovMXRCQTtFQXNEUTtDL0o2eXRCUjs7QStKdnl0QkE7RUFJUTtDL0p1eXRCUjs7QStKanl0QkE7RUFDRTtDL0pveXRCRjs7QStKcnl0QkE7RUFLTTtDL0pveXRCTjs7QStKenl0QkE7RUFVSTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUFBO0VBQ0E7RUFBQTtVQUFBO0MvSit4dEJKOztBK0oxenRCQTtFQThCTTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtVQUFBO0MvSmd5dEJOOztBK0p0MHRCQTtFQXlDUTtFQUNBO0VBQUE7RUFDQTtVQUFBO0MvSml5dEJSOztBK0o1MHRCQTtFQThDVTtFQUNBO0VBRUE7Qy9KaXl0QlY7O0ErSmwxdEJBO0VBc0RRO0MvSmd5dEJSOztBK0p0MXRCQTs7RUEwRFE7Qy9KaXl0QlI7O0ErSjN4dEJBOztFQUVJO0VBQ0E7Qy9KOHh0Qko7O0FFMzJ0Qkk7RTZKa0ZGO0lBQ0U7Ry9KNnh0QkY7O0UrSjF4dEJBO0lBQ0U7Ry9KNnh0QkY7Q0FDRjs7QWtINzR0QkM7RThDbkNDO0VBQ0E7RUFBQTtFQUNBO0VBQUE7VUFBQTtFQUNBO1VBQUE7Q2hLbzd0QkY7O0FFLzJ0Qkk7RWdIckNIO0k4QzdCRztHaEtzN3RCRjs7RWdLNzd0QkY7SUFVTTtHaEt1N3RCSjtDQUNGOztBRXozdEJJO0VtRXlGSDtJMkZqSkc7SUFDQTtJQUNBO0doS3M3dEJGOztFZ0sxN3RCRjtJQU9NO0doS3U3dEJKO0NBQ0Y7O0EwRWgxdEJDO0VzRmxHQTtFQUNBO0NoS3M3dEJEOztBZ0tuN3RCQTtFQUNDO0VBQUE7RUFDQTtDaEtzN3RCRDs7QWdLbjd0QkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hLczd0QkQ7O0FnSzU3dEJBO0VBU0U7Q2hLdTd0QkY7O0FnS2g4dEJBO0VBWUc7Q2hLdzd0Qkg7O0FpS3ordEJBOzs7OztFQUNFO0VBQ0E7Q2pLZy90QkY7O0FpSzcrdEJBOzs7OztFQUNFO0VBQ0E7Q2pLby90QkY7O0FpS2ovdEJBOzs7OztFQUNFO0NqS3cvdEJGOztBaUtyL3RCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0NqS3cvdEJGOztBaUtuL3RCQTtFQUNFO0VBQ0E7Q2pLcy90QkY7O0FpS24vdEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pLcy90QkY7O0FpS24vdEJBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7Q2pLcy90QkY7O0FpS24vdEJBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqS28vdEJGOztBaUt2Z3VCQTtFQXNCSTtFQUNBO0VBQ0E7RUFDQTtDaktxL3RCSjs7QWlLOWd1QkE7RUE2Qkk7Q2pLcS90Qko7O0FpS2xodUJBO0VBaUNJO0NqS3EvdEJKOztBaUt0aHVCQTtFQXFDSTtDaktxL3RCSjs7QWlLMWh1QkE7RUF5Q0k7Q2pLcS90Qko7O0FpSzlodUJBO0VBNkNJO0NqS3EvdEJKOztBaUtsaXVCQTtFQWlESTtDaktxL3RCSjs7QWlLdGl1QkE7RUFxREk7Q2pLcS90Qko7O0FpSzFpdUJBO0VBeURJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqS3EvdEJKOztBaUtwanVCQTtFQW1FSTtFQUNBO0NqS3EvdEJKOztBaUt6anVCQTtFQXVFTTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtDaktxL3RCTjs7QWlLL2t1QkE7RUFpR0k7RUFDQTtFQUNBO0VBQUE7RUFDQTtVQUFBO0NqS2svdEJKOztBaUt0bHVCQTtFQXVHTTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtDaktrL3RCTjs7QWlLNW11QkE7RUErSEk7RUFDQTtFQUNBO0VBQ0E7Q2pLaS90Qko7O0FpS25udUJBO0VBc0lJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaktpL3RCSjs7QWlLNyt0QkE7RUFDRTtDaktnL3RCRjs7QWlLNyt0QkE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pLKyt0Qko7O0FpS25ndUJBO0VBd0JJO0NqSysrdEJKOztBaUt2Z3VCQTtFQTZCTTtFQUNBO0NqSzgrdEJOOztBaUs1Z3VCQTtFQWlDUTtFQUNBO0NqSysrdEJSOztBaUtqaHVCQTtFQXVDTTtFQUNBO0NqSzgrdEJOOztBaUt0aHVCQTtFQTRDTTtDaks4K3RCTjs7QWlLMWh1QkE7RUFnRE07RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtDaks2K3RCTjs7QWlLOWl1QkE7RUFxRU07Q2pLNit0Qk47O0FpS2xqdUJBO0VBeUVNO0NqSzYrdEJOOztBaUt0anVCQTtFQTZFTTtDaks2K3RCTjs7QWlLMWp1QkE7RUFpRk07Q2pLNit0Qk47O0FpSzlqdUJBO0VBcUZNO0NqSzYrdEJOOztBaUtsa3VCQTtFQXlGTTtDaks2K3RCTjs7QWlLdGt1QkE7RUE2Rk07Q2pLNit0Qk47O0FpSzFrdUJBO0VBaUdNO0NqSzYrdEJOOztBaUs5a3VCQTtFQXFHTTtDaks2K3RCTjs7QWlLbGx1QkE7RUF5R007Q2pLNit0Qk47O0FpS3RsdUJBO0VBNkdNO0NqSzYrdEJOOztBaUsxbHVCQTtFQWlITTtDaks2K3RCTjs7QWlLOWx1QkE7RUFxSE07Q2pLNit0Qk47O0FpS2xtdUJBO0VBeUhNO0NqSzYrdEJOOztBaUt0bXVCQTtFQTZITTtDaks2K3RCTjs7QWlLMW11QkE7RUFpSU07Q2pLNit0Qk47O0FrSzV6dUJBO0VBRVE7Q2xLOHp1QlI7O0FrS2gwdUJBO0VBS1E7Q2xLK3p1QlI7O0FrS3AwdUJBO0VBT1k7Q2xLaTB1Qlo7O0FtS3gwdUJBOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0NuSzQwdUJGOztBbUsvMHVCQTtFQUtJO0VBQ0E7Q25LODB1Qko7O0FtSzUwdUJFO0VBQ0U7Q25LKzB1Qko7O0FtS2gxdUJHO0VBR0c7RUFDQTtFQUNBO0NuS2kxdUJOOztBbUs5MHVCRTtFQUNFO0NuS2kxdUJKOztBbUtsMXVCRztFQUdHO0VBQ0E7Q25LbTF1Qk47O0FtSy8wdUJBO0VBQ0U7O0lBQ0U7R25LbTF1QkY7O0VtSzcxdUJBO0lBYUU7R25LbzF1QkY7Q0FDRjs7QW1LbDF1QkE7O0FBQ0E7RUFDRTtDbktzMXVCRjs7QW1LdjF1QkE7RUFHSTtFQUNBO0NuS3cxdUJKOztBbUtyMXVCQTs7QUFDQTs7RUFDRTtFQUNBO0NuSzAxdUJGOztBbUt2MXVCQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25LMjF1QkY7O0FtS2gydUJBO0VBT0k7RUFDQTtFQUNBO0NuSzYxdUJKOztBbUsxMXVCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0NuSzYxdUJGOztBbUt0MnVCQTtFQVdJO0VBQ0E7RUFDQTtDbksrMXVCSjs7QW1LNTJ1QkE7RUFnQkk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbktnMnVCSjs7QW1LNzF1QkE7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25LZzJ1QkY7O0FtS3oydUJBO0VBV0k7Q25LazJ1Qko7O0FtSzcydUJBO0VBY0k7RUFDQTtFQUNBO0NuS20ydUJKOztBbUtuM3VCQTtFQWtCTTtDbktxMnVCTjs7QW1LdjN1QkE7RUFxQk07RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbktzMnVCTjs7QW1LajR1QkE7O0VBNkJRO0NuS3kydUJSOztBbUt0NHVCQTtFQWlDTTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuS3kydUJOOztBbUs5NHVCQTtFQXdDTTtDbkswMnVCTjs7QW1LbDV1QkE7RUEyQ1U7Q25LMjJ1QlY7O0FtS3Q1dUJBO0VBaURRO0VBQUE7RUFDQTtFQUNBO0VBQUE7VUFBQTtDbkt5MnVCUjs7QW1LNTV1QkE7RUFzRFE7RUFDQTtDbkswMnVCUjs7QW1LajZ1QkE7RUF5RFU7Q25LNDJ1QlY7O0FtS3I2dUJBO0VBK0RRO0VBQ0E7RUFBQTtFQUNBO0VBQUE7VUFBQTtFQUNBO1VBQUE7Q25LMDJ1QlI7O0FtSzU2dUJBO0VBb0VVO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbks0MnVCVjs7QW1Lcjd1QkE7RUEyRVk7Q25LODJ1Qlo7O0FtS3o3dUJBO0VBOEVZO0VBQ0E7Q25LKzJ1Qlo7O0FtSzk3dUJBO0VBa0ZZO0VBQ0E7RUFDQTtFQUNBO0NuS2czdUJaOztBbUtyOHVCQTtFQTJGTTtFQUFBO0VBQ0E7RUFBQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtDbks4MnVCTjs7QW1LNzh1QkE7RUFpR1E7Q25LZzN1QlI7O0FtS2o5dUJBO0VBcUdNO0VBQ0E7Q25LZzN1Qk47O0FtS3Q5dUJBO0VBd0dRO0VBQ0E7Q25LazN1QlI7O0FtSzM5dUJBO0VBMkdVO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25LbzN1QlY7O0FtS24rdUJBO0VBaUhZO0NuS3MzdUJaOztBbUt2K3VCQTtFQW9IWTtFQUNBO0VBQ0E7Q25LdTN1Qlo7O0FtS2gzdUJBO0VBQ0U7Q25LbTN1QkY7O0FtS2ozdUJBO0VBQ0U7Q25LbzN1QkY7O0FtS2wzdUJBOztBQUNBO0VBQ0U7RUFDQTtDbktzM3VCRjs7QW1LeDN1QkE7RUFLSTtDbkt1M3VCSjs7QW1LbjN1QkE7O0FBQ0E7RUFDRTtFQUNBO0NuS3UzdUJGOztBbUtyM3VCQTtFQUNFO0VBQ0E7Q25LdzN1QkY7O0FtS3QzdUJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25LeTN1QkY7O0FtS3QzdUJBOztBQUVFO0VBQ0U7RUFDQTtFQUNBO0NuS3kzdUJKOztBbUt0M3VCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQUE7RUFDQTtFQUFBO1VBQUE7RUFDQTtVQUFBO0VBQ0E7RUFDRTtDbkt3M3VCTjs7QW1LdjN1Qkk7RUFDRTtDbkswM3VCTjs7QW1LeDR1Qkc7RUFrQkc7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25LMDN1Qk47O0FtS2w1dUJHO0VBMkJLO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtDbksyM3VCUjs7QW1LdDN1QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuS3kzdUJKOztBbUs5M3VCRztFQU9HO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25LMjN1Qk47O0FtS3YzdUJFO0VBQ0U7RUFDQTtDbkswM3VCSjs7QW1LdjN1QkU7RUFDRTtFQUNBO0NuSzAzdUJKOztBbUt6M3VCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0NuSzQzdUJOOztBbUsxM3VCSTtFQUNFO0VBQ0E7RUFDQTtDbks2M3VCTjs7QW1LejN1QkU7RUFDRTtFQUFBO0VBQ0E7RUFBQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtDbks0M3VCSjs7QW1LMzN1Qkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuSzgzdUJOOztBbUtuNHVCSztFQU9HO0VBQ0E7RUFDQTtFQUNBO0NuS2c0dUJSOztBbUs3M3VCSTtFQUNFO0NuS2c0dUJOOztBbUs1M3VCRTtFQUNFO0VBQ0E7RUFBQTtFQUNBO0VBQUE7VUFBQTtFQUNBO1VBQUE7RUFDQTtDbksrM3VCSjs7QW1LOTN1Qkk7RUFDRTtFQUNBO0NuS2k0dUJOOztBbUtoNHVCTTtFQUNFO0VBQ0E7Q25LbTR1QlI7O0FtS2o0dUJNO0VBQ0U7RUFDQTtDbktvNHVCUjs7QW1LLzN1QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDbktrNHVCSjs7QW1Lbjh1QkU7RUFxRUU7RUFDQTtDbktrNHVCSjs7QW1LNzN1QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuS2c0dUJKOztBbUtyNHVCRztFQU9HO0VBQ0E7RUFDQTtFQUNBO0NuS2s0dUJOOztBbUs3M3VCQTtFQUNFO0lBQ0U7R25LZzR1QkY7O0VtS3I4dUJFO0lBd0VBO0duS2k0dUJGOztFbUsvM3VCQTtJQUNFO0duS2s0dUJGOztFbUt2c3ZCRjtJQXdVSTtHbkttNHVCRjtDQUNGOztBb0tqeXZCQTtFQUNFO0VBQ0E7RUFBQTtFQUNBO0VBQUE7VUFBQTtFQUNBO1VBQUE7Q3BLb3l2QkY7O0FvS3h5dkJBO0VBT0k7Q3BLcXl2Qko7O0FxSzV5dkJBO0VBQ0U7Q3JLK3l2QkY7O0FxS2h6dkJBO0VBSUk7RUFDQTtFQUNBO0NyS2d6dkJKOztBRTd1dkJJO0VtS3pFSjtJQVNNO0lBQ0E7R3JLa3p2Qko7Q0FDRjs7QXFLN3p2QkE7RUFlSTtFQUNBO0NyS2t6dkJKOztBcUtsMHZCQTtFQW1CSTtFQUNBO0NyS216dkJKOztBcUt2MHZCQTtFQXVCSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JLb3p2Qko7O0FxS2gxdkJBO0VBK0JNO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyS3F6dkJOOztBcUsxMXZCQTtFQXdDUTtFQUNBO0VBQ0E7Q3JLc3p2QlI7O0FxS2gydkJBO0VBNkNVO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckt1enZCVjs7QXFLNTJ2QkE7RUE0REk7RUFDQTtFQUNBO0NyS296dkJKOztBcUtsM3ZCQTtFQWlFTTtFQUNBO0VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO0VBQUE7VUFBQTtDcktxenZCTjs7QXFLMTN2QkE7RUF3RVE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcktzenZCUjs7QUV6enZCSTtFbUt6RUo7SUErRVU7R3JLd3p2QlI7Q0FDRjs7QXFLeDR2QkE7OztFQW1GVTtFQUNBO0NySzJ6dkJWOztBcUsvNHZCQTtFQTBGTTtFQUNBO0VBQ0E7RUFDQTtDckt5enZCTjs7QUU3MHZCSTtFbUt6RUo7SUFnR1E7SUFDQTtHcksyenZCTjtDQUNGOztBcUt0enZCQTtFQUNFO0VBQ0E7Q3JLeXp2QkY7O0FFejF2Qkk7RW1LOEJKO0lBS0k7SUFDQTtHcksyenZCRjtDQUNGOztBcUtsMHZCQTtFQVdNO0NySzJ6dkJOOztBcUt0MHZCQTtFQWdCSTtDckswenZCSjs7QXFLMTB2QkE7RUFvQkk7RUFBQTtFQUNBO0VBQUE7VUFBQTtFQUNBO1VBQUE7RUFDQTtDckswenZCSjs7QUUvMnZCSTtFbUs4Qko7SUF5Qk07SUFDQTtHcks2enZCSjtDQUNGOztBcUt4MXZCQTtFQStCSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NySzZ6dkJKOztBRTkzdkJJO0VtSzhCSjtJQXNDTTtJQUNBO0lBQ0E7R3JLK3p2Qko7Q0FDRjs7QXFLeDJ2QkE7RUE0Q007RUFBQTtLQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JLZzB2Qk47O0FFOTR2Qkk7RW1LOEJKO0lBa0RRO0dyS20wdkJOO0NBQ0Y7O0FxS3QzdkJBO0VBd0RJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQUE7VUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0VBQ0E7Q3JLazB2Qko7O0FFbDZ2Qkk7RW1LOEJKO0lBb0VNO0lBQ0E7SUFDQTtJQUNBO0dyS3EwdkJKO0NBQ0Y7O0FxSzc0dkJBO0VBNEVNO0NyS3EwdkJOOztBcUtqNXZCQTtFQWdGTTtDcktxMHZCTjs7QXFLcjV2QkE7O0VBb0ZNO0VBQ0E7RUFDQTtFQUNBO0NyS3MwdkJOOztBRTM3dkJJO0VtSzhCSjs7SUF5RlE7R3JLMDB2Qk47Q0FDRjs7QXFLcDZ2QkE7RUE4Rk07RUFDQTtFQUNBO0VBSUE7RUFDQTtDckt1MHZCTjs7QUUxOHZCSTtFbUs4Qko7SUF1R1E7R3JLMDB2Qk47Q0FDRjs7QXFLbDd2QkE7RUE0R007RUFDQTtFQUNBO0VBSUE7RUFDQTtDckt1MHZCTjs7QXFLMTd2QkE7RUF1SE07RUFDQTtDckt1MHZCTjs7QUU3OXZCSTtFbUs4Qko7SUE2SFE7R3JLdTB2Qk47Q0FDRjs7QXFLcjh2QkE7RUFrSU07RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0NyS28wdkJOOztBcUs5OHZCQTtFQTZJUTtDcktxMHZCUjs7QXFLbDl2QkE7RUFpSlE7Q3JLcTB2QlI7O0FxS3Q5dkJBO0VBc0pNO0NyS28wdkJOOztBcUsxOXZCQTtFQTBKUTtDcktvMHZCUjs7QXFLOTl2QkE7RUEwSlE7Q3JLbzB2QlI7O0FxSzk5dkJBO0VBMEpRO0NyS28wdkJSOztBcUs5OXZCQTtFQTBKUTtDcktvMHZCUjs7QXFLOTl2QkE7RUEwSlE7Q3JLbzB2QlI7O0FxSzk5dkJBO0VBK0pNO0NyS20wdkJOOztBcUtsK3ZCQTtFQW1LUTtDckttMHZCUjs7QXFLdCt2QkE7RUFtS1E7Q3JLbTB2QlI7O0FxS3QrdkJBO0VBbUtRO0NyS20wdkJSOztBcUt0K3ZCQTtFQW1LUTtDckttMHZCUjs7QXFLdCt2QkE7RUFtS1E7Q3JLbTB2QlI7O0FxS3QrdkJBO0VBd0tNO0NyS2swdkJOOztBcUsxK3ZCQTtFQTRLTTtDcktrMHZCTjs7QXFLOSt2QkE7RUErS1E7Q3JLbTB2QlI7O0FxS2wvdkJBO0VBb0xNO0NyS2swdkJOOztBcUt0L3ZCQTtFQXdMTTtFQUNBO0NyS2swdkJOOztBcUszL3ZCQTtFQWdNUTtFQUNBO0NySyt6dkJSOztBcUtoZ3dCQTtFQXNNTTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JLOHp2Qk47O0FxS3pnd0JBO0VBK01NO0VBQ0E7RUFDQTtFQUtBO0VBRUE7Q3JLeXp2Qk47O0FxS2pod0JBO0VBbU9RO0VBQUE7RUFDQTtFQUFBO1VBQUE7RUFDQTtVQUFBO0VBQ0E7Q3JLa3p2QlI7O0FxS3hod0JBO0VBeU9VO0VBRUE7Q3JLa3p2QlY7O0FxSzdod0JBO0VBK09VO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcktrenZCVjs7QXFLdGl3QkE7RUEyUE07RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NySyt5dkJOOztBcUsvaXdCQTtFQW1RUTtDcktnenZCUjs7QXFLbmp3QkE7RUF1UVE7RUFDQTtFQUNBO0NyS2d6dkJSOztBcUt6andCQTtFQTZRUTtDcktnenZCUjs7QXFLN2p3QkE7RUFrUk07Q3JLK3l2Qk47O0FxS2prd0JBO0VBcVJRO0NyS2d6dkJSOztBcUtya3dCQTtFQXlSUTtDcktnenZCUjs7QXFLemt3QkE7RUFnU1U7Q3JLNnl2QlY7O0FxSzdrd0JBO0VBdVNJO0NySzB5dkJKOztBRS9td0JJO0VtSzBVSjtJQUVJO0dyS3d5dkJGO0NBQ0Y7O0FxS3J5dkJBO0VBRUk7RUFDQTtDckt1eXZCSjs7QXNLbnN3QkE7RUFDRTtDdEtzc3dCRjs7QXNLbnN3QkE7RUFDRTtDdEtzc3dCRjs7QXNLbnN3QkE7RUFDRTtDdEtzc3dCRjs7QXNLbnN3QkE7RUFFSTtDdEtxc3dCSjs7QXNLdnN3QkE7RUFNSTtDdEtxc3dCSjs7QXNLM3N3QkE7RUFVSTtDdEtxc3dCSjs7QXVLM3R3QkE7RUFDRTtDdks4dHdCRjs7QXVLM3R3QkE7RUFDRTtDdks4dHdCRjs7QXVLM3R3QkE7RUFFSTtDdks2dHdCSjs7QXVLL3R3QkE7RUFNSTtDdks2dHdCSjs7QXdLcnV3QkE7O0FBS0EiLCJmaWxlIjoiY3NzL2FwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJ2dWUtbWFwLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgcmVmPVwidnVlLW1hcFwiIGNsYXNzPVwidnVlLW1hcFwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ2dWUtbWFwLWhpZGRlblwiPlxuICAgICAgPHNsb3Q+PC9zbG90PlxuICAgIDwvZGl2PlxuICAgIDxzbG90IG5hbWU9XCJ2aXNpYmxlXCI+PC9zbG90PlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCAoZnVuY3Rpb24gKHgpIHsgcmV0dXJuIHguZGVmYXVsdCB8fCB4IH0pKHJlcXVpcmUoJy4vbWFwSW1wbC5qcycpKVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwiY3NzXCI+XG4udnVlLW1hcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi52dWUtbWFwLWNvbnRhaW5lciAudnVlLW1hcCB7XG4gIGxlZnQ6IDA7IHJpZ2h0OiAwOyB0b3A6IDA7IGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnZ1ZS1tYXAtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbjwvc3R5bGU+XG4iLCI8dGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJ2dWUtc3RyZWV0LXZpZXctcGFuby1jb250YWluZXJcIj5cbiAgICA8ZGl2IHJlZj1cInZ1ZS1zdHJlZXQtdmlldy1wYW5vXCIgY2xhc3M9XCJ2dWUtc3RyZWV0LXZpZXctcGFub1wiPjwvZGl2PlxuICAgIDxzbG90Pjwvc2xvdD5cbiAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuZXhwb3J0IGRlZmF1bHQgKGZ1bmN0aW9uICh4KSB7IHJldHVybiB4LmRlZmF1bHQgfHwgeCB9KShyZXF1aXJlKCcuL3N0cmVldFZpZXdQYW5vcmFtYUltcGwuanMnKSlcbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cImNzc1wiPlxuLnZ1ZS1zdHJlZXQtdmlldy1wYW5vLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnZ1ZS1zdHJlZXQtdmlldy1wYW5vLWNvbnRhaW5lciAudnVlLXN0cmVldC12aWV3LXBhbm8ge1xuICBsZWZ0OiAwOyByaWdodDogMDsgdG9wOiAwOyBib3R0b206IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbjwvc3R5bGU+XG4iLG51bGwsbnVsbCxudWxsLCIudmlkYmctY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4udmlkYmctb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn0iLCI6cm9vdCB7XG4gIC0tYW5pbWF0ZS1kdXJhdGlvbjogMXM7XG4gIC0tYW5pbWF0ZS1kZWxheTogMXM7XG4gIC0tYW5pbWF0ZS1yZXBlYXQ6IDE7XG59XG4iLCIuYW5pbWF0ZWQge1xuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGUtZHVyYXRpb24pO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG4uYW5pbWF0ZWQuaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cblxuLmFuaW1hdGVkLnJlcGVhdC0xIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tYW5pbWF0ZS1yZXBlYXQpO1xufVxuXG4uYW5pbWF0ZWQucmVwZWF0LTIge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDIpO1xufVxuXG4uYW5pbWF0ZWQucmVwZWF0LTMge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDMpO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktMXMge1xuICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWFuaW1hdGUtZGVsYXkpO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktMnMge1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAyKTtcbn1cblxuLmFuaW1hdGVkLmRlbGF5LTNzIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMyk7XG59XG5cbi5hbmltYXRlZC5kZWxheS00cyB7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDQpO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktNXMge1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA1KTtcbn1cblxuLmFuaW1hdGVkLmZhc3RlciB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAvIDIpO1xufVxuXG4uYW5pbWF0ZWQuZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuOCk7XG59XG5cbi5hbmltYXRlZC5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG59XG5cbi5hbmltYXRlZC5zbG93ZXIge1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAzKTtcbn1cblxuQG1lZGlhIHByaW50LCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYW5pbWF0ZWRbY2xhc3MqPSdPdXQnXSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZhZGVJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG4iLCJAa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuIiwiQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xufVxuIiwiQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG4iLCJAa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xufVxuIiwiLyoqXG4gKiBNYWluXG4gKi9cblxuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJ3ZlbmRvcnMvYm9vdHN0cmFwLWltcG9ydHMnO1xuQGltcG9ydCAnfmFyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvYWJzdHJhY3RzL2Vhc2luZ3MnO1xuQGltcG9ydCAnYWJzdHJhY3RzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21tb24tc3R5bGVzJztcblxuIiwiLyoqXG4gKiBHcmlkIGNvbHVtbnMgbnVtYmVyXG4gKlxuICogTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQsIGl0IG92ZXJyaWRlIGAkZ3JpZC1jb2x1bW5zYCBmcm9tXG4gKiBib290c3RyYXAtc2Fzcy4gSXQgbWVhbnMsIGlmIHlvdSB3aXNoLCB0aGF0IHlvdSBjYW4gaW5zdGFudGlhdGUgYSBncmlkIG9mIDgsXG4gKiBmb3IgZXhhbXBsZS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC1zYXNzL2Jsb2IvbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3ZhcmlhYmxlcy5zY3NzI0wzMjlcbiAqL1xuJGdyaWQtY29sdW1uczogMTI7XG5cblxuLyoqXG4gKiBHdXR0ZXIgd2lkdGhcbiAqXG4gKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodCwgaXRcbiAqIG92ZXJpZGUgYCRncmlkLWd1dHRlci13aWR0aGAgZnJvbSBib290c3RyYXAtc2Fzc1xuICpcbiAqIEBzZWUgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjgxOTM4NzIvNTA5MTIyMVxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAtc2Fzcy9ibG9iL21hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyNMMzMxXG4gKi9cbiRncmlkLWd1dHRlci13aWR0aC11bml0bGVzczogMjA7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICggJGdyaWQtZ3V0dGVyLXdpZHRoLXVuaXRsZXNzICogMXB4ICk7XG5cblxuLyoqXG4gKiBHcmlkIGJyZWFrcG9pbnRzXG4gKlxuICogRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4gKiBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi92NC1kZXYvc2Nzcy9fdmFyaWFibGVzLnNjc3MjTDE4MFxuICovXG4kZ3JpZC1icmVha3BvaW50czogKFxuXHR4czogMCxcblx0c206IDc1NHB4LFxuXHRtZDogOTkycHgsXG5cdGxnOiAxMjAwcHgsXG5cdGhkOiAxNDAwcHgsXG4pO1xuXG5cbiRncmlkLWd1dHRlci13aWR0aHM6IChcbiAgXHR4czogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMixcblx0c206ICRncmlkLWd1dHRlci13aWR0aCAvIDIsXG4gIFx0bWQ6ICRncmlkLWd1dHRlci13aWR0aCxcblx0bGc6ICRncmlkLWd1dHRlci13aWR0aCxcblx0aGQ6ICRncmlkLWd1dHRlci13aWR0aFxuKTtcblxuQGVhY2ggJGdyaWQtYnJlYWtwb2ludCwgJGdyaWQtZ3V0dGVyLXdpZHRoIGluICRncmlkLWd1dHRlci13aWR0aHMge1xuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCAkZ3JpZC1icmVha3BvaW50ICkge1xuXG4gICAgXHQkZ3JpZC1ndXR0ZXItaGFsZi13aWR0aDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxuXHRcdC5yb3c6bm90KC5uby1ndXR0ZXJzKSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1ndXR0ZXItaGFsZi13aWR0aDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtJGdyaWQtZ3V0dGVyLWhhbGYtd2lkdGg7XG5cdFx0fVxuXG5cdFx0LnJvdzpub3QoLm5vLWd1dHRlcnMpID4gLmNvbCxcblx0XHQucm93Om5vdCgubm8tZ3V0dGVycykgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1ndXR0ZXItaGFsZi13aWR0aDtcblx0XHRcdHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLWhhbGYtd2lkdGg7XG5cdFx0fVxuXHR9XG59XG5cbi5uby1ndXR0ZXJzIHtcbiAgXHRtYXJnaW4tcmlnaHQ6IDA7XG4gIFx0bWFyZ2luLWxlZnQ6IDA7XG5cbiAgXHQ+IC5jb2wsXG4gIFx0PiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgXHRwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIFx0cGFkZGluZy1sZWZ0OiAwO1xuICBcdH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxuXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgLyAyO1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICAmID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCUgLyAkY291bnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlIC8gJGNvdW50O1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1NDEwXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciBjb21tb24gYGRpc3BsYXlgIHZhbHVlc1xuLy9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgICAuZCN7JGluZml4fS0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIHRvZ2dsaW5nIGBkaXNwbGF5YCBpbiBwcmludFxuLy9cblxuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgLmQtcHJpbnQtI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEZsZXggdmFyaWF0aW9uXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBmbGV4IGFsaWdubWVudCBvcHRpb25zLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxleCN7JGluZml4fS1yb3cgICAgICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbiAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tcm93LXJldmVyc2UgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAgICAgICAgICB7IGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tbm93cmFwICAgICAgIHsgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1maWxsICAgICAgICAgeyBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0wICAgICAgIHsgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTEgICAgICAgeyBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0wICAgICB7IGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMSAgICAgeyBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG5cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWF1dG8gICAgIHsgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLyoqXG4gKiBFYXNpbmdzXG4gKiBBbmltYXRpb24gdGltaW5nIGZ1bmN0aW9ucyB2YXJpYWJsZXMgaW4gU0NTU1xuICpcbiAqIEJhc2VkIG9uIEVhc2luZ3MgYnkgQW5kcmV5IFNpdG5payAoQXV0b3ByZWZpeGVyIC8gUG9zdENTUykgYW5kIE1hdHRoZXcgTGVpbidzXG4gKiBlYXNpbmcgYW5pbWF0aW9uIHRvb2wuXG4gKlxuICogQWxzbyB1c2VkIG9uIFZlbG9jaXR5LmpzIGFuaW1hdGlvbiBsaWJyYXJ5LlxuICpcbiAqIEB1c2VzIG1hcC1nZXQoICRlYXNpbmdzLCAka2V5ICkgdG8gcmV0cmlldmUgZGlyZWN0b3J5IHZhbHVlIGZyb20gbWFwXG4gKiBAdHlwZSBtYXBcbiAqIEBzZWUgaHR0cDovL2Vhc2luZ3MubmV0L1xuICogQGF1dG9yIErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Ny5mcj4gKGh0dHA6Ly8xOWg0Ny5mcilcbiAqL1xuJGVhc2luZ3M6IChcblx0bGluZWFyOiBjdWJpYy1iZXppZXIoIDAuMjUsIDAuMjUsIDAuNzUsIDAuNzUgKSxcblx0ZWFzZTogY3ViaWMtYmV6aWVyKCAwLjI1LCAwLjEsIDAuMjUsIDEuMCApLFxuXHRlYXNlLWluOiBjdWJpYy1iZXppZXIoIDAuNDIsIDAuMCwgMS4wMCwgMS4wICksXG5cdGVhc2Utb3V0OiBjdWJpYy1iZXppZXIoIDAuMDAsIDAuMCwgMC41OCwgMS4wICksXG5cdGVhc2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoIDAuNDIsIDAuMCwgMC41OCwgMS4wICksXG5cblx0Ly8gU2luZS5cblx0ZWFzZS1pbi1zaW5lOiBjdWJpYy1iZXppZXIoIDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSApLFxuXHRlYXNlLW91dC1zaW5lOiBjdWJpYy1iZXppZXIoIDAuMzksIDAuNTc1LCAwLjU2NSwgMSApLFxuXHRlYXNlLWluLW91dC1zaW5lOiBjdWJpYy1iZXppZXIoIDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1ICksXG5cblx0Ly8gUXVhZC5cblx0ZWFzZS1pbi1xdWFkOiBjdWJpYy1iZXppZXIoIDAuNTUsIDAuMDg1LCAwLjY4LCAwLjUzICksXG5cdGVhc2Utb3V0LXF1YWQ6IGN1YmljLWJlemllciggMC4yNSwgMC40NiwgMC40NSwgMC45NCApLFxuXHRlYXNlLWluLW91dC1xdWFkOiBjdWJpYy1iZXppZXIoIDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUgKSxcblxuXHQvLyBDdWJpYy5cblx0ZWFzZS1pbi1jdWJpYzogY3ViaWMtYmV6aWVyKCAwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkgKSxcblx0ZWFzZS1vdXQtY3ViaWM6IGN1YmljLWJlemllciggMC4yMTUsIDAuNjEsIDAuMzU1LCAxICksXG5cdGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoIDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEgKSxcblxuXHQvLyBRdWFydC5cblx0ZWFzZS1pbi1xdWFydDogY3ViaWMtYmV6aWVyKCAwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIgKSxcblx0ZWFzZS1vdXQtcXVhcnQ6IGN1YmljLWJlemllciggMC4xNjUsIDAuODQsIDAuNDQsIDEgKSxcblx0ZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllciggMC43NywgMCwgMC4xNzUsIDEgKSxcblxuXHQvLyBRdWludC5cblx0ZWFzZS1pbi1xdWludDogY3ViaWMtYmV6aWVyKCAwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYgKSxcblx0ZWFzZS1vdXQtcXVpbnQ6IGN1YmljLWJlemllciggMC4yMywgMSwgMC4zMiwgMSApLFxuXHRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKCAwLjg2LCAwLCAwLjA3LCAxICksXG5cblx0Ly8gRXhwby5cblx0ZWFzZS1pbi1leHBvOiBjdWJpYy1iZXppZXIoIDAuOTUsIDAuMDUsIDAuNzk1LCAwLjAzNSApLFxuXHRlYXNlLW91dC1leHBvOiBjdWJpYy1iZXppZXIoIDAuMTksIDEsIDAuMjIsIDEgKSxcblx0ZWFzZS1pbi1vdXQtZXhwbzogY3ViaWMtYmV6aWVyKDEsIDAsIDAsIDEpLFxuXG5cdC8vIENpcmMuXG5cdGVhc2UtaW4tY2lyYzogY3ViaWMtYmV6aWVyKCAwLjYsIDAuMDQsIDAuOTgsIDAuMzM1ICksXG5cdGVhc2Utb3V0LWNpcmM6IGN1YmljLWJlemllciggMC4wNzUsIDAuODIsIDAuMTY1LCAxICksXG5cdGVhc2UtaW4tb3V0LWNpcmM6IGN1YmljLWJlemllciggMC43ODUsIDAuMTM1LCAwLjE1LCAwLjg2ICksXG5cblx0Ly8gQmFjay5cblx0ZWFzZS1pbi1iYWNrOiBjdWJpYy1iZXppZXIoIDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSApLFxuXHRlYXNlLW91dC1iYWNrOiBjdWJpYy1iZXppZXIoIDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEuMjc1ICksXG5cdGVhc2UtaW4tb3V0LWJhY2s6IGN1YmljLWJlemllciggMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwICksXG4pO1xuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgYXBwbGljYXRpb24td2lkZSBTYXNzIHZhcmlhYmxlcy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogQ29sb3IgdmFyaWF0aW9uXG4gKlxuICogRWFjaCBjb2xvcnMgdXNlZCBpbiB0aGUgdGhlbWUuXG4gKlxuICogQHVzZXMgZ2V0X2NvbG9yKCAka2V5LCAkdmFsdWUgKSB0byByZXRyaWV2ZSBjb2xvciB2YWx1ZVxuICogQHR5cGUgbmVzdGVkIG1hcFxuICogQHNlZSBodHRwOi8vZXJza2luZWRlc2lnbi5jb20vYmxvZy9mcmllbmRsaWVyLWNvbG91ci1uYW1lcy1zYXNzLW1hcHMvXG4gKiBAc2VlIGh0dHA6Ly93d3cuY29sb3JoZXhhLmNvbS8gdG8gcGlja3VwIGNvbG9yIG5hbWVcbiAqL1xuJGNvbG9yLXZhcmlhdGlvbnM6IChcblx0YmxhY2s6ICMwMDAsXG5cdHdoaXRlOiAjZmZmLFxuXG5cdHJlZDogKFxuXHRcdHB1cmU6ICNmZjAwMDAsXG5cdFx0YnJpZ2h0OiAjZGQ0ODJmLFxuXHQpLFxuXG5cdGJsdWU6IChcblx0XHRwdXJlOiAjMDAwMGZmLFxuXHRcdHN0cm9uZzogIzAwNjFjMyxcblx0XHRkYXJrOiAjMDI0OTkwLFxuXHRcdHNreTogIzAwNjFjMixcblx0XHR2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQ6ICMyZDQwNGUsXG5cdFx0dmVyeS1kYXJrOiAjMTAyMTNBLFxuXHRcdGxpZ2h0LWdyYXlpc2gtMDE6ICNkNWQ5ZGIsXG5cdFx0bGlnaHQtZ3JheWlzaC0wMjogI2NjZGZmMyxcblx0XHRsaWdodC1ncmF5aXNoLTAzOiAjZTJlNGU2LFxuXHRcdGxpZ2h0LWdyYXlpc2gtYmx1ZTogI2VlZjBmMSxcblx0KSxcblxuXHRncmF5OiAoXG5cdFx0bGlnaHQ6ICNjZGNkY2QsXG5cdFx0dmVyeS1saWdodC0wMTogI2RkZGRkZCxcblx0XHR2ZXJ5LWxpZ2h0LTAyOiAjZjhmYWZhLFxuXHRcdHZlcnktbGlnaHQtMDM6ICNmOGZhZmEsXG5cdFx0ZGFyay0wMTogIzk5OTk5OSxcblx0XHRkYXJrLTAyOiAjOTc5Nzk3LFxuXHRcdHZlcnktZGFyazogIzY2NjY2Nixcblx0KSxcblxuXHRncmVlbjogKFxuXHRcdGxpbWU6ICM1ZWJmODcsXG5cdCksXG5cblx0b3JhbmdlOiAoXG5cdFx0YnJpZ2h0OiAjRjc5RTQzLFxuXHRcdGRhcmstZ3JheWlzaDogI2IxYWVhOCxcblx0KSxcblxuXHQvKipcblx0ICogQnJhbmQgY29sb3JzXG5cdCAqXG5cdCAqIEBzZWUgaHR0cHM6Ly9icmFuZGNvbG9ycy5uZXQvXG5cdCAqL1xuXHRzb2NpYWxzOiAoXG5cdFx0ZmFjZWJvb2s6ICMzYjU5OTgsXG5cdFx0dHdpdHRlcjogIzFkYTFmMixcblx0XHRnb29nbGUtcGx1czogI2RkNGIzOSxcblx0XHRsaW5rZWRpbjogIzAwNzdiNSxcblx0XHR2aWFkZW86ICNmMDczNTUsXG5cdClcbik7XG5cblxuLyoqXG4gKlxuICpcbiAqXG4gKiBAdHlwZSBtYXBcbiAqL1xuJGJvcmRlcnM6IChcblx0cmFkaXVzOiAycHgsXG5cdHJhZGl1cy00OiA0cHgsXG4pO1xuXG5cbi8qKlxuICogRm9udFxuICpcbiAqIEEgbWFwIGNvbnRhaW5pbmcgYWxsIGluZm9ybWF0aW9uIGFib3V0IGZvbnRzXG4gKlxuICogQHR5cGUgbWFwXG4gKi9cbiRmb250OiAoXG5cblxuXHQvKipcblx0ICogRm9udFxuXHQgKlxuXHQgKiBBbGwgZm9udHMgZmFtaWxpZXMgZm91bmQgaW4gdGhlIHNpdGUgYXJlIGxpc3RlZCBoZXJlXG5cdCAqXG5cdCAqIEB1c2VzIG1hcC1nZXQoICRmb250LCAka2V5ICkgdG8gcmV0cmlldmUgZm9udCB2YWx1ZSBmcm9tIG1hcFxuXHQgKiBAdHlwZSBtYXBcblx0ICovXG5cdGZhbWlsaWVzOiAoXG5cdFx0Ym9keTogKCAnVmluY2kgU2FucycsIHNhbnMtc2VyaWYgKSxcblx0XHR0aXRsZTogKCAnVmluY2kgU2FucycsIHNhbnMtc2VyaWYgKSxcblx0XHRjdXJzaXZlLTAxOiAoICdTYXR1cmRheSBDaGFtcGFnbmUnLCBjdXJzaXZlICksXG5cdFx0Y3Vyc2l2ZS0wMjogKCAnUmVlbmllIEJlYW5pZScsIGN1cnNpdmUgKSxcblx0KSxcblxuXG5cdC8qKlxuXHQgKiBGb250IHdlaWdodHNcblx0ICpcblx0ICogRWFjaCBmb250IHdlaWdodCB1c2VkIGluIHRoZSB0aGVtZS5cblx0ICpcblx0ICogQHVzZXMgbWFwLWdldCggJGZvbnQsIHdlaWdodHMgKSB0byByZXRyaWV2ZSBmb250IHdlaWdodCB2YWx1ZVxuXHQgKiBAdHlwZSBtYXBcblx0ICovXG5cdHdlaWdodHM6IChcblx0XHRleHRyYWxpZ2h0OiAxMDAsXG5cdFx0bGlnaHQ6IDIwMCxcblx0XHRib29rOiAzMDAsXG5cdFx0cmVndWxhcjogNDAwLFxuXHRcdG1lZGl1bTogNTAwLFxuXHRcdHNlbWlib2xkOiA2MDAsXG5cdFx0Ym9sZDogNzAwLFxuXHRcdGV4dHJhYm9sZDogODAwLFxuXHRcdGV4dHJhYmxhY2s6IDkwMFxuXHQpLFxuXG5cblx0LyoqXG5cdCAqIEZvbnQgc3R5bGVzXG5cdCAqXG5cdCAqIEVhY2ggZm9udCBzdHlsZSB1c2VkIGluIHRoZSB0aGVtZS5cblx0ICpcblx0ICogQHVzZXMgbWFwLWdldCggJGZvbnQsIHN0eWxlcyApIHRvIHJldHJpZXZlIGZvbnQgc3R5bGUgdmFsdWVcblx0ICogQHR5cGUgbGlzdFxuXHQgKi9cblx0c3R5bGVzOiAnaXRhbGljJyxcblxuXG5cdC8qKlxuXHQgKiBGb250IHNpemVzXG5cdCAqXG5cdCAqIEVhY2ggZm9udCBzaXplIHVzZWQgaW4gdGhlIHRoZW1lLlxuXHQgKlxuXHQgKiBAdXNlcyBtYXAtZ2V0KCAkZm9udCwgc2l6ZXMgKSB0byByZXRyaWV2ZSBmb250IHNpemUgdmFsdWVcblx0ICogQHR5cGUgbGlzdFxuXHQgKi9cblx0c2l6ZXM6IDE0IDE2IDE4IDIwIDI0IDMwIDQwLFxuKTtcblxuXG4vKipcbiAqIEJhc2VcbiAqL1xuJGJhc2UtZm9udC1zaXplOiAxODtcbiRiYXNlLWZvbnQtc2l6ZS1weDogJGJhc2UtZm9udC1zaXplICogMXB4O1xuJGJhc2UtbGluZS1oZWlnaHQ6IDI4O1xuJHNjYWxlLWZhY3RvcjogJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemU7XG4kYmFzZS11bml0OiBweDtcblxuXG4vKipcbiAqIE91dGVyIGd1dHRlciB3aWR0aFxuICpcbiAqIChNb3N0IG9mIHRoZSB0aW1lIGl0J3MgdGhlIHNpemUgb2YgYSBndXR0ZXIgZGl2aWRlIGJ5IDIuKVxuICogVXNlZnVsIGZvciB0aGUgY29udGFpbmVyLlxuICovXG4kZ3JpZC1vdXRlci1ndXR0ZXItd2lkdGgtdW5pdGxlc3M6ICRncmlkLWd1dHRlci13aWR0aC11bml0bGVzcztcbiRncmlkLW91dGVyLWd1dHRlci13aWR0aDogJGdyaWQtb3V0ZXItZ3V0dGVyLXdpZHRoLXVuaXRsZXNzICogMXB4O1xuXG5cbi8qKlxuICogUHJvdG90eXBlIHdpZHRoXG4gKlxuICogRnJvbSBQaG90b3Nob3AsIFNrZXRjaCwgSWxsdXN0cmF0b3IsIFBhaW50IG1heWJlPyDDsMKfwpjCnVxuICovXG4kcHJvdG90eXBlLXdpZHRoLXVuaXRsZXNzOiAxNjgwO1xuJHByb3RvdHlwZS13aWR0aDogJHByb3RvdHlwZS13aWR0aC11bml0bGVzcyAqIDFweDtcblxuXG4vKipcbiAqIENvbnRhaW5lciB3aWR0aCB3aXRob3V0IGdyaWQgb3V0ZXIgZ3V0dGVyIHdpZHRoXG4gKlxuICogV2lkdGgga2VlcCBmcm9tIHByb3RvdHlwZVxuICovXG4kY29udGFpbmVyLXdpZHRoLXdpdGhvdXQtb3V0ZXItZ3V0dGVyLXVuaXRsZXNzOiAxMTIwO1xuJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci13aWR0aC13aXRob3V0LW91dGVyLWd1dHRlci11bml0bGVzcyAqIDFweDtcblxuXG4vKipcbiAqIENvbnRhaW5lciBzaXplc1xuICpcbiAqIFNpemVzIGtlZXAgZnJvbSBwcm90b3R5cGUgKGdyaWQgKyBvdXRlciBndXR0ZXIgKiAyIClcbiAqL1xuJGNvbnRhaW5lci13aWR0aC11bml0bGVzczogJGNvbnRhaW5lci13aWR0aC13aXRob3V0LW91dGVyLWd1dHRlci11bml0bGVzcyArICggJGdyaWQtb3V0ZXItZ3V0dGVyLXdpZHRoLXVuaXRsZXNzICogMiApO1xuJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci13aWR0aC11bml0bGVzcyAqIDFweDtcblxuXG4vKipcbiAqIFByb3RvdHlwZSBoZWlnaHRcbiAqL1xuJHByb3RvdHlwZS1oZWlnaHQtdW5pdGxlc3M6IDc2ODtcbiRwcm90b3R5cGUtaGVpZ2h0OiAkcHJvdG90eXBlLWhlaWdodC11bml0bGVzcyAqIDFweDtcblxuXG4vKipcbiAqIFNwYWNlcnNcbiAqXG4gKiBVc2VmdWxsIGZvciBwYWRkaW5nIGFuZCBtYXJnaW4gdXRpbGl0aWVzIHJ5dGhtXG4gKi9cbiRzcGFjZXJzOiAoXG5cdDA6IDAsXG5cdDE6ICRncmlkLWd1dHRlci13aWR0aC11bml0bGVzcyAqIDAuMjUsXG5cdDI6ICRncmlkLWd1dHRlci13aWR0aC11bml0bGVzcyAqIDAuNSxcblx0MzogJGdyaWQtZ3V0dGVyLXdpZHRoLXVuaXRsZXNzLFxuXHQ0OiAkZ3JpZC1ndXR0ZXItd2lkdGgtdW5pdGxlc3MgKiAxLjUsXG5cdDU6ICRncmlkLWd1dHRlci13aWR0aC11bml0bGVzcyAqIDIsXG5cdDY6ICRncmlkLWd1dHRlci13aWR0aC11bml0bGVzcyAqIDMsXG5cdDc6ICRncmlkLWd1dHRlci13aWR0aC11bml0bGVzcyAqIDMuNSxcblx0ODogJGdyaWQtZ3V0dGVyLXdpZHRoLXVuaXRsZXNzICogNCxcblx0OTogJGdyaWQtZ3V0dGVyLXdpZHRoLXVuaXRsZXNzICogNC41LFxuXHQxMDogJGdyaWQtZ3V0dGVyLXdpZHRoLXVuaXRsZXNzICogNSxcbik7XG5cblxuLyoqXG4gKiBEaXJlY3Rvcmllc1xuICpcbiAqIEVhY2ggZGlyZWN0b3JpZXMgdXNlZCBpbiB0aGlzIHRoZW1lLlxuICpcbiAqIEB1c2VzIFx0bWFwLWdldCggJGRpcmVjdG9yaWVzLCAka2V5ICkgdG8gcmV0cmlldmUgZGlyZWN0b3J5IHZhbHVlXG4gKiBAdHlwZSBcdG1hcFxuICogQGF1dGhvciBcdErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Ny5mcj5cbiAqL1xuJGRpcmVjdG9yaWVzOiAoXG5cdGZvbnRzOiAnLi4vZm9udHMvJyxcblx0aW1nOiAnLi4vaW1nLycsXG5cdHN2ZzogJy4uL2ltZy9zdmcvJyxcblx0anBnOiAnLi4vaW1nL2pwZy8nLFxuXHRwbmc6ICcuLi9pbWcvcG5nLycsXG5cdGdpZjogJy4uL2ltZy9naWYvJyxcbik7XG5cblxuLyoqXG4gKlxuICovXG4kcGk6IDMuMTQxNTkyNjUzNTk7XG5cbi8qXG5WSU5DSSBDT0xPUlNcbj09PT09PT09PT09PVxuKi9cbi8qXG5WSU5DSSBCTFVFXG5Vc2UgZm9yIGJ1dHRvbnMgcm9sbG92ZXJcblI6IDAgOyBHOiA3MzsgQjogMTQ0XG4jMDA0OTkwXG4qL1xuJGNvbG9yX2JsdWU6ICMwMDQ5OTA7XG5cbi8qXG5WSU5DSSBMSUdIVCBCTFVFXG5Vc2UgZm9yIGxpbmtzIHJvbGxvdmVyXG5SOiAwIDsgRzogMTIwOyBCOiAyNDBcbiMwMDc4ZjBcbiovXG4kY29sb3JfYmx1ZV9saWdodDogIzAwNzhmMDtcblxuLypcblZJTkNJIFNLWSBCTFVFXG5Vc2UgZm9yIGJ1dHRvbnMgYW5kIGZsYXQgYmxvY1xuUjogMCA7IEc6IDk3OyBCOiAxOTRcbiMwMDYxYzJcbiovXG4kY29sb3JfYmx1ZV9za3k6ICMwMDYxYzI7XG5cbi8qXG5WSU5DSSBEQVJLIEJMVUVcblVzZSBmb3IgY3VycmVudCB0ZXh0XG5SOiAxNiA7IEc6IDMzOyBCOiA1OFxuIzEwMjEzYVxuKi9cbiRjb2xvcl9ibHVlX2Rhcms6ICMxMDIxM2E7XG5cbi8qXG5MSUdIVCBHUkVZXG5Vc2UgZm9yIGJhY2tncm91bmRcblI6IDI0OCA7IEc6IDI1MDsgQjogMjUwXG4jZjhmYWZhXG4qL1xuJGNvbG9yX2dyZXlfbGlnaHQ6ICNmOGZhZmE7XG5cbi8qXG5NRURJVU0gR1JFWVxuVXNlIGZvciBzZWNvbmRhcnkgdGV4dCBhbmQgaW5hY3RpdmUgaWNvbnMgb24gd2hpdGUgYmFja2dyb3VuZFxuUjogMTYxIDsgRzogMTY3OyBCOiAxNzJcbiNhMWE3YWNcbiovXG4kY29sb3JfZ3JheV9tZWRpdW06ICNhMWE3YWM7XG5cbi8qXG5EQVJLIEdSRVlcblVzZSBmb3Igc2Vjb25kYXJ5IHRleHQgYW5kIGluYWN0aXZlIGljb25zIG9uIGxpZ2h0IGdyZXkgYmFja2dyb3VuZFxuUjogMTEzIDsgRzogMTIxOyBCOiAxMjhcbiM3MTc5ODBcbiovXG4kY29sb3JfZ3JleV9kYXJrOiAjNzE3OTgwO1xuXG4vKlxuR1JFRU4gTUlOVFxuVXNlIGZvciBsYWJlbCBpbiBjYXJ0ZSBwcm9tb3Rpb25uZWxsZVxuUjogNTIgOyBHOiAxODY7IEI6IDEwOFxuIzM0QkE2Q1xuKi9cbiRjb2xvcl9ncmVlbl9taW50OiAjMzRCQTZDO1xuXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG4gICAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG1hcDtcbn1cbiIsIi8qKlxuICogTWFpblxuICovXG5AaW1wb3J0ICdiYXNlL2ZvbnRzJztcblxuXG4vLyBWZW5kb3JzXG5AaW1wb3J0ICd+cmVzcy9yZXNzJztcbkBpbXBvcnQgJ35mbGlja2l0eS9jc3MvZmxpY2tpdHknO1xuQGltcG9ydCAnfnRpcHB5LmpzL2Rpc3QvdGlwcHknO1xuXG5cbi8vIEZ1bmN0aW9uc1xuQGltcG9ydFxuJ35hcmNoaXRlY3R1cmUvc3JjL3N0eWxlc2hlZXRzL2Fic3RyYWN0cy9mdW5jdGlvbnMnO1xuXG4vLyBNaXhpbnMuXG5AaW1wb3J0XG4nfmFyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvYWJzdHJhY3RzL21peGlucy9hdXRvLWFscGhhJyxcbid+YXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvbWl4aW5zL2NyZWF0ZS1jbGFzcy1jb2xvcicsXG4nfmFyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvYWJzdHJhY3RzL21peGlucy9mb250Jyxcbid+YXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvbWl4aW5zL2xldHRlci1zcGFjaW5nJyxcbid+YXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvbWl4aW5zL21hcmdpbicsXG4nfmFyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvYWJzdHJhY3RzL21peGlucy9wYWRkaW5nJyxcbid+YXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvbWl4aW5zL3Bvc2l0aW9uJyxcbid+YXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvbWl4aW5zL3Bvd2VyJyxcbid+YXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvbWl4aW5zL3Jlc2V0LXBsYWNlaG9sZGVyJyxcbid+YXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvbWl4aW5zL3NpemUnO1xuXG5AaW1wb3J0XG4nfmFyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvYWJzdHJhY3RzL3BsYWNlaG9sZGVycycsXG4ndmVuZG9ycy9mbGlja2l0eScsXG4ndmVuZG9ycy90aXBweScsXG4nYWJzdHJhY3RzL2FuaW1hdGlvbnMnO1xuXG4vLyBCYXNlIHN0dWZmXG5AaW1wb3J0XG4nYmFzZS9iYXNlJyxcbidiYXNlL3R5cG9ncmFwaGllcyc7XG5cblxuLy8gTGF5b3V0XG5AaW1wb3J0XG4nbGF5b3V0L3NpdGUnLFxuJ2xheW91dC9oZWFkZXInLFxuJ2xheW91dC9mb290ZXInLFxuJ2xheW91dC9oZXJvJyxcbidsYXlvdXQvdGFza2JhcicsXG4nbGF5b3V0L2ltYWdlLWNhcHRpb24nLFxuJ2xheW91dC90YWJsZScsXG4nbGF5b3V0L2Jhbm5lcicsXG4nbGF5b3V0L3JpY2gtbGlzdCcsXG4nbGF5b3V0L2xpc3QnLFxuJ2xheW91dC92aWRlbycsXG4nbGF5b3V0L2luZm9ybWF0aW9uJyxcbidsYXlvdXQvc2VjdGlvbicsXG4nbGF5b3V0L21lbnUnLFxuJ2xheW91dC9kcm9wZG93bi1tZW51JyxcbidsYXlvdXQvdHV0b3JpYWxzLXZpZGVvcycsXG4nbGF5b3V0L2ZsaWdodC1kZXRhaWwnLFxuJ2xheW91dC9jb21wYW55JyxcbidsYXlvdXQvZ28tZnVydGhlcicsXG4nbGF5b3V0L3RyYXZlbC1kaWFyeScsXG4nbGF5b3V0L3ByZXBhcmUnLFxuJ2xheW91dC9vcmdhbml6ZScsXG4nbGF5b3V0L2FsZXJ0JyxcbidsYXlvdXQvbmF2aWdhdGlvbi1iYXInLFxuJ2xheW91dC9tZW51LWFjY291bnQnLFxuJ2xheW91dC9fc21hcnRfd2VsY29tZSc7XG5cbi8vIEJsb2Nrc1xuLy8gQGltcG9ydCAnYmxvY2tzLyc7XG5cblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydFxuJ2NvbXBvbmVudHMvbG9jYWwtdGFza3MnLFxuJ2NvbXBvbmVudHMvZ3VpZCcsXG4nY29tcG9uZW50cy9idXR0b24nLFxuJ2NvbXBvbmVudHMvYnJlYWRjcnVtYicsXG4nY29tcG9uZW50cy9zaGFyZXMnLFxuJ2NvbXBvbmVudHMvc2Nyb2xsLWJhY2stdG8tdG9wJyxcbidjb21wb25lbnRzL2xpbmsnLFxuJ2NvbXBvbmVudHMvcHVzaCcsXG4nY29tcG9uZW50cy9hY2NvcmRpb24nLFxuJ2NvbXBvbmVudHMvY2FyZC1pY29uJyxcbidjb21wb25lbnRzL2NhcmQtdmlkZW8nLFxuJ2NvbXBvbmVudHMvY2FyZC1kZXN0aW5hdGlvbicsXG4nY29tcG9uZW50cy9jYXJkLWZhdm9yaXRlJyxcbidjb21wb25lbnRzL2NhcmQtcGFya2luZycsXG4nY29tcG9uZW50cy9jYXJkLXNlbGVjdG9yJyxcbidjb21wb25lbnRzL2NhcmQtdXNlZnVsLWluZm9ybWF0aW9uJyxcbidjb21wb25lbnRzL2NhcmQtaW5mb3JtYXRpb24nLFxuJ2NvbXBvbmVudHMvY2FyZC1saXN0Jyxcbidjb21wb25lbnRzL2NhcmQtZGlzY292ZXJ5Jyxcbidjb21wb25lbnRzL2NhcmQnLFxuJ2NvbXBvbmVudHMvY2FyZC1wcm9tb3Rpb25uZWxsZScsXG4nY29tcG9uZW50cy9jYXJkLWluc3BpcmF0aW9uJyxcbidjb21wb25lbnRzL2Zvcm0nLFxuJ2NvbXBvbmVudHMvY2Fyb3VzZWwnLFxuJ2NvbXBvbmVudHMvcGxhbmUtdHJpcCcsXG4nY29tcG9uZW50cy9vcmRlcmVkLWxpc3QnLFxuJ2NvbXBvbmVudHMvd2lkZ2V0Jyxcbidjb21wb25lbnRzL3dpZGdldC1yZWFsLXRpbWUtZmxpZ2h0Jyxcbidjb21wb25lbnRzL3JlcG9ydGFnZScsXG4nY29tcG9uZW50cy9hZHZhbnRhZ2UnLFxuJ2NvbXBvbmVudHMvc2VsZWN0b3InLFxuJ2NvbXBvbmVudHMvY2FsZW5kYXInLFxuJ2NvbXBvbmVudHMvcGFnaW5hdGlvbicsXG4nY29tcG9uZW50cy9jaGVja2JveCcsXG4nY29tcG9uZW50cy9maWx0ZXJzJyxcbidjb21wb25lbnRzL2Zhdm9yaXRlcycsXG4nY29tcG9uZW50cy9wZXJpb2QnLFxuJ2NvbXBvbmVudHMvbGlzdC1idXR0b24nLFxuJ2NvbXBvbmVudHMvcmFuZ2UnLFxuJ2NvbXBvbmVudHMvYWN0dWFsaXR5Jyxcbidjb21wb25lbnRzL2Vuam95Jyxcbidjb21wb25lbnRzL3NsaWRlc2hvdycsXG4nY29tcG9uZW50cy90aGVtZScsXG4nY29tcG9uZW50cy9pbnN0YWdyYW0nLFxuJ2NvbXBvbmVudHMvbG9nbycsXG4nY29tcG9uZW50cy9zb2NpYWxzJyxcbidjb21wb25lbnRzL2xhbmd1YWdlLXNlbGVjdG9yJyxcbidjb21wb25lbnRzL3F1aWNrLXNlYXJjaCcsXG4nY29tcG9uZW50cy9mbGlnaHQtdHlwZScsXG4nY29tcG9uZW50cy9mbGlnaHQtdHlwZXMnLFxuJ2NvbXBvbmVudHMvZmxpZ2h0LXRpbWVzJyxcbidjb21wb25lbnRzL2ZsaWdodC1wbGFuJyxcbidjb21wb25lbnRzL2ZsaWdodC1zdGF0dXMnLFxuJ2NvbXBvbmVudHMvZmxpZ2h0Jyxcbidjb21wb25lbnRzL2ZsaWdodHMnLFxuJ2NvbXBvbmVudHMvY2FyZC1yZWFkbW9yZScsXG4nY29tcG9uZW50cy9zcGluLWJ1dHRvbicsXG4nY29tcG9uZW50cy9zZWxlY3QnLFxuJ2NvbXBvbmVudHMvZHJvcGRvd24nLFxuJ2NvbXBvbmVudHMvaW5wdXQtZGF0ZScsXG4nY29tcG9uZW50cy9pbnB1dC10aW1lJyxcbidjb21wb25lbnRzL2lucHV0Jyxcbidjb21wb25lbnRzL3NlYXJjaC1mb3JtJyxcbidjb21wb25lbnRzL3RleHRhcmVhJyxcbidjb21wb25lbnRzL3N3aXRjaCcsXG4nY29tcG9uZW50cy9iYWRnZScsXG4nY29tcG9uZW50cy93ZWJmb3JtJyxcbidjb21wb25lbnRzL2hvbWUtc2xpZGVyJyxcbidjb21wb25lbnRzL3Byb21vdGlvbmFsLWJhbm5lcic7XG5cblxuLy8gUGFnZXNcbkBpbXBvcnRcbidwYWdlcy80MDQnLFxuJ3BhZ2VzL2NhbGxpd2ViLWRlc3RpbmF0aW9ucycsXG4ncGFnZXMvZWRpdG9yaWFsJyxcbidwYWdlcy9mYXEtcGFnZScsXG4ncGFnZXMvcGFya2luZy1wYWdlJyxcbidwYWdlcy9kZXN0aW5hdGlvbicsXG4ncGFnZXMvbGlzdC1wYWdlJyxcbidwYWdlcy9ob21lLXBhZ2UnLFxuJ3BhZ2VzL3BhZ2UnLFxuJ3BhZ2VzL3JlYWwtdGltZS1mbGlnaHQtcGFnZSc7XG5cblxuLy8gVXRpbGl0aWVzLlxuQGltcG9ydFxuJ3ZlbmRvcnMvYXJjaGl0ZWN0dXJlLXZhcmlhYmxlcycsXG4nfmFyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvdXRpbGl0aWVzL2NvbG9ycycsXG4nfmFyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvdXRpbGl0aWVzL2N1cnNvcnMnLFxuJ35hcmNoaXRlY3R1cmUvc3JjL3N0eWxlc2hlZXRzL3V0aWxpdGllcy9mbG9hdHMnLFxuJ35hcmNoaXRlY3R1cmUvc3JjL3N0eWxlc2hlZXRzL3V0aWxpdGllcy9mb250cycsXG4nfmFyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvdXRpbGl0aWVzL21hcmdpbnMnLFxuJ35hcmNoaXRlY3R1cmUvc3JjL3N0eWxlc2hlZXRzL3V0aWxpdGllcy9vdmVyZmxvd3MnLFxuJ35hcmNoaXRlY3R1cmUvc3JjL3N0eWxlc2hlZXRzL3V0aWxpdGllcy9wYWRkaW5ncycsXG4nfmFyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvdXRpbGl0aWVzL3Bvc2l0aW9ucycsXG4nfmFyY2hpdGVjdHVyZS9zcmMvc3R5bGVzaGVldHMvdXRpbGl0aWVzL3NpemVzJyxcbid+YXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy91dGlsaXRpZXMvdGV4dC1hbGlnbnMnLFxuJ35hcmNoaXRlY3R1cmUvc3JjL3N0eWxlc2hlZXRzL3V0aWxpdGllcy90ZXh0LWRlY29yYXRpb25zJyxcbid+YXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy91dGlsaXRpZXMvdGV4dC10cmFuc2Zvcm1zJyxcbid+YXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy91dGlsaXRpZXMvdmVydGljYWwtYWxpZ25zJyxcbid+YXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy91dGlsaXRpZXMvd2hpdGUtc3BhY2VzJyxcbid+YXJjaGl0ZWN0dXJlL3NyYy9zdHlsZXNoZWV0cy91dGlsaXRpZXMvbGlzdHMnO1xuXG4vLyBDdXN0b20uXG5AaW1wb3J0XG4nY3VzdG9tL2RydXBhbC1tZXNzYWdlcycsXG4nY3VzdG9tL3RlbXBsYXRlcy1lZGl0bycsXG4nY3VzdG9tL2JvZHknLFxuJ2N1c3RvbS80MDQnLFxuJ2N1c3RvbS9mbGlnaHRzJyxcbidjdXN0b20vZGVzdGluYXRpb24tbGlzdCcsXG4nY3VzdG9tL3dpZGdldHMnLFxuJ2N1c3RvbS9jYXJkcycsXG4nY3VzdG9tL2ExMXknLFxuJ2N1c3RvbS9saXN0JyxcbidjdXN0b20vZ21hcCcsXG4nY3VzdG9tL21vYmlsZV9ob21lcGFnZScsXG4nY3VzdG9tL21vZGFsJztcblxuXG5AaW1wb3J0ICdhbmltYXRpb25zL2FuaW1hdGlvbnMnO1xuIiwiLy8gRXh0cmFsaWdodFxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdWaW5jaSBTYW5zJztcbiAgICBzcmM6IHVybCgnL3RoZW1lcy9hZGwvZm9udHMvdmluY2ktc2Fucy92aW5jaS1zYW5zLWV4dHJhLWxpZ2h0LmVvdCcpO1xuICAgIHNyYzogdXJsKCcvdGhlbWVzL2FkbC9mb250cy92aW5jaS1zYW5zL3ZpbmNpLXNhbnMtZXh0cmEtbGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnL3RoZW1lcy9hZGwvZm9udHMvdmluY2ktc2Fucy92aW5jaS1zYW5zLWV4dHJhLWxpZ2h0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJy90aGVtZXMvYWRsL2ZvbnRzL3ZpbmNpLXNhbnMvdmluY2ktc2Fucy1leHRyYS1saWdodC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vLyBNZWRpdW1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnVmluY2kgU2Fucyc7XG4gICAgc3JjOiB1cmwoJy90aGVtZXMvYWRsL2ZvbnRzL3ZpbmNpLXNhbnMvdmluY2ktc2Fucy1tZWRpdW0uZW90Jyk7XG4gICAgc3JjOiB1cmwoJy90aGVtZXMvYWRsL2ZvbnRzL3ZpbmNpLXNhbnMvdmluY2ktc2Fucy1tZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnL3RoZW1lcy9hZGwvZm9udHMvdmluY2ktc2Fucy92aW5jaS1zYW5zLW1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG5cdFx0dXJsKCcvdGhlbWVzL2FkbC9mb250cy92aW5jaS1zYW5zL3ZpbmNpLXNhbnMtbWVkaXVtLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbi8vIFJlZ3VsYXJcbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnVmluY2kgU2Fucyc7XG4gICAgc3JjOiB1cmwoJy90aGVtZXMvYWRsL2ZvbnRzL3ZpbmNpLXNhbnMvdmluY2ktc2Fucy1yZWd1bGFyLmVvdCcpO1xuICAgIHNyYzogdXJsKCcvdGhlbWVzL2FkbC9mb250cy92aW5jaS1zYW5zL3ZpbmNpLXNhbnMtcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcvdGhlbWVzL2FkbC9mb250cy92aW5jaS1zYW5zL3ZpbmNpLXNhbnMtcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG5cdFx0dXJsKCcvdGhlbWVzL2FkbC9mb250cy92aW5jaS1zYW5zL3ZpbmNpLXNhbnMtcmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vLyBMaWdodFxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdWaW5jaSBTYW5zJztcbiAgICBzcmM6IHVybCgnL3RoZW1lcy9hZGwvZm9udHMvdmluY2ktc2Fucy92aW5jaS1zYW5zLWxpZ2h0LmVvdCcpO1xuICAgIHNyYzogdXJsKCcvdGhlbWVzL2FkbC9mb250cy92aW5jaS1zYW5zL3ZpbmNpLXNhbnMtbGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnL3RoZW1lcy9hZGwvZm9udHMvdmluY2ktc2Fucy92aW5jaS1zYW5zLWxpZ2h0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJy90aGVtZXMvYWRsL2ZvbnRzL3ZpbmNpLXNhbnMvdmluY2ktc2Fucy1saWdodC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vLyBMaWdodCBpdGFsaWNcbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnVmluY2kgU2Fucyc7XG4gICAgc3JjOiB1cmwoJy90aGVtZXMvYWRsL2ZvbnRzL3ZpbmNpLXNhbnMvdmluY2ktc2Fucy1saWdodC1pdGFsaWMuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy90aGVtZXMvYWRsL2ZvbnRzL3ZpbmNpLXNhbnMvdmluY2ktc2Fucy1saWdodC1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnL3RoZW1lcy9hZGwvZm9udHMvdmluY2ktc2Fucy92aW5jaS1zYW5zLWxpZ2h0LWl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG5cdFx0dXJsKCcvdGhlbWVzL2FkbC9mb250cy92aW5jaS1zYW5zL3ZpbmNpLXNhbnMtbGlnaHQtaXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vIEJvbGQgaXRhbGljXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1ZpbmNpIFNhbnMnO1xuICAgIHNyYzogdXJsKCcvdGhlbWVzL2FkbC9mb250cy92aW5jaS1zYW5zL3ZpbmNpLXNhbnMtYm9sZC1pdGFsaWMuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy90aGVtZXMvYWRsL2ZvbnRzL3ZpbmNpLXNhbnMvdmluY2ktc2Fucy1ib2xkLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcvdGhlbWVzL2FkbC9mb250cy92aW5jaS1zYW5zL3ZpbmNpLXNhbnMtYm9sZC1pdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLFxuXHRcdHVybCgnL3RoZW1lcy9hZGwvZm9udHMvdmluY2ktc2Fucy92aW5jaS1zYW5zLWJvbGQtaXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vIEJvbGRcbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnVmluY2kgU2Fucyc7XG4gICAgc3JjOiB1cmwoJy90aGVtZXMvYWRsL2ZvbnRzL3ZpbmNpLXNhbnMvdmluY2ktc2Fucy1ib2xkLmVvdCcpO1xuICAgIHNyYzogdXJsKCcvdGhlbWVzL2FkbC9mb250cy92aW5jaS1zYW5zL3ZpbmNpLXNhbnMtYm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcvdGhlbWVzL2FkbC9mb250cy92aW5jaS1zYW5zL3ZpbmNpLXNhbnMtYm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG5cdFx0dXJsKCcvdGhlbWVzL2FkbC9mb250cy92aW5jaS1zYW5zL3ZpbmNpLXNhbnMtYm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vLyBSZWd1bGFyXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1NhdHVyZGF5IENoYW1wYWduZSc7XG4gICAgc3JjOiB1cmwoJy90aGVtZXMvYWRsL2ZvbnRzL3NhdHVyZGF5LWNoYW1wYWduZS9zYXR1cmRheS1jaGFtcGFnbmUtcmVndWxhci5lb3QnKTtcbiAgICBzcmM6IHVybCgnL3RoZW1lcy9hZGwvZm9udHMvc2F0dXJkYXktY2hhbXBhZ25lL3NhdHVyZGF5LWNoYW1wYWduZS1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy90aGVtZXMvYWRsL2ZvbnRzL3NhdHVyZGF5LWNoYW1wYWduZS9zYXR1cmRheS1jaGFtcGFnbmUtcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG5cdFx0dXJsKCcvdGhlbWVzL2FkbC9mb250cy9zYXR1cmRheS1jaGFtcGFnbmUvc2F0dXJkYXktY2hhbXBhZ25lLXJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuLy8gUmVndWxhclxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSZWVuaWUgQmVhbmllJztcbiAgICBzcmM6IHVybCgnL3RoZW1lcy9hZGwvZm9udHMvUmVlbmllX0JlYW5pZS9SZWVuaWVCZWFuaWUtUmVndWxhci5lb3QnKTtcbiAgICBzcmM6IHVybCgnL3RoZW1lcy9hZGwvZm9udHMvUmVlbmllX0JlYW5pZS9SZWVuaWVCZWFuaWUtUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcvdGhlbWVzL2FkbC9mb250cy9SZWVuaWVfQmVhbmllL1JlZW5pZUJlYW5pZS1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJy90aGVtZXMvYWRsL2ZvbnRzL1JlZW5pZV9CZWFuaWUvUmVlbmllQmVhbmllLVJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbiIsIi8qIVxuICogcmVzcy5jc3Mgw6LCgMKiIHYyLjAuMlxuICogTUlUIExpY2Vuc2VcbiAqIGdpdGh1Yi5jb20vZmlsaXBlbGluaGFyZXMvcmVzc1xuICovXG5cbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgR2xvYmFsIHNlbGVjdG9yc1xuICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUyAqL1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAtbW96LXRhYi1zaXplOiA0O1xuICB0YWItc2l6ZTogNDtcbn1cblxuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IC8qIFNldCBgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdGAgdG8gYWxsIGVsZW1lbnRzIGFuZCBwc2V1ZG8gZWxlbWVudHMgKi9cbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyAvKiBJbmhlcml0IHRleHQtZGVjb3JhdGlvbiBhbmQgdmVydGljYWwgYWxpZ24gdG8gOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgcHNldWRvIGVsZW1lbnRzICovXG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xufVxuXG4qIHtcbiAgcGFkZGluZzogMDsgLyogUmVzZXQgYHBhZGRpbmdgIGFuZCBgbWFyZ2luYCBvZiBhbGwgZWxlbWVudHMgKi9cbiAgbWFyZ2luOiAwO1xufVxuXG4vKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIEdlbmVyYWwgZWxlbWVudHNcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHIge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUgKi9cbiAgaGVpZ2h0OiAwOyAvKiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94ICovXG59XG5cbmRldGFpbHMsXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IC8qIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLiAqL1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMgKi9cbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgLyogU2V0IGZvbnQtc2l6ZSB0byA4MCUgaW4gYHNtYWxsYCBlbGVtZW50cyAqL1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFICovXG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1NyAqL1xuICAvKiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwICovXG59XG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IC8qIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIGhvdmVyaW5nIGluIGFsbCBicm93c2VycyAqL1xufVxuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogU3BlY2lmeSB0aGUgZm9udCBmYW1pbHkgb2YgY29kZSBlbGVtZW50cyAqL1xufVxuXG5wcmUge1xuICBmb250LXNpemU6IDFlbTsgLyogQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzICovXG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyAvKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpICovXG59XG5cbi8qIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3VucnV0aGxlc3MvNDEzOTMwICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIEZvcm1zXG4gICAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmlucHV0IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLyogUmVwbGFjZSBwb2ludGVyIGN1cnNvciBpbiBkaXNhYmxlZCBlbGVtZW50cyAqL1xuW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgLyogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lICovXG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4IC8qIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpICovXG59XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MgKi9cbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTErICovXG4gIHJlc2l6ZTogdmVydGljYWw7IC8qIFNwZWNpZnkgdGV4dGFyZWEgcmVzaXphYmlsaXR5ICovXG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8qIFNwZWNpZnkgZm9udCBpbmhlcml0YW5jZSBvZiBmb3JtIGVsZW1lbnRzICovXG59XG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IC8qIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlICovXG59XG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMSAqL1xufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLyogRmlyZWZveCA0MCssIEludGVybmV0IEV4cGxvcmVyIDExLSAqL1xufVxuXG4vKiBBcHBseSBjdXJzb3IgcG9pbnRlciB0byBidXR0b24gZWxlbWVudHMgKi9cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdLFxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKiBSZXBsYWNlIGZvY3VzIHN0eWxlIHJlbW92ZWQgaW4gdGhlIGJvcmRlciByZXNldCBhYm92ZSAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYGNvbnRyb2xzIGluIEFuZHJvaWQgNCAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TICovXG59XG5cbi8qIFJlbW92ZSB0aGUgZGVmYXVsdCBidXR0b24gc3R5bGluZyBpbiBhbGwgYnJvd3NlcnMgKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBTdHlsZSBzZWxlY3QgbGlrZSBhIHN0YW5kYXJkIGlucHV0ICovXG5zZWxlY3Qge1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8qIEZpcmVmb3ggMzYrICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLyogQ2hyb21lIDQxKyAqL1xufVxuXG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lOyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMSsgKi9cbn1cblxuc2VsZWN0OjotbXMtdmFsdWUge1xuICBjb2xvcjogY3VycmVudENvbG9yOyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMSsgKi9cbn1cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRSAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSAxOC0gYW5kIElFICovXG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAvKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udDogaW5oZXJpdDsgLyogQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gQ2hyb21lIGFuZCBTYWZhcmkgKi9cbn1cblxuLyogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIyBTcGVjaWZ5IG1lZGlhIGVsZW1lbnQgc3R5bGVcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMCAqL1xufVxuXG4vKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ZnOm5vdChbZmlsbF0pIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4vKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIEFjY2Vzc2liaWxpdHlcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogSGlkZSBjb250ZW50IGZyb20gc2NyZWVucyBidXQgbm90IHNjcmVlbnJlYWRlcnMgKi9cbkBtZWRpYSBzY3JlZW4ge1xuICBbaGlkZGVufj1cInNjcmVlblwiXSB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgfVxuICBbaGlkZGVufj1cInNjcmVlblwiXTpub3QoOmFjdGl2ZSk6bm90KDpmb2N1cyk6bm90KDp0YXJnZXQpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogU3BlY2lmeSB0aGUgcHJvZ3Jlc3MgY3Vyc29yIG9mIHVwZGF0aW5nIGVsZW1lbnRzICovXG5bYXJpYS1idXN5PVwidHJ1ZVwiXSB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7XG59XG5cbi8qIFNwZWNpZnkgdGhlIHBvaW50ZXIgY3Vyc29yIG9mIHRyaWdnZXIgZWxlbWVudHMgKi9cblthcmlhLWNvbnRyb2xzXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogU3BlY2lmeSB0aGUgdW5zdHlsZWQgY3Vyc29yIG9mIGRpc2FibGVkLCBub3QtZWRpdGFibGUsIG9yIG90aGVyd2lzZSBpbm9wZXJhYmxlIGVsZW1lbnRzICovXG5bYXJpYS1kaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4iLCIvKiEgRmxpY2tpdHkgdjIuMi4xXG5odHRwczovL2ZsaWNraXR5Lm1ldGFmaXp6eS5jb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZmxpY2tpdHktZW5hYmxlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi5mbGlja2l0eS12aWV3cG9ydCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZmxpY2tpdHktc2xpZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBkcmFnZ2FibGUgKi9cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIC5mbGlja2l0eS12aWV3cG9ydCB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIC5mbGlja2l0eS12aWV3cG9ydC5pcy1wb2ludGVyLWRvd24ge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi8qIC0tLS0gZmxpY2tpdHktYnV0dG9uIC0tLS0gKi9cblxuLmZsaWNraXR5LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogaHNsYSgwLCAwJSwgMTAwJSwgMC43NSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5mbGlja2l0eS1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmxpY2tpdHktYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgNXB4ICMxOUY7XG59XG5cbi5mbGlja2l0eS1idXR0b246YWN0aXZlIHtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4uZmxpY2tpdHktYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBjdXJzb3I6IGF1dG87XG4gIC8qIHByZXZlbnQgZGlzYWJsZWQgYnV0dG9uIGZyb20gY2FwdHVyaW5nIHBvaW50ZXIgdXAgZXZlbnQuICM3MTYgKi9cbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5mbGlja2l0eS1idXR0b24taWNvbiB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLyogLS0tLSBwcmV2aW91cy9uZXh0IGJ1dHRvbnMgLS0tLSAqL1xuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiB7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC8qIHZlcnRpY2FsbHkgY2VudGVyICovXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMgeyBsZWZ0OiAxMHB4OyB9XG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uZXh0IHsgcmlnaHQ6IDEwcHg7IH1cbi8qIHJpZ2h0IHRvIGxlZnQgKi9cbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTBweDtcbn1cbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMHB4O1xufVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiAuZmxpY2tpdHktYnV0dG9uLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDIwJTtcbiAgdG9wOiAyMCU7XG4gIHdpZHRoOiA2MCU7XG4gIGhlaWdodDogNjAlO1xufVxuXG4vKiAtLS0tIHBhZ2UgZG90cyAtLS0tICovXG5cbi5mbGlja2l0eS1wYWdlLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IC0yNXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXBhZ2UtZG90cyB7IGRpcmVjdGlvbjogcnRsOyB9XG5cbi5mbGlja2l0eS1wYWdlLWRvdHMgLmRvdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgbWFyZ2luOiAwIDhweDtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mbGlja2l0eS1wYWdlLWRvdHMgLmRvdC5pcy1zZWxlY3RlZCB7XG4gIG9wYWNpdHk6IDE7XG59XG4iLCIudGlwcHktYm94W2RhdGEtYW5pbWF0aW9uPWZhZGVdW2RhdGEtc3RhdGU9aGlkZGVuXXtvcGFjaXR5OjB9W2RhdGEtdGlwcHktcm9vdF17bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAxMHB4KX0udGlwcHktYm94e3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtY29sb3I6IzMzMztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNDtvdXRsaW5lOjA7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sdmlzaWJpbGl0eSxvcGFjaXR5fS50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePXRvcF0+LnRpcHB5LWFycm93e2JvdHRvbTowfS50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePXRvcF0+LnRpcHB5LWFycm93OmJlZm9yZXtib3R0b206LTdweDtsZWZ0OjA7Ym9yZGVyLXdpZHRoOjhweCA4cHggMDtib3JkZXItdG9wLWNvbG9yOmluaXRpYWw7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgdG9wfS50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePWJvdHRvbV0+LnRpcHB5LWFycm93e3RvcDowfS50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePWJvdHRvbV0+LnRpcHB5LWFycm93OmJlZm9yZXt0b3A6LTdweDtsZWZ0OjA7Ym9yZGVyLXdpZHRoOjAgOHB4IDhweDtib3JkZXItYm90dG9tLWNvbG9yOmluaXRpYWw7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tfS50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePWxlZnRdPi50aXBweS1hcnJvd3tyaWdodDowfS50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePWxlZnRdPi50aXBweS1hcnJvdzpiZWZvcmV7Ym9yZGVyLXdpZHRoOjhweCAwIDhweCA4cHg7Ym9yZGVyLWxlZnQtY29sb3I6aW5pdGlhbDtyaWdodDotN3B4O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGxlZnR9LnRpcHB5LWJveFtkYXRhLXBsYWNlbWVudF49cmlnaHRdPi50aXBweS1hcnJvd3tsZWZ0OjB9LnRpcHB5LWJveFtkYXRhLXBsYWNlbWVudF49cmlnaHRdPi50aXBweS1hcnJvdzpiZWZvcmV7bGVmdDotN3B4O2JvcmRlci13aWR0aDo4cHggOHB4IDhweCAwO2JvcmRlci1yaWdodC1jb2xvcjppbml0aWFsO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIHJpZ2h0fS50aXBweS1ib3hbZGF0YS1pbmVydGlhXVtkYXRhLXN0YXRlPXZpc2libGVde3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTQsMS41LC4zOCwxLjExKX0udGlwcHktYXJyb3d7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtjb2xvcjojMzMzfS50aXBweS1hcnJvdzpiZWZvcmV7Y29udGVudDpcIlwiO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9LnRpcHB5LWNvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzo1cHggOXB4O3otaW5kZXg6MX0iLCIvKipcbiAqIEdldCBjb2xvclxuICpcbiAqIFJldHJpZXZlIGNvbG9yIGZyb20gJGNvbG9yLXZhcmlhdGlvbnMgbWFwXG4gKlxuICogQGFjY2VzcyAgcHVibGljXG4gKiBAYXV0aG9yIErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Ny5mcj4gKGh0dHA6Ly8xOWg0Ny5mcilcbiAqL1xuQGZ1bmN0aW9uIGdldF90aGVfY29sb3IoICRrZXlzLi4uICkge1xuXG5cdCRtYXA6ICRjb2xvci12YXJpYXRpb25zO1xuXHQkY29sb3ItYmFzZTogbWFwLWdldCggJG1hcCwgbnRoKCAka2V5cywgMSApICk7XG5cdCRyZXN1bHQ6IG51bGw7XG5cblx0QGlmIGxlbmd0aCggJGtleXMgKSA9PSAxIHtcblx0XHQkcmVzdWx0OiAkY29sb3ItYmFzZTtcblx0fVxuXG5cdEBpZiBsZW5ndGgoICRrZXlzICkgPT0gMiB7XG5cdFx0JGNvbG9yLWtleTogbnRoKCAka2V5cywgMSApO1xuXHRcdCRjb2xvci12YWx1ZTogbnRoKCAka2V5cywgMiApO1xuXG5cdFx0JHJlc3VsdDogbWFwLWdldCggJGNvbG9yLWJhc2UsICRjb2xvci12YWx1ZSApO1xuXHR9XG5cblx0QGlmIGxlbmd0aCggJGtleXMgKSA+IDIge1xuXHRcdEB3YXJuICdgI3sgJGtleXMgfWAgaXMgZ3JlYXRlciB0aGFuIDIuJztcblx0fVxuXG5cdC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuXHRAcmV0dXJuICRyZXN1bHQ7XG59XG5cblxuLyoqXG4gKiBUaGUgY29sb3JcbiAqXG4gKiBAcGFyYW0gIGFyZ2xpc3QgICAgICAka2V5c1xuICogQHJldHVybiBmdW5jdGlvbiAgICAgZ2V0X3RoZV9jb2xvcigpXG4gKiBAYXV0aG9yIErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Ny5mcj4gKGh0dHA6Ly8xOWg0Ny5mcilcbiAqL1xuQGZ1bmN0aW9uIHRoZV9jb2xvciggJGtleXMuLi4gKSB7XG5cdEByZXR1cm4gZ2V0X3RoZV9jb2xvciggJGtleXMuLi4gKTtcbn1cblxuXG4vKipcbiAqIEdldCBjb2xvciBsaXN0XG4gKlxuICogQGFjY2VzcyAgcHVibGljXG4gKiBAcGFyYW0gICAkbGFiZWxcbiAqIEByZXR1cm4gICRsaXN0XG4gKiBAYXV0aG9yIErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Ny5mcj4gKGh0dHA6Ly8xOWg0Ny5mcilcbiAqL1xuQGZ1bmN0aW9uIGdldF9jb2xvcl9saXN0KCAkbGFiZWwgKSB7XG5cdEBlYWNoICRsaXN0IGluICRjb2xvci12YXJpYXRpb25zIHtcblx0XHRAaWYgbnRoKCAkbGlzdCwgMSApID09ICRsYWJlbCB7XG5cdFx0XHRAcmV0dXJuICRsaXN0O1xuXHRcdH1cblx0fVxuXG5cdC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuXHRAcmV0dXJuIG51bGw7XG59XG5cblxuLyoqXG4gKiBTbGlnaHRseSBsaWdodGVuIGEgY29sb3JcbiAqXG4gKiBAYWNjZXNzICBwdWJsaWNcbiAqIEBwYXJhbSAgIENvbG9yICAgJGNvbG9yICAgICAgICAgIGNvbG9yIHRvIHRpbnRcbiAqIEBwYXJhbSAgIE51bWJlciAgJHBlcmNlbnRhZ2UgICAgIHBlcmNlbnRhZ2Ugb2YgYCRjb2xvcmAgaW4gcmV0dXJuZWQgY29sb3JcbiAqIEBzZWUgICAgIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy90aW50LXNoYWRlLWZ1bmN0aW9ucy9cbiAqIEByZXR1cm4gIENvbG9yXG4gKi9cbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnRhZ2UgKSB7XG5cdEByZXR1cm4gbWl4KCB3aGl0ZSwgJGNvbG9yLCAkcGVyY2VudGFnZSApO1xufVxuXG5cbi8qKlxuICogU2xpZ2h0bHkgZGFya2VuIGEgY29sb3JcbiAqXG4gKiBAYWNjZXNzICBwdWJsaWNcbiAqIEBwYXJhbSAgIENvbG9yICAgJGNvbG9yICAgICAgICAgIGNvbG9yIHRvIHNoYWRlXG4gKiBAcGFyYW0gICBOdW1iZXIgICRwZXJjZW50YWdlICAgICBwZXJjZW50YWdlIG9mIGAkY29sb3JgIGluIHJldHVybmVkIGNvbG9yXG4gKiBAc2VlICAgICBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvdGludC1zaGFkZS1mdW5jdGlvbnMvXG4gKiBAcmV0dXJuICBDb2xvclxuICovXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudGFnZSApIHtcblx0QHJldHVybiBtaXgoIGJsYWNrLCAkY29sb3IsICRwZXJjZW50YWdlICk7XG59XG4iLCIvKipcbiAqIFNldCBvcGFjaXR5IGFuZCB2aXNpYmlsaXR5IHByb3BlcnRpZXMgaW4gb25lIHRpbWUsIGxpa2UgR1NBUC5cbiAqXG4gKiBAcGFyYW0gJHZhbHVlIDB8MVxuICogQGF1dGhvciBKdWxpZW4gVmFzc2V1ciA8anVsaWVuQHBvaWduZWVkZW1haW52aXJpbGUuY29tPlxuICovXG5AbWl4aW4gYXV0b0FscGhhKCAkdmFsdWUgKSB7XG5cdEBpZiAkdmFsdWUgPT0gMCB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdH0gXG5cblx0QGVsc2UgaWYgJHZhbHVlID09IDEge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxufVxuIiwiLyoqXG4gKiBDcmVhdGUgc29tZSBjbGFzc2VzIGZyb20gJGNvbG9yLXZhcmlhdGlvbnMgbWFwXG4gKlxuICogQHBhcmFtICRwcm9wZXJ0aWVzICAgbGlzdCBvZiBwcm9wZXJ0aWVzICggbmFtZSBvZiBjbGFzcywgcHJvcGVydHkgKVxuICogQHVzZXMgIEBpbmNsdWRlICAgICAgY3JlYXRlX2NsYXNzZXNfY29sb3IoICRwcm9wZXJ0eTEgJyQuY2xhc3NOYW1lJywgJHByb3BlcnR5MiAnJC5jbGFzc05hbWUyJyApXG4gKi9cbkBtaXhpbiBjcmVhdGVfY2xhc3Nlc19jb2xvciggJHByb3BlcnRpZXMuLi4gKSB7XG5cdEBlYWNoICRrZXksICR2YWx1ZSBpbiAkY29sb3ItdmFyaWF0aW9ucyB7XG5cblx0XHQvLyBtYXBzIHJlcXVpcmUgYSBzZWNvbmQgbG9vcFxuXHRcdEBpZiB0eXBlLW9mKCAkdmFsdWUgKSA9PSAnbWFwJyB7XG5cdFx0XHRAZWFjaCAkc3VibmFtZSwgJHN1YnZhbHVlIGluICR2YWx1ZSB7XG5cdFx0XHRcdEBlYWNoICRwcm9wZXJ0eS1rZXksICRwcm9wZXJ0eS12YWx1ZSBpbiAkcHJvcGVydGllcyB7XG5cdFx0XHRcdFx0Ly8gZWFjaCBpdGVtIGluIHN1YiBtYXBcblx0XHRcdFx0XHQjeyB1bnF1b3RlKCAkcHJvcGVydHktdmFsdWUgKSB9LSN7ICRrZXkgfS0jeyAkc3VibmFtZSB9IHtcblx0XHRcdFx0XHRcdCN7ICRwcm9wZXJ0eS1rZXkgfTogJHN1YnZhbHVlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXG5cdFx0QGVsc2Uge1xuXHRcdFx0QGVhY2ggJHByb3BlcnR5LWtleSwgJHByb3BlcnR5LXZhbHVlIGluICRwcm9wZXJ0aWVzIHtcblxuXHRcdFx0XHQjeyB1bnF1b3RlKCAkcHJvcGVydHktdmFsdWUgKSB9LSN7ICRrZXkgfSB7XG5cdFx0XHRcdFx0I3sgJHByb3BlcnR5LWtleSB9OiAkdmFsdWU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogRm9udCBtaXhpblxuICpcbiAqIEBwYXJhbSAgIGludCAgICAgJGZvbnQtc2l6ZSAgICAgIFVuaXRsZXNzIGZvbnQgc2l6ZSAgKG1vc3RseSBmcm9tIC5wc2QpXG4gKiBAcGFyYW0gICBpbnQgICAgICRsaW5lLWhlaWdodCBVbml0bGVzcyBsaW5lIGhlaWdodCAgIChtb3N0bHkgZnJvbSAucHNkKVxuICogQGF1dGhvciBcdErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Nz4gKGh0dHA6Ly8xOWg0Ny5mcilcbiAqL1xuQG1peGluIGZvbnQoICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGxldHRlci1zcGFjaW5nOiAnJyApIHtcblx0QGlmICRsZXR0ZXItc3BhY2luZyAhPSAnJyB7XG5cdFx0QGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoICRsZXR0ZXItc3BhY2luZyApO1xuXHR9XG5cblx0Zm9udDoge1xuXHRcdHNpemU6ICRmb250LXNpemUgKiAxcHg7XG5cdH1cblxuXHQvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCAvICRmb250LXNpemU7XG59XG4iLCIvKipcbiAqIFNldCBsZXR0ZXItc3BhY2luZyB3aXRoIHVuaXRsZXNzIHZhbHVlIGZyb20gUGhvdG9zaG9wLlxuICpcbiAqIEBwYXJhbSAgIHtOdW1iZXJ9ICAgICAkdmFsdWVcbiAqIEB1c2VzICAgIGxldHRlci1zcGFjaW5nKDQ4KVxuICogQHNlZSBcdGh0dHA6Ly9zYXNzLWxhbmcuY29tL2RvY3VtZW50YXRpb24vZmlsZS5TQVNTX1JFRkVSRU5DRS5odG1sI2lmXG4gKi9cbkBtaXhpbiBsZXR0ZXItc3BhY2luZyAoICR2YWx1ZSApIHtcblx0Ly8gaWYgdmFsdWUgaXMgdW5pdGxlc3MsIGRpdmlkZWQgaXQgYnkgMTAwMCBhbmQgc2V0IHVuaXQgYXMgZW0gdG8gZ2V0XG5cdC8vIFBob3Rvc2hvcCBlcXVpdmFsZW50XG5cdC8vIFRlcm5hcnlcblx0bGV0dGVyLXNwYWNpbmc6IGlmKCB1bml0bGVzcyggJHZhbHVlICksICggJHZhbHVlIC8gMTAwMCAqIDFlbSApLCAkdmFsdWUgKTtcbn1cbiIsIi8qKlxuICogTWFyZ2luXG4gKlxuICogQGF1dGhvciBKw4PCqXLDg8KpbXkgTGV2cm9uIDxqZXJlbXlsZXZyb25AMTloNDcuZnI+XG4gKi9cbkBtaXhpbiBtYXJnaW4oICRhcmdzOiAoKSApIHtcblx0JG9mZnNldHM6IHRvcCByaWdodCBib3R0b20gbGVmdDtcblxuXHRAZWFjaCAkb2Zmc2V0IGluICRvZmZzZXRzIHtcblxuXHRcdC8vIERvaW5nIHRoZSBtYWdpYyB0cmlja1xuXHRcdC8vIEFsbCB0aGlzIGNvZGUgaGFwcGVucyBpbnNpZGUgdGhlIGxvb3Bcblx0XHQkaW5kZXg6IGluZGV4KCAkYXJncywgJG9mZnNldCApO1xuXG5cdFx0Ly8gSWYgb2Zmc2V0IGlzIGZvdW5kIGluIHRoZSBsaXN0XG5cdFx0QGlmICRpbmRleCB7XG5cblx0XHRcdC8vIElmIGl0IGlzIGZvdW5kIGF0IGxhc3QgcG9zaXRpb25cblx0XHRcdEBpZiAkaW5kZXggPT0gbGVuZ3RoKCAkYXJncyApIHtcblxuXHRcdFx0XHRtYXJnaW4tI3skb2Zmc2V0fTogMDtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSWYgaXQgaXMgZm9sbG93ZWQgYnkgYSB2YWx1ZVxuXHRcdFx0QGVsc2Uge1xuXG5cdFx0XHRcdCRuZXh0OiBudGgoICRhcmdzLCAkaW5kZXggKyAxICk7XG5cblx0XHRcdFx0Ly8gSWYgdGhlIG5leHQgdmFsdWUgaXMgdmFsdWUgbGVuZ3RoXG5cdFx0XHRcdEBpZiBpcy12YWxpZC1sZW5ndGgoICRuZXh0ICkge1xuXHRcdFx0XHRcdG1hcmdpbi0jeyRvZmZzZXR9OiAkbmV4dDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIElmIHRoZSBuZXh0IHZhbHVlIGlzIGFub3RoZXIgb2Zmc2V0XG5cdFx0XHRcdEBlbHNlIGlmIGluZGV4KCAkb2Zmc2V0cywgJG5leHQgKSB7XG5cdFx0XHRcdFx0bWFyZ2luLSN7JG9mZnNldH06IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBJZiBpdCBpcyBpbnZhbGlkXG5cdFx0XHRcdEBlbHNlIHtcblx0XHRcdFx0XHRAd2FybiAnSW52YWxpZCB2YWx1ZSBgI3skbmV4dH1gIGZvciBvZmZzZXQgYG1hcmdpbi0jeyRvZmZzZXR9YC4nO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFBhZGRpbmdcbiAqXG4gKiBAYXV0aG9yIErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Ny5mcj5cbiAqL1xuQG1peGluIHBhZGRpbmcoICRhcmdzOiAoKSApIHtcblx0JG9mZnNldHM6IHRvcCByaWdodCBib3R0b20gbGVmdDtcblxuXHRAZWFjaCAkb2Zmc2V0IGluICRvZmZzZXRzIHtcblxuXHRcdC8vIERvaW5nIHRoZSBtYWdpYyB0cmlja1xuXHRcdC8vIEFsbCB0aGlzIGNvZGUgaGFwcGVucyBpbnNpZGUgdGhlIGxvb3Bcblx0XHQkaW5kZXg6IGluZGV4KCAkYXJncywgJG9mZnNldCApO1xuXG5cdFx0Ly8gSWYgb2Zmc2V0IGlzIGZvdW5kIGluIHRoZSBsaXN0XG5cdFx0QGlmICRpbmRleCB7XG5cblx0XHRcdC8vIElmIGl0IGlzIGZvdW5kIGF0IGxhc3QgcG9zaXRpb25cblx0XHRcdEBpZiAkaW5kZXggPT0gbGVuZ3RoKCAkYXJncyApIHtcblxuXHRcdFx0XHRwYWRkaW5nLSN7JG9mZnNldH06IDA7XG5cdFx0XHR9XG5cblx0XHRcdC8vIElmIGl0IGlzIGZvbGxvd2VkIGJ5IGEgdmFsdWVcblx0XHRcdEBlbHNlIHtcblxuXHRcdFx0XHQkbmV4dDogbnRoKCAkYXJncywgJGluZGV4ICsgMSApO1xuXG5cdFx0XHRcdC8vIElmIHRoZSBuZXh0IHZhbHVlIGlzIHZhbHVlIGxlbmd0aFxuXHRcdFx0XHRAaWYgaXMtdmFsaWQtbGVuZ3RoKCAkbmV4dCApIHtcblx0XHRcdFx0XHRwYWRkaW5nLSN7JG9mZnNldH06ICRuZXh0O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gSWYgdGhlIG5leHQgdmFsdWUgaXMgYW5vdGhlciBvZmZzZXRcblx0XHRcdFx0QGVsc2UgaWYgaW5kZXgoICRvZmZzZXRzLCAkbmV4dCApIHtcblx0XHRcdFx0XHRwYWRkaW5nLSN7JG9mZnNldH06IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBJZiBpdCBpcyBpbnZhbGlkXG5cdFx0XHRcdEBlbHNlIHtcblx0XHRcdFx0XHRAd2FybiAnSW52YWxpZCB2YWx1ZSBgI3skbmV4dH1gIGZvciBvZmZzZXQgYHBhZGRpbmctI3skb2Zmc2V0fWAuJztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBQb3NpdGlvblxuICogXG4gKiBAc2VlIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDUvMTkvbmV3LW9mZnNldHMtc2Fzcy1taXhpbi9cbiAqL1xuQG1peGluIHBvc2l0aW9uKCAkcG9zaXRpb24sICRhcmdzOiAoKSApIHtcblxuXHQkb2Zmc2V0czogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0O1xuXHRwb3NpdGlvbjogJHBvc2l0aW9uO1xuICBcblx0QGVhY2ggJG9mZnNldCBpbiAkb2Zmc2V0cyB7XG5cdFx0Ly8gRG9pbmcgdGhlIG1hZ2ljIHRyaWNrXG5cdFx0Ly8gQWxsIHRoaXMgY29kZSBoYXBwZW5zIGluc2lkZSB0aGUgbG9vcFxuXHRcdCRpbmRleDogaW5kZXgoICRhcmdzLCAkb2Zmc2V0ICk7XG5cblx0XHQvLyBJZiBvZmZzZXQgaXMgZm91bmQgaW4gdGhlIGxpc3Rcblx0XHRAaWYgJGluZGV4IHtcblxuXHRcdFx0Ly8gSWYgaXQgaXMgZm91bmQgYXQgbGFzdCBwb3NpdGlvblxuXHRcdFx0QGlmICRpbmRleCA9PSBsZW5ndGgoICRhcmdzICkge1xuXHRcdFx0XHQjeyAkb2Zmc2V0IH06IDA7XG5cdFx0XHR9XG5cblx0XHRcdC8vIElmIGl0IGlzIGZvbGxvd2VkIGJ5IGEgdmFsdWVcblx0XHRcdEBlbHNlIHtcblx0XHRcdFx0JG5leHQ6IG50aCggJGFyZ3MsICRpbmRleCArIDEgKTtcblxuXHRcdFx0XHQvLyBJZiB0aGUgbmV4dCB2YWx1ZSBpcyB2YWx1ZSBsZW5ndGhcblx0XHRcdFx0QGlmIGlzLXZhbGlkLWxlbmd0aCggJG5leHQgKSB7XG5cdFx0XHRcdFx0I3sgJG9mZnNldCB9OiAkbmV4dDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIElmIHRoZSBuZXh0IHZhbHVlIGlzIGFub3RoZXIgb2Zmc2V0XG5cdFx0XHRcdEBlbHNlIGlmIGluZGV4KCAkb2Zmc2V0cywgJG5leHQgKSB7XG5cdFx0XHRcdFx0I3sgJG9mZnNldCB9OiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gSWYgaXQgaXMgaW52YWxpZFxuXHRcdFx0XHRAZWxzZSB7XG5cdFx0XHRcdFx0QHdhcm4gJ0ludmFsaWQgdmFsdWUgYCN7ICRuZXh0IH1gIGZvciBvZmZzZXQgYCN7ICRvZmZzZXQgfWAuJztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gYWJzb2x1dGUoICRhcmdzOiAoKSApIHtcblx0QGluY2x1ZGUgcG9zaXRpb24oIGFic29sdXRlLCAkYXJncyApO1xufVxuIFxuQG1peGluIGZpeGVkKCAkYXJnczogKCkgKSB7XG5cdEBpbmNsdWRlIHBvc2l0aW9uKCBmaXhlZCwgJGFyZ3MgKTtcbn1cbiBcbkBtaXhpbiByZWxhdGl2ZSggJGFyZ3M6ICgpICkge1xuXHRAaW5jbHVkZSBwb3NpdGlvbiggcmVsYXRpdmUsICRhcmdzICk7XG59XG4iLCIvKipcbiAqIFBvd2VyXG4gKlxuICogQHBhcmFtICBpbnQgJG51bWJlclxuICogQHBhcmFtICBpbnQgJGV4cG9uZW50XG4gKiBAcmV0dXJuICR2YWx1ZVxuICovXG5AZnVuY3Rpb24gcG93ZXIoICRudW1iZXIsICRleHBvbmVudCApIHtcblx0JHZhbHVlOiAxO1xuXG5cdEBpZiAkZXhwb25lbnQgPiAwIHtcblx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoICRleHBvbmVudCB7XG5cdFx0XHQkdmFsdWU6ICR2YWx1ZSAqICRudW1iZXI7XG5cdFx0fVxuXHR9XG5cblx0Lyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG5cdEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLyoqXG4gKiBSZXNldCBwbGFjZWhvbGRlclxuICpcbiAqIENoYW5nZSB0aGUgZGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBwbGFjZWhvbGRlcnMuXG4gKiBAY29sb3IgdmFsaWQgY29sb3JcbiAqL1xuQG1peGluIHJlc2V0LXBsYWNlaG9sZGVyKCAkY29sb3I6ICNjY2MsICRwb2x5ZmlsbDogZmFsc2UgKSB7XG5cdEBpZiAkcG9seWZpbGwge1xuXG5cdFx0LnBsYWNlaG9sZGVyIHtcblx0XHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0fVxuXHR9XG5cblx0Jjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0fVxuXG5cdCY6Oi1tb3otcGxhY2Vob2xkZXIge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdCY6LW1vei1wbGFjZWhvbGRlciB7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0JjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cblxuXHQmOjpwbGFjZWhvbGRlciB7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0fVxufVxuIiwiLyoqXG4gKiBNaXhpbiBoZWxwaW5nIGRlZmluaW5nIGJvdGggYHdpZHRoYCBhbmQgYGhlaWdodGAgc2ltdWx0YW5lb3VzbHkuXG4gKlxuICogQGFjY2VzcyBwdWJsaWNcbiAqIEBwYXJhbSAgIHtMZW5ndGh9ICAgICR3aWR0aCAtIEVsZW1lbnTDosKAwplzIGB3aWR0aGBcbiAqIEBwYXJhbSAgIHtMZW5ndGh9ICAgICRoZWlnaHQgWyR3aWR0aF0gLSBFbGVtZW50w6LCgMKZcyBgaGVpZ2h0YFxuICogQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4gKi9cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG5cdGhlaWdodDogJGhlaWdodDtcblx0d2lkdGg6ICR3aWR0aDtcbn1cbiIsIi8qKlxuICogUGxhY2Vob2xkZXIgcG9zaXRpb25cbiAqXG4gKiBAdXNlcyAgICBAZXh0ZW5kICVQb3NpdGlvbi17JHByb3BlcnR5fVxuICogQGF1dGhvciAgSsODwqlyw4PCqW15IExldnJvbiA8amVyZW15bGV2cm9uQDE5aDQ3LmZyPiAoaHR0cDovLzE5aDQ3LmZyKVxuICovXG4lUG9zaXRpb24ge1xuXHQvKipcblx0ICogQWJzb2x1dGVcblx0ICpcblx0ICogU2V0IGVsZW1lbnQgdG8gcG9zaXRpb24gYWJzb2x1dGUsIHRvcCAwLCByaWdodCAwLCBib3R0b20gMCwgbGVmdCAwXG5cdCAqXG5cdCAqIEB1c2VzIEBleHRlbmQgJVBvc2l0aW9uLWFic29sdXRlLWNlbnRlclxuXHQgKi9cblx0Ji1hYnNvbHV0ZS1jZW50ZXIge1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXHR9XG5cblxuXG5cdC8qKlxuXHQgKiBGaXhlZFxuXHQgKlxuXHQgKiBTZXQgZWxlbWVudCB0byBwb3NpdGlvbiBmaXhlZCwgdG9wIDAsIHJpZ2h0IDAsIGJvdHRvbSAwLCBsZWZ0IDBcblx0ICpcblx0ICogQHVzZXMgQGV4dGVuZCAlUG9zaXRpb24tZml4ZWQtY2VudGVyXG5cdCAqL1xuXHQmLWZpeGVkLWNlbnRlciB7XG5cdFx0QGluY2x1ZGUgZml4ZWQoIHRvcCAwIHJpZ2h0IDAgYm90dG9tIDAgbGVmdCAwICk7XG5cdH1cbn1cblxuXG4vKipcbiAqIFBsYWNlaG9sZGVyIHBvaW50ZXIgZXZlbnRzXG4gKlxuICogQHVzZXMgICAgQGV4dGVuZCAlUG9pbnRlci1ldmVudHMteyAkcHJvcGVydHkgfVxuICogQGF1dGhvciAgSsODwqlyw4PCqW15IExldnJvbiA8amVyZW15bGV2cm9uQDE5aDQ3LmZyPiAoaHR0cDovLzE5aDQ3LmZyKVxuICovXG4kcG9pbnRlci1ldmVudHMtdmFsdWVzOiBub25lIGF1dG87XG5cbkBlYWNoICR2YWx1ZSBpbiAkcG9pbnRlci1ldmVudHMtdmFsdWVzIHtcblxuXHQlUG9pbnRlci1ldmVudHMge1xuXHRcdC8qKlxuXHRcdCAqIFBvaW50ZXIgZXZlbnRzICN7ICR2YWx1ZSB9XG5cdFx0ICpcblx0XHQgKiBAdXNlcyAlUG9pbnRlci1ldmVudHMtI3sgJHZhbHVlIH1cblx0XHQgKi9cblx0XHQmLSN7ICR2YWx1ZSB9IHtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiAjeyAkdmFsdWUgfTtcblx0XHR9XG5cdH1cblxuXHQuUG9pbnRlci1ldmVudHMtI3sgJHZhbHVlIH0ge1xuXHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLSN7ICR2YWx1ZSB9O1xuXHR9XG59XG5cblxuLyoqXG4gKiBQbGFjZWhvbGRlciBjdXJzb3JcbiAqXG4gKiBAYXV0aG9yICBKw4PCqXLDg8KpbXkgTGV2cm9uIDxqZXJlbXlsZXZyb25AMTloNDcuZnI+IChodHRwOi8vMTloNDcuZnIpXG4gKi9cbiRjdXJzb3ItdmFsdWVzOiBhdXRvIHBvaW50ZXIgZ3JhYiBncmFiYmluZztcblxuQGVhY2ggJHZhbHVlIGluICRjdXJzb3ItdmFsdWVzIHtcblxuXHQlQ3Vyc29yLSN7ICR2YWx1ZSB9IHtcblx0XHRjdXJzb3I6ICN7ICR2YWx1ZSB9O1xuXHR9XG5cblx0LkN1cnNvci0jeyAkdmFsdWUgfSB7XG5cdFx0QGV4dGVuZCAlQ3Vyc29yLSN7ICR2YWx1ZSB9O1xuXHR9XG59XG4iLCIvKipcbiAqIEZsaWNraXR5XG4gKlxuICpcbiAqL1xuJWZsaWNraXR5LXBhZ2UtZG90cyB7XG5cdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1jZW50ZXI7XG5cdEBleHRlbmQgJW1hcmdpbi10b3AtMywgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXG5cdGJvdHRvbTogYXV0bztcblxuXHQuZG90IHtcblx0XHRAaW5jbHVkZSBzaXplKCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICk7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCA3LjVweCBsZWZ0IDcuNXB4ICk7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3BhY2l0eTogMC4yO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRncmlkLWd1dHRlci13aWR0aCAvIDQ7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLWluLW91dCApO1xuXG5cdFx0Ji5pcy1zZWxlY3RlZCB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBsZWZ0IDAgKTtcblx0XHR9XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAwICk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFRpcHB5XG4gKlxuICogQHBhY2thZ2UgYWRsXG4gKi9cbi50aXBweS1ib3hbZGF0YS10aGVtZX49XCJhZGxcIl0ge1xuXHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMzBweCByaWdodCAzMHB4IGJvdHRvbSAzMHB4IGxlZnQgMzBweCApO1xuXHR3aWR0aDogMjY1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDBweCAycHggMnB4IDJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRib3gtc2hhZG93OiAwcHggNXB4IDE1cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjMpO1xuXG5cdGZvbnQtc2l6ZTogMTZweDtcblx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApO1xuXG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG5cdGEge1xuXHRcdGNvbG9yOiAjMDA2MWMyO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogIzAwNzhmMDtcblx0XHR9XG5cdH1cblxuXHQudGlwcHktY29udGVudCB7XG5cdFx0QGV4dGVuZCAlcGFkZGluZy0wO1xuXG5cdFx0PiAqOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgKTtcblx0XHR9XG5cblx0XHQ+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0fVxuXHR9XG5cblx0JltkYXRhLXBsYWNlbWVudF49J3RvcCddIC50aXBweS1hcnJvdzo6YmVmb3JlIHtcblx0XHRib3JkZXItdG9wLWNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdH1cblx0JltkYXRhLXBsYWNlbWVudF49J2JvdHRvbSddIC50aXBweS1hcnJvdzo6YmVmb3JlIHtcblx0XHRib3JkZXItYm90dG9tLWNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdH1cblx0JltkYXRhLXBsYWNlbWVudF49J2xlZnQnXSAudGlwcHktYXJyb3c6OmJlZm9yZSB7XG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0fVxuXHQmW2RhdGEtcGxhY2VtZW50Xj0ncmlnaHQnXSAudGlwcHktYXJyb3c6OmJlZm9yZSB7XG5cdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdH1cbn1cbiIsIkBrZXlmcmFtZXMgZm9jdXMtd2hpdGUge1xuXG5cdDAlIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoIHRoZV9jb2xvciggd2hpdGUgKSwgKCAkYmFzZS1saW5lLWhlaWdodCAqIDMgKSAvIDEwMCApO1xuXHR9XG5cblx0NzAlIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoIHRoZV9jb2xvciggd2hpdGUgKSwgMCk7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoIHRoZV9jb2xvciggd2hpdGUgKSwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmb2N1cy1ibGFjayB7XG5cblx0MCUge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAoICRiYXNlLWxpbmUtaGVpZ2h0ICogMyApIC8gMTAwICk7XG5cdH1cblxuXHQ3MCUge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwKTtcblx0fVxuXG5cdDEwMCUge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwKTtcblx0fVxufVxuIiwiLyoqXG4gKiBCYXNlXG4gKi9cbjpyb290IHt9XG5cbmh0bWwge1xuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcblx0fVxufVxuXG5ib2R5IHtcblx0QGV4dGVuZCAlZm9udC13ZWlnaHQtcmVndWxhciwgJWZvbnQtZmFtaWx5LWJvZHk7XG5cblx0Zm9udC1zaXplOiAxNnB4O1xuXHRsaW5lLWhlaWdodDogMjZweDtcblx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICk7XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblxuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblxuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAjeyAkYmFzZS1saW5lLWhlaWdodCB9cHg7XG5cdH1cbn1cblxuYSxcbmJ1dHRvbiB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuYSB7XG5cdGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxucCB7XG5cdEBpbmNsdWRlIG1hcmdpbiAoXG5cdFx0dG9wIDBcblx0XHRib3R0b20gJGdyaWQtZ3V0dGVyLXdpZHRoXG5cdCk7XG59XG5cbnN0cm9uZyB7XG5cdEBleHRlbmQgJWZvbnQtd2VpZ2h0LWJvbGQ7XG59XG5cbiNtaW5kc2F5LXdpZGdldC1hcHB7XG4gIHotaW5kZXg6IDEwMDAhaW1wb3J0YW50O1xufVxuXG4uc2VjdGlvbi1ibG9ja3N7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5TaXRlLWZvb3Rlcl9fc29jaWFsc3tcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiIsIi8qKlxuICogQmFzaWMgdHlwb2dyYXBoeSBzdHlsZSBmb3IgY29weSB0ZXh0XG4gKi9cblxuLy8gQGluY2x1ZGUgcmVzZXQtc2VsZWN0aW9uKCBnZXRfY29sb3IoIGJsYWNrICksIGdldF9jb2xvciggd2hpdGUgKSApO1xuXG5oMSxcbi5oMSB7XG5cdEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bTtcblxuXHRAaW5jbHVkZSBtYXJnaW4oXG5cdFx0dG9wICRncmlkLWd1dHRlci13aWR0aFxuXHRcdGJvdHRvbSAkZ3JpZC1ndXR0ZXItd2lkdGggKiAyXG5cdCk7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0Zm9udC1zaXplOiA2OHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAjeyAkYmFzZS1saW5lLWhlaWdodCAqIDIgfXB4O1xuXHR9XG59XG5cbmgyLFxuLmgyIHtcblx0QGV4dGVuZCAlZm9udC13ZWlnaHQtbWVkaXVtO1xuXG5cdGZvbnQtc2l6ZTogMzBweDtcblx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cblx0QGluY2x1ZGUgbWFyZ2luKFxuXHRcdHRvcCAkZ3JpZC1ndXR0ZXItd2lkdGhcblx0XHRib3R0b20gJGdyaWQtZ3V0dGVyLXdpZHRoXG5cdCk7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0Zm9udC1zaXplOiA0MHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiA0MHB4O1xuXHR9XG59XG5cbmgzLFxuLmgzIHtcblx0QGV4dGVuZCAlZm9udC13ZWlnaHQtbWVkaXVtO1xuXG5cdGZvbnQtc2l6ZTogMzBweDtcblx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cblxuXHRAaW5jbHVkZSBtYXJnaW4oXG5cdFx0dG9wICRncmlkLWd1dHRlci13aWR0aCAqIDJcblx0XHRib3R0b20gMFxuXHQpO1xufVxuXG5oNCxcbi5oNCB7XG5cdGZvbnQtc2l6ZTogMjRweDtcblx0bGluZS1oZWlnaHQ6ICN7ICRiYXNlLWxpbmUtaGVpZ2h0IH1weDtcblxuXHRAZXh0ZW5kICVmb250LXdlaWdodC1tZWRpdW07XG5cblx0QGluY2x1ZGUgbWFyZ2luKFxuXHRcdHRvcCAjeyAkYmFzZS1saW5lLWhlaWdodCB9cHhcblx0XHRib3R0b20gMFxuXHQpO1xufVxuXG5oNSxcbi5oNSB7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0Ly8gbGluZS1oZWlnaHQ6ICN7ICRiYXNlLWxpbmUtaGVpZ2h0IH1weDtcblx0bGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbmg2LFxuLmg2IHtcblx0bGluZS1oZWlnaHQ6ICRncmlkLWd1dHRlci13aWR0aDtcbn1cblxuLmRoMSB7fVxuXG4uZGgyIHt9XG5cbi5kaDMge31cblxuLmRoNCB7fVxuIiwiLyoqXG4gKiBTaXRlXG4gKlxuICogQHVzZXMgLlNpdGUteyBwcm9wZXJ0eSB9XG4gKiBAYXV0aG9yIErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Ny5mcj4gKGh0dHA6Ly8xOWg0Ny5mcilcbiAqL1xuLlNpdGUge1xuXHQvKipcblx0ICogU2l0ZSBjb250YWluZXJcblx0ICpcblx0ICogVGhlIGZsdWlkIGNvbnRhaW5lciBvZiB0aGUgZ3JpZFxuXHQgKlxuXHQgKiBAdXNlcyAuU2l0ZS1jb250YWluZXJcblx0ICovXG5cdCYtY29udGFpbmVyIHtcblx0XHRtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGg7XG5cblx0XHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblxuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgcmlnaHQgYXV0byBib3R0b20gMCBsZWZ0IGF1dG8gKTtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKFxuXHRcdFx0cmlnaHQgJGdyaWQtb3V0ZXItZ3V0dGVyLXdpZHRoXG5cdFx0XHRsZWZ0ICRncmlkLW91dGVyLWd1dHRlci13aWR0aFxuXHRcdCk7XG5cdH1cblxuXHQmLXNlYXJjaCB7XG5cdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAxMDAlIHJpZ2h0IDAgbGVmdCAwICk7XG5cdFx0QGluY2x1ZGUgYXV0b0FscGhhKCAwICk7XG5cblx0XHR0cmFuc2l0aW9uOiAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdFx0ei1pbmRleDogODtcblxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdEBpbmNsdWRlIGF1dG9BbHBoYSggMSApO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBTaXRlOiBoZWFkZXJcbiAqXG4gKlxuICovXG4uU2l0ZS1oZWFkZXIge1xuXHRAaW5jbHVkZSBhYnNvbHV0ZSggdG9wIDAgcmlnaHQgMCBsZWZ0IDAgKTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdHotaW5kZXg6IDEwO1xuXG5cdCYuaXMtZml4ZWQge1xuXHRcdEBpbmNsdWRlIGZpeGVkKCB0b3AgMCByaWdodCAwIGxlZnQgMCApO1xuXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgLTEwMCUsIDAgKTtcblx0fVxuXG5cdCYuaXMtZml4ZWQuaXMtYW5pbWF0ZWQge1xuXHRcdHRyYW5zaXRpb246XG5cdFx0XHR0cmFuc2Zvcm0gMC43cyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApLFxuXHRcdFx0Ym94LXNoYWRvdyAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdH1cblxuXHQvLyBAYXQtcm9vdCAuc2Nyb2xsLWRvd24gJi5pcy1maXhlZCB7fVxuXG5cdEBhdC1yb290IC5zY3JvbGwtdXAgJi5pcy1maXhlZCB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXHRcdGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC4yICk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSA1MHB4ICk7XG5cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiBhdXRvO1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IGF1dG87XG5cblx0XHRAYXQtcm9vdCAuc2Nyb2xsLXVwIC5TaXRlLWhlYWRlci5pcy1maXhlZCB7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdH1cblxuXHRcdCYuaXMtZml4ZWQge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dG9wOiBhdXRvO1xuXHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCZfX2xpc3Qge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDdweCByaWdodCAyMHB4ICk7XG5cdFx0QGV4dGVuZCAuZC1mbGV4O1xuXHRcdEBleHRlbmQgJWxpc3Qtc3R5bGUtdHlwZS1ub25lO1xuXG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRcdGNvbG9yOiByZ2JhKCB0aGVfY29sb3IoIGdyYXksIGRhcmstMDEgKSwgMC42ICk7XG5cblx0XHRsaSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDcuNXB4IGxlZnQgNy41cHggKTtcblxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggbGVmdCAwICk7XG5cdFx0XHR9XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMCApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApO1xuXG5cdFx0XHQmLmlzLWFjdGl2ZSxcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IHRoZV9jb2xvciggZ3JheSwgZGFyay0wMSApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBTaXRlOiBmb290ZXJcbiAqXG4gKlxuICpcbiAqL1xuLlNpdGUtZm9vdGVyIHtcblxuICAmX190b3Age1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG5cbiAgICAubmV3c2xldHRlci1wcml2YWN5IHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIGNvbG9yOiAjYjNiM2IzO1xuICAgICAgZm9udC1zaXplOiBzbWFsbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICM4YzhjOGM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgcGFkZGluZyh0b3AgMzZweCBib3R0b20gMzFweCk7XG5cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdGhlX2NvbG9yKGJsdWUsIGxpZ2h0LWdyYXlpc2gtMDEpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyh0b3AgNzBweCBib3R0b20gNzBweCk7XG4gICAgfVxuICB9XG5cbiAgJl9fbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4odG9wIDUwLjVweCBib3R0b20gMjVweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4odG9wIDQ0LjhweCBib3R0b20gNTUuMnB4KTtcbiAgICB9XG5cbiAgICAuRm9ybS0tbmV3c2xldHRlcl9faW5wdXQge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKGJvdHRvbSAxMHB4KTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oYm90dG9tIDlweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLkZvcm0tLW5ld3NsZXR0ZXJfX2J1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbihib3R0b20gOXB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuU29jaWFscyB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oYm90dG9tIDE2cHgpO1xuICAgIH1cblxuICAgICZfX2RlY29yIHtcbiAgICAgIEBleHRlbmQgLmQtbm9uZSwgLmQtbWQtYmxvY2s7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUsIGF1dG8pO1xuXG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuICB9XG5cbiAgJl9fY29sdW1uIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4odG9wIDEzLjVweCBib3R0b20gMTMuNXB4KTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oYm90dG9tIDApO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKHRvcCAwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4odG9wIDAgYm90dG9tIDApO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIEBleHRlbmQgJWN1cnNvci1tZC10ZXh0LCAlZm9udC13ZWlnaHQtbWVkaXVtLCAldy0xMDAsICV3LW1kLWF1dG87XG4gICAgICBAZXh0ZW5kIC5kLWZsZXgsIC5kLW1kLWlubGluZS1ibG9jaywgLmp1c3RpZnktY29udGVudC1iZXR3ZWVuLCAuYWxpZ24taXRlbXMtY2VudGVyO1xuXG4gICAgICBjb2xvcjogdGhlX2NvbG9yKGJsdWUsIGRhcmspO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIEBleHRlbmQgLmQtaW5saW5lLCAuZC1tZC1ub25lO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDExLjI0cHgsIDdweCk7XG5cbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBtYXAtZ2V0KCRlYXNpbmdzLCBlYXNlLW91dC1leHBvKTtcblxuICAgICAgICBAYXQtcm9vdCAuaXMtYWN0aXZlICYge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKGJvdHRvbSAxNHB4KTtcblxuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKHRvcCAxNHB4KTtcbiAgICAgIEBleHRlbmQgJWxpc3Qtc3R5bGUtdHlwZS1ub25lO1xuXG4gICAgICBjb2xvcjogcmdiYSh0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKSwgMC42KTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKHRvcCAwKTtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4odG9wIDIuNXB4IGJvdHRvbSAyLjVweCk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4oYm90dG9tIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKHRvcCAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBtYXAtZ2V0KCRlYXNpbmdzLCBlYXNlLW91dC1leHBvKTtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSh0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19ib3R0b20ge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcodG9wIDQ1cHggYm90dG9tIDM2cHgpO1xuXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRoZV9jb2xvcihibHVlLCBsaWdodC1ncmF5aXNoLTAxKTtcbiAgICBjb2xvcjogcmdiYSh0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKSwgMC42KTtcblxuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTlweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcodG9wIDI1cHgpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGV4dGVuZCAldGV4dC1hbGlnbi1jZW50ZXI7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4odG9wIDNweCBib3R0b20gM3B4KTtcbiAgICAgIEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBtYXAtZ2V0KCRlYXNpbmdzLCBlYXNlLW91dC1leHBvKTtcblxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogcmdiYSh0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKSwgMSk7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbihyaWdodCAwIGJvdHRvbSAwKTtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbihsZWZ0IDAgdG9wIDApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbih0b3AgMCByaWdodCA3LjVweCBib3R0b20gMCBsZWZ0IDcuNXB4KTtcblxuICAgICAgICAmLm1hcmdpbi1yaWdodC1tZC1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4ocmlnaHQgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKGxlZnQgMTBweCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTlweCk7XG5cbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4ocmlnaHQgMTBweCBsZWZ0IDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5TaXRlLWZvb3Rlcl9fc29jaWFscyB7XG4gIGJhY2tncm91bmQ6ICNGNUY1RjU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDVkOWRiO1xuICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmZvb3Rlci1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGNUY1RjU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q1ZDlkYjtcbiAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICB9XG5cbiAgICAubW9iaWxlLWltZyB7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdvb2dsZXBsYXktaW1nLFxuICAgIC5hcHBzdG9yZS1pbWcge1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIG1hcmdpbjogYXV0byAxNXB4IGF1dG8gMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItbW9iaWxlLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW46IDE1cHggMzBweCAwIDE1cHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBtYXJnaW46IDE1cHggMCAwO1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvb3Rlci1zb2NpYWxzIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgfVxuXG4gICAgLmZvb3Rlci1zb2NpYWxzLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW46IDE1cHggMCAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuU29jaWFscyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmID4gLlNpdGUtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJiA+IC5yb3cge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5Tb2NpYWxzIGxpIGEge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgd2lkdGg6IDU1cHg7XG4gICAgfVxuICB9XG59XG5cbi5jYXJnb3BvcnQsXG4ubmV0ZGV2X2VuLFxuLmJ1c2luZXNzYXZpYXRpb24ge1xuICAuU2l0ZS1mb290ZXJfX3RvcCB7XG4gICAgZGlzcGxheTogbm9uZVxuICB9XG59XG4iLCIvKipcbiAqIEhlcm9cbiAqXG4gKlxuICpcbiAqL1xuLkhlcm8ge1xuICAkdGhpczogJjtcblxuICBAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcbiAgQGV4dGVuZCAuZC1mbGV4O1xuXG5cbiAgei1pbmRleDogMDtcbiAgY29sb3I6IHRoZV9jb2xvcih3aGl0ZSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWluLWhlaWdodDogMzA0cHg7XG5cbiAgJiN7ICR0aGlzIH0tLWhhcy13aWRnZXQsXG4gICYjeyAkdGhpcyB9LS1oYXMtd2lkZ2V0cyB7XG4gICAgQGV4dGVuZCAuZC1ibG9jaztcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBtaW4taGVpZ2h0OiAzNTBweDtcblxuICAgICYtLWhhcy13aWRnZXQge1xuICAgICAgLldpZGdldCB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbih0b3AgNTBweCBib3R0b20gNTBweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWhhcy13aWRnZXRzICYge1xuICAgIC8vIFx0bWluLWhlaWdodDogMzc1cHg7XG5cbiAgICAvLyBcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuICAgIC8vIFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSA4MHB4ICk7XG4gICAgLy8gXHRcdGhlaWdodDogYXV0bztcbiAgICAvLyBcdH1cbiAgICAvLyB9XG4gIH1cblxuICAvLyAuSGVyb19fY29udGVudF91bmF2YWlsYWJsZVxuICAmX19jb250ZW50X3VuYXZhaWxhYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjODA4MDgwO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW46IDIwcHggYXV0byAwIGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gIH1cblxuICAvLyAuSGVyb19fYm9keVxuICAmX19ib2R5IHtcbiAgICBAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblxuICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA2O1xuXG4gICAgLy8gLkhlcm8uSGVyby0taGFzLXdpZGdldCAuSGVyb19fYm9keVxuICAgIEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1oYXMtd2lkZ2V0ICYge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhib3R0b20gMjBweCk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhib3R0b20gMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLkhlcm8uSGVyby0taGFzLXdpZGdldHMgLkhlcm9fX2JvZHlcbiAgICBAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0taGFzLXdpZGdldHMgJiB7XG4gICAgICBoZWlnaHQ6IDE1NnB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGhlaWdodDogMzAxcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBhYnNvbHV0ZSh0b3AgMCByaWdodCAwIGxlZnQgMCk7XG4gICAgQGluY2x1ZGUgcGFkZGluZyh0b3AgMTZweCk7XG5cbiAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgJl9fZm9vdGVyIHtcbiAgICBAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblxuICAgIHotaW5kZXg6IDM7XG5cbiAgICAmLkNhcm91c2VsIHtcbiAgICAgIEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKGJvdHRvbSAyMHB4KTtcblxuICAgICAgei1pbmRleDogNztcblxuICAgICAgLmZsaWNraXR5LXZpZXdwb3J0IHtcbiAgICAgICAgQGV4dGVuZCAlb3ZlcmZsb3ctdmlzaWJsZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cblxuICAgICAgLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLlBhZ2VfX2ZpbHRlcnMge1xuICAgICAgJl9faXRlbSB7XG4gICAgICAgIGJ1dHRvbixcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBjb2xvcjogIzJkNDA0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZpbGw6ICMyZDQwNGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDIsIDI0MiwgMjQyLCAwLjYpO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN2b2wtd2lkZ2V0LXRhYiBzdmcge1xuICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICB9XG5cbiAgICAgICNwYXJraW5nLXdpZGdldC10YWIgc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgfVxuXG4gICAgICAjc3Vpdmktdm9sLXdpZGdldC10YWIgc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBbaWQkPSd3aWRnZXQnXSB7XG4gICAgICBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAjdm9sLXdpZGdldCB7XG4gICAgICBidXR0b24ge1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wcmUtd2lkZ2V0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBkaXYge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICYgKyBkaXYge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogIzJkNDA0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgIG1pbi13aWR0aDogMTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzdmcge1xuXG4gICAgICAgIGNvbG9yOiAjMmQ0MDRlO1xuICAgICAgfVxuXG4gICAgICAmIH4gZm9ybSB7XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuXG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgei1pbmRleDogNTU1NTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXG4gICAgICAgICAgLldpZGdldCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXG4gICAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLldpZGdldF9fbW9iaWxlLWhlYWRlciB7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcblxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXG4gICAgICAgICAgICBidXR0b24gc3ZnIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgY29sb3I6ICMyRDQwNEU7XG4gICAgICAgICAgICAgIGZpbGw6ICMyRDQwNEU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnV0dG9uW3R5cGU9c3VibWl0XSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJl9fc3ViaGVhZCB7XG4gICAgQGluY2x1ZGUgbWFyZ2luKGJvdHRvbSA1cHgpO1xuXG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHRleHQtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oYm90dG9tIDEwcHgpO1xuXG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG4gIH1cblxuXG4gIC8vIC5IZXJvX19pY29uXG4gICZfX2ljb24ge1xuICAgIEBpbmNsdWRlIG1hcmdpbihib3R0b20gMTUuOXB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihyaWdodCAwIGJvdHRvbSAyMS43cHggbGVmdCAwKTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgQGV4dGVuZCAuZC1ibG9jaztcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihyaWdodCBhdXRvIGxlZnQgYXV0byk7XG4gICAgICBAaW5jbHVkZSBzaXplKDQxLjJweCwgMzQuM3B4KTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4ocmlnaHQgMCBsZWZ0IDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgJl9fdGV4dCB7XG4gICAgQGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWhhcy13aWRnZXQgJiB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAlbWFyZ2luLW1kLTA7XG4gICAgQGluY2x1ZGUgbWFyZ2luKHRvcCAwIHJpZ2h0IDlweCBib3R0b20gMCBsZWZ0IDlweCk7XG5cbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM5cHg7XG4gICAgdGV4dC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGZvbnQtc2l6ZTogNjhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2OHB4O1xuICAgIH1cblxuICAgICYgKyBwIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbih0b3AgMTBweCByaWdodCAxOHB4IGJvdHRvbSAwIGxlZnQgMThweCk7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4odG9wIDRweCByaWdodCAwIGxlZnQgMCk7XG5cbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5IZXJvX19iYWNrZ3JvdW5kXG4gICZfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGFic29sdXRlKHRvcCAwIHJpZ2h0IDAgYm90dG9tIDAgbGVmdCAwKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBoZWlnaHQ6IDMwNHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgaGVpZ2h0OiAzNTBweDtcblxuICAgICAgI3sgJHRoaXMgfS0taGFzLXdpZGdldCAmIHtcbiAgICAgICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgYWJzb2x1dGUodG9wIDAgcmlnaHQgMCBib3R0b20gMCBsZWZ0IDApO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAwLjIpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0taGFzLXdpZGdldHMgJiB7XG4gICAgICBoZWlnaHQ6IDM3NXB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbihib3R0b20gODBweCk7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIZXJvX19pbWFnZVxuICAmX19pbWFnZSB7XG4gICAgQGV4dGVuZCAuZC1mbGV4O1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSwgMTM2cHgpO1xuXG4gICAgb2JqZWN0LWZpdDogc2NhbGUtZG93bjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSwgMjY4cHgpO1xuICAgIH1cbiAgfVxufVxuXG4jc3Vpdmktdm9sLXdpZGdldCB7XG4gIC5wcmUtd2lkZ2V0ID4gZGl2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBzdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDYlO1xuICAgICAgdG9wOiAxNXB4O1xuICAgIH1cbiAgfVxufVxuXG4jZm9ybS1wYXJraW5nLXN0b3JlIHtcbiAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG59XG4iLCIvKipcbiAqIFRhc2tiYXJcbiAqL1xuLlRhc2tiYXIge1xuXHRAZXh0ZW5kICVvdmVyZmxvdy14LWF1dG87XG5cblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHRoZV9jb2xvciggYmx1ZSwgbGlnaHQtZ3JheWlzaC0wMSApO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdGhlX2NvbG9yKCBibHVlLCBsaWdodC1ncmF5aXNoLTAxICk7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgZGFyayApO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGUtY29sb3IoIHdoaXRlICk7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdGxlZnQ6IDA7XG5cdHotaW5kZXg6IDU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG5cdC8vIElFIGZpeFxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcbiAgICBcdGNvbnRlbnQ6ICcnO1xuICAgIFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRib3JkZXItdG9wOiBub25lO1xuXHR9XG5cblx0Ly8gLlRhc2tiYXJfX2l0ZW1zXG5cdCZfX2l0ZW1zIHtcblx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5qdXN0aWZ5LWNvbnRlbnQtbWQtY2VudGVyO1xuXHRcdEBleHRlbmQgJWxpc3Qtc3R5bGUtdHlwZS1ub25lO1xuXHR9XG5cblx0Jl9faXRlbSB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCA1cHggbGVmdCA1cHggKTtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRAZXh0ZW5kICVtYXJnaW4tcmlnaHQtMCwgJXBhZGRpbmctcmlnaHQtMywgJXBhZGRpbmctcmlnaHQtbWQtMDtcblx0XHR9XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRAZXh0ZW5kICVtYXJnaW4tbGVmdC0wLCAlcGFkZGluZy1sZWZ0LTMsICVwYWRkaW5nLWxlZnQtbWQtMDtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdEBleHRlbmQgLmQtYmxvY2s7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgOHB4IHJpZ2h0IDEwcHggYm90dG9tIDhweCBsZWZ0IDEwcHggKTtcblxuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDQ0cHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgM3B4IGJvdHRvbSAzcHggKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRhOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBJbWFnZSBjYXB0aW9uXG4gKi9cbi5JbWFnZS1jYXB0aW9uIHtcblx0JHRoaXM6ICY7XG5cblx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgJGdyaWQtZ3V0dGVyLXdpZHRoICogMyBib3R0b20gJGdyaWQtZ3V0dGVyLXdpZHRoICogMyApO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDE1MHB4IGJvdHRvbSAxNTBweCApO1xuXHR9XG5cblx0Ly8gLkltYWdlLWNhcHRpb24gaDJcblx0aDIge1xuXHRcdEBleHRlbmQgJXRleHQtYWxpZ24tY2VudGVyLCAldGV4dC1hbGlnbi1tZC1sZWZ0O1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSA0MHB4ICk7XG5cdFx0fVxuXG5cdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWJhY2tncm91bmQgaDIge1xuXHRcdFx0Y29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0XHR9XG5cdH1cblxuXHQmI3sgJHRoaXMgfS0tYmFja2dyb3VuZCB7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0XHRjb2xvcjogd2hpdGU7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggdG9wIDAgcmlnaHQgMCBsZWZ0IDAgYm90dG9tIDAgKTtcblx0XHRcdEBpbmNsdWRlIHNpemUoIGF1dG8sIDEwMCUgKTtcblx0XHRcdEBleHRlbmQgLmQtYmxvY2s7XG5cdFx0XHRAZXh0ZW5kICVtYXJnaW4teC0zLCAlbWFyZ2luLXgtbWQtMDtcblxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0ei1pbmRleDogMTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIHNpemUoIDUwdncsIDEwMCUgKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmI3sgJHRoaXMgfS0tYmFja2dyb3VuZCN7ICR0aGlzIH0tLWxlZnQtc2lkZWQge1xuXHRcdCY6OmFmdGVyIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRyaWdodDogYXV0bztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmI3sgJHRoaXMgfS0tYmFja2dyb3VuZCN7ICR0aGlzIH0tLXJpZ2h0LXNpZGVkIHtcblx0XHQmOjphZnRlciB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAzMHB4ICk7XG5cblx0XHQ+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0fVxuXHRcdD4gKjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAwICk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gLkltYWdlLWNhcHRpb25fX2JvZHlcblx0Jl9fYm9keSB7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNDBweCApO1xuXG5cdFx0PiAqOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBleHRlbmQgJW1hcmdpbi10b3AtMDtcblx0XHR9XG5cdFx0PiAqOmxhc3QtY2hpbGQge1xuXHRcdFx0QGV4dGVuZCAlbWFyZ2luLWJvdHRvbS0wO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCApO1xuXHRcdH1cblxuXHRcdHotaW5kZXg6IDI7XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tYmFja2dyb3VuZCAjeyAkdGhpcyB9X19ib2R5IHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wICRncmlkLWd1dHRlci13aWR0aCAqIDQgYm90dG9tICRncmlkLWd1dHRlci13aWR0aCAqIDQgKTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wICRncmlkLWd1dHRlci13aWR0aCAqIDggYm90dG9tICRncmlkLWd1dHRlci13aWR0aCAqIDggKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tYmFja2dyb3VuZCAjeyAkdGhpcyB9X19ib2R5IHtcblx0XHRcdEBleHRlbmQgJXRleHQtYWxpZ24tY2VudGVyLCAldGV4dC1hbGlnbi1tZC1sZWZ0LCAlbWFyZ2luLXgtMywgJW1hcmdpbi14LW1kLTA7XG5cdFx0fVxuXG5cdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWxhcmdlICN7ICR0aGlzIH1fX2JvZHkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNDBweCBib3R0b20gNDBweCApO1xuXHRcdH1cblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1sYXJnZSN7ICR0aGlzIH0tLWJhY2tncm91bmQgI3sgJHRoaXMgfV9fYm9keSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAxMTVweCBib3R0b20gMTE1cHggKTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDE1MHB4IGJvdHRvbSAxNTBweCApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIC5JbWFnZS1jYXB0aW9uX19pbWFnZVxuXHQmX19pbWFnZSB7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSApO1xuXG5cdFx0ei1pbmRleDogMjtcblxuXHRcdGltZyB7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAxMDAlICk7XG5cblx0XHRcdG9iamVjdC1maXQ6IHNjYWxlLWRvd247XG5cdFx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblxuXHRcdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWxhcmdlIGltZyB7XG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWxhcmdlIGltZyB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwIGJvdHRvbSAwICk7XG5cblx0XHRcdFx0XHR3aWR0aDogY2FsYyggNTB2dyAtICN7ICRncmlkLWd1dHRlci13aWR0aCAvIDIgfSApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWxhcmdlI3sgJHRoaXMgfS0tcmlnaHQtc2lkZWQgaW1nIHtcblx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1sYXJnZSN7ICR0aGlzIH0tLWxlZnQtc2lkZWQgaW1nIHtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWJhY2tncm91bmQjeyAkdGhpcyB9LS1sZWZ0LXNpZGVkIGltZyB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMiApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWJhY2tncm91bmQjeyAkdGhpcyB9LS1yaWdodC1zaWRlZCBpbWcge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCggJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWJhY2tncm91bmQgaW1nIHtcblx0XHRcdFx0XHR3aWR0aDogNTB2dztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cblx0dWwge1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIGxlZnQgJGdyaWQtZ3V0dGVyLXdpZHRoICk7XG5cdH1cbn1cbiIsIi8qKlxuICogVGFibGVcbiAqL1xuLlRhYmxlIHtcblx0JHRoaXM6ICY7XG5cblx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblx0Y29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblxuXHQvLyAuVGFibGVfX3RpdGxlXG5cdCZfX3RpdGxlIHtcblx0XHRAZXh0ZW5kICVtYXJnaW4tdG9wLTAsICVtYXJnaW4tYm90dG9tLTUsICV0ZXh0LWFsaWduLWNlbnRlcjtcblx0XHRAZXh0ZW5kIC5oMjtcblxuXHRcdGxpbmUtaGVpZ2h0OiA0MHB4O1xuXHR9XG5cblx0Ly8gLlRhYmxlX19ib2R5XG5cdCZfX2JvZHkge1xuXHRcdEBleHRlbmQgJXBhZGRpbmcteS04LCAlcGFkZGluZy15LW1kLTYsICVwYWRkaW5nLXgtMywgJXBhZGRpbmcteC1tZC0wLCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0XHR6LWluZGV4OiAzO1xuXHR9XG5cblx0Jl9fYmFja2dyb3VuZCB7XG5cdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwIHJpZ2h0IDAgYm90dG9tIDAgbGVmdCAwICk7XG5cblx0XHRvcGFjaXR5OiAwLjM7XG5cdFx0ei1pbmRleDogMTtcblx0XHRtaXgtYmxlbmQtbW9kZTogc29mdC1saWdodDtcblxuXHRcdGltZyB7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAxMDAlICk7XG5cblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0Jl9fcm93IHtcblx0XHRtaW4taGVpZ2h0OiA3MHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXG5cdFx0JjpudGgtY2hpbGQoIG9kZCApIHtcblx0XHRcdCN7ICR0aGlzIH1fX2NvbHVtbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICksIDAuMTUgKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyAuVGFibGVfX2NvbHVtblxuXHQmX19jb2x1bW4ge1xuXHRcdEBleHRlbmQgJXBhZGRpbmcteS0zO1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtY29sdW1uLCAuZmxleC1tZC1yb3c7XG5cblx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKCB0aGVfY29sb3IoIGdyYXksIHZlcnktbGlnaHQtMDEgKSwgMC4yICk7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoIHRoZV9jb2xvciggZ3JheSwgdmVyeS1saWdodC0wMSApLCAwLjIgKTtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0fVxuXG5cdFx0c3ZnIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDQ2cHggKTtcblxuXHRcdFx0bWluLXdpZHRoOiA0NnB4O1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgI3sgJGJhc2UtbGluZS1oZWlnaHQgfXB4IGxlZnQgI3sgJGJhc2UtbGluZS1oZWlnaHQgfXB4ICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdEBleHRlbmQgLmQtYmxvY2s7XG5cdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHJpZ2h0IDAgbGVmdCAwIGJvdHRvbSAwICk7XG5cblx0XHRjb250ZW50OiAnJztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDM0OS41cHg7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0dG8gYm90dG9tLFxuXHRcdFx0cmdiYSggdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKSwgMCApIDAlLFxuXHRcdFx0cmdiYSggdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKSwgMSApIDEwMCVcblx0XHQpO1xuXHRcdHotaW5kZXg6IDI7XG5cdH1cbn1cbiIsIi8qKlxuICogQmFubmVyXG4gKi9cbi5CYW5uZXIge1xuXHQkdGhpczogJjtcblx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBibGFjayApO1xuXHRjb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuICBoZWlnaHQ6IGluaXRpYWw7XG4gIHBhZGRpbmc6IDQwcHggMDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuXHQmLS1zbWFsbCB7XG5cdFx0QGV4dGVuZCAlb3ZlcmZsb3ctaGlkZGVuO1xuXG5cdFx0aGVpZ2h0OiAzNTBweDtcblx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cblx0XHQjeyAkdGhpcyB9X19ib2R5IHtcblx0XHRcdD4gaDIge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAxMHB4ICk7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMjBweCApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji0tbWFwIHtcblx0XHRoZWlnaHQ6IDQzMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRoZWlnaHQ6IDUwMHB4O1xuXHRcdH1cblxuXHRcdCN7ICR0aGlzIH1fX2JvZHkge1xuXHRcdFx0I3sgJHRoaXMgfV9fdGl0bGUge1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMzBweDtcblx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA0MHB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogNDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQjeyAkdGhpcyB9X19jb250ZW50IHtcblx0XHRcdFx0QGV4dGVuZCAlbWFyZ2luLWJvdHRvbS0wLCAlbWFyZ2luLXRvcC0yO1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDI0cHggbGVmdCAyNHB4ICk7XG5cblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYtLXVzZWZ1bC1pbmZvcm1hdGlvbiB7XG5cdFx0aGVpZ2h0OiA3MjRweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0aGVpZ2h0OiA0MDVweDtcblx0XHR9XG5cdH1cblxuXHQmLS1zZWxlY3RvciB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDYwcHggYm90dG9tIDYwcHggKTtcblxuXHRcdG1pbi1oZWlnaHQ6IDUwMHB4O1xuXHRcdGhlaWdodDogYXV0bztcblxuXHRcdCN7ICR0aGlzIH1fX2JvZHkgPiBoMiB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAzMHB4ICk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSA0MHB4ICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMCBib3R0b20gMCApO1xuXHRcdFx0bWluLWhlaWdodDogNDUwcHg7XG5cdFx0XHRoZWlnaHQ6IDQ1MHB4O1xuXHRcdH1cblxuXHRcdCYtLWgxMDAge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLS1yZXN1bHRzIHtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Ji0taGFzLWltYWdlIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSA1MHB4ICk7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0QGV4dGVuZCAuZC1ibG9jaztcblx0XHRcdEBpbmNsdWRlIGFic29sdXRlKCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXG5cdFx0XHRoZWlnaHQ6IDI1NHB4O1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgOTcsIDE5NSwgMCkgMCUsICMwMDYxYzMgMTAwJSk7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHotaW5kZXg6IDI7XG5cdFx0fVxuXG5cdFx0YTpub3QoLkJ1dHRvbiksXG5cdFx0YS5saW5rOm5vdCguQnV0dG9uKSB7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHR9XG5cdH1cblxuXG5cdCZfX2JvZHkge1xuXHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXG5cdFx0PiAqOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBleHRlbmQgJW1hcmdpbi10b3AtMDtcblx0XHR9XG5cblx0XHQ+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRAZXh0ZW5kICVtYXJnaW4tYm90dG9tLTA7XG5cdFx0fVxuXG5cdFx0PiBoMiB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSA0MHB4ICk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAzMHB4ICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0PiAuQnV0dG9uIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDIwcHggKTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDQwcHggKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR6LWluZGV4OiAzO1xuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cblx0XHQ+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYmFja2dyb3VuZCB7XG5cdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwIHJpZ2h0IDAgYm90dG9tIDAgbGVmdCAwICk7XG5cdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSApO1xuXG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0b3BhY2l0eTogMC44O1xuXHRcdHotaW5kZXg6IDE7XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0taGFzLWltYWdlICYge1xuXHRcdFx0b3BhY2l0eTogMC42O1xuXHRcdFx0bWl4LWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7XG5cdFx0fVxuXHR9XG5cblx0Jl9faW1hZ2Uge1xuXHRcdEBpbmNsdWRlIHNpemUoIDEwMCUgKTtcblx0XHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblx0XHRAZXh0ZW5kIC5kLW5vbmUsIC5kLW1kLWJsb2NrO1xuXG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgNTBweCwgMCApO1xuXG5cdFx0ei1pbmRleDogMztcblx0fVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdC5CYW5uZXItLWNvbnRhaW5lci0tcmVzdWx0cyB7XG5cdFx0bWFyZ2luLXRvcDogLTIyNHB4ICFpbXBvcnRhbnQ7XG4gICAgXHRtYXJnaW4tYm90dG9tOiAtMTYwcHggIWltcG9ydGFudDtcblx0fVxufVxuIiwiLyoqXG4gKiBSaWNoIGxpc3RcbiAqL1xuLlJpY2gtbGlzdCB7XG5cdEBpbmNsdWRlIG1hcmdpbiggdG9wICRncmlkLWd1dHRlci13aWR0aCAqIDMgYm90dG9tICRncmlkLWd1dHRlci13aWR0aCAqIDMgKTtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAxNTBweCBib3R0b20gMTUwcHggKTtcblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmZsZXgtY29sdW1uLCAuZmxleC1zbS1yb3c7XG5cdFx0QGV4dGVuZCAlaC0xMDA7XG5cblx0XHRoMyB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAxNXB4ICk7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHR9XG5cblx0XHQmX19pbWFnZSB7XG5cdFx0XHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggc20gKSB7XG5cdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHJpZ2h0ICAkZ3JpZC1ndXR0ZXItd2lkdGggKiAxLjUgKTtcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggNTAlLCAxMDAlICk7XG5cdFx0XHR9XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdEBpbmNsdWRlIHNpemUoIDEwMCUgKTtcblx0XHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdG9iamVjdC1maXQ6IHNjYWxlLWRvd247XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCZfX2JvZHkge1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggbGVmdCAgJGdyaWQtZ3V0dGVyLXdpZHRoICogMC41ICk7XG5cdFx0XHRAZXh0ZW5kICV3LXNtLTUwO1xuXG5cdFx0XHQ+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRAZXh0ZW5kICVtYXJnaW4tdG9wLTA7XG5cdFx0XHR9XG5cblx0XHRcdD4gKjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0QGV4dGVuZCAlbWFyZ2luLWJvdHRvbS0wO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBMaXN0XG4gKi9cbi5MaXN0IHtcblx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNjBweCBib3R0b20gNjBweCApO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDE1MHB4IGJvdHRvbSAxNTBweCApO1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdEBleHRlbmQgJXRleHQtYWxpZ24tY2VudGVyO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgYm90dG9tICRncmlkLWd1dHRlci13aWR0aCAqIDIgKTtcblxuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtcm93O1xuXHRcdEBleHRlbmQgJWgtMTAwO1xuXG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cblx0XHQuQmFkZ2UuQmFkZ2UtLWxhcmdlIHtcblx0XHRcdEBleHRlbmQgICVtYXJnaW4tcmlnaHQtMztcblx0XHR9XG5cblx0XHQmX19ib2R5IHtcblx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtY29sdW1uO1xuXG5cdFx0XHQvLyBGaXggSUUxMVxuXHRcdFx0ZmxleDogMTtcblx0XHR9XG5cblx0XHQmX190aXRsZSB7XG5cdFx0XHRAZXh0ZW5kICVmb250LXNpemUtMjAsICVmb250LXdlaWdodC1tZWRpdW07XG5cdFx0XHRAZXh0ZW5kIC5jb2xvci1ibHVlLWRhcms7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAxNXB4ICk7XG5cdFx0fVxuXG5cdFx0Jl9fY29udGVudCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSA1cHggKTtcblx0XHR9XG5cblx0XHQmX19saW5rIHtcblx0XHRcdEBleHRlbmQgJW1hcmdpbi10b3AtYXV0bztcblxuXHRcdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblxuXHRcdFx0Jjpmb2N1cyxcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRAZXh0ZW5kICV0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBWaWRlb1xuICovXG4uVmlkZW8ge1xuXHQkdGhpczogJjtcblxuXHQmX19ib2R5IHtcblx0XHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZSwgJXRleHQtYWxpZ24tY2VudGVyO1xuXG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjE2ICk7XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tOTMweDUyMyAmIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCBwZXJjZW50YWdlKCA1MjMgLyA5MzAgKSBib3R0b20gMCApO1xuXHRcdH1cblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS05MzB4NDg3ICYge1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIHBlcmNlbnRhZ2UoIDQ4NyAvIDkzMCApIGJvdHRvbSAwICk7XG5cdFx0fVxuXG5cdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLTExMjB4NjMwICYge1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIHBlcmNlbnRhZ2UoIDYzMCAvIDExMjAgKSBib3R0b20gMCApO1xuXHRcdH1cblxuXHRcdGgyIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgYm90dG9tIDEwcHggKTtcblxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIHNtICkge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAyMHB4IGJvdHRvbSAyMHB4ICk7XG5cblx0XHRcdFx0Zm9udC1zaXplOiA0MHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogNDRweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19wbGF5ZXIge1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXG5cdFx0aWZyYW1lIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDEwMCUgKTtcblx0XHRcdC8vIEBpbmNsdWRlIGFic29sdXRlKCBwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0XHRcdGJvcmRlcjogMDtcbiAgIFx0XHRcdC8vIGxlZnQ6IDA7XG4gICBcdFx0XHQvLyB0b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0Ly8gLlZpZGVvX19pbm5lclxuXHQmX19pbm5lciB7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuZmxleC1jb2x1bW4sIC5hbGlnbi1pdGVtcy1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyO1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXHRcdEBpbmNsdWRlIGF1dG9BbHBoYSggMCApO1xuXHRcdEBpbmNsdWRlIG1hcmdpbihcblx0XHRcdHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aFxuXHRcdFx0bGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGhcblx0XHQpO1xuXG5cdFx0dHJhbnNpdGlvbjpcblx0XHRcdG9wYWNpdHkgMC43cyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApLFxuXHRcdFx0dmlzaWJpbGl0eSAwLjdzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdFx0Y29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0XHR6LWluZGV4OiAyO1xuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0QGluY2x1ZGUgYXV0b0FscGhhKCAxICk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oXG5cdFx0XHRcdHJpZ2h0IGNhbGMoICN7IHBlcmNlbnRhZ2UoIDc1IC8gOTMwICkgfSArICN7ICRncmlkLWd1dHRlci13aWR0aCB9IClcblx0XHRcdFx0bGVmdCBjYWxjKCAjeyBwZXJjZW50YWdlKCA3NSAvIDkzMCApIH0gKyAjeyAkZ3JpZC1ndXR0ZXItd2lkdGggfSApIClcblx0XHRcdDtcblx0XHR9XG5cdH1cblxuXHQvLyAuVmlkZW9fX3Bvc3RlclxuXHQmX19wb3N0ZXIge1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXHRcdEBpbmNsdWRlIHNpemUoIDEwMCUgKTtcblxuXHRcdGJvcmRlci1yYWRpdXM6IDJweDtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0XHR0cmFuc2l0aW9uOlxuXHRcdFx0b3BhY2l0eSAwLjdzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICksXG5cdFx0XHR2aXNpYmlsaXR5IDAuN3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblxuXHRcdHotaW5kZXg6IDE7XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9ICYge1xuXHRcdFx0QGluY2x1ZGUgYXV0b0FscGhhKCAwICk7XG5cblx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0QGluY2x1ZGUgYXV0b0FscGhhKCAxICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fY29udHJvbHMge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1jZW50ZXI7XG5cdFx0QGluY2x1ZGUgc2l6ZSggJGdyaWQtZ3V0dGVyLXdpZHRoICogMiApO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgYXV0byBsZWZ0IGF1dG8gKTtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0bWluLXdpZHRoOiAkZ3JpZC1ndXR0ZXItd2lkdGggKiAzO1xuXHRcdG1pbi1oZWlnaHQ6ICRncmlkLWd1dHRlci13aWR0aCAqIDM7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBzbSApIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoICRncmlkLWd1dHRlci13aWR0aCAqIDMgKTtcblx0XHR9XG5cblx0XHRzdmcge1xuXHRcdFx0QGV4dGVuZCAlUG9pbnRlci1ldmVudHMtbm9uZTtcblx0XHRcdEBpbmNsdWRlIHNpemUoICRncmlkLWd1dHRlci13aWR0aCApO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBsZWZ0IDRweCApO1xuXG5cdFx0XHRmaWxsOiB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApO1xuXHRcdH1cblx0fVxuXG5cdC8vIC5WaWRlb19faGVhZGluZ1xuXHQmX19oZWFkaW5nIHtcblx0XHRAaW5jbHVkZSBsZXR0ZXItc3BhY2luZyggNDAgKTtcblx0XHRAZXh0ZW5kICV0ZXh0LXRyYW5zZm9ybS11cHBlcmNhc2UsICVtYXJnaW4tMDtcblxuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMTRweDtcblx0fVxuXG5cdC8vIC5WaWRlb19fY2FwdGlvblxuXHQmX19jYXB0aW9uIHtcblx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWNlbnRlcjtcblx0XHRAaW5jbHVkZSBtYXJnaW4oXG5cdFx0XHR0b3AgMzBweCByaWdodCBjYWxjKCAjeyBwZXJjZW50YWdlKCA3NSAvIDkzMCApIH0gKyAjeyAkZ3JpZC1ndXR0ZXItd2lkdGggfSApXG5cdFx0XHRib3R0b20gMCBsZWZ0IGNhbGMoICN7IHBlcmNlbnRhZ2UoIDc1IC8gOTMwICkgfSArICN7ICRncmlkLWd1dHRlci13aWR0aCB9IClcblx0XHQpO1xuXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG59XG4iLCIvKipcbiAqXG4gKi9cbi5JbmZvcm1hdGlvbiB7XG5cdEBleHRlbmQgJW1hcmdpbi15LTg7XG5cblx0Jl9fYm9keSB7XG5cdFx0QGV4dGVuZCAlcGFkZGluZy14LTMsICVwYWRkaW5nLXgtbWQtNCwgJXBhZGRpbmcteS00LCAldGV4dC1hbGlnbi1jZW50ZXIsICV0ZXh0LWFsaWduLW1kLWxlZnQ7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApO1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cblx0XHRsaW5lLWhlaWdodDogMjRweDtcblxuXHRcdHAge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMTVweCApO1xuXHRcdH1cblx0fVxuXG5cdCZfX2ltYWdlIHtcblx0XHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblx0XHRAaW5jbHVkZSBzaXplKCAxMDAlICk7XG5cblx0XHRpbWcge1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSApO1xuXG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwIHJpZ2h0IDAgYm90dG9tIDAgbGVmdCAwICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFNlY3Rpb25cbiAqXG4gKi9cbi5TZWN0aW9uIHtcblxuXHQvLyAuU2VjdGlvbl9faGVhZGVyXG5cdCZfX2hlYWRlciB7XG5cdFx0QGV4dGVuZCAlbWFyZ2luLWJvdHRvbS00LCAlbWFyZ2luLWJvdHRvbS1tZC01LCAldGV4dC1hbGlnbi1jZW50ZXI7XG5cblx0XHRAYXQtcm9vdCAuaXMtYWN0aXZlID4gJiAmX19jaGV2cm9uIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKCAtMTgwZGVnICk7XG5cdFx0fVxuXG5cdFx0Jl9fdGl0bGUge1xuXHRcdFx0QGV4dGVuZCAuY29sb3ItYmx1ZS1kYXJrO1xuXHRcdFx0QGV4dGVuZCAlbWFyZ2luLTA7XG5cdFx0fVxuXG5cdFx0Jl9fY29udGVudCB7XG5cdFx0XHRAZXh0ZW5kICVtYXJnaW4tYm90dG9tLTAsICVtYXJnaW4tdG9wLTI7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDI0cHggbGVmdCAyNHB4ICk7XG5cblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFNpdGU6IG1lbnVcbiAqXG4gKlxuICpcbiAqL1xuLlNpdGUtbWVudSB7XG5cdCR0aGlzOiAmO1xuXG5cdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXHRAZXh0ZW5kIC5kLWZsZXgsIC5mbGV4LWNvbHVtbiwgLmQtbWQtYmxvY2s7XG5cdEBleHRlbmQgLnctMTAwLCAudy1zbS01MCwgLnctbWQtMTAwO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAzICk7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjIgKTtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApO1xuXHRcblx0XHRAYXQtcm9vdCAuU2l0ZS1oZWFkZXIgJiB7XG5cdFx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggdG9wIDEwMCUgcmlnaHQgMTAwJSApO1xuXHRcdFx0Ly8gQGluY2x1ZGUgYXV0b0FscGhhKCAwICk7XG5cblx0XHRcdGhlaWdodDogY2FsYyggMTAwdmggLSA2MHB4ICk7XG5cdFx0XHR6LWluZGV4OiA4O1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG5cdFx0fVxuXHRcblx0XHRAYXQtcm9vdCAubWVudS1tb2JpbGUtLWlzLW9wZW4gLlNpdGUtaGVhZGVyICYge1xuXHRcdFx0Ly8gQGluY2x1ZGUgYXV0b0FscGhhKCAxICk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuXHRcdH1cblx0fVxuXG5cdC8vIC5TaXRlLW1lbnVfX2JvZHlcblx0Jl9fYm9keSB7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuZmxleC1jb2x1bW4sIC5kLW1kLWJsb2NrO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAtMTAwJSwgMCwgMCApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIC5TaXRlLW1lbnVfX2J1dHRvblxuXHQmX19idXR0b24ge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmQtbWQtbm9uZTtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMjAuNXB4IGJvdHRvbSAyMC41cHggKTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0LyogJjpmb2N1cyAqLyB7XG5cdFx0XHRjb2xvcjogcmdiYSggdGhlX2NvbG9yKCBibHVlLCBkYXJrICksIDAuNyApO1xuXHRcdH1cblxuXHRcdHN2ZyB7XG5cdFx0XHRAZXh0ZW5kIC5kLW1kLW5vbmU7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCA3cHgsIDExLjM0cHggKTtcblx0XHR9XG5cblx0XHQmLS1sZWZ0IHtcblx0XHRcdHN2ZyB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMjBweCApO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLS1yaWdodCB7XG5cdFx0XHRzdmcge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGxlZnQgYXV0byApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggbGVmdCAyMHB4IHJpZ2h0IDIwcHggKTtcblxuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSggdGhlX2NvbG9yKCBibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQgKSwgMC4xICk7XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjdzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gLlNpdGUtbWVudV9faXRlbXMgLSBnZW5lcmFsXG5cdCZfX2l0ZW1zIHtcblx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXI7XG5cdFx0QGV4dGVuZCAlbGlzdC1zdHlsZS10eXBlLW5vbmUsICV3aGl0ZS1zcGFjZS1ub3dyYXA7XG5cblx0XHRoZWlnaHQ6IDYwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgLTVweCBsZWZ0IC01cHggKTtcblxuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdCYgPiAjeyAkdGhpcyB9X19pdGVtIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMTBweCBsZWZ0IDEwcHggKTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMCBsZWZ0IDAgKTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbGcgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgNXB4IGxlZnQgNXB4ICk7XG5cdFx0XHR9XG5cblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGxlZnQgMCApO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDAgKTtcblx0XHRcdH1cblxuXHRcdFx0JiA+IGEsXG5cdFx0XHQmID4gYnV0dG9uLFxuXHRcdFx0JiA+IHAge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMTZweCByaWdodCA1cHggbGVmdCA1cHggYm90dG9tIDE0cHggKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIC5TaXRlLW1lbnVfX2l0ZW1zIC0gaW4gbWFpbi1tZW51IG5hdiBiYXJcblx0I3sgJHRoaXMgfV9faXRlbXMge1xuXHRcdEBleHRlbmQgLmFsaWduLWl0ZW1zLXN0YXJ0LCAuYWxpZ24taXRlbXMtbWQtY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMTBweCBib3R0b20gMTBweCApO1xuXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRmb250LXdlaWdodDogbWFwLWRlZXAtZ2V0KCRmb250LCBcIndlaWdodHNcIiwgXCJtZWRpdW1cIik7XG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdFx0I3sgJHRoaXMgfV9faXRlbS0tc2VhcmNoLFxuXHRcdFx0I3sgJHRoaXMgfV9faXRlbS0tYWNjb3VudCxcblx0XHRcdCN7ICR0aGlzIH1fX2l0ZW0tLWNhcnQge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblxuXHQvLyAuU2l0ZS1tZW51X19pdGVtXG5cdCZfX2l0ZW0ge1xuXHRcdEBleHRlbmQgLmQtbWQtaW5saW5lLWJsb2NrO1xuXHRcdEBleHRlbmQgJXZlcnRpY2FsLWFsaWduLXRvcDtcblxuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0JlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG5cdFx0XHQmID4gYSxcblx0XHRcdCYgPiBidXR0b24sXG5cdFx0XHQmID4gcCB7XG5cdFx0XHRcdGNvbG9yOiByZ2JhKCB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKSwgMC42ICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSAmLS1zZWFyY2gge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBsZWZ0IGF1dG8gKTtcblx0XHR9XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9X19pdGVtI3sgJiB9LS1zZWFyY2gsXG5cdFx0I3sgJHRoaXMgfV9faXRlbSN7ICYgfS0tYWNjb3VudCxcblx0XHQjeyAkdGhpcyB9X19pdGVtI3sgJiB9LS1jYXJ0IHtcblxuXHRcdFx0YSwgYnV0dG9uIHtcblx0XHRcdFx0QGV4dGVuZCAlZm9udC13ZWlnaHQtcmVndWxhcjtcblx0XHRcdH1cblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggMThweCwgMjBweCApO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggbGVmdCAxMHB4ICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9X19pdGVtI3sgJiB9LS1hY2NvdW50IHtcblx0XHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXHRcdH1cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9X19pdGVtI3sgJiB9LS1hY2NvdW50I3sgJiB9LS1hY2NvdW50LW9ubGluZSBhIHtcblx0XHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXG5cdFx0XHRzcGFuLmdyZWVuLXBvaW50IHtcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggNnB4ICk7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIC02cHggbGVmdCAtMXB4ICk7XG5cdFx0XHRcdEBleHRlbmQgLmQtYmxvY2s7XG5cblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGdyZWVuLCBsaW1lICk7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH1fX2l0ZW0jeyAmIH0tLWNhcnQgYSB7XG5cdFx0XHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1jZW50ZXI7XG5cdFx0XHRcdEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bTtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNHB4IGxlZnQgLTE4cHggKTtcblxuXHRcdFx0XHR3aWR0aDogMThweDtcblxuXHRcdFx0XHRjb250ZW50OiBhdHRyKCBkYXRhLXRleHQgKTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDExcHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9X19pdGVtI3sgJiB9LS1idXR0b24ge1xuXHRcdFx0c3ZnIHtcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggMjRweCApO1xuXG5cdFx0XHRcdGZpbGw6IHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICk7XG5cblx0XHRcdFx0Ji5jbG9zZSB7XG5cdFx0XHRcdFx0QGV4dGVuZCAuZC1ub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCYub3BlbiB7XG5cdFx0XHRcdFx0QGV4dGVuZCAuZC1ibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRAYXQtcm9vdCAubWVudS1tb2JpbGUtLWlzLW9wZW4gJiB7XG5cdFx0XHRcdHN2Zy5jbG9zZSB7XG5cdFx0XHRcdFx0QGV4dGVuZCAuZC1ibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0XHRzdmcub3BlbiB7XG5cdFx0XHRcdFx0QGV4dGVuZCAuZC1ub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0tYmx1ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MWMyO1xuXHRcdFx0Y29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwNDk5MCAhaW1wb3J0YW50O1xuXHRcdFx0XHRjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLWFjY291bnRfX25hbWUge1xuXHRcdFx0bWF4LXdpZHRoOiA4NXB4O1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR9XG5cblx0XHQmID4gYSxcblx0XHQmID4gYnV0dG9uLFxuXHRcdCYgPiBwIHtcblx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblx0XHRcdEBleHRlbmQgJWN1cnNvci1wb2ludGVyO1xuXHRcdFx0QGV4dGVuZCAlbWFyZ2luLXktMDtcblxuXHRcdFx0Zm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkZm9udCwgXCJ3ZWlnaHRzXCIsIFwibWVkaXVtXCIpO1xuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApO1xuXG5cdFx0XHQmLmlzLWFjdGl2ZSxcblx0XHRcdC8qICY6Zm9jdXMsICovXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgZGFyayApLCAwLjYgKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMThweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcblx0XHRcdC5TaXRlLW1lbnUgJiB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXG5cdFx0XHRcdCYgPiBhLFxuXHRcdFx0XHQmID4gYnV0dG9uIHtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUobGVmdCAyMHB4IHJpZ2h0IDIwcHggYm90dG9tIDApO1xuXG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdGhlaWdodDogMDtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApLCAwLjEgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19mb290ZXIge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmQtbWQtbm9uZTtcblx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1yZWd1bGFyO1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxOC41cHggcmlnaHQgMjBweCBib3R0b20gMTguNXB4IGxlZnQgMjBweCApO1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGdyYXksIHZlcnktZGFyayApO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMTZweDtcblxuXHRcdGltZyB7XG5cdFx0XHRAZXh0ZW5kIC5kLWlubGluZS1ibG9jaztcblx0XHRcdEBleHRlbmQgJXZlcnRpY2FsLWFsaWduLW1pZGRsZTtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDE0Ni4wMXB4LCAzM3B4ICk7XG5cblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHR3b3JkLWJyZWFrOiBrZWVwLWFsbDtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgNy41cHggbGVmdCA3LjVweCApO1xuXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiB0aGVfY29sb3IoIGdyYXksIGRhcmstMDEgKTtcblx0XHRcdH1cblxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggbGVmdCAwICk7XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoIDIgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMTVweCApO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDAgbGVmdCBhdXRvICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIERyb3Bkb3duXG4gKlxuICpcbiAqXG4gKi9cbi5Ecm9wZG93bi1tZW51IHtcblx0JHRoaXM6ICY7XG5cblx0Jl9fdGl0bGUge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDI1LjVweCBib3R0b20gMTNweCApO1xuXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDIzcHg7XG5cdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXG5cdCZfX2xpc3Qge1xuXHRcdEBleHRlbmQgJWxpc3Qtc3R5bGUtdHlwZS1ub25lLCAlZm9udC13ZWlnaHQtcmVndWxhcjtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAxNnB4IGJvdHRvbSAxOHB4ICk7XG5cblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIxcHg7XG5cdFx0Y29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICksIDAuNiApO1xuXHRcdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuXHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDAgbGVmdCAwICk7XG5cblx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApO1xuXG5cdFx0XHQmLmlzLWFjdGl2ZSxcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0bGkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgOXB4IGJvdHRvbSA5cHggKTtcblxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgKTtcblx0XHRcdH1cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cblx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgNDAuNXB4IGJvdHRvbSA0MC41cHggbGVmdCAyMHB4IHJpZ2h0IDIwcHggKTtcblxuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRiYWNrZ3JvdW5kOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjE2ICk7XG5cblx0XHR0cmFuc2l0aW9uOlxuXHRcdFx0MC43cyBvcGFjaXR5IG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICksXG5cdFx0XHQwLjdzIHZpc2liaWxpdHkgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblx0XHR6LWluZGV4OiA4O1xuXG5cdFx0QGF0LXJvb3QgLlNpdGUtaGVhZGVyICYge1xuXHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAxMDAlIHJpZ2h0ICN7ICRncmlkLWd1dHRlci13aWR0aCAvIC0yIH0gbGVmdCAjeyAkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMiB9ICk7XG5cdFx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoIDAgKTtcblxuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seShtZCkge1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAYXQtcm9vdCAuU2l0ZS1oZWFkZXIgLlNpdGUtbWVudSAuaXMtYWN0aXZlICYge1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoIDEgKTtcblx0XHR9XG5cblx0XHQvKiBAYXQtcm9vdCAuU2l0ZS1oZWFkZXIgJi5pcy1hY3RpdmUge1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoIDEgKTtcblx0XHR9ICovXG5cblx0XHQmX190aXRsZSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAzMXB4IHJpZ2h0IDAgYm90dG9tIDI1cHggbGVmdCAwICk7XG5cdFx0fVxuXG5cdFx0Jl9fY29sdW1uIHtcblx0XHRcdGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCB0aGVfY29sb3IoIGdyYXksIHZlcnktbGlnaHQtMDEgKTtcblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyAuRHJvcGRvd25fX2NvbHVtbl9fYm9keVxuXHRcdFx0Jl9fYm9keSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoIGxlZnQgJGdyaWQtZ3V0dGVyLXdpZHRoICk7XG5cblx0XHRcdFx0JiA+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgKTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmID4gKjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuQ2Fyb3VzZWwge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgYXV0byBsZWZ0IGF1dG8gKTtcblxuXHRcdFx0XHRcdHdpZHRoOiAyNjVweDtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBOYXYgTW9iaWxlIC0gTWVudSBCdXJnZXJcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG5cblx0XHRAYXQtcm9vdCAuU2l0ZS1tZW51ICYge1xuXHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwIGxlZnQgMTAwJSApO1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDEwcHggYm90dG9tICk7XG5cdFx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoIDAgKTtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDEwMCUgKTtcblxuXHRcdFx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRcdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblx0XHRcdHRyYW5zaXRpb246XG5cdFx0XHRcdG9wYWNpdHkgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApLFxuXHRcdFx0XHR2aXNpYmlsaXR5IDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblxuXHRcdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoIDEgKTtcblx0XHRcdH1cblxuXHRcdFx0LnJvdyB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblxuXHRcdFx0I3sgJHRoaXMgfV9fY29sdW1uIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMjUuNXB4ICk7XG5cdFx0XHRcdHBhZGRpbmc6IDAgJGdyaWQtZ3V0dGVyLXdpZHRoO1xuXHRcdFx0fVxuXG5cdFx0XHQuQ2Fyb3VzZWwge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAxMC41cHggYm90dG9tIDM3cHggKTtcblxuXHRcdFx0XHQmX19pdGVtcyB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCBhdXRvIGxlZnQgYXV0byApO1xuXG5cdFx0XHRcdFx0d2lkdGg6IDMwNXB4O1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5DYXJkLXJlYWRtb3JlIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDM5MHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmZsaWNraXR5LXZpZXdwb3J0IHtcblx0XHRcdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBUdXRvcmlhbHMgdmlkZW9zXG4gKlxuICpcbiAqXG4gKi9cbi5UdXRvcmlhbHMtdmlkZW9zIHtcblxuXHQuZmxpY2tpdHktcGFnZS1kb3RzIHtcblx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblxuXHRcdEBleHRlbmQgJWZsaWNraXR5LXBhZ2UtZG90cztcblx0fVxuXG5cdC5mbGlja2l0eS12aWV3cG9ydCB7XG5cdFx0QGV4dGVuZCAlb3ZlcmZsb3ctdmlzaWJsZSwgJW92ZXJmbG93LW1kLWhpZGRlbjtcblx0fVxuXG5cdEBleHRlbmQgJW1hcmdpbi15LTYsICVtYXJnaW4teS1tZC04LCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAzICk7XG5cblx0Ly8gLlR1dG9yaWFscy12aWRlb3NfX25hdmlnYXRpb25cblx0Jl9fbmF2aWdhdGlvbiB7XG5cdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwIHJpZ2h0IDAgYm90dG9tIDAgbGVmdCAwICk7XG5cdFx0QGV4dGVuZCAuZC1ub25lLCAuZC1tZC1mbGV4LCAuYWxpZ24taXRlbXMtY2VudGVyLCAuanVzdGlmeS1jb250ZW50LWJldHdlZW47XG5cdFx0QGV4dGVuZCAlUG9pbnRlci1ldmVudHMtbm9uZTtcblxuXHRcdGJ1dHRvbiB7XG5cdFx0XHRAZXh0ZW5kICVQb2ludGVyLWV2ZW50cy1hdXRvO1xuXHRcdH1cblxuXHRcdHotaW5kZXg6IDI7XG5cdH1cbn1cbiIsIi8qKlxuICogRmxpZ2h0IGRldGFpbFxuICpcbiAqXG4gKlxuICpcbiAqL1xuLkZsaWdodC1kZXRhaWwge1xuXHRAaW5jbHVkZSBtYXJnaW4oIHRvcCA0MHB4IGJvdHRvbSA0MHB4ICk7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNjBweCBib3R0b20gNjBweCApO1xuXHR9XG5cblx0LmZsaWNraXR5LXZpZXdwb3J0IHtcblx0XHRAZXh0ZW5kICVvdmVyZmxvdy12aXNpYmxlO1xuXHR9XG5cblx0aHIge1xuXHRcdEBpbmNsdWRlIHNpemUoIDEwMCUsIDFweCApO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDQwcHggKTtcblxuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGdyYXksIHZlcnktbGlnaHQtMDEgKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNjBweCApO1xuXHRcdH1cblx0fVxuXG5cdC5GbGlnaHRfX3RpbWUge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDE1cHggYm90dG9tIDE1cHggKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMjlweCBib3R0b20gMjVweCApO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RyYWNraW5nIHtcblx0XHRwIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQmX19kYXRlIHtcblx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1tZWRpdW07XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMzJweCApO1xuXG5cdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgZGFyayApO1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRsaW5lLWhlaWdodDogMjRweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTEuNXB4ICk7XG5cblx0XHRcdGZvbnQtc2l6ZTogNTRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA1NHB4O1xuXHRcdH1cblxuXHRcdCZfX2xhYmVsIHtcblx0XHRcdEBleHRlbmQgLmQtbm9uZSwgLmQtbWQtYmxvY2s7XG5cdFx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1yZWd1bGFyO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMTBweCApO1xuXG5cdFx0XHRjb2xvcjogcmdiYSggdGhlX2NvbG9yKCBibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQgKSwgMC41ICk7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjFweDtcblx0XHR9XG5cdH1cblxuXHQvLyAuRmxpZ2h0LWRldGFpbF9fb3JpZ2luXG5cdCZfX29yaWdpbiB7XG5cdFx0QGV4dGVuZCAlZm9udC13ZWlnaHQtbWVkaXVtLCAldGV4dC1hbGlnbi1jZW50ZXI7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMXB4ICk7XG5cblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgZGFyayApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAxMXB4ICk7XG5cblx0XHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdH1cblx0fVxuXG5cdCZfX21vbmEge1xuXHRcdEBleHRlbmQgJXRleHQtYWxpZ24tY2VudGVyO1xuXG5cdFx0c3ZnIHtcblx0XHRcdHdpZHRoOiA2MHB4O1xuXHRcdFx0aGVpZ2h0OiAyMHB4O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0d2lkdGg6IDkwcHg7XG5cdFx0XHRcdGhlaWdodDogMzBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyAuRmxpZ2h0LWRldGFpbF9fdGVybWluYWxcblx0Jl9fdGVybWluYWwge1xuXHRcdEBleHRlbmQgJXRleHQtdHJhbnNmb3JtLXVwcGVyY2FzZSwgJXRleHQtYWxpZ24tY2VudGVyO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDFweCBib3R0b20gMTVweCApO1xuXG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRcdGNvbG9yOiByZ2JhKCB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApLCAwLjUgKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTFweCBib3R0b20gMjlweCApO1xuXG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTlweDtcblx0XHR9XG5cdH1cblxuXHQvLyAuRmxpZ2h0LWRldGFpbF9fY29tcGFueVxuXHQmX19jb21wYW55IHtcblx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWNlbnRlcjtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAxNXB4ICk7XG5cblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDI1cHggKTtcblx0XHR9XG5cdH1cblxuXHQmX19udW1iZXIge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDRweCBib3R0b20gN3B4ICk7XG5cdFx0QGV4dGVuZCAldGV4dC1hbGlnbi1jZW50ZXI7XG5cblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cdH1cblxuXHQvLyAuRmxpZ2h0LWRldGFpbF9faXRlbVxuXHQmX19pdGVtIHtcblx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1tZWRpdW0sICV0ZXh0LWFsaWduLWNlbnRlcjtcblxuXHRcdGZvbnQtc2l6ZTogNDBweDtcblx0XHRsaW5lLWhlaWdodDogNDBweDtcblx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdGZvbnQtc2l6ZTogNTRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA1NHB4O1xuXHRcdH1cblxuXHRcdGltZyB7XG5cdFx0XHRAZXh0ZW5kIC5kLWlubGluZS1ibG9jaztcblx0XHRcdEBleHRlbmQgJXZlcnRpY2FsLWFsaWduLW1pZGRsZTtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMTBweCBsZWZ0IDEwcHggKTtcblxuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdCZfX3RpdGxlIHtcblx0XHRcdEBleHRlbmQgJXRleHQtdHJhbnNmb3JtLXVwcGVyY2FzZSwgJWZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG5cdFx0XHRAaW5jbHVkZSBsZXR0ZXItc3BhY2luZyggMjAgKTtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgYm90dG9tIDEwcHggKTtcblxuXHRcdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICk7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTJweDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3JlZ2lzdHJhdGlvbiB7XG5cdFx0XHRmb250LXNpemU6IDY1JTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogQ29tcGFueVxuICpcbiAqXG4gKiBAcGFja2FnZSBhZGxcbiAqL1xuLkNvbXBhbnkge1xuXHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgNjBweCBib3R0b20gNjBweCApO1xuXHRAaW5jbHVkZSBtYXJnaW4oIHRvcCA2MHB4IGJvdHRvbSA2MHB4ICk7XG5cblx0YmFja2dyb3VuZDogdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAzICk7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDgwcHggYm90dG9tIDgwcHggKTtcblx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgODBweCBib3R0b20gODBweCApO1xuXHR9XG5cblx0Jl9fbG9nbyB7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuYWxpZ24taXRlbXMtY2VudGVyLCAuanVzdGlmeS1jb250ZW50LWNlbnRlcjtcblxuXHRcdGhlaWdodDogMTYwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRcdGJhY2tncm91bmQ6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0XHRib3gtc2hhZG93OiAwcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXG5cdFx0aW1nIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCA0NXB4IHJpZ2h0IDQ1cHggYm90dG9tIDQ1cHggbGVmdCA0NXB4ICk7XG5cdFx0XHRAZXh0ZW5kIC5kLWlubGluZS1ibG9jaztcblx0XHRcdEBleHRlbmQgJXZlcnRpY2FsLWFsaWduLW1pZGRsZTtcblx0XHRcdEBpbmNsdWRlIHNpemUoIGF1dG8gKTtcblxuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRvYmplY3QtZml0OiBzY2FsZS1kb3duO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCZfX2xvY2F0aW9uIHtcblx0XHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxNS41cHggYm90dG9tIDE1LjVweCApO1xuXG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHRoZV9jb2xvciggZ3JheSwgdmVyeS1saWdodC0wMSApO1xuXG5cdFx0Jl9fdGl0bGUge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCBib3R0b20gMTBweCBsZWZ0IDAgKTtcblx0XHRcdEBleHRlbmQgJXRleHQtdHJhbnNmb3JtLXVwcGVyY2FzZTtcblxuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdFx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cdFx0fVxuXG5cdFx0Jl9fYm9keSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAxMHB4ICk7XG5cdFx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQgKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXG5cdFx0XHQmID4gKjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgKTtcblx0XHRcdH1cblxuXHRcdFx0JiA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblx0XHRcdH1cblxuXHRcdFx0Jl9faG91cnMge1xuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0cGFkZGluZzogNXB4IDEwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogR28gZnVydGhlclxuICpcbiAqIEBwYWNrYWdlIGFkbFxuICovXG4uR28tZnVydGhlciB7XG5cdEBleHRlbmQgJW1hcmdpbi15LTAsICVwYWRkaW5nLXktNjtcblxuXHQmLmhhcy1iYWNrZ3JvdW5kIHtcblx0XHRAZXh0ZW5kICVwYWRkaW5nLXktNiwgJXBhZGRpbmctdG9wLW1kLTksICVwYWRkaW5nLWJvdHRvbS1tZC0xMCwgJW1hcmdpbi0wO1xuXHR9XG5cblx0LmZsaWNraXR5LXZpZXdwb3J0IHtcblx0XHRAZXh0ZW5kICVvdmVyZmxvdy12aXNpYmxlO1xuXHR9XG5cblx0LkNhcmQge1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdC8vIEBleHRlbmQgLmQtaW5saW5lLWJsb2NrO1xuXHRcdC8vIGhlaWdodDogMTAwJTtcblxuXHRcdC8vIG1pbi1oZWlnaHQ6IDI3NHB4O1xuXHRcdC8vIFxuXHRcdC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdC8vIFx0bWluLWhlaWdodDogMzgwcHg7XG5cdFx0Ly8gfVxuXHR9XG5cdCZbZGF0YS1mbGlja2l0eS1kZXNrdG9wPVwidHJ1ZVwiXSB7XG5cdFx0LmZsaWNraXR5LXJlYWR5IC5Hby1mdXJ0aGVyX19pdGVtIHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHR9XG5cdH1cblx0JltkYXRhLWZsaWNraXR5LWRlc2t0b3A9XCJmYWxzZVwiXSB7XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG5cdFx0XHQuZmxpY2tpdHktcmVhZHkgLkdvLWZ1cnRoZXJfX2l0ZW0ge1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFRyYXZlbCBkaWFyeVxuICpcbiAqXG4gKlxuICovXG4uVHJhdmVsLWRpYXJ5IHtcblxuXHQuZmxpY2tpdHktdmlld3BvcnQge1xuXHRcdEBleHRlbmQgJW92ZXJmbG93LXZpc2libGU7XG5cdH1cblxuXHQmX19zZWxlY3RvcnMge1xuXHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXG5cdFx0ei1pbmRleDogNDtcblx0fVxuXG5cdC8vIC5UcmF2ZWwtZGlhcnlfX2hlYWRlclxuXHQmX19oZWFkZXIge1xuXHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlLCAldGV4dC1hbGlnbi1jZW50ZXI7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIC00MHB4ICk7XG5cblx0XHRoZWlnaHQ6IDY1MHB4O1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cblx0XHQmX190aXRsZSB7XG5cdFx0XHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZSwgJWZvbnQtZmFtaWx5LWN1cnNpdmUtMDEsICVtYXJnaW4tdG9wLTA7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAxMHB4ICk7XG5cblx0XHRcdGxpbmUtaGVpZ2h0OiA1MHB4O1xuXHRcdFx0Zm9udC1zaXplOiA4MHB4O1xuXHRcdFx0ei1pbmRleDogMjtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIC0zcHggKTtcblxuXHRcdFx0XHRsaW5lLWhlaWdodDogMTU2cHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTMwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fY29udGVudCB7XG5cdFx0XHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMTBweCBsZWZ0IDEwcHggKTtcblxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0XHR6LWluZGV4OiAyO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAwIGxlZnQgMCApO1xuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fYmFja2dyb3VuZCB7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAxMDAlICk7XG5cdFx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggdG9wIDAgcmlnaHQgMCBib3R0b20gMCBsZWZ0IDAgKTtcblxuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0fVxuXHR9XG5cblx0Ly8gLlRyYXZlbC1kaWFyeV9fZm9ybVxuXHQmX19mb3JtIHtcblx0XHQkdGhpczogJjtcblxuXHRcdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtY29sdW1uLCAuZmxleC1tZC1yb3c7XG5cdFx0QGV4dGVuZCAlb3ZlcmZsb3ctaGlkZGVuLCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC4xNiApO1xuXG5cdFx0LkJ1dHRvbi5CdXR0b24tLWV4dHJhLWxhcmdlIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCB0aGVfY29sb3IoIGJsYWNrICksIDAuMTYgKTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC4xNiApO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcblx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1jZW50ZXI7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAxMDAlLCA4MHB4ICk7XG5cblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cblx0XHRcdHRyYW5zaXRpb246XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3IgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApLFxuXHRcdFx0XHRib3gtc2hhZG93IDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggMjBweCApO1xuXHRcdFx0XHRmaWxsOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSggdGhlX2NvbG9yKCBibHVlLCBkYXJrICksIDEgKTtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgZGFyayApLCAxICk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKCA4MHB4ICk7XG5cblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICksIDEgKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19ib2R5IHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCBib3R0b20gNjBweCApO1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAyICk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIGJvdHRvbSAxMDBweCApO1xuXHRcdH1cblx0fVxuXG5cdCZfX2l0ZW1zIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAzMHB4IGJvdHRvbSAxMHB4ICk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDcwcHggYm90dG9tIC0xMHB4ICk7XG5cdFx0fVxuXHR9XG5cblx0Jl9faXRlbSB7XG5cdFx0QGV4dGVuZCAuZC1pbmxpbmUtYmxvY2s7XG5cdFx0QGV4dGVuZCAldmVydGljYWwtYWxpZ24tdG9wO1xuXG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDEwcHggYm90dG9tIDEwcHggKTtcblxuXHRcdFx0JjpudGgtY2hpbGQoIDIgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDUwcHggKTtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoIDQgKSwgJjpudGgtY2hpbGQoIDYgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIC0zMHB4ICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFByZXBhcmVcbiAqXG4gKlxuICovXG4uUHJlcGFyZSB7XG5cblx0LmZsaWNraXR5LXZpZXdwb3J0IHtcblx0XHRAZXh0ZW5kICVvdmVyZmxvdy12aXNpYmxlO1xuXHR9XG5cblx0QGV4dGVuZCAlb3ZlcmZsb3ctbWQtdmlzaWJsZTtcblx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNjBweCBib3R0b20gNjBweCApO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDgwcHggYm90dG9tIDEwMHB4ICk7XG5cdH1cblxuXHQmX19pdGVtcyB7XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAtMTBweCBib3R0b20gLTEwcHggKTtcblx0XHR9XG5cdH1cblxuXHQmX19pdGVtIHtcblx0XHRAZXh0ZW5kIC5kLWlubGluZS1ibG9jaztcblxuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDEwcHggYm90dG9tIDEwcHggKTtcblx0fVxufVxuIiwiLyoqXG4gKiBPcmdhbml6ZVxuICpcbiAqXG4gKlxuICovXG4uT3JnYW5pemUge1xuXHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgNjBweCBib3R0b20gNjBweCApO1xuXG5cdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggZ3JheSwgdmVyeS1saWdodC0wMiApO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCA4MHB4IGJvdHRvbSA4MHB4ICk7XG5cdH1cblxuXHQmX19jYXJvdXNlbCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTBweCApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAyMHB4ICk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIEFsZXJ0XG4gKlxuICpcbiAqXG4gKi9cbi5BbGVydCB7XG5cdCR0aGlzOiAmO1xuXG5cdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBtYXAtZ2V0KCRlYXNpbmdzLCBlYXNlLW91dC1leHBvKSxcblx0XHRjb2xvciAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pO1xuXG5cdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQpO1xuXHRjb2xvcjogdGhlX2NvbG9yKHdoaXRlKTtcblxuXHQkdmFyaWFudHM6IChcblx0XHRzdWNjZXNzOiB0aGVfY29sb3IoZ3JlZW4sIGxpbWUpLFxuXHRcdHdhcm5pbmc6IHRoZV9jb2xvcihvcmFuZ2UsIGJyaWdodCksXG5cdFx0ZGFuZ2VyOiB0aGVfY29sb3IocmVkLCBicmlnaHQpLFxuXHRcdGluZm86IHRoZV9jb2xvcihncmF5LCBkYXJrLTAxKSxcblx0KTtcblxuXHRAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHZhcmlhbnRzIHtcblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9W2RhdGEtdmFyaWFudD0nI3sgJGtleSB9J10ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHZhbHVlO1xuXHRcdH1cblx0fVxuXG5cdEBhdC1yb290ICN7ICR0aGlzIH1bZGF0YS12YXJpYW50PSdsaWdodCddIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3Iod2hpdGUpO1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgc3Ryb25nKTtcblx0fVxuXG5cdEBhdC1yb290ICN7ICR0aGlzIH1bZGF0YS12YXJpYW50PSdkYXJrJ10ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQpO1xuXHRcdGNvbG9yOiB0aGVfY29sb3Iod2hpdGUpO1xuXHR9XG5cblx0Jl9faW5uZXIge1xuXHRcdEBleHRlbmQgLmQtbWQtZmxleDtcblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdH1cblx0XHQ+ICosXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0ZmxleDogMSAxIGNhbGMoKDEwMHZ3IC0gI3skY29udGFpbmVyLXdpZHRofSkgLyAyKTtcblx0XHR9XG5cdFx0LlNpdGUtY29udGFpbmVyIHtcblx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKXtcblx0XHRcdC5TaXRlLWNvbnRhaW5lciB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19pdGVtIHtcblx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1zdGFydCwgLmFsaWduLWl0ZW1zLW1kLWNlbnRlcjtcblx0XHQvLyBAaW5jbHVkZSBtYXJnaW4ocmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoICsgMTZweCk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogNTBweDtcblxuXHRcdCZfX2lubmVyIHtcblx0XHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLW5vbmUsICVvdmVyZmxvdy1oaWRkZW47XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cblx0XHQmX19zY3JvbGxhYmxlIHtcblx0XHRcdEBleHRlbmQgLmQtaW5saW5lLWZsZXgsIC5hbGlnbi1pdGVtcy1iYXNlbGluZTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0Jjpub3QoLm5vLXNjcm9sbCkgPiAqIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogNzBweDtcblx0XHRcdH1cblxuXHRcdFx0Ji5uby1zY3JvbGwge1xuXHRcdFx0XHRwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG5cdFx0XHRcdHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuXG5cdFx0XHRcdD4gKjpub3QoOmZpcnN0LWNoaWxkKXtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XG5cdFx0XHQmX19pdGVtW2RhdGEtdmFyaWFudD0nbGlnaHQnXSB7XG5cdFx0XHRcdC5BbGVydF9fcmVhZG1vcmUge1xuXHRcdFx0XHRcdGJvcmRlcjogdGhlX2NvbG9yKGJsdWUsIHN0cm9uZykgMXB4IHNvbGlkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuXHRcdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyNHB4O1xuXHRcdFx0XG5cdFx0XHQmX19pbm5lciB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogJGdyaWQtb3V0ZXItZ3V0dGVyLXdpZHRoO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0Jl9fc2Nyb2xsYWJsZSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcblx0XHRcdFx0dHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblxuXHRcdFx0XHQ+ICo6bm90KDpmaXJzdC1jaGlsZCl7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XHRcdFx0XG5cdH1cblxuXHQmX19ib2R5IHtcblx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXI7XG5cdH1cblxuXHQvLyAuQWxlcnRfX3RleHRcblx0Jl9fdGV4dCB7XG5cdFx0QGV4dGVuZCAuZC1pbmxpbmUtZmxleCwgLmFsaWduLWl0ZW1zLWJhc2VsaW5lO1xuXHRcdEBleHRlbmQgJXdoaXRlLXNwYWNlLW5vd3JhcCwgJWZvbnQtd2VpZ2h0LWJvbGQ7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCAxNXB4IGJvdHRvbSAkZ3JpZC1ndXR0ZXItd2lkdGggLyA0KTtcblxuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcblx0XHQmX19waHJhc2Uge1xuXHRcdFx0QGV4dGVuZCAlb3ZlcmZsb3ctbWQtaGlkZGVuLCAlZm9udC13ZWlnaHQtcmVndWxhcjtcblx0XHRcdFxuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4odG9wIDAgYm90dG9tIDApO1xuXG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRsaW5lLWhlaWdodDogMjFweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHR9XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZSwgJW92ZXJmbG93LWhpZGRlbjtcblx0XHRcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXG5cdFx0dWwge1xuXHRcdFx0QGV4dGVuZCAlbGlzdC1zdHlsZS10eXBlLW5vbmU7XG5cdFx0XHRAaW5jbHVkZSBhYnNvbHV0ZSh0b3AgMCByaWdodCAwIGxlZnQgMCk7XG5cblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjdzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pO1xuXHRcdFx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCZfX3JlYWRtb3JlIHtcblx0XHRAZXh0ZW5kICV3aGl0ZS1zcGFjZS1ub3dyYXA7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyh0b3AgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gNCk7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCBhdXRvIGJvdHRvbSAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuXG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMjFweDtcblx0XHRjb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG9wYWNpdHk6IDAuNjtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbWFwLWdldCgkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4odG9wIDAgYm90dG9tIDApO1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyhcblx0XHRcdFx0dG9wIDEwcHggYm90dG9tIDEwcHggbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGhcblx0XHRcdCk7XG5cblx0XHRcdHN2ZyB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW46IDNweCAwIDA7XG5cdFx0XHRwYWRkaW5nOiAxMHB4IDZweDtcblx0XHRcdGZvbnQtc2l6ZTogMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0b3BhY2l0eTogMTtcblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0XHRcdGhlaWdodDogMjBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG5cblx0Ly8gLkFsZXJ0X19hc2lkZVxuXHQmX19hc2lkZSB7XG5cdFx0QGV4dGVuZCAuZC1mbGV4O1xuXHRcdEBleHRlbmQgJXdoaXRlLXNwYWNlLW1kLW5vd3JhcDtcblx0XHRcblx0XHQmID4gKjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4obGVmdCAwKTtcblx0XHR9XG5cdFx0XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCAwIGJvdHRvbSAwKTtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcobGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggcmlnaHQgMjBweCk7XG5cdFx0XHRAaW5jbHVkZSBzaXplKGF1dG8sIDUwcHgpO1xuXHRcdFx0XG5cdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQvLyAuQWxlcnRfX2Rpc21pc3Ncblx0Jl9fZGlzbWlzcyB7XG5cdFx0QGluY2x1ZGUgYWJzb2x1dGUodG9wIDE2cHggcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoKTtcblx0XHRAaW5jbHVkZSBtYXJnaW4odG9wICRncmlkLWd1dHRlci13aWR0aCByaWdodCAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuXHRcdEBleHRlbmQgLmp1c3RpZnktY29udGVudC1jZW50ZXIsIC5hbGlnbi1pdGVtcy1jZW50ZXI7XG5cblx0XHR6LWluZGV4OiAxO1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0bWFyZ2luLXRvcDogLTEwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtMTBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbih0b3AgMCByaWdodCAwIGJvdHRvbSAwKTtcblx0XHRcdEBpbmNsdWRlIHNpemUoNTBweCk7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdFx0dG9wOiBhdXRvO1xuXHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0fVxuXG5cdFx0c3ZnIHtcblx0XHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLW5vbmUsICV2ZXJ0aWNhbC1hbGlnbi1taWRkbGU7XG5cdFx0XHRAZXh0ZW5kIC5kLWlubGluZS1ibG9jaztcblx0XHRcdEBpbmNsdWRlIHNpemUoMTRweCk7XG5cblx0XHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKDE2cHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIC5BbGVydF9fbmF2aWdhdGlvblxuXHQmX19uYXZpZ2F0aW9uIHtcblx0XHRAZXh0ZW5kICVsaXN0LXN0eWxlLXR5cGUtbm9uZTtcblx0XHRAZXh0ZW5kICVmbGlja2l0eS1wYWdlLWRvdHM7XG5cdFx0XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKXtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG5cdFx0XHRwYWRkaW5nOiA1cHggMTVweCAxNXB4O1xuXHRcdH1cblxuXHRcdC5kb3Qge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCAwIHJpZ2h0IDZweCBib3R0b20gMCBsZWZ0IDZweCk7XG5cdFx0XHRAaW5jbHVkZSBzaXplKDEwcHgpO1xuXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCAwKTtcblx0XHRcdH1cblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKGJvdHRvbSAwKTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4odG9wIDAgcmlnaHQgNy41cHggYm90dG9tIDAgbGVmdCA3LjVweCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSAmIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbih0b3AgMCByaWdodCBhdXRvIGxlZnQgYXV0byk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKHJpZ2h0IDEwcHgpO1xuXHRcdFx0fVxuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuMztcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pO1xuXG5cdFx0XHRcdEBhdC1yb290ICN7ICR0aGlzIH0gI3sgJHRoaXMgfV9fbmF2aWdhdGlvbiBsaSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGxpLmlzLXNlbGVjdGVkIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi8qIENyaXNpcyBhbGVydCAqL1xuLmNyaXNpc19hbGVydCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDAsMCwwLjUpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgICB6LWluZGV4OiA5OTk7XG5cdGgxIHtcblx0ICAgIGZvbnQtc2l6ZTogMS41ZW07XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRmb250LXNpemU6IDIuNWVtO1xuXHRcdH1cblx0fVxuICAgICZfY29udGFpbmVyIHtcblx0XHRiYWNrZ3JvdW5kOiByZWQ7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0cGFkZGluZzogMmVtO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogODB2dztcblx0XHRtYXJnaW4tdG9wOiA1MHZoO1xuXHRcdG1hcmdpbi1sZWZ0OiA1MHZ3O1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0d2lkdGg6IDUwdnc7XG5cdFx0fVxuXHR9XG5cdCZfY29udGVudCB7XG5cdCAgICBmb250LXNpemU6IDFlbTtcblx0fVxuXHQmX3JlYWRtb3JlIHtcblx0ICAgIGJvcmRlcjogd2hpdGUgc29saWQgMXB4O1xuXHQgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuXHQgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG5cdCAgICBmb250LXNpemU6IDFlbTtcblx0ICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuXHQgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblx0Jl9kaXNtaXNzIHtcblx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgIHRvcDogMWVtO1xuXHQgICAgcmlnaHQ6IDFlbTtcblx0ICAgIHdpZHRoOiAyMHB4O1xuXHQgICAgaGVpZ2h0OiAyMHB4O1xuXHQgICAgc3ZnIHtcblx0ICAgICAgICB3aWR0aDogMjBweDtcblx0ICAgICAgICBoZWlnaHQ6IDIwcHg7XG5cdCAgICB9XG5cdH1cblx0Jl9oaWRkZW4ge1xuXHQgICAgZGlzcGxheTogbm9uZTtcblx0fVxufVxuIiwiLyoqXG4gKlxuICpcbiAqXG4gKi9cbi5OYXZpZ2F0aW9uLWJhciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggZ3JheSwgdmVyeS1saWdodC0wMiApO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMTAwJSByaWdodCAwIGxlZnQgMCApO1xuXG5cdFx0ei1pbmRleDogMTA7XG5cblx0XHRAYXQtcm9vdCAuU2l0ZS1oZWFkZXIuaXMtZml4ZWQgJiB7XG5cdFx0XHRAaW5jbHVkZSBmaXhlZCggdG9wIDAgcmlnaHQgMCBsZWZ0IDAgKTtcblxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgLTEwMCUsIDAgKTtcblx0XHR9XG5cblx0XHRAYXQtcm9vdCAuU2l0ZS1oZWFkZXIuaXMtZml4ZWQuaXMtYW5pbWF0ZWQgJiB7XG5cdFx0XHR0cmFuc2l0aW9uOlxuXHRcdFx0XHR0cmFuc2Zvcm0gMC43cyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApLFxuXHRcdFx0XHRib3gtc2hhZG93IDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblx0XHR9XG5cblx0XHRAYXQtcm9vdCAuc2Nyb2xsLXVwIC5TaXRlLWhlYWRlci5pcy1maXhlZCAmIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIDAsIDAgKTtcblx0XHRcdGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC4yICk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiogTWVudSBBY2NvdW50XG4qXG4qXG4qXG4qL1xuXG4uTWVudUFjY291bnQge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDJweCAycHg7XG4gICAgfVxuXG4gICAgJi1saXN0LWdyb3VwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBidXR0b24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjRzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICAgIEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bTtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogKDQ0IC8gMTgpO1xuICAgICAgICBjb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAoNjUgLyAyMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDEwcHggMTVweCAwIDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBbZGF0YS10b2dnbGU9XCJtZW51YWNjb3VudFwiXXtcbiAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgIFtjbGFzcyo9XCJjYXJldC1kb3duXCJdIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLXN1YnRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICA+IHAge1xuICAgICAgICAgICAgQGV4dGVuZCAuZC1mbGV4LCAuYWxpZ24taXRlbXMtY2VudGVyO1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZhcyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZV9jb2xvciggZ3JleSwgZGFyay0wMSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1saXN0LWdyb3VwIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhbmVsLWl0ZW0ge1xuICAgICAgICAgICAgJiArIC5wYW5lbC1pdGVtIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U4ZWJlYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBhLFxuICAgICAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmlzLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgID4gYSxcbiAgICAgICAgICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICAgIGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApO1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWNhcmQge1xuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi1jaGVjay1zcXVhcmUge1xuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi1ob3VzZSB7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50LWNvbGxhcHNlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuN3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblxuICAgICAgICAmID4gKjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcblxuICAgICAgICAgICAgJiA+ICo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDA7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUodGhlX2NvbG9yKCBibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQgKSwgMC40KTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaXMtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U4ZWJlYztcbiAgICB9XG5cbiAgICAuTWFpbkFjY291bnQgJiB7XG4gICAgICAgICYtbGlzdC1ncm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBncmV5LCBsaWdodCApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtbGlzdC1ncm91cDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGdyZXksIGxpZ2h0ICk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEodGhlX2NvbG9yKCBibGFjayApLCAwLjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICYtbGlzdC1ncm91cCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBsZWZ0OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1maXhlZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuN3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKXtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XG4gICAgICAgICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAYXQtcm9vdCAuc2Nyb2xsLXVwICYge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAYXQtcm9vdCAuU2l0ZS1oZWFkZXIgJiB7XG5cdFx0ei1pbmRleDogODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAzICk7XG5cbiAgICAgICAgLmNvbnRlbnQtY29sbGFwc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAvLyByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTI5cHgpO1xuXHRcdFx0d2lkdGg6IDI1OHB4O1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLDAsMCwwLjE2KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHR0cmFuc2l0aW9uOlxuXHRcdFx0XHRvcGFjaXR5IDAuN3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKSxcblx0XHRcdFx0dmlzaWJpbGl0eSAwcyBsaW5lYXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzLCAwLjZzO1xuXG4gICAgICAgICAgICAmLWxpc3QtZ3JvdXAgLnBhbmVsLWl0ZW0gPiBhLFxuICAgICAgICAgICAgJi1saXN0LWdyb3VwIC5wYW5lbC1pdGVtID4gYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDA7XG4gICAgICAgICAgICB9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5jb250ZW50LWNvbGxhcHNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG5cdFx0fVxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pe1xuICAgICAgICAgICAgLy8gLkRpc2Nsb3N1cmUtbmF2X19idXR0b24ge1xuICAgICAgICAgICAgLy8gICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIC8vICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgJi1saXN0LWdyb3Vwe1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVfY29sb3IoIGJsYWNrICk7XG5cbiAgICAgICAgICAgICAgICAucGFuZWwtaXRlbSA+IGEsXG4gICAgICAgICAgICAgICAgLnBhbmVsLWl0ZW0gPiBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5wYW5lbC1pdGVtICsgLnBhbmVsLWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNkN2Q3ZDc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi1pdGVtIC5pY29uIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRcdFx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBkYXJrKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbnRlbnQtY29sbGFwc2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGF0LXJvb3QgLlNpdGUtaGVhZGVyICYuaXMtYWN0aXZlLFxuICAgIC5TaXRlLW1lbnVfX2l0ZW0tLWFjY291bnQ6aG92ZXIgJiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAYXQtcm9vdCAuU2l0ZS1tZW51ICYge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG59IiwiLlNtYXJ0V2VsY29tZSB7XG4gIC5CYW5uZXIge1xuICAgICYtLXNlbGVjdG9yIHtcbiAgICAgICYtLWgxMDAge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgICB9XG4gIH1cbn0iLCIjYmxvY2stYWRsLWxvY2FsLXRhc2tzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgdWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzAyNDk5MDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5hLnRvb2xiYXItaWNvbi50b29sYmFyLWljb24tYWRtaW4tdG9vbGJhci10b29scy1oZWxwOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdEaW1HcmF5JyB2aWV3Qm94PScwIDAgMjQgMjQnJTNlJTNjcGF0aCBkPSdNMTIgNC45MmMuNi42OTYgMS4yNzIgMS4zNDQgMS45MiAxLjk5MiAyLjQgMi40IDQuNTYgNC41NiA0LjU2IDcuNzc2VjE1LjA5NmMtLjA5NiAzLjUyOC0zIDYuMzg0LTYuNTI4IDYuMzg0aC0uMTJjLTEuNzI4LS4wNDgtMy4zODQtLjc0NC00LjU2LTEuOTkyLTEuMTc2LTEuMjk2LTEuODI0LTIuOTUyLTEuNzc2LTQuNzI4di0uMDQ4YzAtMy4yMTYgMi4yNTYtNS40IDQuNTYtNy43NzZBNDkuODM1IDQ5LjgzNSAwIDAwMTIgNC45MnpNMTIgMGMtLjQ4IDEuODI0LTIuMDg4IDMuNDMyLTMuNzkyIDUuMDQtMi40NzIgMi41Mi01LjMyOCA1LjQtNS4zMjggOS42NDgtLjEyIDUuMDQgMy45MTIgOS4yMTYgOC45MDQgOS4zMTJIMTJjNC45MiAwIDktMy45NiA5LjEyLTguOTA0di0uMzg0YzAtNC4yOTYtMi44OC03LjEyOC01LjM1Mi05LjY0OEMxNC4wODggMy40MzIgMTIuNDggMS44MjQgMTIgMHonLyUzZSUzYy9zdmclM2VcIik7XG59IiwiLypcbiAqIEd1aWRcbiAqXG4gKiBAZmlsZSBzdHlsZXNoZWV0cy9jb21wb25lbnRzL2d1aWRcbiAqL1xuLkd1aWQge1xuXHRAZXh0ZW5kICVQb2ludGVyLWV2ZW50cy1ub25lO1xuXHR6LWluZGV4OiAxMDAwMDtcblxuXHRAaW5jbHVkZSBhYnNvbHV0ZShcblx0XHR0b3AgMFxuXHRcdHJpZ2h0IDBcblx0XHRib3R0b20gMFxuXHRcdGxlZnQgMFxuXHQpO1xuXG5cdC8qKlxuXHQgKiBNYXRjaCBhbGwgY2xhc3NlcyBzdGFydGluZyBieSBjb2wtXG5cdCAqL1xuXHRbY2xhc3NePSdjb2wtJ10gLkd1aWRfX2NvbHVtbiB7XG5cdFx0YmFja2dyb3VuZDoge1xuXHRcdFx0Y29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgcHVyZSApLCAwLjIgKTtcblx0XHR9XG5cdH1cblxuXG5cdFtjbGFzc149J2NvbC0nXTpudGgtY2hpbGQob2RkKSAuR3VpZF9fY29sdW1uIHtcblx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRjb2xvcjogcmdiYSggdGhlX2NvbG9yKCByZWQsIHB1cmUgKSwgMC4yICk7XG5cdFx0fVxuXHR9XG5cblxuXHQvKipcblx0ICogR3VpZFxuXHQgKlxuXHQgKiBAdXNlcyAuR3VpZF9fY29sdW1uXG5cdCAqL1xuXHQmX19jb2x1bW4ge1xuXHRcdGNvbG9yOiByZ2JhKCAkYmxhY2ssIDAuMiApO1xuXG5cdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSApO1xuXHR9XG59XG4iLCIvKipcbiAqIEJ1dHRvblxuICpcbiAqIEB1c2VzIC5CdXR0b25cbiAqL1xuLkJ1dHRvbiB7XG5cdCR0aGlzOiAmO1xuXG5cdEBleHRlbmQgLmQtaW5saW5lLWJsb2NrO1xuXHRAZXh0ZW5kICV0ZXh0LWFsaWduLWNlbnRlciwgJWZvbnQtd2VpZ2h0LW1lZGl1bTtcblxuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVycywgcmFkaXVzKTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRsaW5lLWhlaWdodDogMjFweDtcblxuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pLFxuXHRcdGJhY2tncm91bmQtY29sb3IgMC4zcyBtYXAtZ2V0KCRlYXNpbmdzLCBlYXNlLW91dC1leHBvKSxcblx0XHRib3gtc2hhZG93IDAuM3MgbWFwLWdldCgkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyksXG5cdFx0Ym9yZGVyLWNvbG9yIDAuM3MgbWFwLWdldCgkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyksXG5cdFx0b3BhY2l0eSAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCBsZWZ0ICRncmlkLWd1dHRlci13aWR0aCk7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0fVxuXG5cdEBpbmNsdWRlIHBhZGRpbmcoXG5cdFx0dG9wIDEzLjVweCByaWdodCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyIGJvdHRvbSAxMy41cHggbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyXG5cdCk7XG5cblx0Jjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG5cdFx0QGV4dGVuZCAlY3Vyc29yLXBvaW50ZXI7XG5cdH1cblxuXHQmLmlzLW9mZiB7XG5cdFx0QGV4dGVuZCAlUG9pbnRlci1ldmVudHMtbm9uZTtcblxuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHRcdG9wYWNpdHk6IDAuMztcblx0fVxuXG5cdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1iYWNrIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKHRvcCAwIHJpZ2h0IDAgYm90dG9tIDAgbGVmdCAwKTtcblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1iYWNrIHtcblx0XHRcdEBleHRlbmQgJWZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG5cdFx0fVxuXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMXB4O1xuXHRcdGNvbG9yOiByZ2JhKHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQpLCAwLjUpO1xuXG5cdFx0c3ZnIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbihyaWdodCAxMHB4KTtcblx0XHRcdEBpbmNsdWRlIHNpemUoNXB4LCA4LjFweCk7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogcmdiYSh0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKSwgMC43KTtcblx0XHR9XG5cdH1cblxuXHRAYXQtcm9vdCAjeyAmIH0jeyAmIH0tLWljb24ge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1jZW50ZXI7XG5cblx0XHRzdmcge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKHJpZ2h0IDE1cHgpO1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSgkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuXG5cdFx0XHRmaWxsOiBjdXJyZW50Q29sb3I7XG5cdFx0fVxuXHR9XG5cblx0QGF0LXJvb3QgI3sgJiB9I3sgJiB9LS1tZWRpdW0ge1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoXG5cdFx0XHR0b3AgNi41cHggcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiBib3R0b20gNi41cHggbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyXG5cdFx0KTtcblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1pY29uI3sgJiB9IHtcblx0XHRcdEBleHRlbmQgLmQtaW5saW5lLWZsZXg7XG5cdFx0XHRzdmcge1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKDIxcHgsIDE0cHgpO1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4ocmlnaHQgMTBweCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QGF0LXJvb3QgI3sgJiB9I3sgJiB9LS1pY29uLWxpZ2h0IHtcblx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyLCAuZmxleC1jb2x1bW4sIC5mbGV4LW1kLXJvdztcblxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHRoZV9jb2xvcihibHVlLCBsaWdodC1ncmF5aXNoLTAzKTtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgc3Ryb25nKTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKTtcblx0XHR9XG5cblx0XHRzdmcge1xuXHRcdFx0QGV4dGVuZCAlUG9pbnRlci1ldmVudHMtbm9uZTtcblx0XHRcdEBpbmNsdWRlIHNpemUoMjlweCwgMThweCk7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oYm90dG9tIDEwcHgpO1xuXG5cdFx0XHRmaWxsOiB0aGVfY29sb3IoYmx1ZSwgc3Ryb25nKTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4ocmlnaHQgMTVweCBib3R0b20gMCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzLFxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEodGhlX2NvbG9yKGJsdWUsIHN0cm9uZyksIDAuMik7XG5cdFx0fVxuXHR9XG5cblx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLXRlcnRpYXJ5IHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKHRvcCA2cHggYm90dG9tIDZweCk7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuYWxpZ24taXRlbXMtY2VudGVyO1xuXHRcdEBleHRlbmQgJXRleHQtYWxpZ24tbGVmdCwgJWZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG5cblx0XHRib3JkZXI6IDFweCBzb2xpZCB0aGVfY29sb3IoYmx1ZSwgbGlnaHQtZ3JheWlzaC0wMSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVycywgcmFkaXVzKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3Iod2hpdGUpO1xuXHRcdGNvbG9yOiByZ2JhKHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQpLCAwLjUpO1xuXHRcdG1pbi1oZWlnaHQ6IDQ1cHg7XG5cblx0XHRkaXYge1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyhyaWdodCAxMHB4KTtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0fVxuXG5cdFx0c21hbGwge1xuXHRcdFx0QGV4dGVuZCAuZC1ibG9jaztcblx0XHRcdEBpbmNsdWRlIG1hcmdpbih0b3AgLTVweCk7XG5cblx0XHRcdGxpbmUtaGVpZ2h0OiAxNXB4O1xuXHRcdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdH1cblxuXHRcdHN2ZyB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4ocmlnaHQgMCBsZWZ0IGF1dG8pO1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSgxNnB4LCAyMXB4KTtcblxuXHRcdFx0ZmlsbDogdGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyayk7XG5cdFx0XHRtaW4td2lkdGg6IDE2cHg7XG5cdFx0fVxuXHR9XG5cblx0QGF0LXJvb3QgI3sgJiB9I3sgJiB9LS1yYWRpbyB7XG5cdFx0QGV4dGVuZCAlZm9udC13ZWlnaHQtcmVndWxhcjtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKHRvcCAxMXB4IHJpZ2h0IDAgYm90dG9tIDExcHggbGVmdCAwKTtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcih3aGl0ZSk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdGhlX2NvbG9yKGJsdWUsIGxpZ2h0LWdyYXlpc2gtMDEpO1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlcnMsIHJhZGl1cyk7XG5cblx0XHQmLmlzLXNlbGVjdGVkIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdGhlX2NvbG9yKGJsdWUsIHN0cm9uZyk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgc3Ryb25nKTtcblx0XHRcdGNvbG9yOiB0aGVfY29sb3Iod2hpdGUpO1xuXHRcdH1cblx0fVxuXG5cdEBhdC1yb290ICN7ICYgfSN7ICYgfS0tZXh0cmEtbGFyZ2Uge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWxlZnQsICVmb250LXdlaWdodC1yZWd1bGFyO1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcodG9wIDIycHggcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoIGJvdHRvbSAyMnB4IGxlZnQgJGdyaWQtZ3V0dGVyLXdpZHRoKTtcblxuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3Iod2hpdGUpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0XHQmID4gKiB7XG5cdFx0XHRAZXh0ZW5kICVQb2ludGVyLWV2ZW50cy1ub25lO1xuXHRcdH1cblxuXHRcdHN2ZyB7XG5cdFx0XHRAaW5jbHVkZSBzaXplKDM2cHgpO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCk7XG5cblx0XHRcdGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgc3Ryb25nKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IHRoZV9jb2xvcihibHVlLCBsaWdodC1ncmF5aXNoLTAyKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKHJpZ2h0IDMwcHggbGVmdCAzMHB4KTtcblx0XHR9XG5cdH1cblxuXHQvLyAuQnV0dG9uLkJ1dHRvbi0tcHJpbWFyeVxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tcHJpbWFyeSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVycywgcmFkaXVzKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHRoZV9jb2xvcihibHVlLCBzdHJvbmcpLCAxKTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKHRoZV9jb2xvcihibHVlLCBzdHJvbmcpLCAxKTtcblx0XHRjb2xvcjogcmdiYSh0aGVfY29sb3Iod2hpdGUpLCAxKTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSh0aGVfY29sb3IoYmx1ZSwgZGFyayksIDEpO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSh0aGVfY29sb3IoYmx1ZSwgZGFyayksIDEpO1xuXHRcdFx0Y29sb3I6IHJnYmEodGhlX2NvbG9yKHdoaXRlKSwgMSk7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh0aGVfY29sb3IoYmx1ZSwgc3Ryb25nKSwgMC41KTtcblx0XHR9XG5cdH1cblxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tc2Vjb25kYXJ5IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3Iod2hpdGUpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHRoZV9jb2xvcih3aGl0ZSk7XG5cdFx0Y29sb3I6IHRoZV9jb2xvcihibHVlLCBzdHJvbmcpO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0aGVfY29sb3IoYmx1ZSwgbGlnaHQtZ3JheWlzaC0wMik7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCB0aGVfY29sb3IoYmx1ZSwgbGlnaHQtZ3JheWlzaC0wMik7XG5cdFx0fVxuXHR9XG5cdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS13aGl0ZSB7XG5cdFx0QGV4dGVuZCAuQnV0dG9uLS1zZWNvbmRhcnk7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgc3Ryb25nKTtcblx0XHR9XG5cdH1cblxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0td2FybmluZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKG9yYW5nZSwgYnJpZ2h0KTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0aGVfY29sb3Iob3JhbmdlLCBicmlnaHQpO1xuXHRcdGNvbG9yOiB0aGVfY29sb3Iod2hpdGUpO1xuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh0aGVfY29sb3Iob3JhbmdlLCBicmlnaHQpLCAwLjUpO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogc2hhZGUodGhlX2NvbG9yKG9yYW5nZSwgYnJpZ2h0KSwgMjglKTtcblx0XHRcdGJvcmRlci1jb2xvcjogc2hhZGUodGhlX2NvbG9yKG9yYW5nZSwgYnJpZ2h0KSwgMjglKTtcblx0XHR9XG5cdH1cblxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tc3VjY2VzcyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKGdyZWVuLCBsaW1lKTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0aGVfY29sb3IoZ3JlZW4sIGxpbWUpO1xuXHRcdGNvbG9yOiB0aGVfY29sb3Iod2hpdGUpO1xuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh0aGVfY29sb3IoZ3JlZW4sIGxpbWUpLCAwLjUpO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogc2hhZGUodGhlX2NvbG9yKGdyZWVuLCBsaW1lKSwgMjglKTtcblx0XHRcdGJvcmRlci1jb2xvcjogc2hhZGUodGhlX2NvbG9yKGdyZWVuLCBsaW1lKSwgMjglKTtcblx0XHR9XG5cdH1cblxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tZGFuZ2VyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IocmVkLCBicmlnaHQpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHRoZV9jb2xvcihyZWQsIGJyaWdodCk7XG5cdFx0Y29sb3I6IHRoZV9jb2xvcih3aGl0ZSk7XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHRoZV9jb2xvcihyZWQsIGJyaWdodCksIDAuNSk7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSh0aGVfY29sb3IocmVkLCBicmlnaHQpLCAyOCUpO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBzaGFkZSh0aGVfY29sb3IocmVkLCBicmlnaHQpLCAyOCUpO1xuXHRcdH1cblx0fVxuXG5cdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1kYXJrIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKTtcblx0XHRjb2xvcjogdGhlX2NvbG9yKHdoaXRlKTtcblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCksIDAuNSk7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSh0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKSwgMjglKTtcblx0XHRcdGJvcmRlci1jb2xvcjogc2hhZGUodGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCksIDI4JSk7XG5cdFx0fVxuXHR9XG5cblx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWluZm8ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcihncmF5LCBkYXJrLTAxKTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0aGVfY29sb3IoZ3JheSwgZGFyay0wMSk7XG5cdFx0Y29sb3I6IHRoZV9jb2xvcih3aGl0ZSk7XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHRoZV9jb2xvcihncmF5LCBkYXJrLTAxKSwgMC41KTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHNoYWRlKHRoZV9jb2xvcihncmF5LCBkYXJrLTAxKSwgMjglKTtcblx0XHRcdGJvcmRlci1jb2xvcjogc2hhZGUodGhlX2NvbG9yKGdyYXksIGRhcmstMDEpLCAyOCUpO1xuXHRcdH1cblx0fVxuXG5cdCYtLXNtYWxsIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKHRvcCA1LjVweCBib3R0b20gNS41cHgpO1xuXHRcdEBleHRlbmQgJXRleHQtdHJhbnNmb3JtLXVwcGVyY2FzZTtcblxuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0fVxuXG5cdCYtLW5hdmlnYXRpb24ge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1jZW50ZXI7XG5cdFx0QGluY2x1ZGUgc2l6ZSg1MHB4KTtcblxuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlcnMsIHJhZGl1cyk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKGJsdWUsIHN0cm9uZyk7XG5cdFx0Y29sb3I6IHRoZV9jb2xvcih3aGl0ZSk7XG5cblx0XHQmW2Rpc2FibGVkPSdkaXNhYmxlZCddIHtcblx0XHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLW5vbmU7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSh0aGVfY29sb3IoYmx1ZSwgc3Ryb25nKSwgMC40KTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0Y29sb3I6IHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQpO1xuXHRcdH1cblxuXHRcdCYtLW5leHQge1xuXHRcdFx0c3ZnIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDJweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji0tcHJldmlvdXMge1xuXHRcdFx0c3ZnIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAycHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0c3ZnIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoMTJweCk7XG5cblx0XHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcihibHVlLCBkYXJrKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogQnJlYWRjcnVtYlxuICpcbiAqIEB1c2VzIC5CcmVhZGNydW1iXG4gKi9cbi5CcmVhZGNydW1iIHtcblx0JHRoaXM6ICY7XG5cblx0QGV4dGVuZCAuZC1mbGV4LCAuZmxleC1yb3c7XG5cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQvLyAuQnJlYWRjcnVtYl9faXRlbVxuXHQmX19pdGVtIHtcblx0XHRAZXh0ZW5kICVsaXN0LXN0eWxlLXR5cGUtbm9uZTtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCAvIDggbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyA4ICk7XG5cblx0XHRhIHNwYW4ge1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLWluLW91dCApO1xuXHRcdFx0b3BhY2l0eTogMC43O1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdEBleHRlbmQgLmQtaW5saW5lO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBsZWZ0IDVweCApO1xuXG5cdFx0XHRjb250ZW50OiAnw6LCgMK6Jztcblx0XHR9XG5cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggbGVmdCAwICk7XG5cdFx0fVxuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMCApO1xuXG5cdFx0XHRhIHNwYW4ge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdEBleHRlbmQgLmQtbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRhOmZvY3VzLFxuXHRcdGE6aG92ZXIge1xuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YTpob3ZlciB7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0QGV4dGVuZCAldGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogU29jaWFsIHNoYXJlXG4gKlxuICovXG4uU2hhcmVzIHtcblx0QGV4dGVuZCAlbGlzdC1zdHlsZS10eXBlLW5vbmUsICV0ZXh0LWFsaWduLXJpZ2h0O1xuXG5cdCZfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gNCBsZWZ0ICRncmlkLWd1dHRlci13aWR0aCAvIDQgKTtcblx0XHRAZXh0ZW5kIC5kLWlubGluZS1ibG9jaztcblxuXHRcdCY6Zmlyc3QtY2hpbGQgeyBAaW5jbHVkZSBtYXJnaW4oIGxlZnQgMCApOyB9XG5cdFx0JjpsYXN0LWNoaWxkIHsgQGluY2x1ZGUgbWFyZ2luKCByaWdodCAwICk7IH1cblx0fVxuXG4gICAgJl9fbGluayB7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuYWxpZ24taXRlbXMtY2VudGVyLCAuanVzdGlmeS1jb250ZW50LWNlbnRlcjtcblx0XHRAaW5jbHVkZSBzaXplKCAkZ3JpZC1ndXR0ZXItd2lkdGggKiAzICk7XG5cblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSggdGhlX2NvbG9yKCB3aGl0ZSApLCAwLjIgKTtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdFx0Y29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblxuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHRcdHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjE1cyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1pbi1vdXQgKTtcblxuXHRcdHN2ZyB7XG5cdFx0XHR0cmFuc2l0aW9uOiBmaWxsIC4xNXMgbWFwLWdldCggJGVhc2luZ3MsIGVhc2UtaW4tb3V0ICk7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCBzaGFkZSggdGhlX2NvbG9yKCB3aGl0ZSApLCAxMCApO1xuXG5cdFx0XHRzdmcge1xuXHRcdFx0XHRmaWxsOiBzaGFkZSggdGhlX2NvbG9yKCB3aGl0ZSApLCAxMCApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHN2ZyB7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAkZ3JpZC1ndXR0ZXItd2lkdGggKTtcblxuXHRcdFx0ZmlsbDogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBBcnJvdyB0byB0b3BcbiAqL1xuLlNjcm9sbC1iYWNrLXRvLXRvcCB7XG5cdEBleHRlbmQgLmQtbm9uZSwgLmQtbWQtZmxleDtcblx0QGluY2x1ZGUgZml4ZWQoIGJvdHRvbSAwIHJpZ2h0IDAgKTtcblx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAjeyAkYmFzZS1saW5lLWhlaWdodCB9cHggYm90dG9tICN7ICRiYXNlLWxpbmUtaGVpZ2h0IH1weCApO1xuXG5cdHRyYW5zaXRpb246XG5cdFx0Ym94LXNoYWRvdyAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLWluLW91dCApLFxuXHRcdGJhY2tncm91bmQtY29sb3IgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1pbi1vdXQgKSxcblx0XHRvcGFjaXR5IDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2UtaW4tb3V0ICk7XG5cdG9wYWNpdHk6IDA7XG5cdHotaW5kZXg6IDg7XG5cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSggdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKSwgLjUgKTtcblx0fVxuXG5cdCYuaXMtaW4tdmlldyB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4uQnV0dG9uLkJhY2stdG8tc21hcnR3ZWxjb21lIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRib3R0b206IDQwcHg7XG5cdHotaW5kZXg6IDk5OTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRvcGFjaXR5OiAuOTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiA1cHggMTBweDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHR9XG59IiwiLyoqXG4gKiBMaW5rXG4gKlxuICogQHBhY2thZ2UgYWRsXG4gKi9cbi5MaW5rIHtcblx0JHRoaXM6ICY7XG5cblx0QGV4dGVuZCAuZC1mbGV4LCAuanVzdGlmeS1jb250ZW50LWJldHdlZW4sIC5hbGlnbi1pdGVtcy1jZW50ZXI7XG5cdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxMXB4IHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCBib3R0b20gMTFweCBsZWZ0ICRncmlkLWd1dHRlci13aWR0aCApO1xuXG5cdGJvcmRlcjogMXB4IHNvbGlkICB0aGVfY29sb3IoIGdyYXksIHZlcnktbGlnaHQtMDEgKTtcblx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblxuXHR0cmFuc2l0aW9uOlxuXHRcdGJhY2tncm91bmQtY29sb3IgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1pbi1vdXQgKSxcblx0XHRib3JkZXItY29sb3IgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1pbi1vdXQgKTtcblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGdyYXksIHZlcnktbGlnaHQtMDIgKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSggdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWRhcmsgKSwgMC40ICk7XG5cdH1cblxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tbGFyZ2Uge1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxMy41cHggYm90dG9tIDEzLjVweCApO1xuXHR9XG5cblx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWV4dHJhLWxhcmdlIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMTlweCBib3R0b20gMTlweCApO1xuXHR9XG5cblx0Ly8gLkxpbmtfX2xhYmVsXG5cdCZfX2xhYmVsIHtcblx0XHRAZXh0ZW5kICVtYXJnaW4teS0wLCAlbWFyZ2luLXJpZ2h0LTM7XG5cblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIxcHg7XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9LklucHV0LWZpbGUgJiB7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdH1cblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1leHRyYS1sYXJnZSAmIHtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdH1cblx0fVxuXG5cdHN2ZyB7XG5cdFx0QGluY2x1ZGUgc2l6ZSggMTlweCwgMjBweCApO1xuXG5cdFx0bWluLXdpZHRoOiAxOXB4O1xuXHR9XG59XG4iLCIvKipcbiAqIFB1c2hcbiAqL1xuLlB1c2gge1xuXHQkdGhpczogJjtcblxuXHRAZXh0ZW5kIC5kLWJsb2NrLCAuZC1tZC1mbGV4LCAuZmxleC1tZC1yb3csIC5hbGlnbi1pdGVtcy1tZC1jZW50ZXI7XG5cdEBleHRlbmQgJXBhZGRpbmcteS0zLCAlcGFkZGluZy15LW1kLTU7XG5cblx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCggJGJvcmRlcnMsIHJhZGl1cyApO1xuXHRib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKCB0aGVfY29sb3IoIGJsYWNrICksIDAuMTYpO1xuXHR0cmFuc2l0aW9uOlxuXHRcdGJveC1zaGFkb3cgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1pbi1vdXQgKSxcblx0XHRiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2UtaW4tb3V0ICk7XG5cdGZvbnQtc2l6ZTogMTZweDtcblxuXHQmOmZvY3VzLFxuXHQmOmhvdmVyIHtcblx0XHRib3gtc2hhZG93OlxuXHRcdFx0MHB4IDJweCA0cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjE2KSxcblx0XHRcdDBweCAwcHggMHB4IDFweCB0aGVfY29sb3IoIGdyYXksIHZlcnktbGlnaHQtMDIgKTtcblxuXHRcdEBhdC1yb290ICYgI3sgJHRoaXMgfV9fbGluayB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cblxuXHQmLmJhY2tncm91bmQtY29sb3ItZ3JheS12ZXJ5LWxpZ2h0LTAyOmhvdmVyLFxuXHQmLmJhY2tncm91bmQtY29sb3ItZ3JheS12ZXJ5LWxpZ2h0LTAyOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdH1cblx0Ji5iYWNrZ3JvdW5kLWNvbG9yLXdoaXRlOmhvdmVyLFxuXHQmLmJhY2tncm91bmQtY29sb3Itd2hpdGU6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggZ3JheSwgdmVyeS1saWdodC0wMiApO1xuXHR9XG5cblxuXHQvLyAuUHVzaF9fYXNpZGVcblx0Jl9fYXNpZGUge1xuXHRcdEBleHRlbmQgJXBhZGRpbmcteC0zLCAlcGFkZGluZy14LW1kLTU7XG5cblx0XHRoZWlnaHQ6ICRncmlkLWd1dHRlci13aWR0aCAqIDg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIHBlcmNlbnRhZ2UoIDI2NSAvIDkzMCApLCAxNjBweCApO1xuXHRcdH1cblxuXHRcdGltZyB7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAxMDAlICk7XG5cblx0XHRcdGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC4xNiApO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCggJGJvcmRlcnMsIHJhZGl1cyApO1xuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHR9XG5cdH1cblxuXHQvLyAuUHVzaF9fYm9keVxuXHQmX19ib2R5IHtcblx0XHRAZXh0ZW5kICVwYWRkaW5nLWxlZnQtNCwgJXBhZGRpbmctcmlnaHQtNCwgJXBhZGRpbmctbGVmdC1tZC0zLCAlcGFkZGluZy1yaWdodC1tZC01O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHR3aWR0aDogcGVyY2VudGFnZSggNjY1IC8gOTMwICk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gLlB1c2hfX3RpdGxlXG5cdCZfX3RpdGxlIHtcblx0XHRAZXh0ZW5kICVtYXJnaW4tdG9wLW1kLTA7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTVweCBib3R0b20gMjBweCApO1xuXG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHR9XG5cblx0Ly8gLlB1c2hfX2NvbnRlbnRcblx0Jl9fY29udGVudCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMTVweCApO1xuXHR9XG5cblx0Ly8gLlB1c2hfX2xpbmtcblx0Jl9fbGluayB7XG5cdFx0QGV4dGVuZCAuZC1pbmxpbmUtYmxvY2s7XG5cdFx0QGV4dGVuZCAlbWFyZ2luLTA7XG5cblx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblx0XHRsaW5lLWhlaWdodDogMjFweDtcblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyA4ICk7XG5cdFx0XHRAZXh0ZW5kIC5kLWlubGluZS1ibG9jaztcblxuXHRcdFx0Y29udGVudDogJ8OiwoDCuic7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIEFjY29yZGlvblxuICpcbiAqIEBwYWNrYWdlIGFkbFxuICovXG4uQWNjb3JkaW9uIHtcblx0JHRoaXM6ICY7XG5cblx0Ly8gLkFjY29yZGlvbl9faXRlbVxuXHQmX19pdGVtIHtcblx0XHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyIGJvdHRvbSAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICk7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgKTtcblx0XHR9XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblx0XHR9XG5cblx0XHQmLmlzLWFjdGl2ZSAjeyAkdGhpcyB9X19pdGVtX19jaGV2cm9uIHN2ZyB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSggLTE4MGRlZyApO1xuXHRcdH1cblxuXHRcdC8vIC5BY2NvcmRpb25fX2hlYWRlclxuXHRcdCZfX2hlYWRlciB7XG5cdFx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWxlZnQsICVwb3NpdGlvbi1yZWxhdGl2ZTtcblx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmp1c3RpZnktY29udGVudC1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtbWQtc3RhcnQsIC5hbGlnbi1pdGVtcy1jZW50ZXIsIC5mbGV4LXJvdztcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoXG5cdFx0XHRcdHRvcCAjeyAkYmFzZS1saW5lLWhlaWdodCAvIDIgfXB4XG5cdFx0XHRcdC8vIHJpZ2h0ICN7ICRiYXNlLWxpbmUtaGVpZ2h0ICsgKCAkYmFzZS1saW5lLWhlaWdodCAqIDIgKSB9cHhcblx0XHRcdFx0cmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoXG5cdFx0XHRcdGJvdHRvbSAjeyAkYmFzZS1saW5lLWhlaWdodCAvIDIgfXB4XG5cdFx0XHRcdGxlZnQgJGdyaWQtZ3V0dGVyLXdpZHRoXG5cdFx0XHQpO1xuXG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtaW4taGVpZ2h0OiAjeyAkYmFzZS1saW5lLWhlaWdodCAqIDMgfXB4O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDI1cHggbGVmdCAzMHB4IGJvdHRvbSAyNXB4ICk7XG5cdFx0XHR9XG5cblx0XHRcdHRyYW5zaXRpb246XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3IgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1pbi1vdXQgKSxcblx0XHRcdFx0Ym94LXNoYWRvdyAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLWluLW91dCApO1xuXG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHRoZV9jb2xvciggZ3JheSwgdmVyeS1saWdodC0wMSApO1xuXHRcdFx0fVxuXG5cdFx0XHQmID4gc3ZnIHtcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggJGdyaWQtZ3V0dGVyLXdpZHRoICk7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgI3sgJGJhc2UtbGluZS1oZWlnaHQgfXB4IGxlZnQgI3sgJGJhc2UtbGluZS1oZWlnaHQgfXB4ICk7XG5cblx0XHRcdFx0ZmlsbDogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cdFx0XHR9XG5cblx0XHRcdCZfX2JvZHkge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDIwcHggKTtcblx0XHRcdFx0QGV4dGVuZCAuZC1tZC1mbGV4LCAuYWxpZ24taXRlbXMtbWQtY2VudGVyO1xuXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMCApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fbGFiZWwge1xuXHRcdFx0QGV4dGVuZCAlbWFyZ2luLTA7XG5cblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMThweDtcblx0XHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblxuXHRcdFx0XHRmbGV4OiAwIDEgYXV0bztcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fY29udGVudCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cblx0XHRcdGZsZXg6IDE7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxOXB4O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBsZWZ0IDE1cHggKTtcblxuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMXB4O1xuXHRcdFx0XHRmbGV4OiAwIDEgYXV0bztcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fY2hldnJvbiB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGxlZnQgYXV0byApO1xuXG5cdFx0XHRzdmcge1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKCAxNXB4LCA5LjI2cHggKTtcblxuXHRcdFx0XHRtaW4td2lkdGg6IDE1cHg7XG5cblx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2UtaW4tb3V0ICk7XG5cdFx0XHRcdG1pbi13aWR0aDogMTVweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyAuQWNjb3JkaW9uX19pdGVtX19ib2R5XG5cdFx0Jl9fYm9keSB7XG5cblxuXHRcdFx0PiBkaXYge1xuXHRcdFx0XHRAZXh0ZW5kICVwYWRkaW5nLXktMywgJXBhZGRpbmcteS1tZC01LCAlbWFyZ2luLXgtMztcblxuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoXG5cdFx0XHRcdFx0XHRyaWdodCBwZXJjZW50YWdlKCAoICggOTMwIC0gNzgwICkgLyAyICkgLyA5MzAgKVxuXHRcdFx0XHRcdFx0bGVmdCBwZXJjZW50YWdlKCAoICggOTMwIC0gNzgwICkgLyAyICkgLyA5MzAgKVxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgKTtcblx0XHRcdFx0fVxuXHRcdFx0XHQ+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMCApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIENhcmQ6IGljb25cbiAqL1xuLkNhcmQtaWNvbiB7XG5cdCR0aGlzOiAmO1xuXG5cdEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bSwgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyLCAuZmxleC1jb2x1bW4sICV0ZXh0LWFsaWduLWNlbnRlcjtcblx0QGluY2x1ZGUgc2l6ZSggMTAwJSwgMTkwcHggKTtcblxuXHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0Ym94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjE2ICk7XG5cdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRsaW5lLWhlaWdodDogMjRweDtcblxuXG5cdHRyYW5zaXRpb246XG5cdFx0Ym94LXNoYWRvdyAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLWluLW91dCApLFxuXHRcdGJhY2tncm91bmQtY29sb3IgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1pbi1vdXQgKTtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdH1cblxuIFx0PiAqIHtcblx0XHQgQGV4dGVuZCAlUG9pbnRlci1ldmVudHMtbm9uZTtcblx0IH1cblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApLCAwLjIgKTtcblx0XHRib3gtc2hhZG93OlxuXHRcdFx0MHB4IDJweCA0cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjE2ICksXG5cdFx0XHQwIDAgMCAxcHggdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAxICk7XG5cblx0XHQjeyAkdGhpcyB9X19jaGV2cm9uLWRvd24ge1xuXHRcdFx0QGluY2x1ZGUgYXV0b0FscGhhKCAxICk7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAyICk7XG5cblx0XHQjeyAkdGhpcyB9X19jaGV2cm9uLWRvd24ge1xuXHRcdFx0QGluY2x1ZGUgYXV0b0FscGhhKCAxICk7XG5cdFx0fVxuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cdFx0Y29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblxuXHRcdCN7ICR0aGlzIH1fX2NoZXZyb24tZG93biB7XG5cdFx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoIDEgKTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKCAtMTgwZGVnICk7XG5cdFx0fVxuXG5cdFx0Lm1vbmEtYmFzaWMge1xuXHRcdFx0ZmlsbDogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdH1cblx0fVxuXG5cdCZfX2NoZXZyb24tZG93biB7XG5cdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwIHJpZ2h0IDAgKTtcblx0XHRAZXh0ZW5kICVtYXJnaW4tMywgJVBvaW50ZXItZXZlbnRzLW5vbmU7XG5cdFx0QGluY2x1ZGUgc2l6ZSggMTVweCApO1xuXHRcdEBpbmNsdWRlIGF1dG9BbHBoYSggMCApO1xuXG5cdFx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRcdHRyYW5zaXRpb246XG5cdFx0XHRmaWxsIDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2UtaW4tb3V0ICksXG5cdFx0XHR2aXNpYmlsaXR5IDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2UtaW4tb3V0ICksXG5cdFx0XHRvcGFjaXR5IDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2UtaW4tb3V0ICksXG5cdFx0XHR0cmFuc2Zvcm0gMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1pbi1vdXQgKTtcblx0fVxuXG5cblx0Jl9faWNvbiB7XG5cdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSwgNTBweCApO1xuXHRcdEBleHRlbmQgJW1hcmdpbi1ib3R0b20tMiwgJW1hcmdpbi1ib3R0b20tbWQtMztcblxuXHRcdG1heC13aWR0aDogMTIycHg7XG5cblx0XHRmaWxsOiBjdXJyZW50Q29sb3I7XG5cdFx0dHJhbnNpdGlvbjogZmlsbCAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLWluLW91dCApO1xuXG5cdFx0Ji5tb25hLWJhc2ljIHtcblx0XHRcdGZpbGw6ICNERTIwNUQ7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIENhcmQ6IHZpZGVvXG4gKlxuICovXG4uQ2FyZC12aWRlbyB7XG5cdCR0aGlzOiAmO1xuXG5cdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlLCAlb3ZlcmZsb3ctaGlkZGVuO1xuXG5cdEBpbmNsdWRlIHNpemUoIDEwMCUsIDMxMHB4ICk7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSwgMzUwcHggKTtcblx0fVxuXG5cdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoICRib3JkZXJzLCByYWRpdXMgKTtcblx0Y29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblxuXHQuVmlkZW9fX3Bvc3RlciB7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOXMgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblx0XHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0LlZpZGVvX19wb3N0ZXIge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSggMS4xICk7XG5cdFx0fVxuXHR9XG5cblx0Jl9faW5uZXIge1xuXHRcdEBpbmNsdWRlIHNpemUoIDEwMCUgKTtcblx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoIDAgKTtcblxuXHRcdHRyYW5zaXRpb246XG5cdFx0XHRvcGFjaXR5IDAuN3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKSxcblx0XHRcdHZpc2liaWxpdHkgMC43cyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApO1xuXG5cdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSAmIHtcblx0XHRcdEBpbmNsdWRlIGF1dG9BbHBoYSggMCApO1xuXG5cdFx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRcdEBpbmNsdWRlIGF1dG9BbHBoYSggMSApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdEBpbmNsdWRlIGFic29sdXRlKCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXG5cdFx0XHRoZWlnaHQ6IDI5MXB4O1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHRyZ2JhKCB0aGVfY29sb3IoIGJsYWNrICksIDAgKSAwJSxcblx0XHRcdFx0cmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjcgKSAxMDAlXG5cdFx0XHQpO1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHR6LWluZGV4OiAyO1xuXHRcdH1cblx0fVxuXG5cblx0Ly8gLkNhcmQtdmlkZW9fX2JvZHlcblx0Jl9fYm9keSB7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSApO1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtY29sdW1uO1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxMDVweCApO1xuXG5cdFx0ei1pbmRleDogMztcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDEyNXB4ICk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdEBleHRlbmQgJW1hcmdpbi14LTMsICVtYXJnaW4tYm90dG9tLTMsICVtYXJnaW4tdG9wLWF1dG87XG5cblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAjeyAkYmFzZS1saW5lLWhlaWdodCB9cHg7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIENhcmQ6IGRlc3RpbmF0aW9uXG4gKlxuICogQHBhY2thZ2UgYWRsXG4gKi9cbi5DYXJkLWRlc3RpbmF0aW9uIHtcblx0JHRoaXM6ICY7XG5cblx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmUsICVvdmVyZmxvdy1oaWRkZW47XG5cdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtY29sdW1uO1xuXG5cdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoICRib3JkZXJzLCByYWRpdXMgKTtcblx0Ym94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjIgKTtcblx0Y29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0aGVpZ2h0OiAyNjBweDtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRoZWlnaHQ6IDQ2MHB4O1xuXHR9XG5cblx0aDMge1xuXHRcdEBleHRlbmQgJW1hcmdpbi0wO1xuXG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRmb250LXNpemU6IDMycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogNDBweDtcblxuXHRcdFx0dGV4dC1vdmVyZmxvdzogY2xpcDtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHR9XG5cdH1cblxuXHRmb290ZXIge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDE1cHggKTtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE1cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdH1cblxuXHRcdCYgPiBwIHtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNXB4O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuQnV0dG9uIHtcblx0XHRtYXJnaW46IDA7XG5cdH1cblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHQmOjphZnRlciB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblxuXHRcdCN7ICR0aGlzIH1fX2ltYWdlIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoIDEuMSApO1xuXHRcdH1cblxuXHRcdCN7ICR0aGlzIH1fX2Fycm93IHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXG5cdFx0LkJ1dHRvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0aGVfY29sb3IoIGJsdWUsIGxpZ2h0LWdyYXlpc2gtMDIgKTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHRoZV9jb2xvciggYmx1ZSwgbGlnaHQtZ3JheWlzaC0wMiApO1xuXHRcdH1cblxuXHRcdC8vICN7ICR0aGlzIH1fX2Rlc2NyaXB0aW9uIHt9XG5cdH1cblxuXHQmLS1tZWRpdW0ge1xuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0aGVpZ2h0OiAzNTBweDtcblx0XHR9XG5cdH1cblxuXHQvLyAmLS1sYXJnZSB7XG5cdC8vIFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdC8vIFx0XHRoZWlnaHQ6IDQ2MHB4O1xuXHQvLyBcdH1cblxuXHQvLyBcdGgzIHtcblx0Ly8gXHRcdEBleHRlbmQgLmgyO1xuXHQvLyBcdH1cblx0Ly8gfVxuXG5cdCZfX3RpdGxlIHtcblx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXI7XG5cdFx0QGV4dGVuZCAlcGFkZGluZy0zLCAldGV4dC1hbGlnbi1jZW50ZXIsICVtYXJnaW4tMDtcblx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggdG9wIDAgcmlnaHQgMCBib3R0b20gMCBsZWZ0IDAgKTtcblxuXHRcdHotaW5kZXg6IDI7XG5cdH1cblxuXHQmX19jb3VudHJ5IHtcblx0XHRAZXh0ZW5kICVtYXJnaW4tMDtcblxuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0fVxuXG5cdCZfX2JhY2tncm91bmQge1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXHRcdEBpbmNsdWRlIHNpemUoIDEwMCUgKTtcblx0XHRAZXh0ZW5kICVwYWRkaW5nLTU7XG5cblx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0XHRvYmplY3QtZml0OiBjb250YWluO1xuXG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG5cdC8vIC5DYXJkLWRlc3RpbmF0aW9uX19pbWFnZVxuXHQmX19pbWFnZSB7XG5cdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwIHJpZ2h0IDAgYm90dG9tIDAgbGVmdCAwICk7XG5cdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSApO1xuXG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOXMgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblx0XHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggcmlnaHQgMCBib3R0b20gMCBsZWZ0IDAgKTtcblx0XHRAZXh0ZW5kIC5kLWJsb2NrO1xuXG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHRcdHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMCApIDAlLFxuXHRcdFx0cmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjcgKSAxMDAlXG5cdFx0KTtcblx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ei1pbmRleDogMjtcblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1yZWFkbW9yZTo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQvLyAuQ2FyZC1kZXN0aW5hdGlvbl9fYm9keVxuXHQmX19ib2R5IHtcblx0XHRAZXh0ZW5kICVtYXJnaW4teC0yLCAlbWFyZ2luLXgtc20tMywgJW1hcmdpbi1ib3R0b20tMiwgJW1hcmdpbi1ib3R0b20tc20tMztcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMzBweCApO1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXG5cdFx0ei1pbmRleDogMztcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAzMHB4IGJvdHRvbSAzMHB4IGxlZnQgMzBweCApO1xuXHRcdH1cblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1yZWFkbW9yZSAmIHtcblx0XHRcdEBleHRlbmQgJXRleHQtYWxpZ24tY2VudGVyO1xuXHRcdH1cblx0fVxuXG5cdCZfX2Rlc2NyaXB0aW9uIHtcblx0XHRAZXh0ZW5kICVvdmVyZmxvdy1oaWRkZW47XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCBib3R0b20gMCApO1xuXG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHR0cmFuc2l0aW9uOiBoZWlnaHQgMC45cyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApO1xuXHRcdHdpbGwtY2hhbmdlOiBoZWlnaHQ7XG5cdH1cblxuXHQmX19vcHRpb25zIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAkZ3JpZC1ndXR0ZXItd2lkdGggcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoIGxlZnQgJGdyaWQtZ3V0dGVyLXdpZHRoICk7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0XHR6LWluZGV4OiAzO1xuXHR9XG5cblx0Jl9fb3B0aW9uIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAxNXB4IGJvdHRvbSAxNXB4IGxlZnQgYXV0byApO1xuXHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXHRcdEBleHRlbmQgLmQtYmxvY2s7XG5cblx0XHR3aWR0aDogMzFweDtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCApO1xuXHRcdH1cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMCApO1xuXHRcdH1cblx0XHRzdmcge1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSwgMThweCApO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgNTAlIHJpZ2h0IDAgKTtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCA2cHggcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoIGJvdHRvbSA5cHggbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggKTtcblx0XHRcdEBleHRlbmQgLmQtYmxvY2s7XG5cdFx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWxlZnQ7XG5cdFx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoIDAgKTtcblxuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE5cHg7XG5cblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIC01MCUsIDAgKTtcblx0XHRcdHRyYW5zaXRpb246IDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2UtaW4tb3V0ICk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdFx0XHRib3gtc2hhZG93OiAwcHggMXB4IDJweCByZ2JhKCB0aGVfY29sb3IoIHdoaXRlICksIDAuMTYpO1xuXHRcdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICk7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0Y29udGVudDogYXR0cihkYXRhLXRleHQpO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoIDEgKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19hc2lkZSB7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmUsICV0ZXh0LWFsaWduLXJpZ2h0O1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAzMHB4ICk7XG5cdFx0QGV4dGVuZCAuZC1ub25lLCAuZC1tZC1ibG9jaztcblxuXHRcdHotaW5kZXg6IDM7XG5cblx0XHQvLyAuQnV0dG9uIHtcblx0XHQvLyBcdEBleHRlbmQgJW1hcmdpbi0wO1xuXG5cdFx0Ly8gXHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdC8vIFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHQvLyBcdGxpbmUtaGVpZ2h0OiAzNHB4O1xuXG5cdFx0Ly8gXHQmOmhvdmVyIHtcblx0XHQvLyBcdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdC8vIFx0fVxuXHRcdC8vIH1cblx0fVxuXG5cdCZfX2Fycm93IHtcblx0XHRAaW5jbHVkZSBzaXplKCAxNHB4ICk7XG5cblx0XHRmaWxsOiBjdXJyZW50Q29sb3I7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjlzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuIiwiLyoqXG4gKiBDYXJkOiBmYXZvcml0ZVxuICpcbiAqIEBwYWNrYWdlIGFkbFxuICovXG4uQ2FyZC1mYXZvcml0ZSB7XG5cdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCA0MHB4IHJpZ2h0IDQwcHggYm90dG9tIDQwcHggbGVmdCA0MHB4ICk7XG5cdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlLCAlb3ZlcmZsb3ctaGlkZGVuO1xuXHRAZXh0ZW5kIC5kLWJsb2NrO1xuXG5cdGhlaWdodDogNDYwcHg7XG5cdGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC4yICk7XG5cdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoICRib3JkZXJzLCByYWRpdXMgKTtcblx0Y29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblxuXHQmOmhvdmVyIHtcblx0XHQuQnV0dG9uIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgZGFyayApLCAxICk7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKCB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKSwgMSApO1xuXHRcdFx0Y29sb3I6IHJnYmEoIHRoZV9jb2xvciggd2hpdGUgKSwgMSApO1xuXG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHQuQnV0dG9uIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICksIC41ICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LkJ1dHRvbiB7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgYXV0byBib3R0b20gMCApO1xuXG5cdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdHotaW5kZXg6IDM7XG5cdH1cblxuXHQmX19pbWFnZSB7XG5cdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSApO1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggcmlnaHQgMCBib3R0b20gMCBsZWZ0IDAgKTtcblx0XHRAZXh0ZW5kIC5kLWJsb2NrO1xuXG5cdFx0aGVpZ2h0OiA0MDFweDtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRyZ2JhKCB0aGVfY29sb3IoIGJsYWNrICksIDAgKSAwJSxcblx0XHRcdHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC43ICkgMTAwJVxuXHRcdCk7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ei1pbmRleDogMjtcblx0fVxuXG5cdCZfX2JvZHkge1xuXHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtY29sdW1uLCAuanVzdGlmeS1jb250ZW50LWVuZCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblx0XHRAaW5jbHVkZSBzaXplKCAxMDAlICk7XG5cblx0XHR6LWluZGV4OiAzO1xuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmUsICV0ZXh0LWFsaWduLWNlbnRlcjtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCA1cHggKTtcblxuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRsaW5lLWhlaWdodDogMjJweDtcblxuXHRcdCYgPiAqOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgKTtcblx0XHR9XG5cdFx0JiA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gLkNhcmQtZmF2b3JpdGVfX3RpdGxlXG5cdCZfX3RpdGxlIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAyMHB4ICk7XG5cblx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdH1cblxuXHQmX19hdXRob3Ige1xuXHRcdEBleHRlbmQgJWZvbnQtZmFtaWx5LWN1cnNpdmUtMDIsICVwb3NpdGlvbi1yZWxhdGl2ZTtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAyNnB4IGJvdHRvbSAwICk7XG5cblx0XHRmb250LXNpemU6IDI1cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0ei1pbmRleDogMztcblx0fVxufVxuIiwiLyoqXG4gKiBDYXJkOiBwYXJraW5nXG4gKlxuICpcbiAqIEBwYWNrYWdlIGFkbFxuICovXG4uQ2FyZC1wYXJraW5nIHtcblx0JHRoaXM6ICY7XG5cblx0QGV4dGVuZCAuZC1mbGV4LCAuZmxleC1jb2x1bW47XG5cdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCA1NXB4IHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCAvIDIgYm90dG9tICRncmlkLWd1dHRlci13aWR0aCBsZWZ0ICRncmlkLWd1dHRlci13aWR0aCAvIDIgKTtcblx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAzICk7XG5cdGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG5cdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoICRib3JkZXJzLCByYWRpdXMgKTtcblx0aGVpZ2h0OiAzOTBweDtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBzbSApIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCByaWdodCAkZ3JpZC1ndXR0ZXItd2lkdGggbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHJpZ2h0IDMwcHggYm90dG9tIDMwcHggbGVmdCAzMHB4ICk7XG5cdH1cblxuXHQvL1xuXHQuQmFkZ2UuQmFkZ2UtLWV4dHJhLWV4dHJhLWxhcmdlIHtcblx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggdG9wIDAgbGVmdCAwICk7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgJGdyaWQtZ3V0dGVyLXdpZHRoICogLTEgbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBzbSApIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggbGVmdCAzMHB4ICk7XG5cdFx0fVxuXHR9XG5cblx0LkJhZGdlLkJhZGdlLS1leHRyYS1zbWFsbC5CYWRnZS0tcm91bmRlZCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTNweCByaWdodCAjeyAkYmFzZS1saW5lLWhlaWdodCAvIC0yIH1weCApO1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwICk7XG5cdH1cblxuXHQuQmFkZ2UuQmFkZ2UtLWV4dHJhLWV4dHJhLXNtYWxsLkJhZGdlLS1yb3VuZGVkLkJhZGdlLS1pbmZvIHtcblx0XHRAZXh0ZW5kIC5kLWlubGluZS1mbGV4O1xuXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggNXB4LCAtNXB4LCAwICk7XG5cdH1cblxuXG5cdC8vXG5cdCZfX2Rlc2NyaXB0aW9uIHtcblx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1tZWRpdW07XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiBib3R0b20gMCApO1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIGJvdHRvbSAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICk7XG5cblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAxICk7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIHNtICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTVweCApO1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggYm90dG9tIDE1cHggKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wICRncmlkLWd1dHRlci13aWR0aCApO1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggYm90dG9tICRncmlkLWd1dHRlci13aWR0aCApO1xuXG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHR9XG5cdH1cblxuXHQvL1xuXHQmX19saXN0IHtcblx0XHRAZXh0ZW5kICVsaXN0LXN0eWxlLXR5cGUtbm9uZTtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyIGJvdHRvbSAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICk7XG5cblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0Y29sb3I6IHRoZV9jb2xvciggZ3JheSwgdmVyeS1kYXJrICk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBzbSApIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDE1cHggYm90dG9tIDE1cHggKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wICRncmlkLWd1dHRlci13aWR0aCBib3R0b20gJGdyaWQtZ3V0dGVyLXdpZHRoICk7XG5cblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHR9XG5cdH1cblxuXHQmX19tb3JlIHtcblx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1tZWRpdW0sICVwYWRkaW5nLXRvcC0yLCAlcGFkZGluZy10b3Atc20tMztcblx0XHRAZXh0ZW5kIC5kLWJsb2NrO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIGF1dG8gKTtcblxuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB0aGVfY29sb3IoIGdyYXksIHZlcnktbGlnaHQtMDEgKTtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogQ2FyZDogc2VsZWN0b3JcbiAqXG4gKlxuICogQHBhY2thZ2UgYWRsXG4gKi9cbi5DYXJkLXNlbGVjdG9yIHtcblx0JHRoaXM6ICY7XG5cblx0QGluY2x1ZGUgc2l6ZSggMTAwJSwgMTYycHggKTtcblx0QGV4dGVuZCAuZC1mbGV4LCAuanVzdGlmeS1jb250ZW50LWNlbnRlciwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmZsZXgtY29sdW1uO1xuXG5cdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoICRib3JkZXJzLCByYWRpdXMgKTtcblx0YmFja2dyb3VuZDogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKCB0aGVfY29sb3IoIGJsYWNrICksIDAuMTYpO1xuXG5cdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApO1xuXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdEBpbmNsdWRlIHNpemUoIDEwMCUsIDE2NHB4ICk7XG5cdH1cblxuXHQmOmZvY3VzLFxuXHQmOmhvdmVyLFxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAyICk7XG5cdH1cblxuXHQmW3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblxuXHRcdCY6Zm9jdXMsXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblx0XHR9XG5cblx0XHQjeyBzZWxlY3Rvci11bmlmeSggc3ZnLCAgI3sgJHRoaXMgfV9fZGVjb3IgKSB9IHtcblx0XHRcdGZpbGw6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0XHR9XG5cdH1cblxuXHQjeyBzZWxlY3Rvci11bmlmeSggc3ZnLCAgI3sgJHRoaXMgfV9fZGVjb3IgKSB9IHtcblx0XHRAZXh0ZW5kICVQb2ludGVyLWV2ZW50cy1ub25lO1xuXHRcdEBpbmNsdWRlIHNpemUoIDMwcHggKTtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAxMHB4ICk7XG5cblx0XHRmaWxsOiB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAxNXB4ICk7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAxMDAlLCA0NXB4ICk7XG5cdFx0fVxuXHR9XG5cblxuXHQvLyAuQ2FyZC1zZWxlY3Rvcl9fbGFiZWxcblx0Jl9fbGFiZWwge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmZsZXgtY29sdW1uO1xuXHRcdEBleHRlbmQgJW1hcmdpbi0wLCAlUG9pbnRlci1ldmVudHMtbm9uZSwgJWZvbnQtd2VpZ2h0LW1lZGl1bTtcblxuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMThweDtcblx0XHR9XG5cdH1cblxuXHQmX19pY29uIHtcblx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyO1xuXHRcdEBpbmNsdWRlIHNpemUoIDI0cHggKTtcblxuXHRcdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDlweCBsZWZ0IDAgKTtcblx0XHR9XG5cblx0XHQjeyAkdGhpcyB9LmlzLXNlbGVjdGVkICYge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblx0XHRcdGNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdFx0fVxuXG5cdFx0Jl9fY2hldnJvbiB7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAxMnB4LCA3cHggKTtcblx0XHRcdEBleHRlbmQgLmQtYmxvY2s7XG5cblx0XHRcdCN7ICR0aGlzIH0uaXMtc2VsZWN0ZWQgJiB7XG5cdFx0XHRcdEBleHRlbmQgLmQtbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jl9fY2hlY2sge1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggMTJweCwgN3B4ICk7XG5cdFx0XHRAZXh0ZW5kIC5kLW5vbmU7XG5cblx0XHRcdCN7ICR0aGlzIH0uaXMtc2VsZWN0ZWQgJiB7XG5cdFx0XHRcdEBleHRlbmQgLmQtYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fbW9iaWxlLWhvbWUge1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdFx0aGVpZ2h0OiAxNDBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0aGVpZ2h0OiAxNTBweDtcblx0XHR9XG5cblx0XHQmX19kZWNvciB7XG5cdFx0XHRAZXh0ZW5kICVQb2ludGVyLWV2ZW50cy1ub25lO1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggNDBweCApO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMTBweCApO1xuXG5cdFx0XHRmaWxsOiB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApICFpbXBvcnRhbnQ7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAxNXB4ICk7XG5cdFx0XHRcdEBpbmNsdWRlIHNpemUoIDQ1cHggKTtcblx0XHRcdH1cblxuICAgICAgLmJsdWUgJiB7XG4gICAgICAgIGZpbGw6IHRoZV9jb2xvciggd2hpdGUgKSAhaW1wb3J0YW50O1xuICAgICAgfVxuXHRcdH1cblxuXHRcdCZfX3RoaW4ge1xuXHRcdFx0aGVpZ2h0OiAxMDBweDtcblx0XHR9XG5cbiAgICAmLmJsdWV7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApO1xuICAgICAgY29sb3I6IHRoZV9jb2xvciggd2hpdGUpO1xuICAgIH1cblx0fVxufVxuLkJhbm5lci5CYW5uZXItLXNlbGVjdG9yLk1vYmlsZV9ob21le1xuICBwYWRkaW5nOiAxNTBweCAwIDA7XG59XG4iLCIvKipcbiAqIENhcmQ6IHVzZWZ1bCBpbmZvcm1hdGlvblxuICpcbiAqXG4gKi9cbi5DYXJkLXVzZWZ1bC1pbmZvcm1hdGlvbiB7XG5cdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1jZW50ZXIsIC5mbGV4LWNvbHVtbjtcblxuXHRoZWlnaHQ6IDE2NHB4O1xuXHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApO1xuXG5cdHN2ZyB7XG5cdFx0ZmlsbDogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblx0fVxuXG5cdCYtLWJveC1zaGFkb3cge1xuXHRcdGJveC1zaGFkb3c6IDBweCAzcHggNnB4IHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC4xNiApO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0fVxuXG5cdCZfX2RlY29yIHtcblx0XHRAaW5jbHVkZSBzaXplKCA1OXB4LCA1MnB4ICk7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMTRweCApO1xuXG5cdH1cblxuXHQvLyAuQ2FyZC11c2VmdWwtaW5mb3JtYXRpb25fX3RpdGxlXG5cdCZfX3RpdGxlIHtcblx0XHRAaW5jbHVkZSBsZXR0ZXItc3BhY2luZyggMjAgKTtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAwICk7XG5cdFx0QGV4dGVuZCAldGV4dC10cmFuc2Zvcm0tdXBwZXJjYXNlO1xuXG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxNXB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjZweDtcblx0XHR9XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0QGV4dGVuZCAlZm9udC13ZWlnaHQtbWVkaXVtO1xuXG5cdFx0Zm9udC1zaXplOiAxN3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxN3B4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIENhcmQ6IGluZm9ybWF0aW9uXG4gKlxuICpcbiAqL1xuLkNhcmQtaW5mb3JtYXRpb24ge1xuXHQkdGhpczogJjtcblxuXHRAaW5jbHVkZSBwYWRkaW5nKCBib3R0b20gMjBweCApO1xuXHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZSwgJW92ZXJmbG93LWhpZGRlbjtcblxuXHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0Ym94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcblx0aGVpZ2h0OiAzMjhweDtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRoZWlnaHQ6IDM1MHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggYm90dG9tIDMwcHggKTtcblx0fVxuXG5cdC5CdXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Ji0tYWR2ZXJ0aXNpbmcge1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIGJvdHRvbSAwICk7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuZmxleC1jb2x1bW47XG5cdH1cblxuXG5cdC8vIC5DYXJkLWluZm9ybWF0aW9uX190aHVtYm5haWxcblx0Jl9fdGh1bWJuYWlsIHtcblx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggcmlnaHQgMCB0b3AgMCBsZWZ0IDAgKTtcblx0XHRAaW5jbHVkZSBzaXplKCAxMDAlLCAxMzVweCApO1xuXG5cdFx0ei1pbmRleDogMTtcblxuXHRcdGltZyB7XG5cdFx0XHRAZXh0ZW5kIC5kLWJsb2NrO1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSApO1xuXG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdH1cblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0tLWFkdmVydGlzaW5nICYge1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSApO1xuXG5cdFx0XHRib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblxuXHQvLyAuQ2FyZC1pbmZvcm1hdGlvbl9fYm9keVxuXHQmX19ib2R5IHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAxNy41cHggKTtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCByaWdodCAyMHB4IGxlZnQgMjBweCApO1xuXHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXG5cdFx0ei1pbmRleDogMjtcblxuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjlzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAxMTcuNXB4LCAwICk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcblx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xuXG5cdFx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0uaXMtYWN0aXZlICYge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggcmlnaHQgMzBweCBsZWZ0IDMwcHggKTtcblx0XHR9XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9LS1hZHZlcnRpc2luZyAmIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIGJvdHRvbSAyMHB4ICk7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCBhdXRvICk7XG5cblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0QGluY2x1ZGUgcGFkZGluZyggYm90dG9tIDMwcHggKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXG5cdC8vIC5DYXJkLWluZm9ybWF0aW9uX19oZWFkZXJcblx0Jl9faGVhZGVyIHtcblx0fVxuXG5cblx0Ly8gLkNhcmQtaW5mb3JtYXRpb25fX2Zvb3RlclxuXHQmX19mb290ZXIge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjlzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9LmlzLWFjdGl2ZSAmIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG5cblx0LkJhZGdlLkJhZGdlLS1zbWFsbCB7XG5cdFx0JHNpemU6IDM1O1xuXG5cdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gICN7ICRzaXplIC8gLTIgfXB4ICk7XG5cblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAjeyAkc2l6ZSAvIC0yIH1weCwgMCApO1xuXHR9XG5cblx0LkJhZGdlLkJhZGdlLS11bmF2YWlsYWJsZSB7XG5cdFx0YmFja2dyb3VuZDogIzgwODA4MCAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiAxMjJweCAhaW1wb3J0YW50O1xuXHR9XG5cblxuXHQvLyAuQ2FyZC1pbmZvcm1hdGlvbl9fdGl0bGVcblx0Jl9fdGl0bGUge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDE1cHggYm90dG9tIDE1cHggKTtcblxuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRsaW5lLWhlaWdodDogMThweDtcblx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9LS1hZHZlcnRpc2luZyAmIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgKTtcblx0XHRcdGNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHR9XG5cdH1cblxuXG5cdC8vIC5DYXJkLWluZm9ybWF0aW9uX19jb250ZW50XG5cdCZfX2NvbnRlbnQge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDE1cHggYm90dG9tIDE1cHggKTtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cblx0XHQ+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCApO1xuXHRcdH1cblx0XHQ+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHR9XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9LS1hZHZlcnRpc2luZyAmIHtcblx0XHRcdEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bTtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblxuXHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0XHRjb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdH1cblx0fVxuXG5cblx0Ly8gLkNhcmQtaW5mb3JtYXRpb25fX2NhdGVnb3JpZXNcblx0Jl9fY2F0ZWdvcmllcyB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTVweCBib3R0b20gMTVweCApO1xuXG5cdFx0Y29sb3I6IHRoZV9jb2xvciggZ3JheSwgZGFyay0wMSApO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMTJweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0fVxuXHR9XG5cblxuXHQvLyAuQ2FyZC1pbmZvcm1hdGlvbl9faW5mb3JtYXRpb25zXG5cdCZfX2luZm9ybWF0aW9ucyB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTVweCBib3R0b20gMTVweCApO1xuXG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMThweDtcblx0XHR9XG5cblx0XHQ+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCApO1xuXHRcdH1cblx0XHQ+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqXG4gKlxuICpcbiAqXG4gKi9cbi5DYXJkLWxpc3Qge1xuXHRAZXh0ZW5kIC5kLWZsZXg7XG5cdEBleHRlbmQgJW92ZXJmbG93LWhpZGRlbjtcblxuXHRoZWlnaHQ6IDMzMHB4O1xuXHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggZ3JheSwgdmVyeS1saWdodC0wMiApO1xuXHRib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKCB0aGVfY29sb3IoIGJsYWNrICksIDAuMTUgKTtcblxuXHQmX19jb2x1bW4ge1xuXHRcdEBleHRlbmQgLmNvbDtcblxuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRAZXh0ZW5kICVwYWRkaW5nLWxlZnQtMDtcblx0XHR9XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdEBleHRlbmQgJXBhZGRpbmctcmlnaHQtMDtcblx0XHR9XG5cdH1cblxuXHQmX19pbWFnZSB7XG5cdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSApO1xuXG5cdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdH1cblxuXHQmX19ib2R5IHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMjVweCByaWdodCAyMHB4IGJvdHRvbSAyNXB4IGxlZnQgMjBweCApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMzRweCByaWdodCAyNHB4IGJvdHRvbSAzNHB4IGxlZnQgMjRweCApO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93biggeHMgKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0fVxuXG5cdFx0JiA+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCApO1xuXHRcdH1cblx0XHQmID4gKjpsYXN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblx0XHR9XG5cblx0XHR1bCB7XG5cdFx0XHQkbGktaGVpZ2h0OiAyMDtcblx0XHRcdCRjaGV2cm9uLWhlaWdodDogOTtcblxuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTZweCBib3R0b20gMTZweCApO1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggbGVmdCAxMy41NnB4ICk7XG5cdFx0XHRAZXh0ZW5kICVsaXN0LXN0eWxlLXR5cGUtbm9uZTtcblxuXHRcdFx0bGluZS1oZWlnaHQ6ICN7ICRsaS1oZWlnaHQgLSA0IH1weDtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblxuXHRcdFx0Y29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICksIDAuNSApO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogI3sgJGxpLWhlaWdodCB9cHg7XG5cdFx0XHR9XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDZweCBib3R0b20gNnB4ICk7XG5cblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggdG9wIDAgcmlnaHQgMTAwJSApO1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wICN7ICggKCAkbGktaGVpZ2h0IC0gNCApIC0gJGNoZXZyb24taGVpZ2h0ICkgLyAyIH1weCByaWdodCA4cHggKTtcblx0XHRcdFx0XHRAZXh0ZW5kIC5kLWJsb2NrO1xuXHRcdFx0XHRcdEBpbmNsdWRlIHNpemUoIDUuNTZweCwgI3sgJGNoZXZyb24taGVpZ2h0IH1weCwgKTtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcjeyBtYXAtZ2V0KCAkZGlyZWN0b3JpZXMsIHN2ZyApIH1jaGV2cm9uLXJpZ2h0LnN2ZycgKTtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgI3sgKCAkbGktaGVpZ2h0IC0gJGNoZXZyb24taGVpZ2h0ICkgLyAyIH1weCByaWdodCA4cHggKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAwICk7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMTZweCApO1xuXG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblx0fVxufVxuIiwiLyoqXG4gKiBDYXJkOiBkaXNjb3ZlcnlcbiAqXG4gKlxuICpcbiAqIEBwYWNrYWdlIGFkbFxuICovXG4uQ2FyZC1kaXNjb3Zlcnkge1xuXHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblxuXHRoZWlnaHQ6IDQwMHB4O1xuXHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdGJveC1zaGFkb3c6IDBweCAxcHggMnB4IHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC4xNSApO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGJsYWNrICk7XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdEBleHRlbmQgLmQtYmxvY2s7XG5cdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHJpZ2h0IDAgYm90dG9tIDAgbGVmdCAwICk7XG5cdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSwgMjAwcHggKTtcblxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwICkgMCUsIHRoZV9jb2xvciggYmxhY2sgKSAxMDAlICk7XG5cdFx0b3BhY2l0eTogMC44O1xuXHRcdGNvbnRlbnQ6ICcnO1xuXG5cdFx0ei1pbmRleDogMjtcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWNlbnRlcjtcblxuXHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRsaW5lLWhlaWdodDogMzRweDtcblx0XHRjb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHR9XG5cblx0Jl9fYm9keSB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDIwcHggcmlnaHQgMjBweCBib3R0b20gMjBweCBsZWZ0IDIwcHggKTtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAwIGJvdHRvbSAzMHB4ICk7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuanVzdGlmeS1jb250ZW50LWVuZCwgLmZsZXgtY29sdW1uO1xuXG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHotaW5kZXg6IDM7XG5cdH1cblxuXHQmX19iYWNrZ3JvdW5kIHtcblx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggdG9wIDAgcmlnaHQgMCBib3R0b20gMCBsZWZ0IDAgKTtcblx0XHRAaW5jbHVkZSBzaXplKCAxMDAlICk7XG5cblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG59XG4iLCIvKipcbiAqIENhcmRcbiAqXG4gKiBAcGFja2FnZSBhZGxcbiAqL1xuLkNhcmQge1xuXHRAZXh0ZW5kIC5kLWJsb2NrO1xuXHRAZXh0ZW5kICVvdmVyZmxvdy1oaWRkZW47XG5cblx0aGVpZ2h0OiAzODBweDtcblxuXHRiYWNrZ3JvdW5kOnRoZV9jb2xvciggZ3JheSwgdmVyeS1saWdodC0wMiApO1xuXHRib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHR0cmFuc2l0aW9uOlxuXHRcdGJveC1zaGFkb3cgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1pbi1vdXQgKSxcblx0XHRiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2UtaW4tb3V0ICk7XG5cblx0aDIge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tICRncmlkLWd1dHRlci13aWR0aCAvIDIgKTtcblxuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0fVxuXHR9XG5cblx0cCB7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjJweDtcblx0XHR9XG5cdH1cblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kOnRoZV9jb2xvciggd2hpdGUgKTtcblx0XHRib3gtc2hhZG93OlxuXHRcdFx0MHB4IDJweCA0cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjE2KSxcblx0XHRcdDBweCAwcHggMHB4IDFweCB0aGVfY29sb3IoIGdyYXksIHZlcnktbGlnaHQtMDIgKTtcblxuXHRcdC5DYXJkX190aHVtYm5haWxfX2lubmVyIHtcblx0XHRcdC8vIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LDEuMTUsMS4xNSk7XG5cdFx0XHRvcGFjaXR5OiAwLjc1O1xuXHRcdH1cblx0fVxuXG5cdC8vIC5DYXJkX190aHVtYm5haWxcblx0Jl9fdGh1bWJuYWlsIHtcblx0XHRAZXh0ZW5kICVvdmVyZmxvdy1oaWRkZW47XG5cdFx0aGVpZ2h0OiAxMjBweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRoZWlnaHQ6IDE5MHB4O1xuXHRcdH1cblxuXHRcdCZfX2lubmVyIHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdHRyYW5zaXRpb246IDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2UtaW4tb3V0ICk7XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDEwMCUgKTtcblxuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHR9XG5cdH1cblxuXHQvLyAuQ2FyZF9fYm9keVxuXHQmX19ib2R5IHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMjBweCByaWdodCAxMHB4IGJvdHRvbSAyMHB4IGxlZnQgMTBweCApO1xuXG5cdFx0PiAqOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBzbSApIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHJpZ2h0IDIwcHggbGVmdCAyMHB4ICk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMzBweCByaWdodCAzMHB4IGJvdHRvbSAzMHB4IGxlZnQgMzBweCApO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBDYXJkOiBQcm9tb3Rpb25uZWxsZVxuICpcbiAqXG4gKi9cblxuLmNhcmQtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uQ2FyZC1wcm9tb3Rpb25uZWxsZSB7XG4gICR0aGlzOiAmO1xuXG4gIEBleHRlbmQgLmQtYmxvY2s7XG4gIEBleHRlbmQgJW92ZXJmbG93LWhpZGRlbjtcblxuICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXJzLCByYWRpdXMtNCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG5cbiAgbWluLWhlaWdodDogMjI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIG1pbi1oZWlnaHQ6IDM1MHB4O1xuICAgIGhlaWdodDogMjI1cHg7XG4gIH1cblxuICBoZWlnaHQ6IDEwMCU7XG5cbiAgLkJ1dHRvbiB7XG4gICAgYm90dG9tOiAyNXB4O1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIH1cbiAgfVxuXG4gIHA6bm90KCN7ICR0aGlzIH0tLU0pIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICB9XG4gIH1cblxuICAuYm91dG9uIHtcbiAgICBjb2xvcjogJGNvbG9yX2JsdWVfc2t5O1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgLy8gw4PCoCBsYWlzc2VyID9cbiAgICBiYWNrZ3JvdW5kOiB0aGVfY29sb3Iod2hpdGUpO1xuXG4gICAgI3sgJHRoaXMgfV9fdGh1bWJuYWlsX19pbm5lciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMS4xNSwgMS4xNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gLkNhcmRfX3RodW1ibmFpbFxuICAmX190aHVtYm5haWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAZXh0ZW5kICVvdmVyZmxvdy1oaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblxuICAgICZfX2lubmVyIHtcbiAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2UtaW4tb3V0KTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBoZWlnaHQ6IDE3MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3dyYXBwZXItbGFiZWxzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgIC5sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDAuM2VtIDAuNWVtO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBtaW4td2lkdGg6IDI3cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkZm9udCwgd2VpZ2h0cywgbWVkaXVtKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVycywgcmFkaXVzLTQpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjFjMztcblxuICAgICAgICAmICsgLmxhYmVsIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6Y292ZXI7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcic7XG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5DYXJkX19ib2R5XG4gICZfX2JvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxNXB4O1xuXG4gICAgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGJvdHRvbTogY2FsYygxMDAlIC0gMC42ZW0pO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVycywgcmFkaXVzLTQpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIC5sb2dvIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FyZC1wcm9tb3Rpb25uZWxsZS0tTVxuICAmLS1NIHtcbiAgICBtaW4taGVpZ2h0OiAzNTBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ3MHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgICN7ICR0aGlzIH1fX2JvZHkge1xuICAgICAgLmxvZ28ge1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjeyAkdGhpcyB9X190aHVtYm5haWxfX2lubmVyIHtcbiAgICAgIGhlaWdodDogMTcwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgaGVpZ2h0OiAyMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLkNhcmQtcHJvbW90aW9ubmVsbGUtTCB7XG4gIEBleHRlbmQgJW92ZXJmbG93LWhpZGRlbjtcblxuICBoZWlnaHQ6IDIzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDI1cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXJzLCByYWRpdXMtNCk7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDExMy4xOWRlZywgcmdiYSgwLCAwLCAwLCAwLjUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDUwJSksXG4gICAgbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMCwgMCwgMCwgMC4wNSksIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IHVuc2V0O1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgfVxuICB9XG5cbiAgLkJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgYm90dG9tOiAyNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlcnMsIHJhZGl1cy00KTtcbiAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcblxuICAgICZfX3RodW1ibmFpbCBpbWcge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogOTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190aHVtYm5haWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIGhlaWdodDogMzUwcHg7XG4gIH1cblxuICAmLmNhcmQtd2lkZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgIH1cblxuICAgIC5DYXJkLXByb21vdGlvbm5lbGxlLUxfX2JvZHkge1xuICAgICAgaDIge1xuICAgICAgICBtYXgtd2lkdGg6IDIxY2g7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgICAgIG1heC13aWR0aDogMjJjaDtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIG1heC13aWR0aDogNDZjaDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5DYXJkLXByb21vdGlvbm5lbGxlLVYge1xuICBAZXh0ZW5kICVvdmVyZmxvdy1oaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVycywgcmFkaXVzLTQpO1xuXG4gIGhlaWdodDogMjI1cHg7XG4gIHBhZGRpbmc6IDI1cHg7XG5cbiAgLkJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVycywgcmFkaXVzLTQpO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3R0b206IDI1cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgfVxuXG4gICZfX3RodW1ibmFpbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG5cbiAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIGhlaWdodDogNDcwcHg7XG5cbiAgICAmLS1MIHtcbiAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgfVxuICAgIC5CdXR0b24ge1xuICAgICAgYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBDYXJvdXNlbCBjYXJkc1xuXG5bZGF0YS1mbGlja2l0eS1hdXRvcGxheV0uaXMtYW5pbWF0ZWQgLkNhcm91c2VsLWNhcmRzX19pdGVtcyAuZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgLmRvdCB7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgZG90c0NhcmRzIHtcbiAgICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiArIC5kb3Qge1xuICAgICAgbWFyZ2luLWxlZnQ6IDlweDtcbiAgICB9XG4gIH1cbn1cblxuW2RhdGEtZmxpY2tpdHktYXV0b3BsYXldIHtcblxuICAmLmlzLWFuaW1hdGVkIHtcbiAgICAuZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgICAgICYgLmRvdC5pcy1zZWxlY3RlZDpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb246IGRvdHNDYXJkcyBjYWxjKHZhcigtLWRhdGEtdGltZSkgKiAxbXMpIGxpbmVhciBmb3J3YXJkcztcbiAgICAgIH1cblxuICAgICAgJi5kb3QuaXMtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmlvbGV0O1xuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgJi5kb3RzLW91dHNpZGUge1xuXG4gICAgLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gICAgICBib3R0b206IC0xNXB4O1xuXG4gICAgICAmIC5kb3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkZGRkO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MWMzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5kb3RzLWluc2lkZSAuZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICB9XG5cbiAgICAmIC5kb3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5Ecm9wZG93bi1tZW51X19jb2x1bW5fX2JvZHkge1xuICAuQ2Fyb3VzZWwtY2FyZHNfX2l0ZW1zIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICB3aWR0aDogMzA1cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgd2lkdGg6IDI2NXB4O1xuICAgIH1cblxuICAgIC5DYXJkLXByb21vdGlvbm5lbGxlLVZ7XG4gICAgICBoZWlnaHQ6IDM5MHB4O1xuICAgIH1cblxuICAgIC5DYXJvdXNlbF9faXRlbSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uQ2Fyb3VzZWxfX2l0ZW0uUHJlcGFyZV9faXRlbSAuQ2FyZC1wcm9tb3Rpb25uZWxsZS1MIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIGhlaWdodDogMzMwcHg7XG4gIH1cbn1cbiIsbnVsbCwiLyoqXG4gKiBDYXJkOiBpbnNwaXJhdGlvblxuICpcbiAqIEBwYWNrYWdlIGFkbFxuICovXG4uQ2FyZC1pbnNwaXJhdGlvbiB7XG5cbiAgJHRoaXM6ICY7XG5cbiAgQGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmUsICVvdmVyZmxvdy1oaWRkZW47XG4gIEBleHRlbmQgLmQtZmxleCwgLmZsZXgtY29sdW1uO1xuXG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlcnMsIHJhZGl1cy00KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDIxMC45NWRlZywgcmdiYSgwLCAwLCAwLCAwKSA1MCUsIHJnYmEoMCwgMCwgMCwgMC42KSA4MS4yNiUpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLCAwLCAwLCAwLjA1KSwgcmdiYSgwLCAwLCAwLCAwLjA1KSk7XG4gIGNvbG9yOiB0aGVfY29sb3Iod2hpdGUpO1xuXG5cbiAgaGVpZ2h0OiAyMjVweDtcbiAgcGFkZGluZzogMjVweDtcblxuICBoMyB7XG5cbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBmb250LXNpemU6IDIycHg7XG5cbiAgfVxuXG4gIGZvb3RlciB7XG5cbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG5cbiAgICBzdmcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICN7ICR0aGlzIH1fX2ltYWdlIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgfVxuXG4gICAgI3sgJHRoaXMgfV9fYXJyb3cge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuQ2FyZC1pbnNwaXJhdGlvbl9fZGVzY3JpcHRpb24ge1xuICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNXMgZWFzZS1pbjtcbiAgICB9XG4gIH1cblxuICAmLS1tZWRpdW0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcbiAgICBAZXh0ZW5kICVwYWRkaW5nLTMsICV0ZXh0LWFsaWduLWNlbnRlciwgJW1hcmdpbi0wO1xuICAgIEBpbmNsdWRlIGFic29sdXRlKHRvcCAwIHJpZ2h0IDAgYm90dG9tIDAgbGVmdCAwKTtcblxuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmX19jb3VudHJ5IHtcbiAgICBAZXh0ZW5kICVtYXJnaW4tMDtcblxuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxuXG4gICZfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGFic29sdXRlKHRvcCAwIHJpZ2h0IDAgYm90dG9tIDAgbGVmdCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgIEBleHRlbmQgJXBhZGRpbmctNTtcblxuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG5cbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLy8gLkNhcmQtZGVzdGluYXRpb25fX2ltYWdlXG4gICZfX2ltYWdlIGltZyB7XG4gICAgQGluY2x1ZGUgYWJzb2x1dGUodG9wIDAgcmlnaHQgMCBib3R0b20gMCBsZWZ0IDApO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG5cbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC45cyBtYXAtZ2V0KCRlYXNpbmdzLCBlYXNlLW91dC1leHBvKTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBhYnNvbHV0ZShyaWdodCAwIGJvdHRvbSAwIGxlZnQgMCk7XG4gICAgQGV4dGVuZCAuZC1ibG9jaztcblxuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHJnYmEodGhlX2NvbG9yKGJsYWNrKSwgMCkgMCUsXG4gICAgICAgIHJnYmEodGhlX2NvbG9yKGJsYWNrKSwgMC43KSAxMDAlXG4gICAgKTtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tcmVhZG1vcmU6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gLkNhcmQtaW5zcGlyYXRpb25fX2JvZHlcbiAgJl9fYm9keSB7XG4gICAgbWFyZ2luOiAxMHB4IDIwcHggMjVweCAyNXB4O1xuICAgIEBpbmNsdWRlIHBhZGRpbmcodG9wIDMwcHgpO1xuICAgIEBpbmNsdWRlIGFic29sdXRlKHJpZ2h0IDAgYm90dG9tIDAgbGVmdCAwKTtcblxuICAgIHotaW5kZXg6IDM7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4ocmlnaHQgMzBweCBib3R0b20gMzBweCBsZWZ0IDMwcHgpO1xuICAgIH1cblxuICAgIEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1yZWFkbW9yZSAmIHtcbiAgICAgIEBleHRlbmQgJXRleHQtYWxpZ24tY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBAZXh0ZW5kICVvdmVyZmxvdy1oaWRkZW47XG4gICAgQGluY2x1ZGUgbWFyZ2luKHRvcCAwIGJvdHRvbSAwKTtcblxuXG4gICAgbWF4LWhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMXMgZWFzZS1vdXQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHdpbGwtY2hhbmdlOiBoZWlnaHQ7XG4gIH1cblxuICAmX19vcHRpb25zIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4odG9wICRncmlkLWd1dHRlci13aWR0aCByaWdodCAkZ3JpZC1ndXR0ZXItd2lkdGggbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuICAgIEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXG4gICAgei1pbmRleDogMztcbiAgfVxuXG5cbiAgJl9fYXNpZGUge1xuICAgIEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlLCAldGV4dC1hbGlnbi1yaWdodDtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKHRvcCAzMHB4KTtcbiAgICBAZXh0ZW5kIC5kLW5vbmUsIC5kLW1kLWJsb2NrO1xuXG4gICAgei1pbmRleDogMztcblxuICB9XG5cbiAgJl9fYXJyb3cge1xuICAgIEBpbmNsdWRlIHNpemUoMTRweCk7XG5cbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjlzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmLVAtTCB7XG4gICAgaGVpZ2h0OiAzNTBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGhlaWdodDogNDcwcHg7XG4gICAgfVxuXG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgaGVpZ2h0OiA0NzBweDtcblxuICAgICYtLUx7XG4gICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgfVxuXG4gICAgZm9vdGVyIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uQ2FyZC1mYXZvcml0ZSB7XG5cbiAgJl9fQ2FyZC1pbnNwaXJhdGlvbiB7XG5cbiAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRtYXA6ICRib3JkZXJzLCAka2V5OiByYWRpdXMtNCk7XG5cbiAgICAuQnV0dG9uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJG1hcDogJGJvcmRlcnMsICRrZXk6IHJhZGl1cy00KTtcbiAgICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgfVxuXG4gICAgLkNhcmQtZmF2b3JpdGVfX2F1dGhvciB7XG4gICAgICBmb250LWZhbWlseTogJ21pZ2h0eSByaXZlcicsIHNhbnMtc2VyaWY7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cblxuICAgIGhlaWdodDogMzUwcHg7XG4gICAgcGFkZGluZzogMzBweDtcblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgIH1cblxuICAgIC5DYXJkLWZhdm9yaXRlX19jb250ZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIC5DYXJkLWZhdm9yaXRlX19hdXRob3Ige1xuXG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cbiAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC5DYXJkLWZhdm9yaXRlX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLkNhcmQtZmF2b3JpdGVfX2F1dGhvciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8qKlxuICogRm9ybVxuICpcbiAqIEBwYWNrYWdlIGFkbFxuICovXG4uRm9ybSB7XG5cdCR0aGlzOiAmO1xuXG5cdCYgPiAqOmZpcnN0LWNoaWxkIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAwICk7XG5cdH1cblxuXHQmID4gKjpsYXN0LWNoaWxkIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdH1cblxuXG5cdCZfX2dyb3VwIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAyMHB4IGJvdHRvbSAyMHB4ICk7XG5cblx0fVxuXG5cdC8vIC5Gb3JtX190aXRsZVxuXHQmX190aXRsZSB7XG5cdFx0QGV4dGVuZCAlZm9udC13ZWlnaHQtbWVkaXVtLCAldGV4dC1hbGlnbi1jZW50ZXI7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCApO1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIGJvdHRvbSAyMHB4ICk7XG5cblx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHR9XG59XG4iLCIvKipcbiAqIENhcm91c2VsXG4gKlxuICogQHBhY2thZ2UgYWRsXG4gKi9cblxuXG4uQ2Fyb3VzZWwge1xuXHRAZXh0ZW5kICVvdmVyZmxvdy1oaWRkZW4sICVvdmVyZmxvdy1tZC12aXNpYmxlO1xuXG5cdCZbZGF0YS1mbGlja2l0eS1kZXNrdG9wPVwidHJ1ZVwiXSB7XG5cdFx0QGV4dGVuZCAlb3ZlcmZsb3ctaGlkZGVuO1xuXHR9XG5cblx0Ly8gLkNhcm91c2VsX19pdGVtc1xuXHQmX19pdGVtcyB7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuZmxleC13cmFwO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTQgbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAtNCApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCAvIC0yIGxlZnQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIgKTtcblx0XHR9XG5cblx0XHQmID4gLmZsaWNraXR5LXBhZ2UtZG90cyB7XG5cdFx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblxuXHRcdFx0QGV4dGVuZCAlZmxpY2tpdHktcGFnZS1kb3RzO1xuXHRcdH1cblxuXHRcdCYuZmxpY2tpdHktZW5hYmxlZCB7XG5cdFx0XHRAZXh0ZW5kIC5kLWJsb2NrO1xuXHRcdH1cblx0XHQmLmZsaWNraXR5LXJlYWR5LmlzLXJlc2l6aW5nIC5DYXJvdXNlbF9faXRlbSB7XG5cdFx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQvLyAuQ2Fyb3VzZWxfX2l0ZW1cblx0Jl9faXRlbSB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gNCBsZWZ0ICRncmlkLWd1dHRlci13aWR0aCAvIDQgKTtcblxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCAvIDIgbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFBsYW5lIHRyaXBcbiAqXG4gKlxuICogQHBhY2thZ2UgYWRsXG4gKi9cbi5QbGFuZS10cmlwIHtcblx0JHRoaXM6ICY7XG5cblx0JltoaWRkZW49XCJ0cnVlXCJdIHtcblx0XHRAZXh0ZW5kIC5kLW5vbmU7XG5cdH1cblxuXHQmX19ib2R5IHtcblx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5mbGV4LXJvdywgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1iZXR3ZWVuO1xuXHRcdEBleHRlbmQgJXBhZGRpbmcteS0zLCAlcGFkZGluZy1sZWZ0LW1kLTM7XG5cblx0XHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCAwIHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgLjIgKTtcblx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cdH1cblxuXG5cdC8vIC5QbGFuZS10cmlwX190aHVtYm5haWxcblx0Jl9fdGh1bWJuYWlsIHtcblx0XHRAZXh0ZW5kICVvdmVyZmxvdy1oaWRkZW47XG5cdFx0QGluY2x1ZGUgc2l6ZSggMTIwcHgsIDcwcHggKTtcblxuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuXG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCggJGJvcmRlcnMsIHJhZGl1cyApO1xuXHRcdGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC4xNiApO1xuXG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0QGV4dGVuZCAlbWFyZ2luLXktMCwgJW1hcmdpbi14LTM7XG5cblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIxcHg7XG5cdFx0ZmxleDogMTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDMycHg7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFBsYW5lIHRyaXA6IGFycm93XG5cdCAqXG5cdCAqXHQ8cCBjbGFzcz1cIlBsYW5lLXRyaXBfX2Fycm93XCI+XG5cdCAqXHRcdDxzdmc+XG5cdCAqXHRcdFx0PHVzZSB4bGluazpocmVmPVwiI2Fycm93LWNpcmNsZS1yaWdodFwiIGhyZWY9XCIjYXJyb3ctY2lyY2xlLXJpZ2h0XCI+PC91c2U+XG5cdCAqXHRcdDwvc3ZnPlxuXHQgKlx0PC9wPlxuXHQgKi9cblx0Jl9fYXJyb3cge1xuXHRcdEBpbmNsdWRlIHNpemUoIDMwcHggKTtcblx0XHRAZXh0ZW5kIC5kLW5vbmUsIC5kLW1kLWZsZXgsIC5hbGlnbi1pdGVtcy1tZC1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtbWQtY2VudGVyO1xuXHRcdEBleHRlbmQgJW1hcmdpbi0wO1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblx0XHRib3JkZXItcmFkaXVzOiAxNXB4O1xuXG5cdFx0c3ZnIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDguNHB4ICk7XG5cblx0XHRcdGZpbGw6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0XHR9XG5cdH1cblxuXG5cdC8vIC5QbGFuZS10cmlwX19pY29uXG5cdCZfX2ljb24ge1xuXHRcdCN7ICR0aGlzIH0tLWRpcmVjdCAmIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDM2cHgsIDIwcHggKTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIHNpemUoIDUxcHgsIDI4cHggKTtcblx0XHRcdH1cblxuXHRcdH1cblx0XHQjeyAkdGhpcyB9LS1pbmRpcmVjdCAmIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDM2cHgsIDMwcHggKTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIHNpemUoIDUycHgsIDQzcHggKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRzdmcge1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSApO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBPcmRlcmVkIGxpc3RcbiAqXG4gKiBAcGFja2FnZSBhZGxcbiAqL1xuLk9yZGVyZWQtbGlzdCB7XG5cdEBpbmNsdWRlIG1hcmdpbiggdG9wIDYwcHggYm90dG9tIDYwcHggKTtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCA5MHB4IGJvdHRvbSAxMDBweCApO1xuXHR9XG5cblx0Y291bnRlci1yZXNldDogaXRlbTtcblxuXHQmX19pdGVtIHtcblx0XHQkdGhpczogJjtcblx0XHRAZXh0ZW5kICVtYXJnaW4tYm90dG9tLTY7XG5cblx0XHRjb3VudGVyLWluY3JlbWVudDogaXRlbTtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRAZXh0ZW5kICVtYXJnaW4tYm90dG9tLTA7XG5cdFx0fVxuXG5cdFx0Ly8gLk9yZGVyZWQtbGlzdF9faXRlbV9fYm9keVxuXHRcdCZfX2JvZHkge1xuXHRcdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cdFx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5mbGV4LWNvbHVtbiwgLmp1c3RpZnktY29udGVudC1jZW50ZXI7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgOTBweCByaWdodCA0MHB4IGxlZnQgNDBweCApO1xuXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMCApO1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDU1cHggbGVmdCAgNTVweCApO1xuXHRcdFx0fVxuXG5cdFx0XHQ+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdEBleHRlbmQgJW1hcmdpbi1ib3R0b20tMDtcblx0XHRcdH1cblxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRAZXh0ZW5kIC5kLWJsb2NrO1xuXHRcdFx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1leHRyYWxpZ2h0O1xuXHRcdFx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggdG9wIDAgbGVmdCAwICk7XG5cblx0XHRcdFx0Y29udGVudDogY291bnRlciggaXRlbSApO1xuXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjY5cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNjlweDtcblx0XHRcdFx0Y29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICksIDAuMSApO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRcdEBhdC1yb290ICN7ICR0aGlzIH06bnRoLWNoaWxkKCBldmVuICkgJiB7XG5cdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9Om50aC1jaGlsZCggb2RkICkgJiB7XG5cdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRoMyB7XG5cdFx0XHRcdEBleHRlbmQgJW1hcmdpbi10b3AtMDtcblxuXHRcdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzRweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRwIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjZweDtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19pbWFnZSB7XG5cdFx0XHRAZXh0ZW5kIC5kLWlubGluZS1ibG9jaztcblx0XHRcdEBleHRlbmQgJXZlcnRpY2FsLWFsaWduLW1pZGRsZTtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDEwMCUsIDI0MHB4ICk7XG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuXG5cdFx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdFx0XHRib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKCB0aGVfY29sb3IoIGJsYWNrICksIDAuMiApO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSwgNDAwcHggKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogV2lkZ2V0XG4gKlxuICogQHBhY2thZ2UgYnl6YW5jZVxuICovXG4uV2lkZ2V0IHtcblx0JHRoaXM6ICY7XG5cblx0QGV4dGVuZCAuYmFja2dyb3VuZC1jb2xvci1ncmF5LXZlcnktbGlnaHQtMDI7XG5cblx0QGluY2x1ZGUgcGFkZGluZyhcblx0XHR0b3AgJGdyaWQtZ3V0dGVyLXdpZHRoIHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCBib3R0b20gJGdyaWQtZ3V0dGVyLXdpZHRoIGxlZnRcblx0XHRcdCRncmlkLWd1dHRlci13aWR0aFxuXHQpO1xuXG5cdGhlaWdodDogMTAwJTtcblx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVycywgcmFkaXVzKTtcblx0Ym94LXNoYWRvdzogMHB4IDFweCAycHggcmdiYSh0aGVfY29sb3IoYmxhY2spLCAwLjE2KTtcblxuXHQmX19tb2JpbGUge1xuXHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXHRcdEBpbmNsdWRlIG1hcmdpbih0b3AgLTYwcHggYm90dG9tIDIwcHgpO1xuXG5cdFx0ei1pbmRleDogNztcblxuXHRcdC5mbGlja2l0eS12aWV3cG9ydCB7XG5cdFx0XHRAZXh0ZW5kICVvdmVyZmxvdy12aXNpYmxlO1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHR9XG5cdFx0LmZsaWNraXR5LXBhZ2UtZG90cyB7XG5cdFx0XHR6LWluZGV4OiAwO1xuXHRcdH1cblxuXHRcdCYuQ2Fyb3VzZWwge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCAtOTlweCk7XG5cdFx0fVxuXHR9XG5cblx0Ji0tcGFya2luZy1yZXNlcnZhdGlvbixcblx0Ji0tYm9vay1hLWZsaWdodCxcblx0Ji0tdHJhY2stYS1mbGlnaHQge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtY29sdW1uO1xuXG5cdFx0LkJ1dHRvbi0tcHJpbWFyeSB7XG5cdFx0XHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblx0XHRcdG1hcmdpbi10b3A6IGF1dG87XG5cdFx0fVxuXHR9XG5cblx0Ji0tYm9vay1hLWZsaWdodCB7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0XHQuQ2hlY2tib3gge1xuXHRcdFx0Y29sb3I6IHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQpO1xuXHRcdH1cblxuXHRcdC5TcGluLWJ1dHRvbiB7XG5cdFx0XHRjb2xvcjogdGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCk7XG5cdFx0fVxuXG5cdFx0W3JvbGU9J3JhZGlvJ10ge1xuXHRcdFx0Y29sb3I6IHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQpO1xuXHRcdH1cblx0XHQuRHJvcGRvd24tLW1lZGl1bSBzZWxlY3Qge1xuXHRcdFx0cGFkZGluZy1yaWdodDogNDBweDtcblx0XHR9XG5cdH1cblxuXHQmLS10cmFjay1hLWZsaWdodCB7XG5cdFx0Jl9faXRlbSB7XG5cdFx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXI7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKHRvcCAxMC41cHggYm90dG9tIDEwLjVweCk7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4ocmlnaHQgMTBweCBsZWZ0IDEwcHgpO1xuXG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSh0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKSwgMC4xKTtcblx0XHRcdGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG5cdFx0XHQmX190aXRsZSB7XG5cdFx0XHRcdEBleHRlbmQgJW1hcmdpbi0wO1xuXG5cdFx0XHRcdHdpZHRoOiA0MCU7XG5cdFx0XHR9XG5cdFx0XHQmX190aW1lIHtcblx0XHRcdFx0QGV4dGVuZCAlbWFyZ2luLTAsICV0ZXh0LWFsaWduLWNlbnRlcjtcblxuXHRcdFx0XHRjb2xvcjogcmdiYSh0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKSwgMC41KTtcblx0XHRcdFx0ZmxleDogMTtcblx0XHRcdH1cblx0XHRcdCZfX2lkIHtcblx0XHRcdFx0QGV4dGVuZCAlbWFyZ2luLTAsICV0ZXh0LWFsaWduLWNlbnRlcjtcblx0XHRcdFx0Y29sb3I6IHJnYmEodGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCksIDAuNSk7XG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHR9XG5cdFx0XHQmX19lc3RpbWF0ZWQge1xuXHRcdFx0XHRAZXh0ZW5kICVtYXJnaW4tMCwgJXRleHQtYWxpZ24tcmlnaHQ7XG5cblx0XHRcdFx0ZmxleDogMTtcblxuXHRcdFx0XHRzbWFsbCB7XG5cdFx0XHRcdFx0QGV4dGVuZCAuZC1ibG9jaztcblx0XHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oYm90dG9tIC0ycHgpO1xuXG5cdFx0XHRcdFx0Y29sb3I6IHJnYmEodGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCksIDAuNSk7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gLldpZGdldF9fdGl0bGVcblx0Jl9fdGl0bGUge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtY29sdW1uLCAuYWxpZ24taXRlbXMtY2VudGVyO1xuXHRcdEBleHRlbmQgJXRleHQtYWxpZ24tY2VudGVyO1xuXG5cdFx0Y29sb3I6IHRoZV9jb2xvcihibHVlLCBkYXJrKTtcblxuXHRcdGgyIHtcblx0XHRcdEBleHRlbmQgJW1hcmdpbi0wO1xuXG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHR9XG5cblx0XHRzdmcge1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSg1MHB4LCAyNXB4KTtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbihib3R0b20gOXB4KTtcblxuXHRcdFx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRcdH1cblx0fVxuXG5cdCZfX3BhbmVsIHtcblx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5mbGV4LWNvbHVtbjtcblxuXHRcdEBpbmNsdWRlIGFic29sdXRlKHRvcCAwIHJpZ2h0IDAgYm90dG9tIDAgbGVmdCAwKTtcblx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoMCk7XG5cdFx0QGluY2x1ZGUgc2l6ZSgxMDAlKTtcblxuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBtYXAtZ2V0KCRlYXNpbmdzLCBlYXNlLW91dC1leHBvKSxcblx0XHRcdHZpc2liaWxpdHkgMC4zcyBtYXAtZ2V0KCRlYXNpbmdzLCBlYXNlLW91dC1leHBvKTtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0QGluY2x1ZGUgYXV0b0FscGhhKDEpO1xuXHRcdH1cblxuXHRcdC5CdXR0b24tLXByaW1hcnkge1xuXHRcdFx0bWFyZ2luLXRvcDogYXV0bztcblx0XHR9XG5cdH1cblxuXHQmX19ncm91cCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCAxNXB4IGJvdHRvbSAxNXB4KTtcblxuXHRcdCZfX2NvbHVtbiB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Ji0tdHdvLWJyb3RoZXJzIHtcblx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtcm93LCAuZmxleC13cmFwLCAuYWxpZ24taXRlbXMtY2VudGVyO1xuXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdH1cblxuXHRcdFx0I3sgJHRoaXMgfV9fZ3JvdXBfX2NvbHVtbiB7XG5cdFx0XHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0XHRcdG1heC13aWR0aDogNTAlO1xuXG5cdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcocmlnaHQgMTBweCBsZWZ0IDEwcHgpO1xuXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLXR3by1jaGlsZHJlbiB7XG5cdFx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5mbGV4LXJvdywgLmZsZXgtd3JhcDtcblxuXHRcdFx0I3sgJHRoaXMgfV9fZ3JvdXBfX2NvbHVtbiB7XG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdGZsZXg6IDAgMCAxMDAlO1xuXG5cdFx0XHRcdFx0JiA+ICoge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0ZmxleDogMCAwIDEwMCU7XG5cblx0XHRcdFx0XHQmID4gKiB7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0XHRcdFx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQmLS10aHJlZS1jaGlsZHJlbiB7XG5cdFx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5mbGV4LXJvdywgLmZsZXgtd3JhcDtcblxuXHRcdFx0I3sgJHRoaXMgfV9fZ3JvdXBfX2NvbHVtbiB7XG5cdFx0XHRcdGZsZXg6IDAgMCAxMDAlO1xuXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcblx0XHRcdFx0XHQmID4gKiB7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHRcdFx0JiA+ICoge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOm50aC1jaGlsZCgzKSB7XG5cdFx0XHRcdFx0JiA+ICoge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCAtMXB4KTtcblx0XHRcdFx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ji0tb25lLWFuZC10d28tY2hpbGRyZW4ge1xuXHRcdFx0QGV4dGVuZCAuZC1mbGV4LCAuZmxleC1yb3csIC5mbGV4LXdyYXA7XG5cblx0XHRcdCN7ICR0aGlzIH1fX2dyb3VwX19jb2x1bW4ge1xuXHRcdFx0XHQmOm50aC1jaGlsZCgxKSB7XG5cdFx0XHRcdFx0JiA+ICoge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHRcdFx0JiA+ICoge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0ZmxleDogMCAwIDUwJTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDMpIHtcblx0XHRcdFx0XHRmbGV4OiAwIDAgNTAlO1xuXG5cdFx0XHRcdFx0JiA+ICoge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdFx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIFt0eXBlPVwic3VibWl0XCJdIHtcblx0Ly8gXHRmb250LXNpemU6IDE2cHg7XG5cdC8vIFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdC8vIH1cblxuXHQuQmFkZ2UuQmFkZ2UtLXNtYWxsLkJhZGdlLS1yb3VuZGVkIHtcblx0XHQkc2l6ZTogMzU7XG5cblx0XHRAaW5jbHVkZSBhYnNvbHV0ZSh0b3AgMCByaWdodCAwKTtcblx0XHRAaW5jbHVkZSBtYXJnaW4odG9wICN7KCg0NSAqIDIpIC8gMikgLSAoJHNpemUgLyAyKX1weCByaWdodCAxNXB4KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgbGlnaHQtZ3JheWlzaC0wMSk7XG5cdFx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAxcyBtYXAtZ2V0KCRlYXNpbmdzLCBlYXNlLW91dC1leHBvKTtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0c3ZnIHtcblx0XHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLW5vbmU7XG5cblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pO1xuXHRcdFx0ZmlsbDogdGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCk7XG5cdFx0fVxuXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMTJweCByZ2JhKHRoZV9jb2xvcihibHVlLCBsaWdodC1ncmF5aXNoLTAxKSwgMC40KTtcblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gLldpZGdldF9fdGFic1xuXHQmX190YWJzIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4odG9wIDVweCk7XG5cblx0XHQmX19uYXZpZ2F0aW9uIHtcblx0XHRcdEBleHRlbmQgJWxpc3Qtc3R5bGUtdHlwZS1ub25lO1xuXHRcdFx0QGV4dGVuZCAuZC1mbGV4O1xuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHR9XG5cblx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcodG9wIDEwLjVweCBib3R0b20gMTAuNXB4KTtcblxuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTZweDtcblx0XHRcdFx0Y29sb3I6IHJnYmEodGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCksIDAuNCk7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQpLCAwLjE1KTtcblxuXHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pLFxuXHRcdFx0XHRcdGJvcmRlci1jb2xvciAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pO1xuXG5cdFx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1tZWRpdW07XG5cblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgZGFyayk7XG5cdFx0XHRcdFx0Y29sb3I6IHRoZV9jb2xvcihibHVlLCBkYXJrKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3BhbmVsIHtcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHR1bCB7XG5cdFx0XHRcdEBleHRlbmQgJWxpc3Qtc3R5bGUtdHlwZS1ub25lO1xuXHRcdFx0fVxuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0JiA+IC5XaWRnZXQtLXRyYWNrLWEtZmxpZ2h0X19pdGVtIHtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fZHJvcGRvd25zIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4odG9wIDE2cHggYm90dG9tIDApO1xuXHR9XG5cblx0Jl9faGVscF9taWRkbGUge1xuXHRcdEBpbmNsdWRlIG1hcmdpbih0b3AgMTBweCBib3R0b20gMCk7XG5cdH1cblx0Ly9cblx0Jl9fZHJvcGRvd25zLCAmX19oZWxwX21pZGRsZSB7XG5cdFx0QGV4dGVuZCAuZC1mbGV4O1xuXG5cdFx0JiA+IHAge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKGJvdHRvbSAwIGxlZnQgYXV0byk7XG5cblx0XHRcdGNvbG9yOiB0aGVfY29sb3IoZ3JheSwgZGFyay0wMSk7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTlweDtcblx0XHR9XG5cblx0XHQuRHJvcGRvd24ge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCAvIDQgbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyA0KTtcblxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbihsZWZ0IDApO1xuXHRcdFx0fVxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKHJpZ2h0IDApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBXaWRnZXQ6IHJlYWwgdGltZSBmbGlnaHRcbiAqXG4gKlxuICpcbiAqL1xuLldpZGdldC1yZWFsLXRpbWUtZmxpZ2h0IHtcblx0JHRoaXM6ICY7XG5cblx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDAgcmlnaHQgMCBib3R0b20gMCBsZWZ0IDAgKTtcblxuXHRAYXQtcm9vdCAuV2lkZ2V0I3sgJHRoaXMgfSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cblxuXHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQgKTtcblxuXHQvLyAuV2lkZ2V0LWxpdmUtZmxpZ2h0LXRyYWNrZXIgLldpZGdldF9fZ3JvdXBcblx0LldpZGdldF9fZ3JvdXAge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDVweCBib3R0b20gNXB4ICk7XG5cdFx0QGV4dGVuZCAuZC1pbmxpbmUtYmxvY2s7XG5cblx0XHRAZXh0ZW5kICV2ZXJ0aWNhbC1hbGlnbi1taWRkbGU7XG5cblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTBweCByaWdodCA1cHggYm90dG9tIDAgbGVmdCA1cHggKTtcblxuXHRcdFx0JjpudGgtY2hpbGQoIDEgKSB7XG5cdFx0XHRcdHdpZHRoOiBwZXJjZW50YWdlKCAzMTggLyAxMTAwICk7XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWNoaWxkKCAyICksXG5cdFx0XHQmOm50aC1jaGlsZCggMyApIHtcblx0XHRcdFx0d2lkdGg6IHBlcmNlbnRhZ2UoIDI0NyAvIDExMDAgKTtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoIDQgKSB7XG5cdFx0XHRcdHdpZHRoOiBwZXJjZW50YWdlKCAyNDggLyAxMTAwICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LkZvcm1fX2lucHV0IHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMTQuNXB4IGJvdHRvbSAxNC41cHggKTtcblx0fVxuXG5cdCZfX25hdmlnYXRpb24ge1xuXHRcdEBleHRlbmQgJWxpc3Qtc3R5bGUtdHlwZS1ub25lO1xuXHRcdEBleHRlbmQgLmQtZmxleDtcblxuXHRcdGNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cblx0XHRsaSB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdH1cblxuXHRcdGJ1dHRvbiB7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMThweCBib3R0b20gMTdweCApO1xuXHRcdFx0QGV4dGVuZCAuZC1mbGV4LCAuanVzdGlmeS1jb250ZW50LWNlbnRlcjtcblx0XHRcdEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bTtcblxuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMThweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC40ICk7XG5cblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG5cdFx0XHR9XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAycHg7XG5cdFx0XHR9XG5cblx0XHRcdHN2ZyB7XG5cdFx0XHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLW5vbmU7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMTBweCApO1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKCA0Mi42NXB4LCAyNXB4ICk7XG5cdFx0XHR9XG5cblx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdFx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fYm9keSB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDEwcHggcmlnaHQgMTVweCBib3R0b20gMTBweCBsZWZ0IDE1cHggKTtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDVweCByaWdodCAxMHB4IGJvdHRvbSAxNXB4IGxlZnQgMTBweCApO1xuXHRcdH1cblx0fVxuXG5cdCZfX3BhbmVsIHtcblx0XHQmOmZvY3VzIHtcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFJlcG9ydGFnZVxuICpcbiAqIEBwYWNrYWdlIGFkbFxuICovXG4uUmVwb3J0YWdlIHtcblx0QGluY2x1ZGUgcGFkZGluZyggYm90dG9tICRncmlkLWd1dHRlci13aWR0aCAqIDMgKTtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCBib3R0b20gJGdyaWQtZ3V0dGVyLXdpZHRoICogNSApO1xuXHR9XG5cblx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAyICk7XG5cblx0PiAqOmxhc3QtY2hpbGQge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblx0fVxuXG5cdC8vIC5SZXBvcnRhZ2VfX2hlYWRlclxuXHQmX19oZWFkZXIge1xuXHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIC0xMjBweCApO1xuXG5cdFx0aGVpZ2h0OiA0MTJweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGJsYWNrICk7XG5cblx0XHQmX193aXRob3V0X2NvbnRlbnQge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gLTU1MHB4ICk7XG5cdFx0fVxuXG5cdFx0KyAqIHtcblx0XHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXG5cdFx0XHR6LWluZGV4OiA0O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0aGVpZ2h0OiA2MzBweDtcblx0XHR9XG5cblx0XHQmX19iYWNrZ3JvdW5kIHtcblx0XHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggMTAwJSApO1xuXG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0b3BhY2l0eTogMC44O1xuXG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdEBpbmNsdWRlIGFic29sdXRlKCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXHRcdFx0QGV4dGVuZCAuZC1ibG9jaztcblxuXHRcdFx0Y29udGVudDogJyc7XG5cblx0XHRcdGhlaWdodDogMTU0cHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdHJnYmEoIHRoZV9jb2xvciggZ3JheSwgdmVyeS1saWdodC0wMiApLCAwICkgMCUsXG5cdFx0XHRcdHRoZV9jb2xvciggZ3JheSwgdmVyeS1saWdodC0wMiApIDEwMCVcblx0XHRcdCk7XG5cdFx0XHR6LWluZGV4OiAyO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0aGVpZ2h0OiAzMzlweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19ib2R5IHtcblx0XHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlLCAldGV4dC1hbGlnbi1jZW50ZXI7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgJGdyaWQtZ3V0dGVyLXdpZHRoICogMyApO1xuXG5cdFx0XHRjb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdFx0ei1pbmRleDogMztcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxNjBweCApO1xuXHRcdFx0fVxuXG5cdFx0XHRoMiB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDIwcHggKTtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAzMHB4ICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdCZfX2NvbnRlbnQge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMCApO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAzNHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2hlYWRpbmcge1xuXHRcdFx0QGV4dGVuZCAlZm9udC1mYW1pbHktY3Vyc2l2ZS0wMTtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgYm90dG9tIDEwcHggKTtcblxuXHRcdFx0Zm9udC1zaXplOiA0MHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDQ4cHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAtMTBweCApO1xuXG5cdFx0XHRcdGZvbnQtc2l6ZTogNDZweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDY4cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gLlJlcG9ydGFnZV9fZWRpdG9yaWFsXG5cdCZfX2VkaXRvcmlhbCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgJGdyaWQtZ3V0dGVyLXdpZHRoICogMyBib3R0b20gJGdyaWQtZ3V0dGVyLXdpZHRoICogMyApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAkZ3JpZC1ndXR0ZXItd2lkdGggKiA0IGJvdHRvbSAkZ3JpZC1ndXR0ZXItd2lkdGggKiA0ICk7XG5cdFx0fVxuXG5cdFx0Ly8gLlJlcG9ydGFnZV9fZWRpdG9yaWFsX19ib2R5XG5cdFx0Jl9fYm9keSB7XG5cdFx0XHQ+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAwICk7XG5cdFx0XHR9XG5cdFx0XHQ+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblx0XHRcdH1cblxuXHRcdFx0aDIge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAzMHB4ICk7XG5cblx0XHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gJGdyaWQtZ3V0dGVyLXdpZHRoICogMiApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHAge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tICRncmlkLWd1dHRlci13aWR0aCAqIDIgKTtcblx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyAuUmVwb3J0YWdlX19jYXJvdXNlbFxuXHQmX19jYXJvdXNlbCB7XG5cdFx0QGV4dGVuZCAlb3ZlcmZsb3ctaGlkZGVuO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDYwcHggYm90dG9tIDYwcHggKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgODBweCBib3R0b20gODBweCApO1xuXHRcdH1cblxuXG5cdFx0LmZsaWNraXR5LXZpZXdwb3J0IHtcblx0XHRcdEBleHRlbmQgJW92ZXJmbG93LXZpc2libGU7XG5cdFx0fVxuXG5cdFx0Jl9faXRlbXMge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMiBsZWZ0ICRncmlkLWd1dHRlci13aWR0aCAvIC0yICk7XG5cdFx0fVxuXHRcdCZfX2l0ZW0ge1xuXHRcdFx0QGV4dGVuZCAuZC1pbmxpbmUtYmxvY2s7XG5cdFx0XHRAZXh0ZW5kICVvdmVyZmxvdy1oaWRkZW47XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCByaWdodCAkZ3JpZC1ndXR0ZXItd2lkdGggLyA0IGxlZnQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gNCApO1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggcGVyY2VudGFnZSggMTIgLyAxMiApLCAyNzRweCApO1xuXG5cdFx0XHRoZWlnaHQ6IDE5NHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCggJGJvcmRlcnMsIHJhZGl1cyApO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0QGluY2x1ZGUgcGFkZGluZyggcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiBsZWZ0ICRncmlkLWd1dHRlci13aWR0aCAvIDIgKTtcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggcGVyY2VudGFnZSggMTIgLyAxMiApLCA2NTJweCApO1xuXHRcdFx0fVxuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKCAxMDAlICk7XG5cblx0XHRcdFx0Ym94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjIgKTtcblx0XHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2J1dHRvbiB7XG5cdFx0XHRAZXh0ZW5kIC5kLW5vbmUsIC5kLW1kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyO1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggNTBweCApO1xuXHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwICk7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAzMDFweCApO1xuXG5cdFx0XHRib3JkZXItcmFkaXVzOiAyNXB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdFx0XHR6LWluZGV4OiAxO1xuXG5cdFx0XHRzdmcge1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKCAxNHB4ICk7XG5cblx0XHRcdFx0ZmlsbDogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblx0XHRcdH1cblxuXHRcdFx0JltkaXNhYmxlZD1cImRpc2FibGVkXCJdIHtcblx0XHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1uZXh0IHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAzMHB4ICk7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdFx0Ji0tcHJldmlvdXMge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGxlZnQgMzBweCApO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBBZHZhbnRhZ2VcbiAqXG4gKiBAcGFja2FnZSBhZGxcbiAqL1xuLkFkdmFudGFnZSB7XG5cdEBleHRlbmQgJXRleHQtYWxpZ24tY2VudGVyO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMTVweCBsZWZ0IDE1cHggKTtcblx0fVxuXG5cdC5CYWRnZS5CYWRnZS0tZXh0cmEtbGFyZ2UuQmFkZ2UtLXJvdW5kZWQge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgYXV0byBib3R0b20gJGdyaWQtZ3V0dGVyLXdpZHRoIGxlZnQgYXV0byApO1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdEBleHRlbmQgJWZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCBib3R0b20gMTVweCApO1xuXG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjZweDtcblx0XHR9XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRAZXh0ZW5kICVtYXJnaW4tYm90dG9tLTA7XG5cblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBTZWxlY3RvclxuICpcbiAqIEBwYWNrYWdlIGFkbFxuICovXG4uU2VsZWN0b3Ige1xuXHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMjBweCBib3R0b20gMjBweCApO1xuXG5cdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoICRib3JkZXJzLCByYWRpdXMgKTtcblx0YmFja2dyb3VuZDogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKCB0aGVfY29sb3IoIGJsYWNrICksIDAuMTYgKTtcblxuXHQmLS1wZXJpb2Qge1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHR3aWR0aDogMjUzLjVweDtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQvLyAuU2VsZWN0b3JfX3RpdGxlXG5cdCZfX3RpdGxlIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAwICk7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggcmlnaHQgMjBweCBsZWZ0IDIwcHggKTtcblx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWNlbnRlcjtcblxuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYm9keSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXG5cdFx0Jl9fbGluayB7XG5cdFx0XHRjb2xvcjogYmxhY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHBhZGRpbmc6IDVweCAwO1xuXG5cdFx0XHQmLmhvdmVyZWQtbGluayB7XG5cdFx0XHRcdGNvbG9yOiB0aGVfY29sb3IgKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCk7XG5cdFx0XHRcdG9wYWNpdHk6IDAuNztcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fZm9vdGVyIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAyMHB4IHJpZ2h0IDIwcHggbGVmdCAyMHB4ICk7XG5cblx0XHRidXR0b24ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59XG5cblxuLyoqXG4gKiBTZWxlY3RvcnNcbiAqXG4gKlxuICpcbiAqL1xuLlNlbGVjdG9ycyB7XG5cdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXHRAZXh0ZW5kICVQb2ludGVyLWV2ZW50cy1ub25lO1xuXG5cdHotaW5kZXg6IDc7XG5cblx0Ly8gLkJhbm5lciAuU2VsZWN0b3JzIC5jb2wtKlxuXHRAYXQtcm9vdCAuQmFubmVyICYgW2NsYXNzXj1cImNvbC1cIl0ge1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGxlZnQgMCBib3R0b20gMCApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdC8vIFBlcmlvZCBzZWxlY3Rvci5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggbGVmdCBwZXJjZW50YWdlKCAtMSAvIDEyICkgKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyAuVHJhdmVsLWRpYXJ5X19zZWxlY3RvcnMgLmNvbC0qXG5cdEBhdC1yb290IC5UcmF2ZWwtZGlhcnlfX3NlbGVjdG9ycyAmIFtjbGFzc149XCJjb2wtXCJdIHtcblx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggdG9wIDAgcmlnaHQgMCBsZWZ0IDAgYm90dG9tIDAgKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblx0fVxuXG5cdC5TZWxlY3RvciB7XG5cdFx0QGluY2x1ZGUgYXV0b0FscGhhKCAwICk7XG5cblx0XHR0cmFuc2l0aW9uOlxuXHRcdFx0b3BhY2l0eSAwLjVzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICksXG5cdFx0XHR2aXNpYmlsaXR5IDAuNXMgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKSxcblx0XHRcdHRyYW5zZm9ybSAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cblx0XHR0cmFuc2Zvcm06IHNjYWxlKCAwLjcgKTtcblx0XHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG5cdFx0Ly8gRGlydHkgaGFjayB0byBjYWxjIHJhbmdlIFNsaWRlclxuXHRcdCNidWRnZXQsICN0ZW1wZXJhdHVyZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKCAoIDEgLyAwLjcgKSApO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0ZmxleDogMTtcblx0XHR9XG5cblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRAZXh0ZW5kICVQb2ludGVyLWV2ZW50cy1hdXRvO1xuXHRcdFx0QGluY2x1ZGUgYXV0b0FscGhhKCAxICk7XG5cblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoIDEgKTtcblxuXHRcdFx0I2J1ZGdldCwgI3RlbXBlcmF0dXJlIHtcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IGF1dG8gbGVmdCBhdXRvICk7XG5cdFx0bWluLXdpZHRoOiAxOTBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0bWluLXdpZHRoOiBhdXRvO1xuXHRcdH1cblx0XHQmLS10ZW1wZXJhdHVyZSB7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYmFja2Ryb3Age1xuXHRcdEBpbmNsdWRlIGZpeGVkKCB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXHRcdEBpbmNsdWRlIGF1dG9BbHBoYSggMCApO1xuXG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCB0aGVfY29sb3IoIGJsYWNrICksIDAuNiApO1xuXHRcdHotaW5kZXg6IDY7XG5cblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoIDEgKTtcblx0XHR9XG5cdH1cbn1cblxuXG4vKipcbiAqIFRoZW1lc1xuICpcbiAqXG4gKi9cbi5UaGVtZXMge1xuXHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAyMHB4IGJvdHRvbSAyMHB4ICk7XG5cdEBpbmNsdWRlIHBhZGRpbmcoIHJpZ2h0IDIwcHggbGVmdCAyMHB4ICk7XG59XG5cblxuLyoqXG4gKiBDYWxlbmRhcnNcbiAqXG4gKlxuICovXG4uQ2FsZW5kYXJzIHtcblx0Jl9faGVhZGVyIHtcblx0XHRAZXh0ZW5kIC5kLWZsZXg7XG5cdH1cblxuXHQmX19idXR0b24ge1xuXHRcdEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bSwgJXRleHQtYWxpZ24tY2VudGVyO1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxOHB4IGJvdHRvbSAxN3B4ICk7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOnRoZV9jb2xvciggYmx1ZSwgbGlnaHQtZ3JheWlzaC0wMSApO1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE1cHg7XG5cdFx0ZmxleDogMTtcblxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6dGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdH1cblx0fVxufVxuXG4iLCIvKipcbiAqIENhbGVuZGFyXG4gKlxuICpcbiAqL1xuLkNhbGVuZGFyIHtcblx0JHRoaXM6ICY7XG5cblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pO1xuXHRjb2xvcjogdGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCk7XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXHQmLmlzLWJvcmRlcmVkIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXJzLCByYWRpdXMpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHRoZV9jb2xvcihibHVlLCBsaWdodC1ncmF5aXNoLTAxKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3Iod2hpdGUpO1xuXG5cdFx0JiAjeyAkdGhpcyB9X190YWJsZSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4ocmlnaHQgMTBweCBsZWZ0IDEwcHgpO1xuXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdCZfX2hlYWRlciB7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuYWxpZ24taXRlbXMtY2VudGVyO1xuXG5cdFx0aGVpZ2h0OiAzMHB4O1xuXHR9XG5cblx0Ly8gJl9fZGF5cyB7fVxuXG5cdCVidXR0b24ge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1jZW50ZXI7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgc2l6ZSgzMHB4KTtcblxuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHR6LWluZGV4OiAyO1xuXG5cdFx0c3ZnIHtcblx0XHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLW5vbmU7XG5cdFx0XHRAaW5jbHVkZSBzaXplKDdweCwgMTEuMzRweCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdG9vbHRpcCB7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmUsICVmb250LXdlaWdodC1tZWRpdW07XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5pcy1hY3RpdmU6OmJlZm9yZSB7XG5cdFx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1yZWd1bGFyO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRAZXh0ZW5kIC5kLWJsb2NrO1xuXHRcdFx0QGV4dGVuZCAld2hpdGUtc3BhY2Utbm93cmFwLCAlUG9pbnRlci1ldmVudHMtbm9uZSwgJWZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG5cdFx0XHRAaW5jbHVkZSBhYnNvbHV0ZShsZWZ0IDUwJSBib3R0b20gMTAwJSk7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKHRvcCA1cHggcmlnaHQgNXB4IGJvdHRvbSA1cHggbGVmdCA1cHgpO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKGJvdHRvbSA1cHgpO1xuXG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRcdGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDBweCAycHggMnB4IDJweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcih3aGl0ZSk7XG5cdFx0XHRjb250ZW50OiBhdHRyKGRhdGEtY29udGVudCk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHRib3gtc2hhZG93OiAwcHggNXB4IDE1cHggcmdiYSh0aGVfY29sb3IoYmxhY2spLCAwLjMpO1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0fVxuXHR9XG5cblx0Jl9fbmV4dCxcblx0Jl9fcHJldmlvdXMge1xuXHRcdEBleHRlbmQgJWJ1dHRvbjtcblx0fVxuXG5cdCZfX3ByZXZpb3VzIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4obGVmdCAjezIwIC0gKCgzMCAtIDcpIC8gMil9cHgpO1xuXHR9XG5cblx0Jl9fbmV4dCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKHJpZ2h0ICN7MjAgLSAoKDMwIC0gNykgLyAyKX1weCk7XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0QGV4dGVuZCAlbWFyZ2luLTAsICV0ZXh0LWFsaWduLWNlbnRlcjtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdFx0ZmxleDogMTtcblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmX190YWJsZSB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKHJpZ2h0IDIwcHggbGVmdCAyMHB4KTtcblx0XHR0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXHRcdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuXHR9XG5cblx0Jl9fcm93IHtcblx0XHRoZWlnaHQ6IDI4cHg7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHR9XG5cblx0Jl9fY2VsbCB7XG5cdFx0QGV4dGVuZCAldGV4dC1hbGlnbi1jZW50ZXI7XG5cblx0XHQmX19pbm5lciB7XG5cdFx0XHRjb2xvcjogcmdiYSh0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKSwgMC40KTtcblxuXHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0QGV4dGVuZCAuZC1ibG9jaztcblx0XHRcdFx0QGV4dGVuZCAldGV4dC1hbGlnbi1jZW50ZXI7XG5cdFx0XHRcdEBpbmNsdWRlIHNpemUoMTAwJSk7XG5cblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSh0aGVfY29sb3IoZ3JheSwgZGFyay0wMSksIDAuMik7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlcnMsIHJhZGl1cyk7XG5cdFx0XHRcdGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKTtcblxuXHRcdFx0XHQmLmlzLWluLXJhbmdlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgbGlnaHQtZ3JheWlzaC0wMikgIWltcG9ydGFudDtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5pcy1hY3RpdmUsXG5cdFx0XHRcdCYuaXMtaW4tcmFuZ2UuaXMtYWN0aXZlIHtcblx0XHRcdFx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1tZWRpdW07XG5cblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgc3Ryb25nKSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlcnMsIHJhZGl1cyk7XG5cdFx0XHRcdFx0Y29sb3I6IHRoZV9jb2xvcih3aGl0ZSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLmlzLWFjdGl2ZS5pcy1zdGFydCB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVycywgcmFkaXVzKSAwIDAgbWFwLWdldCgkYm9yZGVycywgcmFkaXVzKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuaXMtYWN0aXZlLmlzLWVuZCB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMCBtYXAtZ2V0KCRib3JkZXJzLCByYWRpdXMpIG1hcC1nZXQoJGJvcmRlcnMsIHJhZGl1cykgMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYjeyAkdGhpcyB9X190b29sdGlwIHtcblx0XHRcdFx0XHRjb2xvcjogdGhlX2NvbG9yKGJsdWUsIHN0cm9uZyk7XG5cblx0XHRcdFx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogdGhlX2NvbG9yKHdoaXRlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLS1hY3RpdmUge1xuXHRcdFx0QGF0LXJvb3QgI3sgJiB9ICN7ICR0aGlzIH1fX2NlbGxfX2lubmVyIGJ1dHRvbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIENhbGVuZGFyc1xuICpcbiAqXG4gKlxuICovXG4uQ2FsZW5kYXJzIHtcbn1cbiIsIi8qKlxuICogUGFnaW5hdGlvblxuICpcbiAqXG4gKlxuICovXG4uUGFnaW5hdGlvbiB7XG5cblx0Ly8gLlBhZ2luYXRpb25fX2l0ZW1zXG5cdCZfX2l0ZW1zIHtcblx0XHRAZXh0ZW5kIC5kLWZsZXg7XG5cdFx0QGV4dGVuZCAlbGlzdC1zdHlsZS10eXBlLW5vbmU7XG5cdH1cblxuXHQvLyAuUGFnaW5hdGlvbl9faXRlbVxuXHQmX19pdGVtIHtcblx0XHQkdGhpczogJjtcblxuXHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgNXB4IGxlZnQgNXB4ICk7XG5cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggbGVmdCAwICk7XG5cdFx0fVxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDAgKTtcblx0XHR9XG5cblx0XHQmX19saW5rIHtcblx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1jZW50ZXI7XG5cdFx0XHRAZXh0ZW5kICVtYXJnaW4tMDtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDUwcHggKTtcblxuXHRcdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCggJGJvcmRlcnMsIHJhZGl1cyApO1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cblx0XHRcdEBhdC1yb290ICN7ICR0aGlzIH0tLWN1cnJlbnQgI3sgJHRoaXN9X19saW5rLCAmOmhvdmVyIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICksIDAuNCApO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIENoZWNrYm94XG4gKlxuICpcbiAqXG4gKi9cbi5DaGVja2JveCB7XG5cdCR0aGlzOiAmO1xuXG5cdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblxuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuXHQmI3sgJHRoaXMgfS0tbGFyZ2Uge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0fVxuXG5cdGJ1dHRvbiB7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgc2l6ZSggMTZweCApO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMTVweCApO1xuXG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCggJGJvcmRlcnMsIHJhZGl1cyApO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApLCAwLjIgKTtcblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1sYXJnZSBidXR0b24ge1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggMjBweCApO1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSggdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKSwgMC4yICk7XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0QGV4dGVuZCAuZC1ibG9jaztcblx0XHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMnB4IHJpZ2h0IDJweCBib3R0b20gMnB4IGxlZnQgMnB4ICk7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAxMnB4ICk7XG5cblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICksIDAgKTtcblx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApO1xuXHRcdFx0Y29udGVudDogJyc7XG5cblx0XHRcdEBhdC1yb290ICN7ICR0aGlzIH0uaXMtc2VsZWN0ZWQgYnV0dG9uOjphZnRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICksIDEgKTtcblx0XHRcdH1cblxuXHRcdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWxhcmdlIGJ1dHRvbjo6YWZ0ZXIge1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKCAxNnB4ICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIEZpbHRlcnNcbiAqXG4gKlxuICpcbiAqL1xuLkZpbHRlcnMge1xuXHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMzBweCByaWdodCAyMHB4IGJvdHRvbSAzMHB4IGxlZnQgNTBweCApO1xuXHRAaW5jbHVkZSBmaXhlZCggdG9wIDAgYm90dG9tIDAgbGVmdCAwICk7XG5cblx0d2lkdGg6IDMwNXB4O1xuXHRvdmVyZmxvdzogYXV0bztcblx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRib3gtc2hhZG93OiAwcHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcblx0ei1pbmRleDogMztcblxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAtMTAwJSwgMCwgMCApO1xuXHR0cmFuc2l0aW9uOlxuXHRcdHRyYW5zZm9ybSAwLjlzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICksXG5cdFx0Ym94LXNoYWRvdyAwLjlzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuXHRAYXQtcm9vdCAuc2Nyb2xsLXVwICYge1xuXHRcdHRvcDogNjBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHJpZ2h0IDMwcHggbGVmdCAzMHB4ICk7XG5cblx0XHRwb3NpdGlvbjogc3RhdGljOyAvLyBJRSBmaXhcblx0XHRwb3NpdGlvbjogc3RpY2t5O1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IGF1dG87XG5cdFx0bGVmdDogMDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0aGVfY29sb3IoIGdyYXksIHZlcnktbGlnaHQtMDEgKTtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cdFx0d2lsbC1jaGFuZ2U6IGF1dG87XG5cdFx0ei1pbmRleDogYXV0bztcblxuXHRcdC8vIElFIGZpeFxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdH1cblxuXHRcdEBhdC1yb290IC5zY3JvbGwtdXAgJiB7XG5cdFx0XHR0b3A6IDUwcHg7XG5cdFx0fVxuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIDAsIDAgKTtcblx0XHRib3gtc2hhZG93OiAwcHggNXB4IDEwcHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjE2KSA7XG5cdH1cblxuXG5cdC8vIC5GaWx0ZXJzX19idXR0b25cblx0Jl9fYnV0dG9uIHtcblx0XHRAZXh0ZW5kIC5kLWJsb2NrLCAuZC1tZC1ub25lO1xuXHRcdEBpbmNsdWRlIHNpemUoIDIwcHggKTtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIGxlZnQgYXV0byApO1xuXG5cdFx0c3ZnIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDEwMCUgKTtcblx0XHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLW5vbmU7XG5cblx0XHRcdGZpbGw6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cdFx0fVxuXHR9XG5cblxuXHQvLyAuRmlsdGVyc19fdGl0bGVcblx0Jl9fdGl0bGUge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDMwcHggYm90dG9tIDE1cHggKTtcblxuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRsaW5lLWhlaWdodDogMThweDtcblx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cblx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCApO1xuXHRcdH1cblx0fVxuXG5cdCZfX2l0ZW1zIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAxNXB4IGJvdHRvbSAxNXB4ICk7XG5cdFx0QGV4dGVuZCAlbGlzdC1zdHlsZS10eXBlLW5vbmU7XG5cblx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0fVxuXHR9XG5cblx0Jl9faXRlbSB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTBweCBib3R0b20gMTBweCApO1xuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblx0XHR9XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAwICk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fc3VibWl0IHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAzMHB4ICk7XG5cblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuIiwiLyoqXG4gKlxuICpcbiAqXG4gKi9cbi5GYXZvcml0ZXMge1xuXHRAZXh0ZW5kICVvdmVyZmxvdy14LWhpZGRlbjtcblxuXHQuZmxpY2tpdHktdmlld3BvcnQge1xuXHRcdEBleHRlbmQgJW92ZXJmbG93LXZpc2libGU7XG5cdH1cblxuXHQuZmxpY2tpdHktcGFnZS1kb3RzIHtcblx0XHRAZXh0ZW5kIC5kLW1kLW5vbmU7XG5cdH1cbn1cbiIsIi8qKlxuICogUGVyaW9kXG4gKlxuICpcbiAqIEBwYWNrYWdlIGFkbFxuICovXG4uUGVyaW9kIHtcblx0Lkxpc3QtYnV0dG9uX19uYXZpZ2F0aW9uLS1wcmV2aW91cyB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKGxlZnQgI3syMCAtICgoMzAgLSA3KSAvIDIpfXB4KTtcblx0fVxuXG5cdC5MaXN0LWJ1dHRvbl9fbmF2aWdhdGlvbi0tbmV4dCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKHJpZ2h0ICN7MjAgLSAoKDMwIC0gNykgLyAyKX1weCk7XG5cdH1cblxuXHQvLyAuUGVyaW9kX19vcHRpb25cblx0Jl9fb3B0aW9uIHtcblx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWNlbnRlcjtcblx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoMCk7XG5cblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuN3MgbWFwLWdldCgkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyk7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHRoZV9jb2xvcihibHVlLCBsaWdodC1ncmF5aXNoLTAxKTtcblx0XHRoZWlnaHQ6IDA7XG5cblx0XHQuQ2FsZW5kYXJzX19ib2R5IHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbih0b3AgMjBweCBib3R0b20gMjBweCk7XG5cdFx0fVxuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdH1cblxuXHRcdCZfX2JvZHkge1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyh0b3AgMjNweCBib3R0b20gMThweCk7XG5cdFx0fVxuXG5cdFx0aDQge1xuXHRcdFx0QGV4dGVuZCAldGV4dC10cmFuc2Zvcm0tdXBwZXJjYXNlLCAlZm9udC13ZWlnaHQtbWVkaXVtO1xuXHRcdFx0QGV4dGVuZCAlbWFyZ2luLXRvcC0wO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKGJvdHRvbSA1cHgpO1xuXHRcdFx0Y29sb3I6IHJnYmEodGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCksIDAuNik7XG5cdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTBweDtcblx0XHR9XG5cblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoMSk7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIExpc3QgYnV0dG9uXG4gKlxuICpcbiAqXG4gKiBAcGFja2FnZSBhZGxcbiAqL1xuLy8gLlBlcmlvZF9fb3B0aW9uX19saXN0XG4uTGlzdC1idXR0b24ge1xuXHQkdGhpczogJjtcblx0JHNpemU6IDE1O1xuXG5cdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbjtcblxuXHRmb250LXNpemU6ICN7ICRzaXplIH1weDtcblx0bGluZS1oZWlnaHQ6ICN7ICRzaXplIH1weDtcblx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgZGFyayApO1xuXG5cdGhlaWdodDogMzBweDtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG5cblx0dWwge1xuXHRcdEBleHRlbmQgJWxpc3Qtc3R5bGUtdHlwZS1ub25lO1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGxlZnQgMCApO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgI3sgJHNpemUgfXB4IGxlZnQgI3sgJHNpemUgfXB4ICk7XG5cblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC43cyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApO1xuXHRcdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9W2FyaWEtb3JpZW50YXRpb249XCJob3Jpem9udGFsXCJdIHVsIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMCBsZWZ0IDAgKTtcblx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtbm93cmFwO1xuXHRcdH1cblx0fVxuXG5cdGxpIHtcblx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1tZWRpdW0sICVvdmVyZmxvdy1oaWRkZW4sICV0ZXh0LWFsaWduLWNlbnRlcjtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDExLjM0cHggbGVmdCAxMS4zNHB4ICk7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDcuNXB4IGJvdHRvbSA3LjVweCApO1xuXG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH1bYXJpYS1vcmllbnRhdGlvbj1cImhvcml6b250YWxcIl0gbGkge1xuXHRcdFx0ZmxleDogMTtcblx0XHR9XG5cdH1cblxuXHQvLyAuUGVyaW9kX19vcHRpb25fX2xpc3RfX2NvbnRhaW5lclxuXHQmX19jb250YWluZXIge1xuXHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXHRcdEBleHRlbmQgJW92ZXJmbG93LWhpZGRlbjtcblx0XHQvLyBAaW5jbHVkZSBtYXJnaW4oIHRvcCA3LjVweCBib3R0b20gNy41cHggKTtcblxuXHRcdGhlaWdodDogI3sgJHNpemUgKiAyIH1weDtcblx0XHRmbGV4OiAxO1xuXHR9XG5cblx0Jl9fbmF2aWdhdGlvbiB7XG5cdFx0QGluY2x1ZGUgc2l6ZSggMzBweCApO1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1jZW50ZXI7XG5cblx0XHR6LWluZGV4OiAyO1xuXG5cdFx0c3ZnIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDdweCwgMTEuMzRweCApO1xuXHRcdFx0QGV4dGVuZCAlUG9pbnRlci1ldmVudHMtbm9uZTtcblxuXHRcdFx0dHJhbnNpdGlvbjogZmlsbCAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdFx0XHRmaWxsOiByZ2JhKCB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApLCAwLjUgKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHN2ZyB7XG5cdFx0XHRcdGZpbGw6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICksIDAuNyApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBSYW5nZVxuICpcbiAqIEBwYWNrYWdlIGFkbFxuICovXG4uUmFuZ2Uge1xuXHRAZXh0ZW5kIC5kLWZsZXg7XG5cdEBpbmNsdWRlIG1hcmdpbiggdG9wIDIwcHggbGVmdCA1MnB4IGJvdHRvbSAyMHB4ICk7XG5cblx0Jl9fY29udGFpbmVyIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDVweCApO1xuXHRcdEBpbmNsdWRlIHNpemUoIDQwcHgsIDIzM3B4ICk7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAxMDAlICk7XG5cdFx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggdG9wIDAgcmlnaHQgMCBib3R0b20gMCBsZWZ0IDAgKTtcblxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHR0byByaWdodCxcblx0XHRcdFx0cmdiYSggdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKSwgMCApIDAlLFxuXHRcdFx0XHRyZ2JhKCB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApLCAwICkgMTguNXB4LFxuXHRcdFx0XHRyZ2JhKCB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApLCAxICkgMTguNXB4LFxuXHRcdFx0XHRyZ2JhKCB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApLCAxICkgMjEuNXB4LFxuXHRcdFx0XHRyZ2JhKCB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApLCAwICkgMjEuNXB4LFxuXHRcdFx0XHRyZ2JhKCB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApLCAwICkgMTAwJVxuXHRcdFx0KTtcblxuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGh1bWIge1xuXHRcdEBpbmNsdWRlIHNpemUoICRncmlkLWd1dHRlci13aWR0aCAqIDIgKTtcblx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyO1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGdyaWQtZ3V0dGVyLXdpZHRoO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0c3ZnIHtcblx0XHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLW5vbmU7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAxOHB4LCA3cHggKTtcblxuXHRcdFx0ZmlsbDogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblx0XHR9XG5cdH1cblxuXHQmX19hc2lkZSB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTBweCBib3R0b20gMTBweCBsZWZ0IDVweCApO1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmp1c3RpZnktY29udGVudC1iZXR3ZWVuLCAuZmxleC1jb2x1bW47XG5cblx0XHQmX19sYWJlbCB7XG5cdFx0XHRkaXYge1xuXHRcdFx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1tZWRpdW07XG5cdFx0XHRcdEBleHRlbmQgLmQtYmxvY2s7XG5cdFx0XHR9XG5cblx0XHRcdGRpdjpudGgtY2hpbGQoMSkge1xuXHRcdFx0XHRAZXh0ZW5kICV0ZXh0LXRyYW5zZm9ybS11cHBlcmNhc2U7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDJweCApO1xuXHRcdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxMHB4O1xuXHRcdFx0XHRjb2xvcjogcmdiYSggdGhlX2NvbG9yKCBibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQgKSwgMC42ICk7XG5cdFx0XHR9XG5cdFx0XHRkaXY6bnRoLWNoaWxkKCAyICkge1xuXHRcdFx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNXB4O1xuXHRcdFx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIEFjdHVhbGl0eVxuICpcbiAqXG4gKlxuICovXG4uQWN0dWFsaXR5IHtcblx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNjBweCBib3R0b20gNjBweCApO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDgwcHggYm90dG9tIDEwMHB4ICk7XG5cdH1cbn1cbiIsIi8qKlxuICogRW5qb3lcbiAqXG4gKlxuICpcbiAqL1xuLkVuam95IHtcblx0QGluY2x1ZGUgcGFkZGluZyh0b3AgNjBweCBib3R0b20gNjBweCk7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKGdyYXksIHZlcnktbGlnaHQtMDIpO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKHRvcCA4MHB4IGJvdHRvbSA4MHB4KTtcblx0fVxuXG5cdCZfX2ljb25zIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4odG9wIDEwcHgpO1xuXG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAwIDAgcmdiYSh0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKSwgMC4yKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbih0b3AgMCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9faWNvbiB7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuZmxleC1jb2x1bW4sIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyLCAuYWxpZ24taXRlbXMtY2VudGVyO1xuXHRcdEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bSwgJXRleHQtYWxpZ24tY2VudGVyO1xuXHRcdEBpbmNsdWRlIHNpemUocGVyY2VudGFnZSg2IC8gMTIpLCAxNjRweCk7XG5cblx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG5cblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgbWFwLWdldCgkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyk7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMHB4IC0xcHggMCAwIHJnYmEodGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCksIDAuMiksXG5cdFx0XHRpbnNldCAtMXB4IDAgMCByZ2JhKHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQpLCAwLjIpO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHRoZV9jb2xvcihibHVlLCBzdHJvbmcpLCAwLjIpO1xuXHRcdH1cblxuXHRcdCY6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDBweCAtMXB4IDAgMCByZ2JhKHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQpLCAwLjIpO1xuXHRcdH1cblxuXHRcdHN2ZyB7XG5cdFx0XHRAaW5jbHVkZSBzaXplKDY0Ljc1cHgsIDUxLjVweCk7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oYm90dG9tIDE4LjVweCk7XG5cblx0XHRcdGZpbGw6IHRoZV9jb2xvcihibHVlLCBzdHJvbmcpO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBTbGlkZXNob3dcbiAqXG4gKlxuICpcbiAqL1xuLlNsaWRlc2hvdyB7XG5cdEBleHRlbmQgJW92ZXJmbG93LWhpZGRlbjtcblxuXHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cblx0Jl9faXRlbXMge1xuXHRcdCYgPiAuZmxpY2tpdHktcGFnZS1kb3RzIHtcblx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtbWQtZW5kO1xuXG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRoZWlnaHQ6IDMwcHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDMwcHggbGVmdCAzMHB4IGJvdHRvbSAxNXB4ICk7XG5cblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQuZG90IHtcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggNDBweCwgMTAwJSApO1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDEwcHggbGVmdCAxMHB4ICk7XG5cblx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHRcdHRvIGJvdHRvbSxcblx0XHRcdFx0XHRyZ2JhKCB0aGVfY29sb3IoIHdoaXRlICksIDAgKSAwJSxcblx0XHRcdFx0XHRyZ2JhKCB0aGVfY29sb3IoIHdoaXRlICksIDAgKSBjYWxjKCA1MCUgLSAycHggKSxcblx0XHRcdFx0XHRyZ2JhKCB0aGVfY29sb3IoIHdoaXRlICksIDEgKSBjYWxjKCA1MCUgLSAxcHggKSxcblx0XHRcdFx0XHRyZ2JhKCB0aGVfY29sb3IoIHdoaXRlICksIDEgKSBjYWxjKCA1MCUgKyAxcHggKSxcblx0XHRcdFx0XHRyZ2JhKCB0aGVfY29sb3IoIHdoaXRlICksIDAgKSBjYWxjKCA1MCUgKyAycHggKSxcblx0XHRcdFx0XHRyZ2JhKCB0aGVfY29sb3IoIHdoaXRlICksIDAgKSAxMDAlXG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblxuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGxlZnQgMCApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDAgKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuaXMtc2VsZWN0ZWQge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0XHRcdHRvIGJvdHRvbSxcblx0XHRcdFx0XHRcdHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICksIDAgKSAwJSxcblx0XHRcdFx0XHRcdHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICksIDAgKSBjYWxjKCA1MCUgLSAycHggKSxcblx0XHRcdFx0XHRcdHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICksIDEgKSBjYWxjKCA1MCUgLSAxcHggKSxcblx0XHRcdFx0XHRcdHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICksIDEgKSBjYWxjKCA1MCUgKyAxcHggKSxcblx0XHRcdFx0XHRcdHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICksIDAgKSBjYWxjKCA1MCUgKyAycHggKSxcblx0XHRcdFx0XHRcdHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICksIDAgKSAxMDAlXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAzMHB4IHJpZ2h0IDMwcHggYm90dG9tIDMwcHggbGVmdCAzMHB4ICk7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuZmxleC1jb2x1bW47XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0XHRoZWlnaHQ6IDMyOC4zNHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoICRib3JkZXJzLCByYWRpdXMgKTtcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblxuXHRcdCZfX2JvZHkge1xuXHRcdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0XHRcdHotaW5kZXg6IDI7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHR3aWR0aDogcGVyY2VudGFnZSggMjkwIC8gNDkwICk7XG5cdFx0XHR9XG5cblx0XHRcdCYgPiAqOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCApO1xuXHRcdFx0fVxuXHRcdFx0JiA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jl9fY2F0ZWdvcnkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTVweCBib3R0b20gMTVweCApO1xuXHRcdFx0QGV4dGVuZCAlZm9udC13ZWlnaHQtbWVkaXVtO1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdFx0fVxuXHRcdCZfX3RpdGxlIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDE1cHggYm90dG9tIDE1cHggKTtcblx0XHR9XG5cdFx0Jl9fZm9vdGVyIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIGF1dG8gKTtcblx0XHRcdEBleHRlbmQgJXRleHQtYWxpZ24tY2VudGVyLCAldGV4dC1hbGlnbi1tZC1sZWZ0LCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0XHRcdHotaW5kZXg6IDI7XG5cdFx0fVxuXHRcdCZfX3RodW1ibmFpbCB7XG5cdFx0XHRAaW5jbHVkZSBhYnNvbHV0ZSggdG9wIDAgcmlnaHQgMCBib3R0b20gMCBsZWZ0IDAgKTtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDEwMCUgKTtcblxuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdG9wYWNpdHk6IDAuODtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFRoZW1lXG4gKlxuICpcbiAqL1xuLlRoZW1lIHtcblx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMjBweCBib3R0b20gMjBweCApO1xuXHRAZXh0ZW5kICVsaXN0LXN0eWxlLXR5cGUtbm9uZTtcblx0QGV4dGVuZCAuZC1mbGV4O1xuXG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMCApO1xuXHR9XG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgKTtcblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bTtcblx0XHRAZXh0ZW5kIC5kLWZsZXg7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCA1cHggbGVmdCA1cHggKTtcblxuXHRcdGZsZXg6IDE7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAwICk7XG5cdFx0fVxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBsZWZ0IDAgKTtcblx0XHR9XG5cblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEycHg7XG5cdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgZGFyayApO1xuXG5cdFx0c3ZnIHtcblx0XHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLW5vbmU7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAyNXB4LCAyMXB4ICk7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAxMHB4ICk7XG5cblx0XHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcblx0XHR9XG5cblx0XHRbcm9sZT1cInJhZGlvXCJdIHtcblx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtY29sdW1uLCAuYWxpZ24taXRlbXMtY2VudGVyLCAuanVzdGlmeS1jb250ZW50LWNlbnRlcjtcblx0XHRcdEBleHRlbmQgJWN1cnNvci1wb2ludGVyO1xuXG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0XHR9XG5cblx0XHRcdCYuaXMtc2VsZWN0ZWQge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKlxuICpcbiAqXG4gKlxuICovXG4uSW5zdGEtZ3JhbSB7XG5cdEBpbmNsdWRlIG1hcmdpbih0b3AgNDBweCBib3R0b20gMTkuMXB4KTtcblx0QGluY2x1ZGUgcGFkZGluZyhib3R0b20gMTBweCk7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdEBpbmNsdWRlIG1hcmdpbih0b3AgODBweCBib3R0b20gNTBweCk7XG5cdH1cblxuXHQuZmxpY2tpdHktdmlld3BvcnQge1xuXHRcdEBleHRlbmQgJW92ZXJmbG93LXZpc2libGU7XG5cdH1cblxuXHQuQ2Fyb3VzZWxfX2l0ZW1zIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4ocmlnaHQgMCBsZWZ0IDApO1xuXHR9XG5cblx0Jl9faXRlbSB7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgc2l6ZSgxNTBweCk7XG5cblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXJzLCByYWRpdXMpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSgyNTBweCk7XG5cdFx0fVxuXG5cdFx0Jl9faW1nIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoMTAwJSk7XG5cdFx0XHRAZXh0ZW5kIC5kLWJsb2NrO1xuXG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdH1cblx0fVxuXG5cdCZfX292ZXJsYXkge1xuXHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLW5vbmU7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuYWxpZ24taXRlbXMtY2VudGVyLCAuanVzdGlmeS1jb250ZW50LWNlbnRlciwgLmZsZXgtY29sdW1uO1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKHRvcCAwIHJpZ2h0IDAgbGVmdCAwIGJvdHRvbSAwKTtcblx0XHRAaW5jbHVkZSBzaXplKGNhbGMoI3twZXJjZW50YWdlKDYgLyAxMil9IC0gI3skZ3JpZC1ndXR0ZXItd2lkdGh9KSwgMTAwJSk7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKHJpZ2h0IGF1dG8gbGVmdCBhdXRvKTtcblxuXHRcdGNvbG9yOiB0aGVfY29sb3Iod2hpdGUpO1xuXG5cdFx0aDIge1xuXHRcdFx0QGV4dGVuZCAlUG9pbnRlci1ldmVudHMtYXV0bztcblxuXHRcdFx0Zm9udC1zaXplOiAxOXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE5cHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdFx0Zm9udC1zaXplOiA4NXB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogODVweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogTG9nb1xuICpcbiAqXG4gKi9cbi5Mb2dvIHtcblx0Ji0tbHlvbi1hZXJvcG9ydCB7XG5cblx0XHRAYXQtcm9vdCAuU2l0ZS1mb290ZXIgJiB7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCBhdXRvLCA1Ni40cHggKTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIHNpemUoIGF1dG8sIDY4cHggKTtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gNHB4ICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGF0LXJvb3QgLlNpdGUtaGVhZGVyICYge1xuXHRcdFx0QGV4dGVuZCAuZC1pbmxpbmUtYmxvY2s7XG5cdFx0XHRAZXh0ZW5kICV2ZXJ0aWNhbC1hbGlnbi1taWRkbGU7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAxMHB4IGxlZnQgLTEwcHggYm90dG9tIDEwcHggKTtcblx0XHRcdEBpbmNsdWRlIHNpemUoIGF1dG8sIDQwcHggKTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDEzcHggbGVmdCAwIGJvdHRvbSAxOXB4ICk7XG5cdFx0XHRcdEBpbmNsdWRlIHNpemUoIGF1dG8sIDY4cHggKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ji0tdmluY2ktYWVyb3BvcnQge1xuXHRcdEBhdC1yb290IC5TaXRlLWZvb3RlciAmIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDE4My40OXB4LCA0MS40N3B4ICk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKCAyMjEuMjNweCwgNTBweCApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBhdC1yb290IC5TaXRlLWhlYWRlciAmIHtcblx0XHRcdEBleHRlbmQgLmQtaW5saW5lLWJsb2NrO1xuXHRcdFx0QGV4dGVuZCAldmVydGljYWwtYWxpZ24tbWlkZGxlO1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggMjIxLjIzcHgsIDUwcHggKTtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDhweCBib3R0b20gMTJweCApO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBTb2NpYWxzXG4gKlxuICpcbiAqXG4gKi9cbi5Tb2NpYWxzIHtcblx0QGV4dGVuZCAlbGlzdC1zdHlsZS10eXBlLW5vbmU7XG5cdEBleHRlbmQgLmQtZmxleCwgLmp1c3RpZnktY29udGVudC1iZXR3ZWVuO1xuXG5cdGxpIHtcblx0XHRhIHtcblx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1jZW50ZXI7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCA1MHB4ICk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIHNtICkge1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKCA0NXB4ICk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIGxnICkge1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKCA1MHB4ICk7XG5cdFx0XHR9XG5cblx0XHRcdHN2ZyB7XG5cdFx0XHRcdEBpbmNsdWRlIHNpemUoIDE4cHggKTtcblxuXHRcdFx0XHRmaWxsOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblx0XHRcdFx0dHJhbnNpdGlvbjogZmlsbCAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdFx0XHR9XG5cblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRmaWxsOiB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIExhbmd1YWdlIHNlbGVjdG9yXG4gKlxuICpcbiAqXG4gKi9cbi5MYW5ndWFnZS1zZWxlY3RvciB7XG5cdCR0aGlzOiAmO1xuXG5cdEBleHRlbmQgLmQtaW5saW5lLWJsb2NrO1xuXHRAZXh0ZW5kICV0ZXh0LXRyYW5zZm9ybS11cHBlcmNhc2UsICVwb3NpdGlvbi1yZWxhdGl2ZSwgJWN1cnNvci1wb2ludGVyO1xuXG5cdHotaW5kZXg6IDEwO1xuXHRib3JkZXItcmFkaXVzOiAwcHggMHB4IDJweCAycHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdGNvbG9yOiB0aGVfY29sb3IoIGdyYXksIGRhcmstMDEgKTtcblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAtMTBweCApO1xuXHR9XG5cblx0Jjpmb2N1cyxcblx0Jjpob3Zlcixcblx0Ji5pcy1hY3RpdmUge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjE2ICk7XG5cdFx0ZmlsdGVyOiBkcm9wLXNoYWRvdyggMHB4IDJweCA0cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjE2ICkgKTtcblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblxuXHRcdHN2ZyB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSggLTE4MGRlZyApO1xuXHRcdH1cblxuXHRcdCN7ICR0aGlzIH1fX2l0ZW1zIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXHRcdH1cblx0fVxuXG5cdCZfX2J1dHRvbiB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDIzcHggcmlnaHQgMTJweCBib3R0b20gMjFweCBsZWZ0IDEwcHggKTtcblx0XHRAZXh0ZW5kICV0ZXh0LXRyYW5zZm9ybS11cHBlcmNhc2U7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCA3cHggYm90dG9tIDVweCApO1xuXHRcdH1cblxuXHRcdHN2ZyB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGxlZnQgNi4xcHggYm90dG9tIDJweCApO1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggNnB4LCA0cHggKTtcblxuXHRcdFx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoIDAgKTtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdFx0fVxuXHR9XG5cblx0Jl9faXRlbXMge1xuXHRcdEBleHRlbmQgJWxpc3Qtc3R5bGUtdHlwZS1ub25lO1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMTAwJSByaWdodCAwIGxlZnQgMCApO1xuXG5cdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDtcblx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7XG5cblx0XHRvcGFjaXR5OiAwO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAtMTAwJSwgMCApO1xuXHRcdHRyYW5zaXRpb246IDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB0aGVfY29sb3IoIGJsdWUsIGxpZ2h0LWdyYXlpc2gtYmx1ZSApO1xuXG5cdFx0YSB7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMjNweCByaWdodCAxMnB4IGJvdHRvbSAyMXB4IGxlZnQgMTBweCApO1xuXHRcdFx0QGV4dGVuZCAuZC1ibG9jaztcblx0XHRcdEBleHRlbmQgJXdoaXRlLXNwYWNlLW5vd3JhcDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCA3cHggYm90dG9tIDVweCApO1xuXHRcdFx0fVxuXG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIHRoZV9jb2xvciggZ3JheSwgZGFyay0wMiApLCAwLjIgKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogUmFwaWQgc2VhcmNoXG4gKlxuICpcbiAqXG4gKi9cbi5RdWljay1zZWFyY2gge1xuXHQkdGhpczogJjtcblxuXHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgNDFweCByaWdodCA0MXB4IGJvdHRvbSAzOHB4IGxlZnQgNDFweCApO1xuXHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblxuXHR3aWR0aDogMzYwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDJweCAwcHggMHB4IDJweDtcblx0YmFja2dyb3VuZDogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblx0Ym94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjE2ICk7XG5cdGNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdHotaW5kZXg6IDk7XG5cblx0QGF0LXJvb3QgLkhvbWUtcGFnZSAmIHtcblx0XHRAZXh0ZW5kIC5kLW5vbmUsIC5kLW1kLWJsb2NrO1xuXHRcdEBpbmNsdWRlIGZpeGVkKCB0b3AgMCByaWdodCAwICk7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMjA1cHggKTtcblxuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMTAwJSwgMCwgMCApOyAvLyBJRTExIGZpeFxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIGNhbGMoIDEwMCUgLSAxNnB4ICksIDAsIDAgKTtcblxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIDAsIDAgKTtcblx0XHR9XG5cdH1cblxuXHQmX19idXR0b24ge1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAxMDAlICk7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNDFweCApO1xuXHRcdEBpbmNsdWRlIHNpemUoIDUwcHggKTtcblxuXHRcdGJvcmRlci1yYWRpdXM6IDJweCAwcHggMHB4IDJweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApO1xuXHRcdGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC4xNiApO1xuXG5cdFx0c3ZnIHtcblx0XHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLW5vbmU7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAxMnB4LCAxMHB4ICk7XG5cblx0XHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5mb3JtIDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblxuXHRcdFx0QGF0LXJvb3QgI3sgJHRoaXMgfS5pcy1hY3RpdmUgJiB7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKCAtMTgwZGVnICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0QGV4dGVuZCAlZm9udC13ZWlnaHQtbWVkaXVtO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgYm90dG9tIDM5cHggKTtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdH1cblxuXHQmX19pdGVtcyB7XG5cdFx0QGV4dGVuZCAlbGlzdC1zdHlsZS10eXBlLW5vbmU7XG5cblx0XHRsaSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAzMHB4IGJvdHRvbSAzMHB4ICk7XG5cblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAwICk7XG5cdFx0XHR9XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9faXRlbSB7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuZmxleC1yb3csIC5hbGlnbi1pdGVtcy1jZW50ZXI7XG5cdFx0QGV4dGVuZCAlZm9udC13ZWlnaHQtbWVkaXVtO1xuXG5cdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXG5cdFx0c21hbGwge1xuXHRcdFx0QGV4dGVuZCAuZC1ibG9jaztcblx0XHRcdEBleHRlbmQgJWZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0fVxuXG5cdFx0Jl9faWNvbiB7XG5cdFx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyO1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggNjBweCApO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAxNXB4ICk7XG5cblx0XHRcdGJvcmRlci1yYWRpdXM6IDMwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggMzQuMzdweCwgMjguODVweCApO1xuXG5cdFx0XHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogRmxpZ2h0OiB0eXBlXG4gKlxuICpcbiAqXG4gKi9cbi5GbGlnaHQtdHlwZSB7XG5cdEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bTtcblx0QGV4dGVuZCAuZC1mbGV4LCAuYWxpZ24taXRlbXMtY2VudGVyO1xuXHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMjAuNXB4IGJvdHRvbSAyMC41cHggKTtcblxuXHRmb250LXNpemU6IDIwcHg7XG5cdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblx0d2lkdGg6IDEwMCU7XG5cdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgZGFyayApLCAwLjYgKTtcblx0fVxuXG5cdHN2ZyB7XG5cdFx0QGluY2x1ZGUgc2l6ZSggNDNweCwgMjVweCApO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMzBweCApO1xuXG5cdFx0dHJhbnNpdGlvbjogZmlsbCAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdH1cbn1cbiIsIi8qKlxuICogRkxpZ2h0OiB0eXBlc1xuICpcbiAqXG4gKlxuICovXG4uRmxpZ2h0LXR5cGVzIHtcblx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgOS41cHggYm90dG9tIDkuNXB4ICk7XG5cdEBleHRlbmQgJWxpc3Qtc3R5bGUtdHlwZS1ub25lO1xuXG5cdGxpIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAxICk7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHR9XG5cdH1cbn1cbiIsIlxuLyoqXG4gKiBGbGlnaHQ6IHRpbWVzXG4gKlxuICpcbiAqXG4gKi9cbi5GbGlnaHQtdGltZXMge1xuXHRAaW5jbHVkZSBtYXJnaW4oIHRvcCA2MHB4IGJvdHRvbSA2MHB4ICk7XG5cdEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bTtcblxuXHRmb250LXNpemU6IDE1cHg7XG5cdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQgKTtcblxuXHQmX19pdGVtcyB7XG5cdFx0QGV4dGVuZCAlbGlzdC1zdHlsZS10eXBlLW5vbmU7XG5cdH1cblxuXHQmX19pdGVtIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAzMHB4IGJvdHRvbSAzMHB4ICk7XG5cblx0XHRbcm9sZT1cInJhZGlvXCJdIHtcblx0XHRcdEBleHRlbmQgJXRleHQtYWxpZ24tY2VudGVyLCAlY3Vyc29yLXBvaW50ZXI7XG5cdFx0XHRAZXh0ZW5kIC53LTEwMDtcblxuXHRcdFx0b3BhY2l0eTogMC42O1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Ji5pcy1zZWxlY3RlZCB7XG5cdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIEZsaWdodDogcGxhblxuICpcbiAqXG4gKlxuICovXG4uRmxpZ2h0LXBsYW4ge1xuXHQkdGhpczogJjtcblxuXHRAZXh0ZW5kIC5kLWZsZXgsIC5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiwgLmFsaWduLWl0ZW1zLW1kLXN0YXJ0O1xuXG5cdC5GbGlnaHRfX2Fycml2YWwge1xuXHRcdEBleHRlbmQgLmQtbm9uZSwgLmQtbWQtYmxvY2s7XG5cdH1cblxuXHQmX19kZXBhcnR1cmUsXG5cdCZfX2Fycml2YWwge1xuXHRcdEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bTtcblxuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdH1cblxuXHQmX19kZXBhcnR1cmUge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMTVweCApO1xuXHR9XG5cblx0Jl9fYXJyaXZhbCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCBsZWZ0IDE1cHggKTtcblx0fVxuXG5cdC8vIC5GbGlnaHQtcGxhbl9fQm9keVxuXHQmX19ib2R5IHtcblx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWNlbnRlciwgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmp1c3RpZnktY29udGVudC1iZXR3ZWVuLCAuYWxpZ24taXRlbXMtZW5kO1xuXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdDkwZGVnLFxuXHRcdFx0dHJhbnNwYXJlbnQsXG5cdFx0XHR0cmFuc3BhcmVudCAzcHgsXG5cdFx0XHRyZ2JhKCB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApLCAwLjIgKSAzcHgsXG5cdFx0XHRyZ2JhKCB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApLCAwLjIgKSA1cHhcblx0XHQpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYyggMTAwJSAtIDQuNXB4ICk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDFweDtcblx0XHRoZWlnaHQ6IDE1cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDVweCApO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCA1cHggKTtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDJweCApO1xuXHRcdFx0QGV4dGVuZCAuZC1mbGV4O1xuXG5cdFx0XHRtaW4td2lkdGg6IDVweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAyLjVweDtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gLkZsaWdodC1wbGFuX19pbm5lclxuXHQmX19pbm5lciB7XG5cdFx0ZmxleDogMTtcblx0fVxuXG5cdHN2ZyB7XG5cdFx0QGluY2x1ZGUgc2l6ZSggNDBweCwgMTVweCApO1xuXG5cdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWRlcGFydHVyZSBzdmcge1xuXHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBsZWZ0IC02cHggKTtcblx0XHR9XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tYXJyaXZhbCBzdmcge1xuXHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwIHJpZ2h0IDAgYm90dG9tIDAgKTtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgLTZweCApO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBGbGlnaHQ6IHN0YXR1c1xuICpcbiAqXG4gKlxuICovXG4uRmxpZ2h0LXN0YXR1cyB7XG5cdCR0aGlzOiAmO1xuXG5cdEBleHRlbmQgJXRleHQtdHJhbnNmb3JtLXVwcGVyY2FzZTtcblxuXHRmb250LXNpemU6IDEycHg7XG5cdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCB2ZXJ5IGRhcmsgZGVzYXR1cmVkICk7XG5cblx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLXN1Y2Nlc3Mge1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGdyZWVuLCBsaW1lICk7XG5cdH1cblxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0td2FybmluZyB7XG5cdFx0Y29sb3I6IHRoZV9jb2xvciggb3JhbmdlLCBicmlnaHQgKTtcblx0fVxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tZGFuZ2VyIHtcblx0XHRjb2xvcjogdGhlX2NvbG9yKCByZWQsIGJyaWdodCApO1xuXHR9XG5cblx0Ly8gLkZsaWdodC1kZXRhaWwgLkZsaWdodC1zdGF0dXNcblx0QGF0LXJvb3QgLkZsaWdodC1kZXRhaWwgJiB7XG5cdFx0QGV4dGVuZCAldGV4dC1hbGlnbi1jZW50ZXI7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCApO1xuXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMXB4O1xuXHR9XG5cblx0Ly8gLkZsaWdodC1wbGFuIC5GbGlnaHQtc3RhdHVzXG5cdEBhdC1yb290IC5GbGlnaHQtcGxhbiAmIHtcblx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWNlbnRlcjtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCA3cHggKTtcblx0fVxufVxuIiwiLyoqXG4gKiBGbGlnaHRcbiAqXG4gKlxuICpcbiAqL1xuLkZsaWdodCB7XG5cdCR0aGlzOiAmO1xuXG5cdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAyMHB4IGJvdHRvbSAxOXB4ICk7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDE1cHggLyogcmlnaHQgMjBweCAqLyBib3R0b20gMTVweCAvKiBsZWZ0IDIwcHggKi8gKTtcblx0fVxuXG5cdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoICRib3JkZXJzLCByYWRpdXMgKTtcblx0YmFja2dyb3VuZDogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRib3gtc2hhZG93OiAwcHggMXB4IDJweCByZ2JhKCB0aGVfY29sb3IoIGJsYWNrICksIDAuMTUgKTtcblxuXHQvKiBEb24ndCBkaXNwbGF5IE1PTkEgaW50ZXJuYWwgdGVzdCBmbGlnaHQgKi9cblx0JltkYXRhLWRpc3BsYXljb2RlPVwiSVwiXSB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cblxuXHQmLkZsaWdodC1tb2JpbGUge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRoZWlnaHQ6IDMwMHB4O1xuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCBtZCApIHtcblx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcblx0XHR9XG5cblx0XHQuRmxpZ2h0X19jb2x1bW4ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nLXRvcDogNXB4O1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDVweDtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCAvIDIgbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICk7XG5cdFx0fVxuXG5cdFx0LkZsaWdodF9fYm9keSB7XG5cdFx0XHRwYWRkaW5nOiAwIDIwcHg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0ICN7ICRncmlkLWd1dHRlci13aWR0aCAvIC0yIH0gbGVmdCAjeyAkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMiB9ICk7XG5cdFx0fVxuXG5cdFx0LkZsaWdodF9fb3JpZ2luIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblx0XHR9XG5cblx0XHQvLyAuRmxpZ2h0X190ZXJtaW5hbFxuXHRcdC5GbGlnaHRfX3Rlcm1pbmFsIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblxuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE5cHg7XG5cdFx0fVxuXG5cdFx0Ly8gLkZsaWdodF9fbnVtYmVyXG5cdFx0LkZsaWdodF9fbnVtYmVyIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgKTtcblx0XHRcdHdpZHRoOiA0MCU7XG5cblx0XHRcdC5Ecm9wZG93bl9fYnV0dG9uIHtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gLkZsaWdodF9fbGlua1xuXHRcdC5GbGlnaHRfX2xpbmsge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCApO1xuXHRcdH1cblxuXHRcdC5GbGlnaHRfX2xpc3RfZGlyZWN0aW9uIHtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvcl9ibHVlX2xpZ2h0O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0cGFkZGluZzogMTVweCAxMHB4IDEwcHg7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xuXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdH1cblx0fVxuXG5cblx0Ly8gLkZsaWdodF9fY29sdW1uXG5cdCZfX2NvbHVtbiB7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCAvIDIgbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICk7XG5cdFx0fVxuXG5cdFx0JjpudGgtY2hpbGQoIDEgKSB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0QGluY2x1ZGUgcGFkZGluZyggbGVmdCAjeyAoICRncmlkLWd1dHRlci13aWR0aCAvIDIgKSArIDI1IH0gKTtcblxuXHRcdFx0XHR3aWR0aDogcGVyY2VudGFnZSggMiAvIDEyICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpudGgtY2hpbGQoIDIgKSB7XG5cdFx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWNlbnRlcjtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdHdpZHRoOiBwZXJjZW50YWdlKCAxIC8gMTIgKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOm50aC1jaGlsZCggMyApIHtcblx0XHRcdEBleHRlbmQgJXRleHQtYWxpZ24tY2VudGVyO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0d2lkdGg6IHBlcmNlbnRhZ2UoIDEgLyAxMiApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6bnRoLWNoaWxkKCA0ICkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHR3aWR0aDogcGVyY2VudGFnZSggMyAvIDEyICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpudGgtY2hpbGQoIDUgKSB7XG5cdFx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWNlbnRlcjtcblxuXHRcdFx0d2lkdGg6IHBlcmNlbnRhZ2UoIDIgLyAxMiApO1xuXHRcdH1cblxuXHRcdCY6bnRoLWNoaWxkKCA2ICkge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdHdpZHRoOiBwZXJjZW50YWdlKCAxIC8gMTIgKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOm50aC1jaGlsZCggNyApIHtcblx0XHRcdEBleHRlbmQgJXRleHQtYWxpZ24tbWQtcmlnaHQ7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCByaWdodCAjeyAoICRncmlkLWd1dHRlci13aWR0aCAvIDIgKSArIDE1IH0gKTtcblxuXHRcdFx0XHR3aWR0aDogcGVyY2VudGFnZSggMiAvIDEyICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gLkZsaWdodF9faGVhZGVyXG5cdCZfX2hlYWRlciB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDIwcHggYm90dG9tIDIwcHggKTtcblx0XHRAZXh0ZW5kICV0ZXh0LXRyYW5zZm9ybS11cHBlcmNhc2UsICVmb250LXdlaWdodC1tZWRpdW07XG5cblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdFx0YmFja2dyb3VuZDogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0XHRjb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRsaW5lLWhlaWdodDogMTRweDtcblxuXHRcdCZfX2JvZHkge1xuXHRcdFx0QGV4dGVuZCAuZC1mbGV4LCAuYWxpZ24taXRlbXMtY2VudGVyO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAjeyAkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMiB9IGxlZnQgI3sgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIgfSApO1xuXHRcdH1cblx0fVxuXG5cdC8vIC5GbGlnaHRfX2JvZHlcblx0Jl9fYm9keSB7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuZmxleC1jb2x1bW4sIC5mbGV4LW1kLXJvdywgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAjeyAkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMiB9IGxlZnQgI3sgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIgfSApO1xuXHRcdH1cblx0fVxuXG5cdCZfX29yaWdpbiB7XG5cdFx0QGV4dGVuZCAlZm9udC13ZWlnaHQtbWVkaXVtO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgYm90dG9tIDFweCApO1xuXG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMCApO1xuXHRcdH1cblx0fVxuXG5cdC8vIC5GbGlnaHRfX3Rlcm1pbmFsXG5cdCZfX3Rlcm1pbmFsIHtcblx0XHRAZXh0ZW5kICV0ZXh0LXRyYW5zZm9ybS11cHBlcmNhc2U7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gOXB4ICk7XG5cdFx0QGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoIDQwICk7XG5cblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdFx0Y29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICksIDAuNSApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxOXB4O1xuXHRcdH1cblx0fVxuXG5cdC8vIC5GbGlnaHRfX251bWJlclxuXHQmX19udW1iZXIge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDJweCBib3R0b20gMCApO1xuXHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAwICk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gLkZsaWdodF9fYWlybGluZVxuXHQmX19haXJsaW5lIHtcblx0XHRAZXh0ZW5kIC5kLW5vbmUsIC5kLW1kLWJsb2NrO1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1tZWRpdW07XG5cblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICk7XG5cdH1cblxuXHQvLyAuRmxpZ2h0X19saW5rXG5cdCZfX2xpbmsge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDEwcHggKTtcblxuXHRcdC5CdXR0b24ge1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblxuXHRcdC5CdXR0b25bZGlzYWJsZWRdIHtcblx0XHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLW5vbmU7XG5cblx0XHRcdG9wYWNpdHk6IDAuNjtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogRmxpZ2h0c1xuICpcbiAqXG4gKlxuICpcbiAqL1xuLkZsaWdodHMge1xuICBAZXh0ZW5kICVsaXN0LXN0eWxlLXR5cGUtbm9uZTtcblxuICBsaSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luKHRvcCAxMHB4IGJvdHRvbSAxMHB4KTtcblxuICAgICYucHJvbW8ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHB4O1xuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4odG9wIDApO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKCAyICkge1xuICAgICAgQGV4dGVuZCAlbWFyZ2luLXRvcC0wLCAlbWFyZ2luLXRvcC1tZC0yO1xuICAgIH1cblxuICAgICY6Omxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKGJvdHRvbSAwKTtcbiAgICB9XG4gIH1cblxuICAmLS1uby1yZXN1bHRzIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKHRvcCAxMHB4KTtcbiAgICBjb2xvcjogdGhlX2NvbG9yKGJsdWUsIGRhcmspO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuIiwiLyoqXG4gKiBDYXJkOiByZWFkbW9yZVxuICpcbiAqXG4gKlxuICovXG4uQ2FyZC1yZWFkbW9yZSB7XG5cdCR0aGlzOiAmO1xuXG5cdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlLCAlb3ZlcmZsb3ctaGlkZGVuO1xuXHRAZXh0ZW5kIC5kLWZsZXgsIC5mbGV4LWNvbHVtbjtcblxuXHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC4yICk7XG5cdGNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdGhlaWdodDogMjYwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0aGVpZ2h0OiA0NjBweDtcblx0fVxuXG5cdCYtLW1lZGl1bSB7XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRoZWlnaHQ6IDM1MHB4O1xuXHRcdH1cblx0fVxuXG5cdC5CdXR0b24ge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuXG5cdCY6aG92ZXIgLkJ1dHRvbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cdH1cblxuXHQvLyAuQ2FyZC1yZWFkbW9yZV9fdGl0bGVcblx0Jl9fdGl0bGUge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblx0XHRAZXh0ZW5kICVwYWRkaW5nLTMsICV0ZXh0LWFsaWduLWNlbnRlciwgJW1hcmdpbi0wO1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXG5cdFx0ei1pbmRleDogMjtcblx0fVxuXG5cdC8vIC5DYXJkX19iYWNrZ3JvdW5kXG5cdCZfX2JhY2tncm91bmQge1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXHRcdEBpbmNsdWRlIHNpemUoIDEwMCUgKTtcblxuXHRcdG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG5cblx0Ly8gLkNhcmQtcmVhZG1vcmVfX2JvZHlcblx0Jl9fYm9keSB7XG5cdFx0QGV4dGVuZCAlbWFyZ2luLXgtMiwgJW1hcmdpbi14LW1kLTQsICVtYXJnaW4tYm90dG9tLTQsICV0ZXh0LWFsaWduLWNlbnRlcjtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMzBweCApO1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXG5cdFx0ei1pbmRleDogMztcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAzMHB4IGJvdHRvbSAzMHB4IGxlZnQgMzBweCApO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBTcGluIGJ1dHRvblxuICpcbiAqXG4gKlxuICovXG4uU3Bpbi1idXR0b24ge1xuXHQkdGhpczogJjtcblxuXHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXI7XG5cblx0c3ZnIHtcblx0XHRAaW5jbHVkZSBzaXplKDI1cHgsIDIwcHgpO1xuXHRcdEBpbmNsdWRlIG1hcmdpbihyaWdodCAyMHB4KTtcblx0fVxuXG5cdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1sYXJnZSB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyh0b3AgOS41cHggcmlnaHQgMjBweCBib3R0b20gOS41cHggbGVmdCAyMHB4KTtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcih3aGl0ZSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVycywgcmFkaXVzKTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0aGVfY29sb3IoYmx1ZSwgbGlnaHQtZ3JheWlzaC0wMSk7XG5cdH1cblxuXHQmX19sYWJlbCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCAwIGJvdHRvbSAwKTtcblxuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMjFweDtcblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1sYXJnZSAjeyAkdGhpcyB9X19sYWJlbCB7XG5cdFx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1yZWd1bGFyO1xuXHRcdH1cblx0fVxuXG5cdCZfX2luZm9ybWF0aW9uIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4odG9wIC0ycHggYm90dG9tIDApO1xuXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxOXB4O1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoZ3JheSwgZGFyay0wMSk7XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tbGFyZ2UgI3sgJHRoaXMgfV9faW5mb3JtYXRpb24ge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCAwKTtcblxuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDIxcHg7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdEBleHRlbmQgLmQtaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRjb250ZW50OiAnXFwwMGEwJztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvL1xuXHQmX19jb2x1bW4ge1xuXHRcdEBleHRlbmQgLmQtZmxleDtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKHJpZ2h0IGF1dG8pO1xuXG5cdFx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9LS1sYXJnZSAjeyAkdGhpcyB9X19jb2x1bW4ge1xuXHRcdFx0XHRAZXh0ZW5kIC5mbGV4LXJvdztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9LS1sYXJnZSAjeyAkdGhpcyB9X19jb2x1bW46bGFzdC1jaGlsZCB7XG5cdFx0XHRAZXh0ZW5kIC5hbGlnbi1pdGVtcy1jZW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYnV0dG9uIHtcblx0XHRAaW5jbHVkZSBzaXplKDQwcHgpO1xuXG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVycywgcmFkaXVzKTtcblx0XHRiYWNrZ3JvdW5kOiB0aGVfY29sb3IoZ3JheSwgZGFyay0wMSk7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pO1xuXG5cdFx0JltkaXNhYmxlZF0ge1xuXHRcdFx0QGV4dGVuZCAlY3Vyc29yLW5vdC1hbGxvd2VkO1xuXHRcdFx0b3BhY2l0eTogMC40O1xuXHRcdH1cblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1sYXJnZSAjeyAkdGhpcyB9X19idXR0b24ge1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSgyNXB4KTtcblxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTIuNXB4O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdGhlX2NvbG9yKGJsdWUsIGxpZ2h0LWdyYXlpc2gtMDEpO1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRsaW5lLWhlaWdodDogMjFweDtcblxuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pLFxuXHRcdFx0XHRib3JkZXItY29sb3IgMC4zcyBtYXAtZ2V0KCRlYXNpbmdzLCBlYXNlLW91dC1leHBvKSxcblx0XHRcdFx0Y29sb3IgMC4zcyBtYXAtZ2V0KCRlYXNpbmdzLCBlYXNlLW91dC1leHBvKTtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdGhlX2NvbG9yKGJsdWUsIHN0cm9uZyk7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcihibHVlLCBzdHJvbmcpO1xuXHRcdFx0XHRjb2xvcjogdGhlX2NvbG9yKHdoaXRlKTtcblx0XHRcdH1cblxuXHRcdFx0JltkaXNhYmxlZF06aG92ZXIge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHRoZV9jb2xvcihibHVlLCBsaWdodC1ncmF5aXNoLTAxKTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19pbnB1dCB7XG5cdFx0QGluY2x1ZGUgc2l6ZSgzOHB4LCA0MHB4KTtcblx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWNlbnRlcjtcblxuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogNDBweDtcblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHR9XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tbGFyZ2UgI3sgJHRoaXMgfV9faW5wdXQge1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSgyNXB4LCAyNXB4KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyMXB4O1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKlxuICpcbiAqXG4gKlxuICpcbiAqL1xuLlNlbGVjdCB7XG5cdEBleHRlbmQgJWxpc3Qtc3R5bGUtdHlwZS1ub25lO1xuXG5cdCYtdGltZSB7XG5cdFx0QGV4dGVuZCAuSW5wdXQtdGltZTtcblx0XHRcblx0XHQmLS1sYXJnZSB7XG5cdFx0XHRAZXh0ZW5kIC5JbnB1dC10aW1lLS1sYXJnZTtcblx0XHR9XG5cblx0XHQmLS1tZWRpdW0ge1xuXHRcdFx0QGV4dGVuZCAuSW5wdXQtdGltZS0tbWVkaXVtO1xuXHRcdH1cblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMjFweDtcblx0fVxuXHQmX19idXR0b24ge1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCA1cHggcmlnaHQgMjBweCBib3R0b20gNHB4IGxlZnQgMjBweCApO1xuXHRcdEBleHRlbmQgJXRleHQtYWxpZ24tbGVmdCwgJWN1cnNvci1wb2ludGVyO1xuXG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCB0aGVfY29sb3IoIGdyYXksIHZlcnktbGlnaHQtMDMgKSwgMC42ICk7XG5cdFx0fVxuXG5cdFx0c3ZnIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDE0cHgsIDEwLjI1cHggKTtcblx0XHRcdEBpbmNsdWRlIGF1dG9BbHBoYSggMCApO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCA5cHggKTtcblxuXHRcdFx0bWluLXdpZHRoOiAxNHB4O1xuXHRcdFx0dHJhbnNpdGlvbjogMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApO1xuXG5cdFx0XHRmaWxsOiB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApO1xuXHRcdH1cblxuXHRcdCYuaXMtc2VsZWN0ZWQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAzICk7XG5cblx0XHRcdHN2ZyB7XG5cdFx0XHRcdEBpbmNsdWRlIGF1dG9BbHBoYSggMSApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogRHJvcGRvd25cbiAqXG4gKlxuICpcbiAqL1xuLkRyb3Bkb3duIHtcblx0JHRoaXM6ICY7XG5cblx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cblx0bGluZS1oZWlnaHQ6IDE5cHg7XG5cblx0JiN7ICR0aGlzIH0tLW1lZGl1bSB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdGhlX2NvbG9yKGJsdWUsIGxpZ2h0LWdyYXlpc2gtMDEpO1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlcnMsIHJhZGl1cyk7XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfSN7ICR0aGlzIH0tLW1lZGl1bS5pcy1hY3RpdmUge1xuXHRcdFx0c3ZnIHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gLkRyb3Bkb3duLkRyb3Bkb3duLS1sYXJnZVxuXHQmI3sgJHRoaXMgfS0tbGFyZ2Uge1xuXHRcdEBpbmNsdWRlIG1hcmdpbihyaWdodCAwIGxlZnQgMCk7XG5cblx0XHRib3JkZXI6IDFweCBzb2xpZCB0aGVfY29sb3IoYmx1ZSwgbGlnaHQtZ3JheWlzaC0wMSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVycywgcmFkaXVzKTtcblx0fVxuXG5cdCYjeyAkdGhpcyB9LS1jZW50ZXIge1xuXHRcdEBleHRlbmQgLmQtaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0JiN7ICR0aGlzIH0tLXdlYmZvcm0ge1xuXHRcdHBhZGRpbmctdG9wOiA0cHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDRweDtcblx0fVxuXG5cdHNlbGVjdCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0cGFkZGluZzogaW5oZXJpdDtcblx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdFx0cGFkZGluZy1yaWdodDogMzZweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR9XG5cblx0Ly8gLkRyb3Bkb3duX19idXR0b25cblx0Jixcblx0Jl9fYnV0dG9uIHtcblx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXI7XG5cdFx0QGV4dGVuZCAld2hpdGUtc3BhY2Utbm93cmFwLCAldGV4dC1hbGlnbi1sZWZ0O1xuXG5cdFx0Y29sb3I6IHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQpO1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdHNwYW4ge1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHR9XG5cblx0XHRzdmcge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKGxlZnQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG5cdFx0XHRAaW5jbHVkZSBzaXplKDExLjM0cHgsIDdweCk7XG5cblx0XHRcdG1pbi13aWR0aDogMTEuMzRweDtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIG1hcC1nZXQoJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8pO1xuXHRcdFx0ZmlsbDogcmdiYSh0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKSwgMC41KTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdH1cblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0uaXMtYWN0aXZlICYge1xuXHRcdFx0c3ZnIHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCZfX2J1dHRvbiB7XG5cdFx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHR9XG5cdFxuXHRAYXQtcm9vdCAmLS1zbWFsbCB7XG5cdFx0Y29sb3I6IHRoZV9jb2xvcihibHVlLCBzdHJvbmcpO1xuXHRcdGxpbmUtaGVpZ2h0OiAyMXB4O1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgcmdiYSh0aGVfY29sb3IoYmx1ZSwgc3Ryb25nKSwgMC41KTtcblx0fVxuXHRcblx0QGF0LXJvb3QgJi0tbWVkaXVtIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKHRvcCAxMXB4IHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCBib3R0b20gMTFweCBsZWZ0ICRncmlkLWd1dHRlci13aWR0aCk7XG5cdFx0XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMXB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcih3aGl0ZSk7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0XG5cdFx0c3BhbiB7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKHJpZ2h0IDEwcHgpO1xuXHRcdH1cblxuXHRcdHN2ZyB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4obGVmdCBhdXRvKTtcblx0XHRcdEBpbmNsdWRlIHNpemUoMTZweCwgMjFweCk7XG5cdFx0XHRcblx0XHRcdG1pbi13aWR0aDogMTZweDtcblx0XHRcdGZpbGw6IHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmspO1xuXHRcdH1cblx0fVxuXHRcblx0QGF0LXJvb3QgJi0tbGFyZ2Uge1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoXG5cdFx0dG9wIDEzLjVweCByaWdodCAkZ3JpZC1ndXR0ZXItd2lkdGggYm90dG9tIDEzLjVweCBsZWZ0ICRncmlkLWd1dHRlci13aWR0aFxuXHRcdCk7XG5cdFx0XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKHdoaXRlKTtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIxcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0XG5cdFx0c3BhbiB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4ocmlnaHQgMjBweCk7XG5cdFx0fVxuXHRcdFxuXHRcdHN2ZyB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4obGVmdCBhdXRvKTtcblx0XHR9XG5cdH1cblxuXHQvLyAuRHJvcGRvd25fX2JvZHlcblx0Jl9fYm9keSB7XG5cdFx0QGluY2x1ZGUgYXV0b0FscGhhKDApO1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKHRvcCAxMDAlIGxlZnQgMCk7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCA0cHgpO1xuXG5cdFx0Y29sb3I6IHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQpO1xuXHRcdHdpZHRoOiAyNTJweDtcblx0XHRib3JkZXItcmFkaXVzOiAwcHggMnB4IDJweCAycHg7XG5cdFx0YmFja2dyb3VuZDogdGhlX2NvbG9yKHdoaXRlKTtcblx0XHRib3gtc2hhZG93OiAwcHggNXB4IDE1cHggcmdiYSh0aGVfY29sb3IoYmxhY2spLCAwLjMpO1xuXHRcdHRyYW5zaXRpb246IHZpc2liaWxpdHkgMC4zcyBtYXAtZ2V0KCRlYXNpbmdzLCBlYXNlLW91dC1leHBvKSxcblx0XHRcdG9wYWNpdHkgMC4zcyBtYXAtZ2V0KCRlYXNpbmdzLCBlYXNlLW91dC1leHBvKTtcblx0XHR6LWluZGV4OiAyO1xuXG5cdFx0LlNwaW4tYnV0dG9uIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbih0b3AgMTBweCByaWdodCAyMHB4IGJvdHRvbSAxMHB4IGxlZnQgMjBweCk7XG5cblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4odG9wIDIwcHgpO1xuXHRcdFx0fVxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKGJvdHRvbSAyMHB4KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuU2VsZWN0IHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbih0b3AgMTVweCBib3R0b20gMTVweCk7XG5cdFx0fVxuXG5cdFx0QGF0LXJvb3QgI3sgJHRoaXMgfS5pcy1hY3RpdmUgJiB7XG5cdFx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoMSk7XG5cdFx0fVxuXG5cdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLXNtYWxsICYge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCAwKTtcblxuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHR9XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tc21hbGwjeyAkdGhpcyB9LS1jZW50ZXIgJiB7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcblx0XHR9XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tbWVkaXVtICYge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCAxOXB4IGxlZnQgMTRweCByaWdodCAxOXB4KTtcblxuXHRcdFx0dG9wOiAwO1xuXHRcdFx0Ly93aWR0aDogY2FsYygxMDAlIC0gMjhweCk7XG5cdFx0fVxuXG5cdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWxhcmdlICYge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKHRvcCAyNHB4IGxlZnQgMTRweCByaWdodCAxNHB4KTtcblxuXHRcdFx0dG9wOiAwO1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDI4cHgpO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBJbnB1dCBkYXRlXG4gKlxuICpcbiAqXG4gKi9cbi5JbnB1dC1kYXRlIHtcblxuXHQkdGhpczogJjtcblxuXHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblxuXHRsaW5lLWhlaWdodDogMjFweDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdGhlX2NvbG9yKCBibHVlLCBsaWdodC1ncmF5aXNoLTAxICk7XG5cdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoICRib3JkZXJzLCByYWRpdXMgKTtcblx0Y29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICksIDAuNSApO1xuXHR3aWR0aDogMTAwJTtcblxuXHQmX19idXR0b24ge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWxlZnQ7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDExcHggcmlnaHQgMjBweCBib3R0b20gMTFweCBsZWZ0IDIwcHggKTtcblxuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMjFweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cblx0XHQmID4gc3BhbiB7XG5cdFx0XHRAZXh0ZW5kICVQb2ludGVyLWV2ZW50cy1ub25lLCAld2hpdGUtc3BhY2Utbm93cmFwLCAlb3ZlcmZsb3ctaGlkZGVuO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBsZWZ0IDEwcHggKTtcblxuICAgIFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHR9XG5cblx0XHQvLyAuSW5wdXQtZGF0ZS5JbnB1dC1kYXRlLS1tZWRpdW0gLklucHV0LWRhdGVfX2J1dHRvblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1tZWRpdW0gJiB7XG5cblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGxlZnQgMCApO1xuXHRcdFx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQgKTtcblx0XHRcdH1cblxuXHRcdFx0c3BhbjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMjBweCApO1xuXHRcdFx0XHRjb2xvcjogcmdiYSggdGhlX2NvbG9yKCBibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQgKSwgMC42ICk7XG5cdFx0XHR9XG5cblx0XHRcdHNwYW46bnRoLWNoaWxkKCAyICkge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDIwcHggKTtcblxuXHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHRzdmcge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGxlZnQgYXV0byApO1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKCAxNy41cHgsIDE5LjVweCApO1xuXG5cdFx0XHRcdGZpbGw6IHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gLklucHV0LWRhdGUuSW5wdXQtZGF0ZS0tbGFyZ2UgLklucHV0LWRhdGVfX2J1dHRvblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1sYXJnZSAmIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxMy41cHggYm90dG9tIDEzLjVweCApO1xuXG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBsZWZ0IDAgKTtcblx0XHRcdH1cblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAxMHB4IGxlZnQgMCApO1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKCAxNS45cHgsIDE3LjVweCApO1xuXG5cdFx0XHRcdGZpbGw6IGN1cnJlbnRDb2xvclxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIC5JbnB1dC1kYXRlX19ib2R5XG5cdCZfX2JvZHkge1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgLTUzcHggcmlnaHQgMCBsZWZ0IDAgKTtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIGxlZnQgYXV0byByaWdodCBhdXRvICk7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDEycHggYm90dG9tIDE2cHggKTtcblx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoIDAgKTtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcblx0XHR3aWR0aDogY2FsYyggMTAwJSAtIDI4cHggKTtcblx0XHRtaW4td2lkdGg6IDI1M3B4O1xuXHRcdHRyYW5zaXRpb246IDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblxuXHRcdHotaW5kZXg6IDE7XG5cblx0XHQmID4gLkNhbGVuZGFyIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDIwcHggYm90dG9tIDIwcHggKTtcblx0XHR9XG5cblx0XHQmID4gKjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAwICk7XG5cdFx0fVxuXG5cdFx0JiA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0fVxuXG5cdFx0QGF0LXJvb3QgI3sgJHRoaXMgfS5pcy1hY3RpdmUgJiB7XG5cdFx0XHRAaW5jbHVkZSBhdXRvQWxwaGEoIDEgKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogSW5wdXQgdGltZVxuICpcbiAqXG4gKlxuICovXG4uSW5wdXQtdGltZSB7XG5cdCR0aGlzOiAmO1xuXG5cdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXG5cdGZvbnQtc2l6ZTogMTZweDtcblx0bGluZS1oZWlnaHQ6IDIxcHg7XG5cdGNvbG9yOiByZ2JhKCB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApLCAwLjUgKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdGhlX2NvbG9yKCBibHVlLCBsaWdodC1ncmF5aXNoLTAxICk7XG5cdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoICRib3JkZXJzLCByYWRpdXMgKTtcblx0d2lkdGg6IDEwMCU7XG5cblx0c2VsZWN0IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRwYWRkaW5nOiBpbmhlcml0O1xuXHRcdHBhZGRpbmctbGVmdDogMzZweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAzNnB4O1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdH1cblxuXHQmLFxuXHQmX19idXR0b24ge1xuXHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMTFweCByaWdodCAyMHB4IGxlZnQgMjBweCBib3R0b20gMTFweCApO1xuXHRcdEBleHRlbmQgJXRleHQtYWxpZ24tbGVmdDtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1sYXJnZSAmIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxMy41cHggYm90dG9tIDEzLjVweCApO1xuXHRcdH1cblxuXHRcdHNwYW4ge1xuXHRcdFx0QGV4dGVuZCAlUG9pbnRlci1ldmVudHMtbm9uZTtcblx0XHR9XG5cblx0XHRzcGFuOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgN3B4ICk7XG5cdFx0XHRjb2xvcjogcmdiYSggdGhlX2NvbG9yKCBibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQgKSwgMC42ICk7XG5cdFx0fVxuXG5cdFx0c3ZnIHtcblx0XHRcdEBleHRlbmQgJVBvaW50ZXItZXZlbnRzLW5vbmU7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGxlZnQgYXV0byApO1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggOXB4LCA1cHggKTtcblxuXHRcdFx0ZmlsbDogdGhlX2NvbG9yKG9yYW5nZSwgZGFyay1ncmF5aXNoICk7XG5cdFx0fVxuXHR9XG5cdFxuXHQmW2RhdGEtbm9kZS10eXBlPVwiRm9ybVRpbWVCbG9ja1wiXSB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdEBhdC1yb290ICYtLWxhcmdlIHtcblx0XHRzdmcge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAxMHB4IGxlZnQgMCApO1xuXHRcdFx0QGluY2x1ZGUgc2l6ZSggMTcuNXB4ICk7XG5cblx0XHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcblx0XHR9XG5cdH1cblxuXHRAYXQtcm9vdCAmLS1tZWRpdW0ge1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApO1xuXHR9XG5cblx0Jl9fYm9keSB7XG5cdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwIHJpZ2h0IDAgbGVmdCAwICk7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMjRweCBsZWZ0IDE0cHggcmlnaHQgMTRweCApO1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCA1cHggYm90dG9tIDVweCApO1xuXHRcdEBleHRlbmQgJWxpc3Qtc3R5bGUtdHlwZS1ub25lLCAldGV4dC1hbGlnbi1jZW50ZXIsICVvdmVyZmxvdy15LWF1dG87XG5cdFx0QGluY2x1ZGUgYXV0b0FscGhhKCAwICk7XG5cdFx0d2lkdGg6IDc3cHg7XG5cdFx0bWF4LWhlaWdodDogMjczcHg7XG5cblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJvcmRlci1yYWRpdXM6IDBweCAycHggMnB4IDJweDtcblx0XHRiYWNrZ3JvdW5kOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICk7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDVweCAxNXB4IHJnYmEoIHRoZV9jb2xvciggYmxhY2sgKSwgMC4zICk7XG5cdFx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG5cdFx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG5cdFx0dHJhbnNpdGlvbjogMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApO1xuXHRcdHotaW5kZXg6IDE7XG5cblx0XHQvLyBAc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zMDY4MDk5NC81MDkxMjIxXG5cdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRcdFx0d2lkdGg6IDBweDtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0XHQtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG5cdFx0c2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0QGluY2x1ZGUgYXV0b0FscGhhKCAxICk7XG5cdFx0fVxuXG5cdFx0bGkge1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDEwcHggYm90dG9tIDEwcHggKTtcblx0XHRcdEBleHRlbmQgJWN1cnNvci1wb2ludGVyO1xuXG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAzICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqXG4gKlxuICpcbiAqXG4gKi9cbi5JbnB1dCB7XG5cdCR0aGlzOiAmO1xuXG5cdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblxuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyOiAxcHggc29saWQgdGhlX2NvbG9yKCBibHVlLCBsaWdodC1ncmF5aXNoLTAxICk7XG5cdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoICRib3JkZXJzLCByYWRpdXMgKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRsaW5lLWhlaWdodDogMjFweDtcblxuXHRpbnB1dCB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDExcHggcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoIGJvdHRvbSAxMXB4IGxlZnQgJGdyaWQtZ3V0dGVyLXdpZHRoICk7XG5cblx0XHRmbGV4OiAxO1xuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdH1cblx0fVxuXG5cdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1kcm9wLXNoYWRvdyB7XG5cdFx0ZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuXHR9XG5cblx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWxhcmdlIHtcblx0XHRpbnB1dCB7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMTMuNXB4IGJvdHRvbSAxMy41cHggKTtcblx0XHR9XG5cdH1cblxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tZXh0cmEtbGFyZ2Uge1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRsaW5lLWhlaWdodDogMjBweDtcblxuXHRcdGlucHV0IHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxOXB4IGJvdHRvbSAxOXB4ICk7XG5cdFx0fVxuXHR9XG5cblxuXHQmX19sYWJlbCB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDExcHggYm90dG9tIDExcHggKTtcblx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWNlbnRlciwgJWN1cnNvci1wb2ludGVyO1xuXG5cdFx0Y29sb3I6IHJnYmEoIHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICksIDAuMiApO1xuXG5cdFx0Ji0tcHJlcGVuZCB7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCBsZWZ0ICRncmlkLWd1dHRlci13aWR0aCByaWdodCA0cHggKTtcblxuXHRcdFx0JiArIGlucHV0IHtcblx0XHRcdFx0QGluY2x1ZGUgcGFkZGluZyggbGVmdCA0cHggKTtcblx0XHRcdH1cblxuXHRcdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWxhcmdlICYge1xuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMTRweCBib3R0b20gMTRweCApO1xuXHRcdFx0fVxuXG5cdFx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tZXh0cmEtbGFyZ2UgJiB7XG5cdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxOXB4IGJvdHRvbSAxOXB4ICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0tc2VhcmNoIHtcblx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMCBsZWZ0IDAgKTtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxMXB4IHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCBib3R0b20gMTFweCBsZWZ0ICRncmlkLWd1dHRlci13aWR0aCApO1xuXG5cdFx0XHRzdmcge1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKCAxOXB4LCAyMHB4ICk7XG5cblx0XHRcdFx0ZmlsbDogdGhlX2NvbG9yKCBibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQgKTtcblx0XHRcdH1cblxuXHRcdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWxhcmdlICYge1xuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMTRweCBib3R0b20gMTRweCApO1xuXHRcdFx0fVxuXG5cdFx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tZXh0cmEtbGFyZ2UgJiB7XG5cdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxOXB4IGJvdHRvbSAxOXB4ICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFNlYXJjaCBmb3JtXG4gKlxuICpcbiAqXG4gKi9cbi5TZWFyY2gtZm9ybSB7XG5cdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtY29sdW1uLCAuZmxleC1tZC1yb3c7XG5cdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxNXB4IHJpZ2h0IDE1cHggYm90dG9tIDE1cHggbGVmdCAxNXB4ICk7XG5cblx0Zm9udC1zaXplOiAxNnB4O1xuXHRsaW5lLWhlaWdodDogMjFweDtcblxuXHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdGJhY2tncm91bmQ6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0Ym94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSggdGhlX2NvbG9yKCBibGFjayApLCAwLjE2ICk7XG5cdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCApO1xuXG59XG4iLCIvKipcbiAqIFRlYXh0YXJlYVxuICpcbiAqXG4gKi9cbi5UZXh0YXJlYSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRoZV9jb2xvciggYmx1ZSwgbGlnaHQtZ3JheWlzaC0wMSApO1xuXHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCAkYm9yZGVycywgcmFkaXVzICk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblxuXHRmb250LXNpemU6IDE2cHg7XG5cdGxpbmUtaGVpZ2h0OiAyMXB4O1xuXG5cdHRleHRhcmVhIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMTFweCByaWdodCAyMHB4IGJvdHRvbSAxMXB4IGxlZnQgMjBweCApO1xuXHRcdEBpbmNsdWRlIHNpemUoIDEwMCUsIDE4MHB4ICk7XG5cblx0XHRyZXNpemU6IG5vbmU7XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFN3aXRjaFxuICpcbiAqXG4gKlxuICovXG4uU3dpdGNoIHtcblx0JHRoaXM6ICY7XG5cblx0QGV4dGVuZCAuZC1pbmxpbmUtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblx0QGV4dGVuZCAlY3Vyc29yLXBvaW50ZXI7XG5cdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAxMXB4IHJpZ2h0IDE5cHggYm90dG9tIDExcHggbGVmdCAxOXB4ICk7XG5cblx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSggdGhlX2NvbG9yKCB3aGl0ZSApLCAwLjUgKTtcblx0Ym9yZGVyLXJhZGl1czogMjVweDtcblxuXHRmb250LXNpemU6IDE2cHg7XG5cdGxpbmUtaGVpZ2h0OiAyMXB4O1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRsaW5lLWhlaWdodDogMjZweDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuXHQmX19sYWJlbCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAxMHB4ICk7XG5cdFx0QGV4dGVuZCAldGV4dC1hbGlnbi1sZWZ0O1xuXG5cdFx0YnIge1xuXHRcdFx0QGV4dGVuZCAuZC1zbS1ub25lO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAyMHB4ICk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fc2xpZGVyIHtcblx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbjtcblx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1tZWRpdW0sICV0ZXh0LXRyYW5zZm9ybS11cHBlcmNhc2UsICVwb3NpdGlvbi1yZWxhdGl2ZTtcblx0XHRAaW5jbHVkZSBzaXplKCA2MHB4LCAyNXB4ICk7XG5cdFx0QGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoIDIwICk7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggcmlnaHQgMTJweCBsZWZ0IDEycHggKTtcblxuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMTJweDtcblx0XHRib3JkZXItcmFkaXVzOiAxMi41cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdGNvbG9yOiB0aGVfY29sb3IoIGdyYXksIGRhcmstMDEgKTtcblxuXHRcdHNwYW4ge1xuXHRcdFx0QGluY2x1ZGUgYXV0b0FscGhhKCAwICk7XG5cdFx0XHRAZXh0ZW5kICVQb2ludGVyLWV2ZW50cy1ub25lLCAlZm9udC13ZWlnaHQtbWVkaXVtO1xuXG5cdFx0XHR0cmFuc2l0aW9uOlxuXHRcdFx0XHRvcGFjaXR5IDAuN3MgbWFwLWdldCggJGVhc2luZ3MsIGVhc2Utb3V0LWV4cG8gKSxcblx0XHRcdFx0dmlzaWJpbGl0eSAwLjdzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdEBhdC1yb290ICN7ICR0aGlzIH1bYXJpYS1jaGVja2VkPVwiZmFsc2VcIl0gJiB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYXV0b0FscGhhKCAxICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblxuXHRcdFx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9W2FyaWEtY2hlY2tlZD1cInRydWVcIl0gJiB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYXV0b0FscGhhKCAxICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwIGxlZnQgMCApO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNXB4ICk7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAxNXB4ICk7XG5cdFx0XHRAZXh0ZW5kIC5kLWJsb2NrO1xuXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIDQwcHggKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA3LjVweDtcblx0XHRcdHRyYW5zaXRpb246XG5cdFx0XHR0cmFuc2Zvcm0gMC4zcyBtYXAtZ2V0KCAkZWFzaW5ncywgZWFzZS1vdXQtZXhwbyApLFxuXHRcdFx0YmFja2dyb3VuZC1jb2xvciAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLW91dC1leHBvICk7XG5cdFx0XHRjb250ZW50OiAnJztcblxuXHRcdFx0QGF0LXJvb3QgI3sgJHRoaXMgfVthcmlhLWNoZWNrZWQ9XCJmYWxzZVwiXSAmIHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCA1cHggKTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAxICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIEJhZGdlXG4gKlxuICpcbiAqXG4gKi9cbi5CYWRnZSB7XG5cdCR0aGlzOiAmO1xuXG5cdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlciwgLmp1c3RpZnktY29udGVudC1jZW50ZXI7XG5cdEBleHRlbmQgJWZvbnQtd2VpZ2h0LWJvbGQsICV0ZXh0LWFsaWduLWNlbnRlciwgJXRleHQtdHJhbnNmb3JtLXVwcGVyY2FzZTtcblx0QGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoIDUwICk7XG5cdEBpbmNsdWRlIHNpemUoIDQwcHggKTtcblxuXHRtaW4td2lkdGg6IDQwcHg7XG5cblx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCggJGJvcmRlcnMsIHJhZGl1cyApO1xuXHRiYWNrZ3JvdW5kOiB0aGVfY29sb3IoIGJsdWUsIHN0cm9uZyApO1xuXHRjb2xvcjogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXG5cdHNtYWxsIHtcblx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1ib2xkO1xuXG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHR9XG5cblx0c3ZnIHtcblx0XHRAaW5jbHVkZSBzaXplKCAyN3B4LCAyNHB4ICk7XG5cblx0XHRmaWxsOiBjdXJyZW50Q29sb3I7XG5cdH1cblxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tcm91bmRlZCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHR9XG5cblx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWV4dHJhLWV4dHJhLXNtYWxsIHtcblx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1yZWd1bGFyO1xuXHRcdEBpbmNsdWRlIHNpemUoIDE2cHggKTtcblx0XHRAaW5jbHVkZSBsZXR0ZXItc3BhY2luZyggMCApO1xuXG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRcdG1pbi13aWR0aDogMTZweDtcblxuXHRcdHN2ZyB7XG5cdFx0XHRAaW5jbHVkZSBzaXplKCAxMHB4ICk7XG5cdFx0fVxuXHR9XG5cblxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tZXh0cmEtc21hbGwge1xuXHRcdEBpbmNsdWRlIHNpemUoICN7ICRiYXNlLWxpbmUtaGVpZ2h0IH1weCApO1xuXG5cdFx0bWluLXdpZHRoOiAjeyAkYmFzZS1saW5lLWhlaWdodCB9cHg7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXG5cdFx0c3ZnIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDEycHggKTtcblx0XHR9XG5cdH1cblxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tc21hbGwge1xuXHRcdCRzaXplOiAzNTtcblxuXHRcdEBpbmNsdWRlIHNpemUoICN7ICRzaXplIH1weCApO1xuXHRcdEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bTtcblxuXHRcdG1pbi13aWR0aDogI3sgJHNpemUgfXB4O1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblxuXG5cdFx0c3ZnIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDE2cHggKTtcblxuXHRcdFx0ZmlsbDogdGhlX2NvbG9yKCB3aGl0ZSApO1xuXHRcdH1cblx0fVxuXG5cdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1sYXJnZSB7XG5cdFx0QGluY2x1ZGUgc2l6ZSggNTZweCApO1xuXG5cdFx0bWluLXdpZHRoOiA1NnB4O1xuXHR9XG5cblx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWV4dHJhLWxhcmdlIHtcblx0XHRAZXh0ZW5kICVmb250LXdlaWdodC1tZWRpdW07XG5cdFx0QGluY2x1ZGUgc2l6ZSggNzBweCApO1xuXG5cdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiA3MHB4O1xuXHR9XG5cblx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWV4dHJhLWV4dHJhLWxhcmdlIHtcblx0XHRAaW5jbHVkZSBzaXplKCA3NXB4ICk7XG5cblx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdG1pbi13aWR0aDogNzVweDtcblx0XHR9XG5cdH1cblxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tc3VwZXItZXh0cmEtbGFyZ2Uge1xuXHRcdEBpbmNsdWRlIHNpemUoIDEzMHB4ICk7XG5cblx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdG1pbi13aWR0aDogMTMwcHg7XG5cdFx0fVxuXG5cdFx0c3ZnIHtcblx0XHRcdHdpZHRoOiA1MHB4O1xuXHRcdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdH1cblx0fVxuXG5cdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1zdWNjZXNzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGdyZWVuLCBsaW1lICk7XG5cdH1cblxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0td2FybmluZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBvcmFuZ2UsIGJyaWdodCApO1xuXHR9XG5cblx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWRhbmdlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCByZWQsIGJyaWdodCApO1xuXHR9XG5cblx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLWRhcmsge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkICk7XG5cdH1cblxuXHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tbGlnaHQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggd2hpdGUgKTtcblx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblx0fVxuXG5cdEBhdC1yb290ICN7ICR0aGlzIH0jeyAkdGhpcyB9LS1pbmZvIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGdyZXksIGRhcmstMDEgKTtcblx0fVxufVxuIiwiLndlYmZvcm0tc3VibWlzc2lvbi1mb3Jte1xuICAgIC5DaGVja2JveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxufVxuIiwiLkhvbWUtc2xpZGVyIHtcbiAgLkNhcm91c2VsLWNhcmRzX19pdGVtcyB7XG4gICAgaGVpZ2h0OiA2NTBweDtcbiAgfVxuXG4gIC5DYXJvdXNlbC1jYXJkc19faXRlbSB7XG4gICAgaGVpZ2h0OiA2NTBweDtcblxuICAgIC5jYXJkLXdpZGUge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5Ib21lLXNsaWRlcl9faXRlbV9pbWFnZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5Ib21lLXNsaWRlcl9faXRlbV9ib2R5IHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDYxYzI7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBwYWRkaW5nOiA5NXB4IDE1cHggODBweCAxNXB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBwYWRkaW5nOiA1NXB4IDE1cHggODBweCAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMHB4XG4gICAgICB9XG5cbiAgICAgIGgxIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC03NXB4O1xuICAgICAgICBmb250LWZhbWlseTogVmluY2kgU2FucywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuSG9tZS1zbGlkZXJfX2l0ZW1fZGVzY3JpcHRpb24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDc1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNDtcbiAgICAgICAgcGFkZGluZzogMCAxMCU7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cblxuICAgICAgICAucmFuayB7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yYW5rLW51bWJlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucHJvbW90aW9ubmFsLWJhbm5lcntcbiAgaGVpZ2h0OiBpbml0aWFsO1xuICBpbWd7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICB9XG59XG4iLCIvKipcbiAqIDQwNFxuICovXG4uZXJyb3I0MDQge1xuXHQkdGhpczogJjtcblxuXHRAZXh0ZW5kICVvdmVyZmxvdy1oaWRkZW47XG5cdEBleHRlbmQgLmQtZmxleCwgLmZsZXgtY29sdW1uO1xuXG5cdGhlaWdodDogMTAwJTtcblxuXHQvLyAuZXJyb3I0MDRfX3dyYXBwZXJcblx0Jl9fd3JhcHBlciB7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cdFx0QGV4dGVuZCAuZC1mbGV4LCAuZmxleC1jb2x1bW47XG5cblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cblxuXHQvLyAuZXJyb3I0MDRfX2JvZHlcblx0Jl9fYm9keSB7XG5cdFx0QGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmUsICV0ZXh0LWFsaWduLWNlbnRlcjtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCBib3R0b20gJGdyaWQtZ3V0dGVyLXdpZHRoICk7XG5cblx0XHR6LWluZGV4OiAyO1xuXG5cdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSN7ICR0aGlzIH0tLW5vdC1mb3VuZCAmIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCA2MnB4ICk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgMTI1cHggKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tdW5rbm93bi1kZXN0aW5hdGlvbiAmIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIGF1dG8gKTtcblx0XHR9XG5cdH1cblxuXHQvLyAuZXJyb3I0MDRfX2Zvb3RlclxuXHQmX19mb290ZXIge1xuXHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlLCAldGV4dC1hbGlnbi1jZW50ZXI7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggYm90dG9tIDQwcHggKTtcblxuXHRcdHotaW5kZXg6IDI7XG5cblx0XHRAYXQtcm9vdCAjeyAkdGhpcyB9I3sgJHRoaXMgfS0tbm90LWZvdW5kICYge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNDBweCApO1xuXHRcdH1cblx0fVxuXG5cdC8vIGVycm9yNDA0X190aXRsZVxuXHQmX190aXRsZSB7XG5cdFx0QGV4dGVuZCAlbWFyZ2luLTA7XG5cdFx0QGV4dGVuZCAuaDI7XG5cdH1cblxuXHQvLyBlcnJvcjQwNF9faW1hZ2Vcblx0Jl9faW1hZ2Uge1xuXHRcdEBpbmNsdWRlIGFic29sdXRlKCB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMCApO1xuXHRcdEBpbmNsdWRlIHNpemUoIDEwMCUgKTtcblxuXHRcdG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdHotaW5kZXg6IDE7XG5cblx0XHQmLS1jb3ZlciB7XG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHR9XG5cblx0XHQmLS1zY2FsZS1kb3duIHtcblx0XHRcdG9iamVjdC1maXQ6IHNjYWxlLWRvd247XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBMQVlPVVQgVkFSSUFCTEVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4kbWQ6IDk5MnB4O1xuJHRyYW5zaXRpb25fYXR0cjogLjlzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG4kY29sb3ItYmx1ZTogdGhlX2NvbG9yKGJsdWUsIHN0cm9uZyk7XG5cbi5hbGwtZGVzdGluYXRpb25zIHtcbiAgLkRlc3RpbmF0aW9uX19saXN0X19ib2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMjk0MHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDIxMTVweDtcbiAgICB9XG5cbiAgICAjYWpheEJveF9sb2FkZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA4MDgwNWM7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgdG9wOiAwO1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2Rlc3RpbmF0aW9uc19ub19yZXN1bHRzIHtcbiAgICAgIG1hcmdpbjogMjBweDtcbiAgICB9XG4gIH1cblxuICAuQnV0dG9uIHtcbiAgICAmLXN1YnRleHQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAuQnV0dG9uLS1wcmltYXJ5ICYge1xuICAgICAgICBjb2xvcjogdGhlX2NvbG9yKHdoaXRlKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZCkge1xuICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAgIC5hY3RpdmXDgsKgIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1iaWcge1xuICAgICAgaGVpZ2h0OiA0N3B4ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDI0cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdGhlX2NvbG9yKHdoaXRlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uX2F0dHI7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZCkge1xuICAgICAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCB0aGVfY29sb3Iod2hpdGUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKGJsdWUsIGRhcmspO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kKSB7XG4gICAgICAgIGhlaWdodDogODBweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMCAwO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1maWx0ZXIge1xuICAgICAgY29sb3I6IHRoZV9jb2xvcihibHVlLCB2ZXJ5LWRhcmstZGVzYXR1cmF0ZWQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKHdoaXRlKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRoZV9jb2xvcihibHVlLCBsaWdodC1ncmF5aXNoLTAxKTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuXG4gICAgICAmLWZpcnN0IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdGhlX2NvbG9yKGJsdWUsIGxpZ2h0LWdyYXlpc2gtMDEpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICYtLW1vYmlsZSB7XG4gICAgICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yX2JsdWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcihncmF5LCB2ZXJ5LWxpZ2h0LTAyKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGNvbG9yX2JsdWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcihibHVlLCBsaWdodC1ncmF5aXNoLTAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zZWFyY2gge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdGhlX2NvbG9yKGJsdWUsIGxpZ2h0LWdyYXlpc2gtMDEpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICBzdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogdGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICB9XG4gIH1cblxuICAuRmlsdGVycyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgJi1ib3gge1xuICAgICAgJiArICYge1xuICAgICAgICAuRmlsdGVycyB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtcyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLlN3aXRjaCB7XG4gICAgJl9fc2xpZGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGOEZBRkE7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQpIHtcbiAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLXNtYWxsIHtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLlN3aXRjaF9fc2xpZGVyIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB3aWR0aDogNTNweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE3cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgJi0tc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5UaGVtZSB7XG4gICAgJl9faXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtaW4td2lkdGg6IDUycHg7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIH1cblxuICAgICAgJiArICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZCkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpjaGVja2VkICsgLlRoZW1lX19jaGVja2JveC1ib3gge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAmLWJveCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbl9hdHRyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLXNxdWFyZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKHdoaXRlKTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kKSB7XG4gICAgICAgICAgdG9wOiAxOHB4O1xuICAgICAgICAgIHJpZ2h0OiAyMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRDhEOEQ4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25fYXR0cjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDI0OTkwO1xuICAgICAgICAgIHBhZGRpbmc6IDAgNSU7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQgKyAuVGhlbWVfX2NoZWNrYm94LXNxdWFyZSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBPVkVSUklERSBERVNUSU5BVElPTiBMSVNUXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLkRlc3RpbmF0aW9uIHtcbiAgICAmX19saXN0IHtcbiAgICAgICZfX2l0ZW0ge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBsaW5lYXI7XG5cbiAgICAgICAgJi5kZWxheSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBPVkVSUklERSBERVNUSU5BVElPTiBDQVJEXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLkNhcmQtZGVzdGluYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX3RhZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgICBwYWRkaW5nOiA0cHggNy41cHg7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2l0eSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaWNlIHtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25fYXR0ciwgaGVpZ2h0ICR0cmFuc2l0aW9uX2F0dHIsIG1hcmdpbiAkdHJhbnNpdGlvbl9hdHRyO1xuICAgIH1cblxuICAgICZfX3dpc2hsaXN0IHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uX2F0dHI7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTVweDtcbiAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgei1pbmRleDogNTA7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB0cmFuc2l0aW9uOiBtYXJnaW4gJHRyYW5zaXRpb25fYXR0cjtcblxuICAgICAgJiArICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZCkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA5NywgMTk1LCAwLjk0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmcyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25fYXR0ciwgaGVpZ2h0ICR0cmFuc2l0aW9uX2F0dHIsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbl9hdHRyO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQpIHtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIgJiB7XG4gICAgICAmX19wcmljZSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQpIHtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2NnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2FjdGlvbnMge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbmhlcml0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQpIHtcbiAgICAgICAgICBoZWlnaHQ6IDY2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kaXJlY3Qge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgIG1hcmdpbjogNXB4IDAgMTBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDIxcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuU2l0ZS1tZW51IHtcbiAgICAmX19pdGVtIHtcbiAgICAgICYubG9ja2VkIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAmOm5vdCgubG9ja2VkKSA+ICYtc3ViaXRlbSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICYtLWZpbHRlciB7XG5cbiAgICAgICAgJmdyb3VwIHtcbiAgICAgICAgICBjb2xvcjogdGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCkgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKTtcbiAgICAgIH1cblxuICAgICAgJi0tYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cblxuICAvLyBQT1BVUCBCT09LSU5HXG4gIC8vIC0tLS0tLS0tLS0tLS1cbiAgLnBvcHVwIHtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogOTAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDg4NHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcihncmF5LCB2ZXJ5LWxpZ2h0LTAyKTtcbiAgICBwYWRkaW5nOiA1MHB4IDEwcHggMjBweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25fYXR0cjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XG5cbiAgICAucG9wdXBfX3dyYXBwZXItLW9wZW4gJiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUzN3B4O1xuICAgICAgaGVpZ2h0OiA5MCU7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB6LWluZGV4OiA5OTk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbl9hdHRyO1xuXG4gICAgICAmLS1vcGVuIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIGNvbG9yOiB0aGVfY29sb3IoYmxhY2spO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kKSB7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdGhlX2NvbG9yKGJsYWNrKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kKSB7XG4gICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgLldpZGdldCB7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQpIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFja2dyb3VuZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiB0aGVfY29sb3Iod2hpdGUpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25fYXR0cjtcblxuICAgICAgLnBvcHVwX193cmFwcGVyLS1vcGVuICYge1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKTtcblxuICAgICAgJi0tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrLWRlc2F0dXJhdGVkKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICB9XG5cbiAgICAgICYtLXRleHQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNJREVCQVIgQk9PS0lOR1xuICAvLyAtLS0tLS0tLS0tLS0tXG4gIC5zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA5OTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6ICNGOEZBRkE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbl9hdHRyO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgICBwYWRkaW5nOiAyMnB4IDIwcHggMDtcbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDIycHg7XG4gICAgICByaWdodDogMThweDtcbiAgICAgIGNvbG9yOiB0aGVfY29sb3IoYmxhY2spO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kKSB7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdGhlX2NvbG9yKGJsYWNrKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kKSB7XG4gICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICBwYWRkaW5nOiAyMnB4IDE4cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAmLWJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXYge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgJi1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAmLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICBjb2xvcjogIzAyNDk5MDtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U2RTlFQTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtc3VibWVudSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgICAgIHBhZGRpbmc6IDIycHggMThweDtcblxuICAgICAgICAmLXdyYXBwZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRoZV9jb2xvcih3aGl0ZSk7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25fYXR0cjtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zaWRlYmFyX19oZWFkZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5jaGVja2JveC1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgIHBhZGRpbmc6IDcuNXB4IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBOQVRJViBDSEVDS0JPWFxuICAvLyAtLS0tLS0tLS0tLS0tLVxuICAuY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLWJveCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgICYtbGFiZWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25fYXR0cjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uX2F0dHI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xuICAgICAgfVxuICAgIH1cblxuXG4gIH1cblxuICBpbnB1dFt0eXBlPWNoZWNrYm94XS5jaGVja2JveDpjaGVja2VkICsgbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvci1ibHVlO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtcbiAgICB9XG4gIH1cblxuICAuZmlsdGVyIHtcbiAgICAmLXRhYiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25fYXR0ciwgb3BhY2l0eSAkdHJhbnNpdGlvbl9hdHRyO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MjBweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cblxuICAgICAgLkJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZCkge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuUGVyaW9kX19vcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1jbGVhciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25fYXR0cjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRpbmVudCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTIwcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9uIHtcbiAgICAgICYtbGlzdCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG5cbiAgICAgIHBhZGRpbmc6IDhweCAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBjb2xvcjogdGhlX2NvbG9yKGJsdWUsIHZlcnktZGFyay1kZXNhdHVyYXRlZCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgbGlnaHQtZ3JheWlzaC0wMyk7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgbWFyZ2luOiAwIDVweCAxMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgOHB4IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogdGhlX2NvbG9yKGJsdWUsIHN0cm9uZyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcihncmF5LCB2ZXJ5LWxpZ2h0LTAyKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogdGhlX2NvbG9yKGJsdWUsIGxpZ2h0LWdyYXlpc2gtMDMpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgZGFyayk7XG4gICAgICB9XG5cbiAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcihibHVlLCBzdHJvbmcpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuSW5wdXQge1xuICAgIHN2ZyB7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIE5BVElWIFJBTkdFIFNMSURFUlxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgLnJhbmdlc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogNzBweCAhaW1wb3J0YW50O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZCkge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTE5cHg7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDQ1JSwgJGNvbG9yLWJsdWUgNDUlLCAkY29sb3ItYmx1ZSA1NSUsIHRyYW5zcGFyZW50IDU1JSwgdHJhbnNwYXJlbnQgMTAwJSk7XG5cbiAgICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZCkge1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZCkge1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjotbXMtdGh1bWIge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kKSB7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC52YWx1ZSB7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGJvdHRvbTogNTBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZCkge1xuICAgICAgICBib3R0b206IC0yNXB4O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiw6LCgsKsXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBjb2xvcjogIzZFNkU2RTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB9XG5cbiAgICAgICYubG93ZXIge1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ21pbic7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi51cHBlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ21heCc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYmx1ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA2MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZCkge1xuICAgICAgICB0b3A6IDY4JTtcbiAgICAgIH1cblxuICAgICAgJltmb3I9XCJtaW5cIl0ge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAmW2Zvcj1cIm1heFwiXSB7XG4gICAgICAgIGxlZnQ6IDI4MHB4O1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxlZ2VuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufSIsIi8qKlxuICogRWRpdG9yaWFsXG4gKlxuICpcbiAqXG4gKi9cbiAuRWRpdG9yaWFsIHtcblxuXHQvLyAuRWRpdG9yaWFsX19pbnRyb2R1Y3Rpb25cblx0Jl9faW50cm9kdWN0aW9uIHtcblx0XHRAZXh0ZW5kIC5jb2xvci1ibHVlLWRhcms7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgJGdyaWQtZ3V0dGVyLXdpZHRoIGJvdHRvbSAzMHB4ICk7XG5cblx0XHRsaW5lLWhlaWdodDogMzBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0bGluZS1oZWlnaHQ6IDQwcHg7XG5cdFx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY2F1dGlvbiB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNjBweCBib3R0b20gNjBweCApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAxNTBweCBib3R0b20gMTUwcHggKTtcblx0XHR9XG5cdH1cblxuXHQvL1xuXHQmLWJvZHkge1xuXHRcdD4gKjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRAZXh0ZW5kICVtYXJnaW4tdG9wLTA7XG5cdFx0fVxuXG5cdFx0PiAqOmxhc3QtY2hpbGQge1xuXHRcdFx0QGV4dGVuZCAlbWFyZ2luLWJvdHRvbS0wO1xuXHRcdH1cblxuXHRcdD4gaDIsID4gaDMge1xuXHRcdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgZGFyayApO1xuXHRcdH1cblxuXHRcdD4gaDMge1xuXHRcdFx0QGV4dGVuZCAlbWFyZ2luLWJvdHRvbS0zLCAldGV4dC1hbGlnbi1jZW50ZXIsICV0ZXh0LWFsaWduLW1kLWxlZnQ7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCA1MHB4ICk7XG5cdFx0fVxuXG5cdFx0PiB1bCB7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCBsZWZ0ICRncmlkLWd1dHRlci13aWR0aCApO1xuXHRcdH1cblxuXHRcdD4gcCA+IGEge1xuXHRcdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0QGV4dGVuZCAldGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyAuRWRpdG9yaWFsLWZvb3RlclxuXHQmLWZvb3RlciB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDUwcHggYm90dG9tIDUwcHggKTtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCA2NXB4IGJvdHRvbSA3NXB4ICk7XG5cdFx0fVxuXG5cdFx0Ly8gLkVkaXRvcmlhbC1mb290ZXJfX2xhYmVsXG5cdFx0Jl9fbGFiZWwge1xuXHRcdFx0QGV4dGVuZCAlbWFyZ2luLXRvcC0wLCAlbWFyZ2luLWJvdHRvbS0zLCAlbWFyZ2luLWJvdHRvbS1tZC0wLCAlZm9udC13ZWlnaHQtbWVkaXVtLCAldGV4dC1hbGlnbi1jZW50ZXIsICV0ZXh0LWFsaWduLW1kLWxlZnQ7XG5cdFx0XHRAZXh0ZW5kIC5jb2xvci13aGl0ZTtcblxuXHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDM0cHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIEZBUVxuICpcbiAqL1xuLkZBUS1wYWdlIHtcblxuXHQmX19jb250YWluZXIge1xuXHRcdEBleHRlbmQgLmJhY2tncm91bmQtY29sb3ItZ3JheS12ZXJ5LWxpZ2h0LTAzO1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCA2MHB4IGJvdHRvbSA4MHB4ICk7XG5cblx0XHQmID4gKjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAwICk7XG5cdFx0fVxuXG5cdFx0JiA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCB0b3AgODBweCBib3R0b20gMTAwcHggKTtcblx0XHR9XG5cdH1cblxuXHQvLyAuRkFRX19zZWFyY2hcblx0Jl9fc2VhcmNoIHtcblx0XHRAZXh0ZW5kIC5iYWNrZ3JvdW5kLWNvbG9yLWdyYXktdmVyeS1saWdodC0wMztcblx0XHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblxuXHRcdHotaW5kZXg6IDI7XG5cblx0XHQuU2VhcmNoLWZvcm0ge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gLTQwcHggKTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSggLTQwcHggKTtcblx0XHR9XG5cdH1cblxuXHQmX19yZ3BkIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG59XG4iLCIvKipcbiAqIFBhcmtpbmdcbiAqXG4gKlxuICogQHBhY2thZ2UgYWRsXG4gKi9cbi5QYXJraW5nLXBhZ2Uge1xuXG5cdC8vIC5QYXJraW5nLXBhZ2VfX2Nob2ljZXNcblx0Jl9fY2hvaWNlcyB7XG5cdFx0QGV4dGVuZCAlbWFyZ2luLWJvdHRvbS02LCAlbWFyZ2luLWJvdHRvbS1tZC0wLCAlbWFyZ2luLXRvcC04O1xuXHRcdEBleHRlbmQgJW92ZXJmbG93LWhpZGRlbjtcblxuXHRcdC5mbGlja2l0eS12aWV3cG9ydCB7XG5cdFx0XHRAZXh0ZW5kICVvdmVyZmxvdy12aXNpYmxlO1xuXHRcdFx0Ly8gd2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0LmZsaWNraXR5LXBhZ2UtZG90cyB7XG5cdFx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBzdHJvbmcgKTtcblxuXHRcdFx0QGV4dGVuZCAlZmxpY2tpdHktcGFnZS1kb3RzO1xuXHRcdH1cblxuXHRcdC5DYXJkLXBhcmtpbmcge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblxuXHRcdCZfX2l0ZW1zIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDUwcHggcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIgbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMiApO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2l0ZW0ge1xuXHRcdFx0QGV4dGVuZCAuZC1pbmxpbmUtYmxvY2s7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCByaWdodCAkZ3JpZC1ndXR0ZXItd2lkdGggLyA0IGxlZnQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gNCApO1xuXG5cdFx0XHRAaW5jbHVkZSBzaXplKCBwZXJjZW50YWdlKCA2IC8gMTIgKSwgMTAwJSApO1xuXHRcdFx0bWluLWhlaWdodDogMzcwcHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCByaWdodCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyIGxlZnQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiApO1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAkZ3JpZC1ndXR0ZXItd2lkdGggYm90dG9tICRncmlkLWd1dHRlci13aWR0aCApO1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKCBwZXJjZW50YWdlKCA0IC8gMTIgKSwgMzcwcHggKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyAuUGFya2luZy1wYWdlX19tYXBcblx0Jl9fbWFwIHtcblxuXHRcdCZfX21vYmlsZSB7XG5cdFx0XHRAZXh0ZW5kIC5kLWlubGluZS1ibG9jaywgLmQtbWQtbm9uZTtcblx0XHR9XG5cblx0XHQmX19kZXNrdG9wIHtcblx0XHRcdEBleHRlbmQgLmQtbm9uZSwgLmQtbWQtaW5saW5lLWJsb2NrO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgKCAkZ3JpZC1ndXR0ZXItd2lkdGggKyAxMCApICogLTIgYm90dG9tICRncmlkLWd1dHRlci13aWR0aCAqIC0yICk7XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDEwMCUsIGF1dG8gKTtcblx0XHRcdEBleHRlbmQgJXZlcnRpY2FsLWFsaWduLW1pZGRsZTtcblx0XHR9XG5cdH1cblxuXG5cdC8vIC5QYXJraW5nLXBhZ2VfX2luZm9ybWF0aW9uc1xuXHQmX19pbmZvcm1hdGlvbnMge1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCA2MHB4IGJvdHRvbSA2MHB4ICk7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGdyYXksIHZlcnktbGlnaHQtMDMgKTtcblxuXHRcdC5mbGlja2l0eS12aWV3cG9ydCB7XG5cdFx0XHRAZXh0ZW5kICVvdmVyZmxvdy12aXNpYmxlO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDgwcHggYm90dG9tIDgwcHggKTtcblx0XHR9XG5cblx0XHQuQ2Fyb3VzZWxfX2l0ZW0ge1xuXHRcdFx0QGV4dGVuZCAuZC1pbmxpbmUtYmxvY2s7XG5cdFx0fVxuXG5cdFx0Jl9fY29udGVudCB7XG5cdFx0XHRAZXh0ZW5kICV0ZXh0LWFsaWduLWxlZnQ7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAzMHB4ICk7XG5cblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNDBweCApO1xuXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdFx0XHR9XG5cblx0XHRcdCYgPiAqOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCApO1xuXHRcdFx0fVxuXHRcdFx0JiA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIDAgKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19jYXJkIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAzMHB4IHJpZ2h0IDIwcHggYm90dG9tIDMwcHggbGVmdCAyMHB4ICk7XG5cblx0XHRcdGhlaWdodDogMjkwcHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIHdoaXRlICk7XG5cdFx0XHRib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKCB0aGVfY29sb3IoIGJsYWNrICksIDAuMTYpO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0QGluY2x1ZGUgcGFkZGluZyggcmlnaHQgMzBweCBsZWZ0IDMwcHggKTtcblx0XHRcdH1cblxuXG5cdFx0XHQuQmFkZ2Uge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDEwcHggKTtcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggMzBweCApO1xuXG5cdFx0XHRcdG1pbi13aWR0aDogMzBweDtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXG5cdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggMjBweCwgMThweCApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggNDBweCApO1xuXG5cdFx0XHRcdFx0bWluLXdpZHRoOiA0MHB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblxuXHRcdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBzaXplKCAyN3B4LCAyNHB4ICk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblxuXHRcdFx0Jl9faGVhZGVyIHtcblx0XHRcdFx0QGluY2x1ZGUgcGFkZGluZyggYm90dG9tIDE1LjVweCApO1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAxNS41cHggKTtcblxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdGhlX2NvbG9yKCBncmF5LCB2ZXJ5LWxpZ2h0LTAxICk7XG5cblx0XHRcdFx0JiA+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgKTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmID4gKjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAwICk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCBib3R0b20gMjAuNXB4ICk7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMjAuNXB4ICk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCBib3R0b20gMTVweCApO1xuXG5cdFx0XHRcdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgZGFyayApO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMThweDtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCZfX2xpc3Qge1xuXHRcdFx0XHRAZXh0ZW5kICVsaXN0LXN0eWxlLXR5cGUtbm9uZTtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMjAuNXB4ICk7XG5cblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblx0XHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAxMHB4IGJvdHRvbSAxMHB4ICk7XG5cblx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdFx0Y29sb3I6IHRoZV9jb2xvciggZ3JheSwgdmVyeS1kYXJrICk7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMCApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmX19jb250ZW50IHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMTVweCApO1xuXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JiA+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAwICk7XG5cdFx0XHRcdH1cblx0XHRcdFx0JiA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCBib3R0b20gMCApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIERlc3RpbmF0aW9uXG4gKlxuICogQHBhY2thZ2UgYWRsXG4gKi9cbi5EZXN0aW5hdGlvbiB7XG5cblx0Jl9fcHJpY2Uge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgyLDIsMiwuNyk7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0bWFyZ2luLXRvcDogNXB4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0bWFyZ2luLXRvcDogMTVweDtcblx0XHR9XG5cdFx0Jl9faW5mbywgJl9fbGluayB7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmX19pbmZvIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRcdFx0c3Ryb25nIHtcblx0XHRcdFx0Zm9udC1zaXplOiBsYXJnZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jl9fbGluayB7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogY2VudGVyO1xuXHRcdFx0bWFyZ2luLXRvcDogNXB4O1xuXHRcdH1cblx0fVxuXG5cdCZfX2xlZ2VuZHMge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDQwcHggKTtcblxuXHRcdCZfX2l0ZW0ge1xuXG5cdFx0XHRwIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCBib3R0b20gMCApO1xuXHRcdFx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyO1xuXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE5cHg7XG5cdFx0XHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAxNXB4ICk7XG5cdFx0XHRcdEBpbmNsdWRlIHNpemUoIDQ1cHgsIDM3LjI0cHggKTtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDIwcHggKTtcblx0XHRcdFx0XHRAaW5jbHVkZSBzaXplKCA2MS41cHgsICA1MC44NXB4ICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19hY2NvcmRpb24ge1xuXHRcdCR0aGlzOiAmO1xuXG5cdFx0Jl9fYW5jaG9yIHtcblx0XHRcdEBleHRlbmQgJXBvc2l0aW9uLXJlbGF0aXZlO1xuXHRcdFx0QGV4dGVuZCAuZC1ibG9jaztcblxuXHRcdFx0dG9wOiAtNjBweDtcblx0XHR9XG5cblx0XHQmX19oZWFkZXIge1xuXHRcdFx0QGV4dGVuZCAldGV4dC1hbGlnbi1jZW50ZXI7XG5cblx0XHRcdCZfX3RpdGxlIHtcblx0XHRcdFx0QGV4dGVuZCAuY29sb3ItYmx1ZS1kYXJrO1xuXHRcdFx0XHRAZXh0ZW5kICVtYXJnaW4tMDtcblxuXHRcdFx0XHRhLFxuXHRcdFx0XHRidXR0b24ge1xuXHRcdFx0XHRcdEBleHRlbmQgLmQtYmxvY2ssIC53LTEwMDtcblx0XHRcdFx0XHRAZXh0ZW5kICVwYWRkaW5nLXktNCwgJXBhZGRpbmcteS1tZC01O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBhdC1yb290IC5pcy1hY3RpdmUgPiAmICZfX2NoZXZyb24ge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSggLTE4MGRlZyApO1xuXHRcdFx0fVxuXG5cdFx0XHQmX19jaGV2cm9uIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCByaWdodCAkZ3JpZC1ndXR0ZXItd2lkdGggKTtcblx0XHRcdFx0QGluY2x1ZGUgYWJzb2x1dGUoIHRvcCAwIHJpZ2h0IDAgKTtcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSggMTVweCwgMTAwJSApO1xuXG5cdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIG1hcC1nZXQoICRlYXNpbmdzLCBlYXNlLWluLW91dCApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vXG5cdFx0Jl9faG9yaXpvbnRhbC1saW5lIHtcblx0XHRcdEBpbmNsdWRlIHNpemUoIDEwMCUsIDFweCApO1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGxpZ2h0LWdyYXlpc2gtMDEgKTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblxuXHRcdFx0QGF0LXJvb3QgI3sgJHRoaXMgfSBkaXYuaXMtYWN0aXZlICYge1xuXHRcdFx0XHRAZXh0ZW5kIC5kLW5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fbGlzdCB7XG5cdFx0JHRoaXM6ICY7XG5cblx0XHRAZXh0ZW5kICVvdmVyZmxvdy1oaWRkZW47XG5cblx0XHQuZmxpY2tpdHktdmlld3BvcnQge1xuXHRcdFx0QGV4dGVuZCAlb3ZlcmZsb3ctdmlzaWJsZTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblxuXHRcdC5mbGlja2l0eS1wYWdlLWRvdHMge1xuXHRcdFx0Y29sb3I6IHRoZV9jb2xvciggYmx1ZSwgc3Ryb25nICk7XG5cblx0XHRcdEBleHRlbmQgJWZsaWNraXR5LXBhZ2UtZG90cztcblx0XHR9XG5cblx0XHQmX19ib2R5IHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTQgbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAtNCApO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIgcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIgYm90dG9tICRncmlkLWd1dHRlci13aWR0aCAvIC0yIGxlZnQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIgKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19pdGVtIHtcblx0XHRcdEBleHRlbmQgJXZlcnRpY2FsLWFsaWduLW1pZGRsZTtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCAvIDQgbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyA0ICk7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAkZ3JpZC1ndXR0ZXItd2lkdGggLyA0IGJvdHRvbSAkZ3JpZC1ndXR0ZXItd2lkdGggLyA0ICk7XG5cblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHdpZHRoOiBwZXJjZW50YWdlKCA2IC8gMTIgKTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHJpZ2h0ICRncmlkLWd1dHRlci13aWR0aCAvIDIgbGVmdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICk7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wICRncmlkLWd1dHRlci13aWR0aCAvIDIgYm90dG9tICRncmlkLWd1dHRlci13aWR0aCAvIDIgKTtcblx0XHRcdFx0d2lkdGg6IHBlcmNlbnRhZ2UoIDQgLyAxMiApO1xuXHRcdFx0fVxuXG5cdFx0XHRAYXQtcm9vdCAuZmxpY2tpdHktZW5hYmxlZCAmIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgMCBib3R0b20gMCApO1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1zbWFsbCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0XHRcdHdpZHRoOiBwZXJjZW50YWdlKCAzIC8gMTIgKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBQYWdlOiBMaXN0XG4gKlxuICpcbiAqL1xuLkxpc3QtcGFnZSB7XG5cblx0LkNhcmQtaW5mb3JtYXRpb24ge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDVweCBib3R0b20gNXB4ICk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDEwcHggYm90dG9tIDEwcHggKTtcblx0XHR9XG5cdH1cblxuXHQmX19ib2R5IHtcblx0XHRAZXh0ZW5kIC5iYWNrZ3JvdW5kLWNvbG9yLWdyYXktdmVyeS1saWdodC0wMztcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCBib3R0b20gMTAwcHggKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIGJvdHRvbSA4MHB4ICk7XG5cdH1cblxuXHQmX19jb250YWluZXIge1xuXHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIC01cHggYm90dG9tIC01cHggKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgLTEwcHggYm90dG9tIC0xMHB4ICk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fcmVzdWx0IHtcblx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblx0XHRAaW5jbHVkZSBtYXJnaW4oIGJvdHRvbSAzMHB4ICk7XG5cblx0XHRsaW5lLWhlaWdodDogMjRweDtcblxuXHRcdCZfX3RpdGxlIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggcmlnaHQgMTBweCApO1xuXHRcdFx0QGV4dGVuZCAlZm9udC13ZWlnaHQtbWVkaXVtO1xuXG5cdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHRcdGNvbG9yOiB0aGVfY29sb3IoIGJsdWUsIGRhcmsgKTtcblx0XHR9XG5cblx0XHQvLyAuTGlzdC1wYWdlX19yZXN1bHQgYnV0dG9uXG5cdFx0YnV0dG9uIHtcblx0XHRcdEBleHRlbmQgLmQtZmxleCwgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblx0XHRcdEBleHRlbmQgJWZvbnQtd2VpZ2h0LW1lZGl1bTtcblxuXHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cblx0XHRcdHN2ZyB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggbGVmdCAxMHB4ICk7XG5cdFx0XHRcdEBpbmNsdWRlIHNpemUoIDE3LjExcHgsIDE0cHggKTtcblx0XHRcdFx0QGV4dGVuZCAlUG9pbnRlci1ldmVudHMtbm9uZTtcblxuXHRcdFx0XHRmaWxsOiB0aGVfY29sb3IoIGdyYXksIGRhcmstMDEgKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogSG9tZSBwYWdlXG4gKlxuICpcbiAqXG4gKi9cbi5Ib21lLXBhZ2Uge1xuXG4gIC5EZXN0aW5hdGlvbl9fbGlzdF9fYm9keSB7XG4gICAgLkRlc3RpbmF0aW9uX19saXN0X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDYgLyAxMik7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoOCAvIDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI3NlZWstaW5zcGlyYXRpb24tYmFubmVyIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbiIsIi8qKlxuICogUGFnZVxuICpcbiAqL1xuLlBhZ2Uge1xuXG5cdCYtY29udGVudCB7XG4gICAgQGV4dGVuZCAlcG9zaXRpb24tcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDYwcHggKTtcblxuXHRcdCYuUGFnZS1TbWFydFdlbGNvbWUge1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyggdG9wIDAgKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoIHRvcCAwICk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gLkRlc3RpbmF0aW9uX19sZWdlbmRcblx0Jl9fZmlsdGVycyB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgNDBweCApO1xuXHRcdC8vIEBleHRlbmQgLmQtZmxleCwgLmp1c3RpZnktY29udGVudC1jZW50ZXIsIC5mbGV4LWNvbHVtbiwgLmZsZXgtbWQtcm93O1xuXG5cdFx0Jl9faXRlbSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHRvcCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyIGJvdHRvbSAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICk7XG5cdFx0XHRAZXh0ZW5kIC5kLWZsZXgsIC5hbGlnbi1pdGVtcy1jZW50ZXIsIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyLCAuanVzdGlmeS1jb250ZW50LW1kLXN0YXJ0O1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKCB0b3AgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiBib3R0b20gJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiApO1xuXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRjb2xvcjogdGhlX2NvbG9yKCBibHVlLCBkYXJrICk7XG5cdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgbGVmdCAwICk7XG5cdFx0XHR9XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDAgYm90dG9tIDAgKTtcblx0XHRcdH1cblxuXHRcdFx0LkJ1dHRvbiB7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBtZCApIHtcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbiggdG9wIDAgcmlnaHQgJGdyaWQtZ3V0dGVyLXdpZHRoICogMiBib3R0b20gMCBsZWZ0ICRncmlkLWd1dHRlci13aWR0aCAqIDIgKTtcblxuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIExpdmUgZmxpZ2h0IHRyYWNrZXIgcGFnZVxuICpcbiAqXG4gKlxuICovXG4uUmVhbC10aW1lLWZsaWdodC1wYWdlIHtcblx0Jl9fd2lkZ2V0IHtcblx0XHRAZXh0ZW5kIC5iYWNrZ3JvdW5kLWNvbG9yLWdyYXktdmVyeS1saWdodC0wMztcblx0XHRAZXh0ZW5kICVwb3NpdGlvbi1yZWxhdGl2ZTtcblxuXHRcdHotaW5kZXg6IDc7XG5cblx0XHQuV2lkZ2V0IHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbiggYm90dG9tIC02MHB4ICk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIC02MHB4ICk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIENvbG9yc1xuICpcbiAqIEBzZWUgXHRodHRwczovL2NvZGVwZW4uaW8vamFrZWFsYmF1Z2gvcG9zdC9jc3M0LXZhcmlhYmxlcy1hbmQtc2Fzc1xuICogQGF1dGhvciBKw4PCqXLDg8KpbXkgTGV2cm9uIDxqZXJlbXlsZXZyb25AMTloNDcuZnI+IChodHRwOi8vMTloNDcuZnIpXG4gKi9cbi5jb2xvci1jdXJyZW50LWNvbG9yIHtcblx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxuQGluY2x1ZGUgY3JlYXRlX2NsYXNzZXNfY29sb3IoXG5cdGNvbG9yICcuY29sb3InLFxuXHRiYWNrZ3JvdW5kLWNvbG9yICcuYmFja2dyb3VuZC1jb2xvcicsXG5cdGJvcmRlci1jb2xvciAnLmJvcmRlcidcbik7XG4iLCIvKipcbiAqIEN1cnNvcnNcbiAqXG4gKiBDb25zdHJ1Y3QgZWFjaCBjdXJzb3IgcHJvcGVydHkgZm91bmQgaW4gJGN1cnNvcnMgd2l0aFxuICogYSBwbGFjZWhvbGRlciBhbmQgYSB1dGlsaXR5IGNsYXNzXG4gKlxuICogQGF1dGhvciBKw4PCqXLDg8KpbXkgTGV2cm9uIDxqZXJlbXlsZXZyb25AMTloNDcuZnI+IChodHRwOi8vMTloNDcuZnIpXG4gKi9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoICRncmlkLWJyZWFrcG9pbnRzICkge1xuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCAkYnJlYWtwb2ludCApIHtcblx0XHQkaW5kZXg6IGluZGV4KCBtYXAta2V5cyggJGdyaWQtYnJlYWtwb2ludHMgKSwgJGJyZWFrcG9pbnQgKTtcblxuXHRcdEBpZiAkaW5kZXggPT0gMSB7XG5cdFx0XHQkYnJlYWtwb2ludDogJyc7XG5cdFx0fVxuXG5cdFx0QGVsc2Uge1xuXHRcdFx0JGJyZWFrcG9pbnQ6ICctI3sgJGJyZWFrcG9pbnQgfSc7XG5cdFx0fVxuXG5cdFx0QGVhY2ggJGN1cnNvciBpbiAkY3Vyc29yIHtcblxuXHRcdFx0Ly8gUGxhY2Vob2xkZXJcblx0XHRcdCVjdXJzb3IjeyAkYnJlYWtwb2ludCB9LSN7ICRjdXJzb3IgfSB7XG5cdFx0XHRcdGN1cnNvcjogI3sgdW5xdW90ZSggJGN1cnNvciApIH07XG5cdFx0XHR9XG5cblx0XHRcdC8vIC5jdXJzb3IteyAkYnJlYWtwb2ludCB9LXsgJGN1cnNvciB9XG5cdFx0XHQuY3Vyc29yI3sgJGJyZWFrcG9pbnQgfS0jeyAkY3Vyc29yIH0ge1xuXHRcdFx0XHRAZXh0ZW5kICVjdXJzb3IjeyAkYnJlYWtwb2ludCB9LSN7ICRjdXJzb3IgfTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogRmxvYXRzXG4gKlxuICogQ29uc3RydWN0IGVhY2ggZmxvYXQgcG9zaXRpb24gZm91bmQgaW4gJGZsb2F0cyB3aXRoXG4gKiBhIHBsYWNlaG9sZGVyIGFuZCBhIHV0aWxpdHkgY2xhc3NcbiAqL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cyggJGdyaWQtYnJlYWtwb2ludHMgKSB7XG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoICRicmVha3BvaW50ICkge1xuXHRcdCRpbmRleDogaW5kZXgoIG1hcC1rZXlzKCAkZ3JpZC1icmVha3BvaW50cyApLCAkYnJlYWtwb2ludCApO1xuXG5cdFx0QGlmICRpbmRleCA9PSAxIHtcblx0XHRcdCRicmVha3BvaW50OiAnJztcblx0XHR9XG5cblx0XHRAZWxzZSB7XG5cdFx0XHQkYnJlYWtwb2ludDogJy0jeyAkYnJlYWtwb2ludCB9Jztcblx0XHR9XG5cblx0XHRAZWFjaCAkZmxvYXQgaW4gJGZsb2F0cyB7XG5cdFx0XHQvLyBQbGFjZWhvbGRlclxuXHRcdFx0JWZsb2F0I3sgJGJyZWFrcG9pbnQgfS0jeyAkZmxvYXQgfSB7XG5cdFx0XHRcdGZsb2F0OiAjeyAkZmxvYXQgfTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gLmZsb2F0LXsgJGJyZWFrcG9pbnQgfS17ICRmbG9hdCB9XG5cdFx0XHQuZmxvYXQjeyAkYnJlYWtwb2ludCB9LSN7ICRmbG9hdCB9IHtcblx0XHRcdFx0QGV4dGVuZCAlZmxvYXQjeyAkYnJlYWtwb2ludCB9LSN7ICRmbG9hdCB9O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBGb250IHN0eWxlc1xuICpcbiAqIENvbnN0cnVjdG9yIGNsYXNzIGZvciBlYWNoIGZvbnQgc3R5bGVzIGZvdW5kIGluIG1hcC1nZXQoICRmb250LCBzdHlsZXMgKVxuICpcbiAqIEBwYXJhbSBcdCRzdHlsZSBcdFx0XHRuYW1lIG9mIHN0eWxlIGZvbnQgaW4gbWFwLWdldCggJGZvbnQsIHN0eWxlcyApXG4gKiBAYXV0aG9yIErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Ny5mcj4gKGh0dHBzOi8vMTloNDcuZnIpXG4gKi9cbkBpZiBtYXAtaGFzLWtleSggJGZvbnQsIHN0eWxlcyApIHtcblx0QGVhY2ggJHN0eWxlIGluIG1hcC1nZXQoICRmb250LCBzdHlsZXMgKSB7XG5cblx0XHQlZm9udC1zdHlsZS0jeyAkc3R5bGUgfSB7XG5cdFx0XHRmb250LXN0eWxlOiB1bnF1b3RlKCAkc3R5bGUgKTtcblx0XHR9XG5cblx0XHQuZm9udC1zdHlsZS0jeyAkc3R5bGUgfSB7XG5cdFx0XHRAZXh0ZW5kICVmb250LXN0eWxlLSN7ICRzdHlsZSB9O1xuXHRcdH1cblx0fVxufVxuXG5cbi8qKlxuICogRm9udCB3ZWlnaHRcbiAqXG4gKiBDb25zdHJ1Y3RvciBjbGFzcyBmb3IgZWFjaCBmb250IHdlaWdodCBmb3VuZCBpbiBtYXAtZ2V0KCAkZm9udCwgd2VpZ2h0cyApXG4gKlxuICogQHBhcmFtIFx0JHdlaWdodC1uYW1lICAgIFx0bmFtZSBvZiB3ZWlnaHRcbiAqIEBwYXJhbSBcdCR3ZWlnaHQtdmFsdWUgICBcdHZhbHVlIG9mIHdlaWdodFxuICogQGF1dGhvciBcdErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Ny5mcj4gKGh0dHA6Ly8xOWg0Ny5mcilcbiAqL1xuQGVhY2ggJHdlaWdodC1uYW1lLCAkd2VpZ2h0LXZhbHVlIGluIG1hcC1nZXQoICRmb250LCB3ZWlnaHRzICkge1xuXG5cdCVmb250LXdlaWdodC0jeyAkd2VpZ2h0LW5hbWUgfSB7XG5cdFx0Zm9udC13ZWlnaHQ6ICN7ICR3ZWlnaHQtdmFsdWUgfTtcblx0fVxuXG5cdC5mb250LXdlaWdodC0jeyAkd2VpZ2h0LW5hbWUgfSB7XG5cdFx0QGV4dGVuZCAlZm9udC13ZWlnaHQtI3sgJHdlaWdodC1uYW1lIH07XG5cdH1cbn1cblxuXG4vKipcbiAqIEZvbnQgc2l6ZVxuICpcbiAqIENvbnN0cnVjdG9yIGNsYXNzIGZvciBlYWNoIGZvbnQgd2VpZ2h0IGZvdW5kIGluIG1hcC1nZXQoICRmb250LCBzaXplcyApXG4gKlxuICogQHBhcmFtIFx0JGZvbnQtc2l6ZVxuICogQGF1dGhvciAgSsODwqlyw4PCqW15IExldnJvbiA8amVyZW15bGV2cm9uQDE5aDQ3LmZyPiAoaHR0cHM6Ly8xOWg0Ny5mcilcbiAqL1xuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoICRncmlkLWJyZWFrcG9pbnRzICkge1xuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCAkYnJlYWtwb2ludCApIHtcblx0XHQkaW5kZXg6IGluZGV4KCBtYXAta2V5cyggJGdyaWQtYnJlYWtwb2ludHMgKSwgJGJyZWFrcG9pbnQgKTtcblxuXHRcdEBpZiAkaW5kZXggPT0gMSB7XG5cdFx0XHQkYnJlYWtwb2ludDogJyc7XG5cdFx0fVxuXG5cdFx0QGVsc2Uge1xuXHRcdFx0JGJyZWFrcG9pbnQ6ICctI3sgJGJyZWFrcG9pbnQgfSc7XG5cdFx0fVxuXG5cdFx0QGVhY2ggJGZvbnQtc2l6ZSBpbiBtYXAtZ2V0KCAkZm9udCwgc2l6ZXMgKSB7XG5cblx0XHRcdCVmb250LXNpemUjeyAkYnJlYWtwb2ludCB9LSN7ICRmb250LXNpemUgfSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogI3sgJGZvbnQtc2l6ZSB9cHg7XG5cdFx0XHR9XG5cblx0XHRcdC5mb250LXNpemUjeyAkYnJlYWtwb2ludCB9LSN7ICRmb250LXNpemUgfSB7XG5cdFx0XHRcdEBleHRlbmQgJWZvbnQtc2l6ZSN7ICRicmVha3BvaW50IH0tI3sgJGZvbnQtc2l6ZSB9O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbiVmb250LXNpemUtaW5oZXJpdCB7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLmZvbnQtc2l6ZS1pbmhlcml0IHtcblx0QGV4dGVuZCAlZm9udC1zaXplLWluaGVyaXQ7XG59XG5cblxuLyoqXG4gKiBGb250IGZhbWlseVxuICpcbiAqIENvbnN0cnVjdG9yIGNsYXNzIGZvciBlYWNoIGZvbnQgZmFtaWx5IGZvdW5kIGluIG1hcC1nZXQoICRmb250LCBmYW1pbGllcyApXG4gKlxuICogQHBhcmFtIFx0JGZvbnQtZmFtaWx5LW5hbWUgICAgICBuYW1lIG9mIHRoZSBmYW1pbHlcbiAqIEBwYXJhbSBcdCRmb250LWZhbWlseS12YWx1ZSAgICAgdmFsdWUgb2YgdGhlIGZhbWlseVxuICogQGF1dGhvciAgSsODwqlyw4PCqW15IExldnJvbiA8amVyZW15bGV2cm9uQDE5aDQ3LmZyPiAoaHR0cHM6Ly8xOWg0Ny5mcilcbiAqL1xuQGlmIG1hcC1oYXMta2V5KCAkZm9udCwgZmFtaWxpZXMgKSB7XG5cdEBlYWNoICRmb250LWZhbWlseS1uYW1lLCAkZm9udC1mYW1pbHktdmFsdWUgaW4gbWFwLWdldCggJGZvbnQsIGZhbWlsaWVzICkge1xuXG5cdFx0JWZvbnQtZmFtaWx5LSN7ICRmb250LWZhbWlseS1uYW1lIH0ge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICN7ICRmb250LWZhbWlseS12YWx1ZSB9O1xuXHRcdH1cblxuXHRcdC5mb250LWZhbWlseS0jeyAkZm9udC1mYW1pbHktbmFtZSB9IHtcblx0XHRcdEBleHRlbmQgJWZvbnQtZmFtaWx5LSN7ICRmb250LWZhbWlseS1uYW1lIH07XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIE1hcmdpbnMgY2xhc3Nlc1xuICpcbiAqICRicmVha3BvaW50IFx0c3RyIEJyZWFrcG9pbnQgbmFtZVxuICpcbiAqXG4gKiBAc2VlIGh0dHA6Ly9zYXNzLWxhbmcuY29tL2RvY3VtZW50YXRpb24vU2Fzcy9TY3JpcHQvRnVuY3Rpb25zLmh0bWwjbWFwX2tleXMtaW5zdGFuY2VfbWV0aG9kXG4gKiBAYXV0aG9yIErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Ny5mcj4gKGh0dHA6Ly8xOWg0Ny5mcilcbiAqL1xuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoICRncmlkLWJyZWFrcG9pbnRzICkge1xuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCAkYnJlYWtwb2ludCApIHtcblx0XHQkaW5kZXg6IGluZGV4KCBtYXAta2V5cyggJGdyaWQtYnJlYWtwb2ludHMgKSwgJGJyZWFrcG9pbnQgKTtcblxuXHRcdEBpZiAkaW5kZXggPT0gMSB7XG5cdFx0XHQkYnJlYWtwb2ludDogJyc7XG5cdFx0fVxuXG5cdFx0QGVsc2Uge1xuXHRcdFx0JGJyZWFrcG9pbnQ6ICctI3sgJGJyZWFrcG9pbnQgfSc7XG5cdFx0fVxuXG5cdFx0QGVhY2ggJHByb3BlcnR5IGluICggdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0ICkge1xuXHRcdFx0JW1hcmdpbi0jeyAkcHJvcGVydHkgfSN7ICRicmVha3BvaW50ICkgfS1hdXRvIHtcblx0XHRcdFx0bWFyZ2luLSN7ICRwcm9wZXJ0eSB9OiBhdXRvO1xuXHRcdFx0fVxuXG5cdFx0XHQubWFyZ2luLSN7ICRwcm9wZXJ0eSB9I3sgJGJyZWFrcG9pbnQgKSB9LWF1dG8ge1xuXHRcdFx0XHRAZXh0ZW5kICVtYXJnaW4tI3sgJHByb3BlcnR5IH0jeyAkYnJlYWtwb2ludCApIH0tYXV0bztcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0QGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuXHRcdFx0QGVhY2ggJHByb3BlcnR5IGluICggdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0ICkge1xuXHRcblx0XHRcdFx0JW1hcmdpbi0jeyAkcHJvcGVydHkgfSN7ICRicmVha3BvaW50ICkgfS0jeyAkc2l6ZSB9IHtcblx0XHRcdFx0XHRtYXJnaW4tI3sgJHByb3BlcnR5IH06ICN7ICRsZW5ndGggfXB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Lm1hcmdpbi0jeyAkcHJvcGVydHkgfSN7ICRicmVha3BvaW50ICkgfS0jeyAkc2l6ZSB9IHtcblx0XHRcdFx0XHRAZXh0ZW5kICVtYXJnaW4tI3sgJHByb3BlcnR5IH0jeyAkYnJlYWtwb2ludCApIH0tI3sgJHNpemUgfTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQlbWFyZ2luI3sgJGJyZWFrcG9pbnQgKSB9LSN7ICRzaXplIH0ge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAjeyAkbGVuZ3RoIH1weDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAjeyAkbGVuZ3RoIH1weDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogI3sgJGxlbmd0aCB9cHg7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAjeyAkbGVuZ3RoIH1weDtcblx0XHRcdH1cblxuXHRcdFx0Lm1hcmdpbiN7ICRicmVha3BvaW50ICkgfS0jeyAkc2l6ZSB9IHtcblx0XHRcdFx0QGV4dGVuZCAlbWFyZ2luI3sgJGJyZWFrcG9pbnQgKSB9LSN7ICRzaXplIH07XG5cdFx0XHR9XG5cblx0XHRcdCVtYXJnaW4teCN7ICRicmVha3BvaW50ICkgfS0jeyAkc2l6ZSB9IHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAjeyAkbGVuZ3RoIH1weDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6ICN7ICRsZW5ndGggfXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQubWFyZ2luLXgjeyAkYnJlYWtwb2ludCApIH0tI3sgJHNpemUgfSB7XG5cdFx0XHRcdEBleHRlbmQgJW1hcmdpbi14I3sgJGJyZWFrcG9pbnQgKSB9LSN7ICRzaXplIH07XG5cdFx0XHR9XG5cblx0XHRcdCVtYXJnaW4teSN7ICRicmVha3BvaW50ICkgfS0jeyAkc2l6ZSB9IHtcblx0XHRcdFx0bWFyZ2luLXRvcDogI3sgJGxlbmd0aCB9cHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206ICN7ICRsZW5ndGggfXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQubWFyZ2luLXkjeyAkYnJlYWtwb2ludCApIH0tI3sgJHNpemUgfSB7XG5cdFx0XHRcdEBleHRlbmQgJW1hcmdpbi15I3sgJGJyZWFrcG9pbnQgKSB9LSN7ICRzaXplIH07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gLm1hcmdpbi17IGJyZWFrcG9pbnQgbmFtZSB9LWF1dG9cblx0XHQlbWFyZ2luI3sgJGJyZWFrcG9pbnQgfS1hdXRvIHtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHR9XG5cblx0XHQubWFyZ2luI3sgJGJyZWFrcG9pbnQgfS1hdXRvIHtcblx0XHRcdEBleHRlbmQgJW1hcmdpbiN7ICRicmVha3BvaW50IH0tYXV0bztcblx0XHR9XG5cblx0XHQvLyAubWFyZ2luLXsgYnJlYWtwb2ludCBuYW1lIH0tMC1hdXRvXG5cdFx0JW1hcmdpbiN7ICRicmVha3BvaW50IH0tMC1hdXRvIHtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdH1cblxuXHRcdC5tYXJnaW4jeyAkYnJlYWtwb2ludCB9LTAtYXV0byB7XG5cdFx0XHRAZXh0ZW5kICVtYXJnaW4jeyAkYnJlYWtwb2ludCB9LTAtYXV0bztcblx0XHR9XG5cblx0XHQvLyBtYXJnaW4teyBicmVha3BvaW50IG5hbWUgfS14LWF1dG9cblx0XHQlbWFyZ2luI3sgJGJyZWFrcG9pbnQgfS14LWF1dG8ge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0fVxuXG5cdFx0Lm1hcmdpbiN7ICRicmVha3BvaW50IH0teC1hdXRvIHtcblx0XHRcdEBleHRlbmQgJW1hcmdpbiN7ICRicmVha3BvaW50IH0teC1hdXRvO1xuXHRcdH1cblxuXHRcdC8vIG1hcmdpbi17IGJyZWFrcG9pbnQgbmFtZSB9LXktYXV0b1xuXHRcdCVtYXJnaW4jeyAkYnJlYWtwb2ludCB9LXktYXV0byB7XG5cdFx0XHRtYXJnaW4tdG9wOiBhdXRvO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogYXV0bztcblx0XHR9XG5cblx0XHQubWFyZ2luI3sgJGJyZWFrcG9pbnQgfS15LWF1dG8ge1xuXHRcdFx0QGV4dGVuZCAlbWFyZ2luI3sgJGJyZWFrcG9pbnQgfS15LWF1dG87XG5cdFx0fVxuXG5cdFx0Ly8gbWFyZ2luLXsgYnJlYWtwb2ludCBuYW1lIH0teC0wXG5cdFx0JW1hcmdpbiN7ICRicmVha3BvaW50IH0teC0wIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdH1cblxuXHRcdC5tYXJnaW4jeyAkYnJlYWtwb2ludCB9LXgtMCB7XG5cdFx0XHRAZXh0ZW5kICVtYXJnaW4jeyAkYnJlYWtwb2ludCB9LXgtMDtcblx0XHR9XG5cblx0XHQvLyBtYXJnaW4teyBicmVha3BvaW50IG5hbWUgfS15LTBcblx0XHQlbWFyZ2luI3sgJGJyZWFrcG9pbnQgfS15LTAge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0Lm1hcmdpbiN7ICRicmVha3BvaW50IH0teS0wIHtcblx0XHRcdEBleHRlbmQgJW1hcmdpbiN7ICRicmVha3BvaW50IH0teS0wO1xuXHRcdH1cblxuXHRcdC8vIG1hcmdpbi17IGJyZWFrcG9pbnQgbmFtZSB9LTBcblx0XHQlbWFyZ2luI3sgJGJyZWFrcG9pbnQgKSB9LTAge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdC5tYXJnaW4jeyAkYnJlYWtwb2ludCB9LTAge1xuXHRcdFx0QGV4dGVuZCAlbWFyZ2luI3sgJGJyZWFrcG9pbnQgfS0wO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBPdmVyZmxvd3NcbiAqXG4gKiBDb25zdHJ1Y3QgZWFjaCBvdmVyZmxvdyBmb3VuZCBpbiAkb3ZlcmZsb3ctdmFsdWVzIHdpdGhcbiAqIGEgcGxhY2Vob2xkZXIgYW5kIGEgdXRpbGl0eSBjbGFzc1xuICovXG5AZWFjaCAkb3ZlcmZsb3ctdmFsdWUgaW4gJG92ZXJmbG93LXZhbHVlcyB7XG5cblx0Ly8gUGxhY2Vob2xkZXJcblx0JW92ZXJmbG93LSN7ICRvdmVyZmxvdy12YWx1ZSB9IHtcblx0XHRvdmVyZmxvdzogI3sgJG92ZXJmbG93LXZhbHVlIH07XG5cdH1cblxuXHQlb3ZlcmZsb3cteC0jeyAkb3ZlcmZsb3ctdmFsdWUgfSB7XG5cdFx0b3ZlcmZsb3cteDogI3sgJG92ZXJmbG93LXZhbHVlIH07XG5cdH1cblxuXHQlb3ZlcmZsb3cteS0jeyAkb3ZlcmZsb3ctdmFsdWUgfSB7XG5cdFx0b3ZlcmZsb3cteTogI3sgJG92ZXJmbG93LXZhbHVlIH07XG5cdH1cblxuXHQvLyBVdGlsaXR5IGNsYXNzXG5cdC5vdmVyZmxvdy0jeyAkb3ZlcmZsb3ctdmFsdWUgfSB7XG5cdFx0QGV4dGVuZCAlb3ZlcmZsb3ctI3sgJG92ZXJmbG93LXZhbHVlIH07XG5cdH1cblxuXHQub3ZlcmZsb3cteC0jeyAkb3ZlcmZsb3ctdmFsdWUgfSB7XG5cdFx0QGV4dGVuZCAlb3ZlcmZsb3cteC0jeyAkb3ZlcmZsb3ctdmFsdWUgfTtcblx0fVxuXG5cdC5vdmVyZmxvdy15LSN7ICRvdmVyZmxvdy12YWx1ZSB9IHtcblx0XHRAZXh0ZW5kICVvdmVyZmxvdy15LSN7ICRvdmVyZmxvdy12YWx1ZSB9O1xuXHR9XG59XG5cbi8vIExvb3AgdGhyb3VnaCBlYWNoIGJyZWFrcG9pbnRcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCAkZ3JpZC1icmVha3BvaW50cyApIHtcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggJGJyZWFrcG9pbnQgKSB7XG5cdFx0JGluZGV4OiBpbmRleCggbWFwLWtleXMoICRncmlkLWJyZWFrcG9pbnRzICksICRicmVha3BvaW50ICk7XG5cblx0XHRAaWYgJGluZGV4ID09IDEge1xuXHRcdFx0JGJyZWFrcG9pbnQ6ICcnO1xuXHRcdH1cblxuXHRcdEBlbHNlIHtcblx0XHRcdCRicmVha3BvaW50OiAnLSN7ICRicmVha3BvaW50IH0nO1xuXHRcdH1cblxuXHRcdEBlYWNoICRvdmVyZmxvdy12YWx1ZSBpbiAkb3ZlcmZsb3ctdmFsdWVzIHtcblxuXHRcdFx0Ly8gUGxhY2Vob2xkZXJcblx0XHRcdCVvdmVyZmxvdyN7ICRicmVha3BvaW50IH0tI3sgJG92ZXJmbG93LXZhbHVlIH0ge1xuXHRcdFx0XHRvdmVyZmxvdzogI3sgJG92ZXJmbG93LXZhbHVlIH07XG5cdFx0XHR9XG5cblx0XHRcdCVvdmVyZmxvdy14I3sgJGJyZWFrcG9pbnQgfS0jeyAkb3ZlcmZsb3ctdmFsdWUgfSB7XG5cdFx0XHRcdG92ZXJmbG93LXg6ICN7ICRvdmVyZmxvdy12YWx1ZSB9O1xuXHRcdFx0fVxuXG5cdFx0XHQlb3ZlcmZsb3cteSN7ICRicmVha3BvaW50IH0tI3sgJG92ZXJmbG93LXZhbHVlIH0ge1xuXHRcdFx0XHRvdmVyZmxvdy15OiAjeyAkb3ZlcmZsb3ctdmFsdWUgfTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gVXRpbGl0eSBjbGFzc1xuXHRcdFx0Lm92ZXJmbG93I3sgJGJyZWFrcG9pbnQgfS0jeyAkb3ZlcmZsb3ctdmFsdWUgfSB7XG5cdFx0XHRcdEBleHRlbmQgJW92ZXJmbG93I3sgJGJyZWFrcG9pbnQgfS0jeyAkb3ZlcmZsb3ctdmFsdWUgfTtcblx0XHRcdH1cblxuXHRcdFx0Lm92ZXJmbG93LXgjeyAkYnJlYWtwb2ludCB9LSN7ICRvdmVyZmxvdy12YWx1ZSB9IHtcblx0XHRcdFx0QGV4dGVuZCAlb3ZlcmZsb3cteCN7ICRicmVha3BvaW50IH0tI3sgJG92ZXJmbG93LXZhbHVlIH07XG5cdFx0XHR9XG5cblx0XHRcdC5vdmVyZmxvdy15I3sgJGJyZWFrcG9pbnQgfS0jeyAkb3ZlcmZsb3ctdmFsdWUgfSB7XG5cdFx0XHRcdEBleHRlbmQgJW92ZXJmbG93LXkjeyAkYnJlYWtwb2ludCB9LSN7ICRvdmVyZmxvdy12YWx1ZSB9O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBNYXJnaW5zIGNsYXNzZXNcbiAqXG4gKiAkYnJlYWtwb2ludCBcdHN0ciBCcmVha3BvaW50IG5hbWVcbiAqXG4gKlxuICogQHNlZSBodHRwOi8vc2Fzcy1sYW5nLmNvbS9kb2N1bWVudGF0aW9uL1Nhc3MvU2NyaXB0L0Z1bmN0aW9ucy5odG1sI21hcF9rZXlzLWluc3RhbmNlX21ldGhvZFxuICogQGF1dGhvciBKw4PCqXLDg8KpbXkgTGV2cm9uIDxqZXJlbXlsZXZyb25AMTloNDcuZnI+IChodHRwOi8vMTloNDcuZnIpXG4gKi9cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCAkZ3JpZC1icmVha3BvaW50cyApIHtcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggJGJyZWFrcG9pbnQgKSB7XG5cdFx0JGluZGV4OiBpbmRleCggbWFwLWtleXMoICRncmlkLWJyZWFrcG9pbnRzICksICRicmVha3BvaW50ICk7XG5cblx0XHRAaWYgJGluZGV4ID09IDEge1xuXHRcdFx0JGJyZWFrcG9pbnQ6ICcnO1xuXHRcdH1cblxuXHRcdEBlbHNlIHtcblx0XHRcdCRicmVha3BvaW50OiAnLSN7ICRicmVha3BvaW50IH0nO1xuXHRcdH1cblxuXHRcdEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcblx0XHRcdEBlYWNoICRwcm9wZXJ0eSBpbiAoIHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCApIHtcblxuXHRcdFx0XHQlcGFkZGluZy0jeyAkcHJvcGVydHkgfSN7ICRicmVha3BvaW50ICkgfS0jeyAkc2l6ZSB9IHtcblx0XHRcdFx0XHRwYWRkaW5nLSN7ICRwcm9wZXJ0eSB9OiAjeyAkbGVuZ3RoIH1weDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5wYWRkaW5nLSN7ICRwcm9wZXJ0eSB9I3sgJGJyZWFrcG9pbnQgKSB9LSN7ICRzaXplIH0ge1xuXHRcdFx0XHRcdEBleHRlbmQgJXBhZGRpbmctI3sgJHByb3BlcnR5IH0jeyAkYnJlYWtwb2ludCApIH0tI3sgJHNpemUgfTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQlcGFkZGluZy14I3sgJGJyZWFrcG9pbnQgKSB9LSN7ICRzaXplIH0ge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAjeyAkbGVuZ3RoIH1weDtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAjeyAkbGVuZ3RoIH1weDtcblx0XHRcdH1cblxuXHRcdFx0LnBhZGRpbmcteCN7ICRicmVha3BvaW50ICkgfS0jeyAkc2l6ZSB9IHtcblx0XHRcdFx0QGV4dGVuZCAlcGFkZGluZy14I3sgJGJyZWFrcG9pbnQgKSB9LSN7ICRzaXplIH07XG5cdFx0XHR9XG5cblx0XHRcdCVwYWRkaW5nLXkjeyAkYnJlYWtwb2ludCApIH0tI3sgJHNpemUgfSB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAjeyAkbGVuZ3RoIH1weDtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206ICN7ICRsZW5ndGggfXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQucGFkZGluZy15I3sgJGJyZWFrcG9pbnQgKSB9LSN7ICRzaXplIH0ge1xuXHRcdFx0XHRAZXh0ZW5kICVwYWRkaW5nLXkjeyAkYnJlYWtwb2ludCApIH0tI3sgJHNpemUgfTtcblx0XHRcdH1cblxuXHRcdFx0JXBhZGRpbmcjeyAkYnJlYWtwb2ludCApIH0tI3sgJHNpemUgfSB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAjeyAkbGVuZ3RoIH1weDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogI3sgJGxlbmd0aCB9cHg7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAjeyAkbGVuZ3RoIH1weDtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAjeyAkbGVuZ3RoIH1weDtcblx0XHRcdH1cblxuXHRcdFx0LnBhZGRpbmcjeyAkYnJlYWtwb2ludCApIH0tI3sgJHNpemUgfSB7XG5cdFx0XHRcdEBleHRlbmQgJXBhZGRpbmcjeyAkYnJlYWtwb2ludCApIH0tI3sgJHNpemUgfTtcblx0XHRcdH1cblx0XHR9XG5cblxuXHRcdC8vIHBhZGRpbmcteyBicmVha3BvaW50IG5hbWUgfS14LTBcblx0XHQlcGFkZGluZyN7ICRicmVha3BvaW50IH0teC0wIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0fVxuXG5cdFx0LnBhZGRpbmcjeyAkYnJlYWtwb2ludCB9LXgtMCB7XG5cdFx0XHRAZXh0ZW5kICVwYWRkaW5nI3sgJGJyZWFrcG9pbnQgfS14LTA7XG5cdFx0fVxuXG5cblx0XHQvLyBwYWRkaW5nLXsgYnJlYWtwb2ludCBuYW1lIH0teS0wXG5cdFx0JXBhZGRpbmcjeyAkYnJlYWtwb2ludCB9LXktMCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdC5wYWRkaW5nI3sgJGJyZWFrcG9pbnQgfS15LTAge1xuXHRcdFx0QGV4dGVuZCAlcGFkZGluZyN7ICRicmVha3BvaW50IH0teS0wO1xuXHRcdH1cblxuXG5cdFx0Ly8gcGFkZGluZy17IGJyZWFrcG9pbnQgbmFtZSB9LTBcblx0XHQlcGFkZGluZyN7ICRicmVha3BvaW50ICkgfS0wIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXG5cdFx0LnBhZGRpbmcjeyAkYnJlYWtwb2ludCB9LTAge1xuXHRcdFx0QGV4dGVuZCAlcGFkZGluZyN7ICRicmVha3BvaW50IH0tMDtcblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogUG9zaXRpb25zXG4gKlxuICogQ29uc3RydWN0IGVhY2ggcG9zaXRpb24gcHJvcGVydHkgZm91bmQgaW4gJHBvc2l0aW9ucyB3aXRoXG4gKiBhIHBsYWNlaG9sZGVyIGFuZCBhIHV0aWxpdHkgY2xhc3NcbiAqXG4gKiBAYXV0aG9yIErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Ny5mcj4gKGh0dHA6Ly8xOWg0Ny5mcilcbiAqL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cyggJGdyaWQtYnJlYWtwb2ludHMgKSB7XG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoICRicmVha3BvaW50ICkge1xuXHRcdCRpbmRleDogaW5kZXgoIG1hcC1rZXlzKCAkZ3JpZC1icmVha3BvaW50cyApLCAkYnJlYWtwb2ludCApO1xuXG5cdFx0QGlmICRpbmRleCA9PSAxIHtcblx0XHRcdCRicmVha3BvaW50OiAnJztcblx0XHR9XG5cblx0XHRAZWxzZSB7XG5cdFx0XHQkYnJlYWtwb2ludDogJy0jeyAkYnJlYWtwb2ludCB9Jztcblx0XHR9XG5cblx0XHRAZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG5cblx0XHRcdCVwb3NpdGlvbiN7ICRicmVha3BvaW50IH0tI3sgJHBvc2l0aW9uIH0ge1xuXHRcdFx0XHRwb3NpdGlvbjogI3sgJHBvc2l0aW9uIH07XG5cdFx0XHR9XG5cblx0XHRcdC5wb3NpdGlvbiN7ICRicmVha3BvaW50IH0tI3sgJHBvc2l0aW9uIH0ge1xuXHRcdFx0XHRAZXh0ZW5kICVwb3NpdGlvbiN7ICRicmVha3BvaW50IH0tI3sgJHBvc2l0aW9uIH07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFNpemVzIGNsYXNzZXNcbiAqXG4gKiBDb25zdHJ1Y3RvciBjbGFzcyBmb3IgZWFjaCBzaXplcyBhbmQgZWFjaCBwcm9wZXJ0aWVzIGZvdW5kIGluXG4gKiAkc2l6ZS1kaW1lbnNpb25zIGFuZCBtYXAtZ2V0KCAkc2l6ZXMtcHJvcGVydGllcywgcHJvcGVydHkgKVxuICpcbiAqIEBwYXJhbSAgICRzaXplLXByb3BlcnRpZXMgbWFwXG4gKiBAcGFyYW0gICAkc2l6ZS1kaW1lbnNpb25zIGxpc3RcbiAqIEBhdXRob3IgSsODwqlyw4PCqW15IExldnJvbiA8amVyZW15bGV2cm9uQDE5aDQ3LmZyPiAoaHR0cDovLzE5aDQ3LmZyKVxuICovXG5cbiRzaXplLXByb3BlcnRpZXM6ICggdzogd2lkdGgsIGg6IGhlaWdodCApO1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cyggJGdyaWQtYnJlYWtwb2ludHMgKSB7XG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoICRicmVha3BvaW50ICkge1xuXHRcdCRpbmRleDogaW5kZXgoIG1hcC1rZXlzKCAkZ3JpZC1icmVha3BvaW50cyApLCAkYnJlYWtwb2ludCApO1xuXG5cdFx0QGlmICRpbmRleCA9PSAxIHtcblx0XHRcdCRicmVha3BvaW50OiAnJztcblx0XHR9XG5cblx0XHRAZWxzZSB7XG5cdFx0XHQkYnJlYWtwb2ludDogJy0jeyAkYnJlYWtwb2ludCB9Jztcblx0XHR9XG5cblx0XHRAZWFjaCAkc2l6ZS1wcm9wZXJ0aWUtdmFsdWUsICRzaXplLXByb3BlcnRpZS1uYW1lIGluICRzaXplLXByb3BlcnRpZXMge1xuXG5cdFx0XHQlI3sgJHNpemUtcHJvcGVydGllLXZhbHVlIH0jeyAkYnJlYWtwb2ludCB9LWF1dG8ge1xuXHRcdFx0XHQjeyAkc2l6ZS1wcm9wZXJ0aWUtbmFtZSB9OiBhdXRvO1xuXHRcdFx0fVxuXG5cdFx0XHQuI3sgJHNpemUtcHJvcGVydGllLXZhbHVlIH0jeyAkYnJlYWtwb2ludCB9LWF1dG8ge1xuXHRcdFx0XHRAZXh0ZW5kICUjeyAkc2l6ZS1wcm9wZXJ0aWUtdmFsdWUgfSN7ICRicmVha3BvaW50IH0tYXV0bztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAZWFjaCAkc2l6ZS1kaW1lbnNpb24gaW4gJHNpemUtZGltZW5zaW9ucyB7XG5cdFx0XHRAZWFjaCAkc2l6ZS1wcm9wZXJ0aWUtdmFsdWUsICRzaXplLXByb3BlcnRpZS1uYW1lIGluICRzaXplLXByb3BlcnRpZXMge1xuXHRcdFx0XHQvKipcblx0XHRcdFx0ICogQ29uc3RydWN0IGVhY2ggY2xhc3MgZm9yIGVhY2ggYnJlYWtwb2ludFxuXHRcdFx0XHQgKlxuXHRcdFx0XHQgKiBSb3VuZCgpOiBSb3VuZHMgYSBudW1iZXIgdG8gdGhlIG5lYXJlc3Qgd2hvbGUgbnVtYmVyLlxuXHRcdFx0XHQgKlxuXHRcdFx0XHQgKiBAc2VlIGh0dHA6Ly9zYXNzLWxhbmcuY29tL2RvY3VtZW50YXRpb24vU2Fzcy9TY3JpcHQvRnVuY3Rpb25zLmh0bWwjcm91bmQtaW5zdGFuY2VfbWV0aG9kXG5cdFx0XHRcdCAqL1xuXHRcdFx0XHQlI3sgJHNpemUtcHJvcGVydGllLXZhbHVlIH0jeyAkYnJlYWtwb2ludCB9LSN7IHJvdW5kKCAkc2l6ZS1kaW1lbnNpb24gKSB9IHtcblxuXHRcdFx0XHRcdCN7ICRzaXplLXByb3BlcnRpZS1uYW1lIH06IHBlcmNlbnRhZ2UoICRzaXplLWRpbWVuc2lvbiAvIDEwMCApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LiN7ICRzaXplLXByb3BlcnRpZS12YWx1ZSB9I3sgJGJyZWFrcG9pbnQgfS0jeyByb3VuZCggJHNpemUtZGltZW5zaW9uICkgfSB7XG5cdFx0XHRcdFx0QGV4dGVuZCAlI3sgJHNpemUtcHJvcGVydGllLXZhbHVlIH0jeyAkYnJlYWtwb2ludCB9LSN7IHJvdW5kKCAkc2l6ZS1kaW1lbnNpb24gKSB9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogVGV4dCBhbGlnbnNcbiAqXG4gKiBDb25zdHJ1Y3QgZWFjaCB0ZXh0IGFsaWdubWVudCBmb3VuZCBpbiAkdGV4dC1hbGlnbnMgd2l0aFxuICogYSBwbGFjZWhvbGRlciBhbmQgYSB1dGlsaXR5IGNsYXNzXG4gKlxuICogQGF1dGhvciBKw4PCqXLDg8KpbXkgTGV2cm9uIDxqZXJlbXlsZXZyb25AMTloNDcuZnI+IChodHRwOi8vMTloNDcuZnIpXG4gKi9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoICRncmlkLWJyZWFrcG9pbnRzICkge1xuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCAkYnJlYWtwb2ludCApIHtcblx0XHQkaW5kZXg6IGluZGV4KCBtYXAta2V5cyggJGdyaWQtYnJlYWtwb2ludHMgKSwgJGJyZWFrcG9pbnQgKTtcblxuXHRcdEBpZiAkaW5kZXggPT0gMSB7XG5cdFx0XHQkYnJlYWtwb2ludDogJyc7XG5cdFx0fVxuXG5cdFx0QGVsc2Uge1xuXHRcdFx0JGJyZWFrcG9pbnQ6ICctI3sgJGJyZWFrcG9pbnQgfSc7XG5cdFx0fVxuXG5cdFx0QGVhY2ggJHRleHQtYWxpZ24gaW4gJHRleHQtYWxpZ25zIHtcblxuXHRcdFx0Ly8gUGxhY2Vob2xkZXJcblx0XHRcdCV0ZXh0LWFsaWduI3sgJGJyZWFrcG9pbnQgfS0jeyAkdGV4dC1hbGlnbiB9IHtcblx0XHRcdFx0dGV4dC1hbGlnbjogI3sgJHRleHQtYWxpZ24gfTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gLnRleHQtYWxpZ257ICRicmVha3BvaW50IH0teyAkdGV4dC1hbGlnbiB9XG5cdFx0XHQudGV4dC1hbGlnbiN7ICRicmVha3BvaW50IH0tI3sgJHRleHQtYWxpZ24gfSB7XG5cdFx0XHRcdEBleHRlbmQgJXRleHQtYWxpZ24jeyAkYnJlYWtwb2ludCB9LSN7ICR0ZXh0LWFsaWduIH07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFRleHQgZGVjb3JhdGlvbnNcbiAqXG4gKiBDb25zdHJ1Y3QgZWFjaCB0ZXh0IGRlY29yYXRpb24gZm91bmQgaW4gJHRleHQtZGVjb3JhdGlvbnMgd2l0aFxuICogYSBwbGFjZWhvbGRlciBhbmQgYSB1dGlsaXR5IGNsYXNzXG4gKlxuICogQGF1dGhvciBKw4PCqXLDg8KpbXkgTGV2cm9uIDxqZXJlbXlsZXZyb25AMTloNDcuZnI+IChodHRwOi8vMTloNDcuZnIpXG4gKi9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoICRncmlkLWJyZWFrcG9pbnRzICkge1xuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCAkYnJlYWtwb2ludCApIHtcblx0XHQkaW5kZXg6IGluZGV4KCBtYXAta2V5cyggJGdyaWQtYnJlYWtwb2ludHMgKSwgJGJyZWFrcG9pbnQgKTtcblxuXHRcdEBpZiAkaW5kZXggPT0gMSB7XG5cdFx0XHQkYnJlYWtwb2ludDogJyc7XG5cdFx0fVxuXG5cdFx0QGVsc2Uge1xuXHRcdFx0JGJyZWFrcG9pbnQ6ICctI3sgJGJyZWFrcG9pbnQgfSc7XG5cdFx0fVxuXG5cdFx0QGVhY2ggJHRleHQtZGVjb3JhdGlvbiBpbiAkdGV4dC1kZWNvcmF0aW9ucyB7XG5cblx0XHRcdC8vIFBsYWNlaG9sZGVyXG5cdFx0XHQldGV4dC1kZWNvcmF0aW9uI3sgJGJyZWFrcG9pbnQgfS0jeyAkdGV4dC1kZWNvcmF0aW9uIH0ge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246ICN7ICR0ZXh0LWRlY29yYXRpb24gfTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gLnRleHQtYWxpZ257ICRicmVha3BvaW50IH0teyAkdGV4dC1kZWNvcmF0aW9uIH1cblx0XHRcdC50ZXh0LWRlY29yYXRpb24jeyAkYnJlYWtwb2ludCB9LSN7ICR0ZXh0LWRlY29yYXRpb24gfSB7XG5cdFx0XHRcdEBleHRlbmQgJXRleHQtZGVjb3JhdGlvbiN7ICRicmVha3BvaW50IH0tI3sgJHRleHQtZGVjb3JhdGlvbiB9O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBUZXh0IHRyYW5zZm9ybXNcbiAqXG4gKiBDb25zdHJ1Y3QgZWFjaCB0ZXh0IHRyYW5zZm9ybWF0aW9uIGZvdW5kIGluICR0ZXh0LXRyYW5zZm9ybXMgd2l0aFxuICogYSBwbGFjZWhvbGRlciBhbmQgYSB1dGlsaXR5IGNsYXNzXG4gKlxuICogQGF1dGhvciBKw4PCqXLDg8KpbXkgTGV2cm9uIDxqZXJlbXlsZXZyb25AMTloNDcuZnI+IChodHRwOi8vMTloNDcuZnIpXG4gKi9cblxuQGVhY2ggJHRleHQtdHJhbnNmb3JtIGluICR0ZXh0LXRyYW5zZm9ybXMge1xuXG5cdC8vIFBsYWNlaG9sZGVyXG5cdCV0ZXh0LXRyYW5zZm9ybS0jeyAkdGV4dC10cmFuc2Zvcm0gfSB7XG5cdFx0dGV4dC10cmFuc2Zvcm06ICN7ICR0ZXh0LXRyYW5zZm9ybSB9O1xuXHR9XG5cblx0Ly8gLnRleHQtdHJhbnNmb3JtLXsgJHRleHQtdHJhbnNmb3JtIH1cblx0LnRleHQtdHJhbnNmb3JtLSN7ICR0ZXh0LXRyYW5zZm9ybSB9IHtcblx0XHRAZXh0ZW5kICV0ZXh0LXRyYW5zZm9ybS0jeyAkdGV4dC10cmFuc2Zvcm0gfTtcblx0fVxuXG5cdC8vIC50ZXh0LXsgJHRleHQtdHJhbnNmb3JtIH1cblx0LnRleHQtI3sgJHRleHQtdHJhbnNmb3JtIH0ge1xuXHRcdEBleHRlbmQgJXRleHQtdHJhbnNmb3JtLSN7ICR0ZXh0LXRyYW5zZm9ybSB9O1xuXHR9XG5cblx0Ly8gLnsgJHRleHQtdHJhbnNmb3JtIH1cblx0LiN7ICR0ZXh0LXRyYW5zZm9ybSB9IHtcblx0XHRAZXh0ZW5kICV0ZXh0LXRyYW5zZm9ybS0jeyAkdGV4dC10cmFuc2Zvcm0gfTtcblx0fVxufVxuIiwiLyoqXG4gKiBWZXJ0aWNhbCBhbGlnbnNcbiAqXG4gKiBDb25zdHJ1Y3QgZWFjaCB2ZXJ0aWNhbCBhbGlnbm1lbnQgZm91bmQgaW4gJHZlcnRpY2FsLWFsaWducyB3aXRoXG4gKiBhIHBsYWNlaG9sZGVyIGFuZCBhIHV0aWxpdHkgY2xhc3NcbiAqXG4gKiBAYXV0aG9yIErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Ny5mcj4gKGh0dHA6Ly8xOWg0Ny5mcilcbiAqL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cyggJGdyaWQtYnJlYWtwb2ludHMgKSB7XG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoICRicmVha3BvaW50ICkge1xuXHRcdCRpbmRleDogaW5kZXgoIG1hcC1rZXlzKCAkZ3JpZC1icmVha3BvaW50cyApLCAkYnJlYWtwb2ludCApO1xuXG5cdFx0QGlmICRpbmRleCA9PSAxIHtcblx0XHRcdCRicmVha3BvaW50OiAnJztcblx0XHR9XG5cblx0XHRAZWxzZSB7XG5cdFx0XHQkYnJlYWtwb2ludDogJy0jeyAkYnJlYWtwb2ludCB9Jztcblx0XHR9XG5cblx0XHRAZWFjaCAkdmVydGljYWwtYWxpZ24gaW4gJHZlcnRpY2FsLWFsaWducyB7XG5cblx0XHRcdC8vIFBsYWNlaG9sZGVyXG5cdFx0XHQldmVydGljYWwtYWxpZ24jeyAkYnJlYWtwb2ludCB9LSN7ICR2ZXJ0aWNhbC1hbGlnbiB9IHtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246ICN7ICR2ZXJ0aWNhbC1hbGlnbiB9O1xuXHRcdFx0fVxuXG5cdFx0XHQvLyAudmVydGljYWwtYWxpZ24teyAkYnJlYWtwb2ludCB9LXsgJHZlcnRpY2FsLWFsaWduIH1cblx0XHRcdC52ZXJ0aWNhbC1hbGlnbiN7ICRicmVha3BvaW50IH0tI3sgJHZlcnRpY2FsLWFsaWduIH0ge1xuXHRcdFx0XHRAZXh0ZW5kICV2ZXJ0aWNhbC1hbGlnbiN7ICRicmVha3BvaW50IH0tI3sgJHZlcnRpY2FsLWFsaWduIH07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFdoaXRlIHNwYWNlc1xuICpcbiAqIEBhdXRob3IgSsODwqlyw4PCqW15IExldnJvbiA8amVyZW15bGV2cm9uQDE5aDQ3LmZyPiAoaHR0cDovLzE5aDQ3LmZyKVxuICovXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCAkZ3JpZC1icmVha3BvaW50cyApIHtcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggJGJyZWFrcG9pbnQgKSB7XG5cdFx0JGluZGV4OiBpbmRleCggbWFwLWtleXMoICRncmlkLWJyZWFrcG9pbnRzICksICRicmVha3BvaW50ICk7XG5cblx0XHRAaWYgJGluZGV4ID09IDEge1xuXHRcdFx0JGJyZWFrcG9pbnQ6ICcnO1xuXHRcdH1cblxuXHRcdEBlbHNlIHtcblx0XHRcdCRicmVha3BvaW50OiAnLSN7ICRicmVha3BvaW50IH0nO1xuXHRcdH1cblxuXHRcdEBlYWNoICR2YWx1ZSBpbiAkd2hpdGUtc3BhY2UtdmFsdWVzIHtcblxuXHRcdFx0JXdoaXRlLXNwYWNlI3sgJGJyZWFrcG9pbnQgfS0jeyAkdmFsdWUgfSB7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiAkdmFsdWU7XG5cdFx0XHR9XG5cblx0XHRcdC53aGl0ZS1zcGFjZSN7ICRicmVha3BvaW50IH0tI3sgJHZhbHVlIH0ge1xuXHRcdFx0XHRAZXh0ZW5kICV3aGl0ZS1zcGFjZSN7ICRicmVha3BvaW50IH0tI3sgJHZhbHVlIH07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIExpc3RzXG4gKlxuICogQ29uc3RydWN0IGVhY2ggc3R5bGUgdHlwZXMgZm91bmQgaW4gJHN0eWxlLXR5cGVzIHdpdGhcbiAqIGEgcGxhY2Vob2xkZXIgYW5kIGEgdXRpbGl0eSBjbGFzc1xuICpcbiAqIEBhdXRob3IgIErDg8KpcsODwqlteSBMZXZyb24gPGplcmVteWxldnJvbkAxOWg0Ny5mcj4gKGh0dHA6Ly8xOWg0Ny5mcilcbiAqL1xuXG5AZWFjaCAkc3R5bGUtdHlwZSBpbiAkc3R5bGUtdHlwZXMge1xuICAgICVsaXN0LXN0eWxlLXR5cGUtI3sgJHN0eWxlLXR5cGUgfSB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogI3sgJHN0eWxlLXR5cGUgfTtcbiAgICB9XG5cbiAgICAubGlzdC1zdHlsZS10eXBlLSN7ICRzdHlsZS10eXBlIH0ge1xuICAgIFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIH1cbn1cbiIsImRpdltkYXRhLWRydXBhbC1tZXNzYWdlc10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDYxYzM7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAuRmxhc2hfY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNSU7XG5cbiAgICAgICAgJl9fc3RhdHVzIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvciggZ3JlZW4sIGxpbWUgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3dhcm5pbmcge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCBvcmFuZ2UsIGJyaWdodCApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZXJyb3Ige1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlX2NvbG9yKCByZWQsIGJyaWdodCApO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuQmFubmVyIHtcclxuICAgIGltZyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLW8tb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtcG9zaXRpb246Y2VudGVyXCI7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgLW8tb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5CYW5uZXItLWhhcy1pbWFnZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgLnJvdyB7XHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgICAgICAtby1vYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwcHgsIDApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1MHB4LCAwKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYgPiwgJiA+IGRpdiBkcnVwYWwtbWVkaWEge1xyXG4gICAgICAgIHBpY3R1cmUge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjY7XHJcbiAgICAgICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogc29mdC1saWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLk9yZGVyZWQtbGlzdCB7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgaGVpZ2h0OiAyNDBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpjZW50ZXJcIjtcclxuICAgICAgICAtby1vYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAtby1vYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwwLDAsLjIpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuXHQuQmFubmVyLS1oYXMtaW1hZ2Uge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblx0fVxyXG5cclxuXHQuT3JkZXJlZC1saXN0IHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5SZXBvcnRhZ2VfX2Nhcm91c2VsX19pdGVtIHtcclxuICAgIHdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBPdmVyd3JpdGUgbWFyZ2luIGNsYXNzZXMgKi9cclxuLkltYWdlLWNhcHRpb24sIC5SaWNoLWxpc3QsIC5MaXN0LCAuSW5mb3JtYXRpb24sIC5QYXJraW5nLXBhZ2VfX2Nob2ljZXMsIC5PcmRlcmVkLWxpc3QsIC5EZXN0aW5hdGlvbl9fbGVnZW5kcyB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLyogT25seSBmb3IgQ0tFZGl0b3IgaW4gQk8gKi9cclxuLmNrZV9lZGl0YWJsZSB7XHJcbiAgICAuQWNjb3JkaW9uIHtcclxuICAgICAgICAuQWNjb3JkaW9uX19pdGVtX19ib2R5IHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuSW1hZ2UtY2FwdGlvbiB7XHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgJi5tZWRpYS1saWJyYXJ5LWl0ZW1fX2VkaXQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuUHVzaCB7XHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgJi5tZWRpYS1saWJyYXJ5LWl0ZW1fX2VkaXQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxNzVweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiBpbml0aWFsO1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xyXG4gICAgICAgICAgICAuUHVzaF9fYXNpZGUge1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ja2Vfd2lkZ2V0X3dyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xyXG5cclxuICAgICAgICBwaWN0dXJlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWwgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLkJhbm5lci0tc21hbGwge1xyXG4gICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xyXG4gICAgfVxyXG5cclxuICAgIC5CYW5uZXIge1xyXG4gICAgICAgIC5ja2Vfd2lkZ2V0X3dyYXBwZXIge1xyXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBkcnVwYWwtbWVkaWEge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLkJhbm5lci0taGFzLWltYWdlIHtcclxuICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgICAgIC5ja2Vfd2lkZ2V0X3dyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZHJ1cGFsLW1lZGlhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYubWVkaWEtbGlicmFyeS1pdGVtX19lZGl0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLlNpdGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJiA+IGRpdiBkcnVwYWwtbWVkaWEge1xyXG4gICAgICAgICAgICAgICAgcGljdHVyZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuVGFibGVfX2JhY2tncm91bmQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLkNpcmNsZUxpc3Qge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2lyY2xlSXRlbVxyXG4gICAgICpcclxuICAgICAqIEBwYWNrYWdlIGFkbFxyXG4gICAgICovXHJcbiAgICAuQ2lyY2xlSXRlbSB7XHJcbiAgICAgICAgQGV4dGVuZCAldGV4dC1hbGlnbi1jZW50ZXI7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IDE1cHggbGVmdCAxNXB4ICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuQmFkZ2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4oIHJpZ2h0IGF1dG8gYm90dG9tICRncmlkLWd1dHRlci13aWR0aCBsZWZ0IGF1dG8gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlZm9udC13ZWlnaHQtcmVndWxhcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKCB0b3AgMCBib3R0b20gMTVweCApO1xyXG5cclxuICAgICAgICAgICAgY29sb3I6IHRoZV9jb2xvcihibHVlLCBzdHJvbmcpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVtYXJnaW4tYm90dG9tLTA7XHJcblxyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qIExJTktTICovXG5wID4gYSwgYS5saW5rIHtcbiAgICAmOm5vdCguQnV0dG9uKSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfYmx1ZV9za3k7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cbnAgPiBhOmhvdmVyLCBhLmxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3JfYmx1ZV9saWdodDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4vKiBCVVRUT05TICovXG4uQnV0dG9uLkJ1dHRvbi0tcHJpbWFyeSB7XG4gICAgbWluLXdpZHRoOiAxMDBweDtcbn1cbi8qIFBBR0UgSEVBREVSICovXG5kaXYuSGVyb19fYm9keSB7XG4gICAgLldpZGdldCB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhLkhlcm9fX3ByaWNlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCwuM3M7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMiwyLDIsLjcpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIHBhZGRpbmc6IC45Mzc1cmVtIDEuMjVyZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIC5IZXJvX19wcmljZV9fZGF0ZXMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICB9XG4gICAgICAgIC5IZXJvX19wcmljZV9fYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIGEuSGVyb19fcHJpY2U6aG92ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCw3MywxNDQsLjcpO1xuICAgIH1cbn1cbi8qIFBBR0UgVVNFUiBQUk9GSUwgKi9cbmRpdi51c2VyX19wcm9maWwge1xuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjMDI0OTkwO1xuICAgIH1cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiAjMDI0OTkwO1xuICAgIH1cbn1cbi8qIFBBR0UgSE9NRSAtIFRSQVZFTCBESUFSWSAqL1xuZGl2LlRyYXZlbC1kaWFyeV9faXRlbSB7XG4gICAgc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbn1cbi8qIFBBR0UgVVNFUiBMT0dJTiAqL1xuZm9ybS51c2VyLWxvZ2luLWZvcm0ge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgbWFyZ2luOiA1MHB4IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgZGl2LmZvcm0taXRlbSB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBibGFjayBzb2xpZDtcbiAgICAgICAgfVxuICAgICAgICBkaXYuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB9XG4gICAgfVxuICAgIGRpdi5mb3JtLWFjdGlvbnMge1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwNjFjMztcbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMjQ5OTA7XG4gICAgICAgIH1cbiAgICB9XG59XG4vKiBQQUdFIC0gREVTVElOQVRJT04gKi9cbi5EZXN0aW5hdGlvbl9fbGlzdF9fYm9keSwgLkNhcm91c2VsX19pdGVtcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLkRlc3RpbmF0aW9uX19saXN0X19pdGVtLCAuQ2Fyb3VzZWxfX2l0ZW0ge1xuICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG59XG4vKiBQQUdFIC0gQ09NUEFOWSAqL1xuLkNvbXBhbnlfX2l0ZW1fX2JvZHlfX3RleHRfZm9ybWF0ZWQge1xuICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgY29sb3I6ICRjb2xvcl9ncmV5X2Rhcms7XG59XG4vKiBQQUdFIC0gU0VBUkNIIC0gTUFJTiAqL1xubWFpbiNwYWdlLXNlYXJjaCB7XG4gICAgaDMuQ2FyZC1pbmZvcm1hdGlvbl9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICB9XG4gICAgZGl2LkNhcmQtaW5mb3JtYXRpb25fX2NvbnRlbnQge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDA3OGYwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDQ5OTA7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbm1haW4jcGFnZS1zZWFyY2gsIG1haW4jcGFnZS1saXN0aW5nIHtcbiAgICAubm8tcmVzdWx0cyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMHB4O1xuICAgIH1cbn1cblxuLyogUEFHRSAtIENPTVBBTlkgKi9cbi5Db21wYW55X19sb2dvIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uQ29tcGFueV9fU29jaWFsczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZmxleDogYXV0bztcbn1cblxuLkZpbHRlcnMge1xuICAgIHotaW5kZXg6IDY7XG59XG4vKiBQQUdFIC0gSE9NRSAqL1xuI3BhZ2UtaG9tZSA+IHNlY3Rpb24uc2VjdGlvbi1ibG9ja3Mge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuLyogUEFHRSAtIFNIT1AgKi9cbi5TaG9wX19sb2dvIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgYm94LXNoYWRvdzogMHB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG59XG5cbi8qIFBBUkFHUkFQSFMgKi9cbi5iZy1ncmV5LCBiZy1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ3JleV9saWdodDtcbn1cbi5iZy13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICAgIEBleHRlbmQgLmQtbm9uZTtcbn1cblxuLyogRk9STSAqL1xuLkZvcm1fX2dyb3VwIC5Ecm9wZG93biBzZWxlY3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDRweDtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgY29sb3I6ICM4ODg4ODg7XG59XG4uRm9ybV9fZ3JvdXAgLkRyb3Bkb3duLkRyb3Bkb3duLS1sYXJnZSAuRHJvcGRvd25fX2J1dHRvbiB7XG4gICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8vIEhpZGUgcmVjYXB0Y2hhIGJhZGdlXG4uZ3JlY2FwdGNoYS1iYWRnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5hbGlnbi1sYXN0LWl0ZW0tdG8tZ3JpZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZmxleDogYXV0bztcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLmFsaWduLWxhc3QtaXRlbS10by1ncmlkLW1vYmlsZTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgIH1cbn1cblxuLyogQ2hhdCBib3QgKi9cbi5tZW51LW1vYmlsZS0taXMtb3BlbiAjZGVzdHlnb193aWRnZXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59IiwiLmVycm9yNDA0IHtcbiAgJl9fd3JhcHBlciB7XG4gICAgaGVpZ2h0OiA3MDBweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJl9fdGl0bGUsIHAge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjNTU1NTU1O1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzlweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuICAgICAgZm9udC1zaXplOiA2OHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDY4cHg7XG4gICAgfVxuICB9XG59IiwiLkZsaWdodF9fYm9keV9sb2FkaW5nIHtcbiAgLmxvYWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG5cbi5GbGlnaHRfX29yaWdpbiwgLkZsaWdodC1kZXRhaWxfX29yaWdpbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgc21hbGwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuRmxpZ2h0X19vcmlnaW4ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLkZsaWdodCB7XG4gICZfX2NvbHVtbl9fZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1heC1oZWlnaHQ6IDE1cHg7XG4gIH1cbiAgJl9fY29sdW1uX19xdWVzdGlvbiB7XG4gICAgd2lkdGggOiAyMHB4O1xuICAgIGhlaWdodCA6IDIwcHg7XG4gICAgY3Vyc29yOiBoZWxwO1xuICB9XG5cbiAgJl9fbW9uYSB7XG4gICAgd2lkdGggOiAzNXB4O1xuICAgIGhlaWdodCA6IDM1cHg7XG4gICAgJl9fY29udGVudCB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5GbGlnaHQtZGV0YWlsIHtcbiAgJl9faXRlbSB7XG4gICAgQGV4dGVuZCAlZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIG1kICkge1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAuRmxpZ2h0X19tb25hIHtcbiAgICB3aWR0aCA6IDgwcHg7XG4gIH1cblxuICAuRmxpZ2h0X19saW5rIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAuQnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uV2lkZ2V0IHtcbiAgJHRoaXM6ICY7XG4gICYtLXRyYWNrLWEtZmxpZ2h0IHtcbiAgICAmX19pdGVtIHtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5XaWRnZXQtLXRyYWNrLWEtZmxpZ2h0X19pdGVtX190aXRsZSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9ibHVlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2VzdGltYXRlZCB7XG4gICAgICAgICYuRmxpZ2h0LXN0YXR1cy0tc3VjY2VzcyB7XG4gICAgICAgICAgY29sb3I6IHRoZV9jb2xvciggZ3JlZW4sIGxpbWUgKTtcbiAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICBjb2xvcjogdGhlX2NvbG9yKCBncmVlbiwgbGltZSApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLkZsaWdodC1zdGF0dXMtLXdhcm5pbmcge1xuICAgICAgICAgIGNvbG9yOiB0aGVfY29sb3IoIG9yYW5nZSwgYnJpZ2h0ICk7XG4gICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgY29sb3I6IHRoZV9jb2xvciggb3JhbmdlLCBicmlnaHQgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5GbGlnaHQtc3RhdHVzLS1kYW5nZXIge1xuICAgICAgICAgIGNvbG9yOiB0aGVfY29sb3IoIHJlZCwgYnJpZ2h0ICk7XG4gICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgY29sb3I6IHRoZV9jb2xvciggcmVkLCBicmlnaHQgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5Td2l0Y2hfX3NsaWRlciB7XHJcblx0d29yZC1icmVhazogbm9ybWFsO1xyXG59XHJcblxyXG4uY3VzdG9tLXN3aXRjaCB7XHJcblx0cGFkZGluZy10b3A6IDExcHg7XHJcblx0cGFkZGluZy1yaWdodDogMTlweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTFweDtcclxuXHRwYWRkaW5nLWxlZnQ6IDE5cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAyMXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLkRlc3RpbmF0aW9uX19sZWdlbmRzX19pdGVtIHtcclxuXHRwIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcblxyXG4uUGxhbmUtdHJpcF9fYm9keSB7XHJcblx0cGFkZGluZy10b3A6IDdweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMDtcclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG5cdC5EZXN0aW5hdGlvbl9fbGlzdF9fYm9keSB7XHJcblx0XHQmLmZsaWNraXR5LWVuYWJsZWQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi5XaWRnZXQge1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgJi5XaWRnZXQtLXRyYWNrLWEtZmxpZ2h0LFxuICAmLldpZGdldC0tcGFya2luZy1yZXNlcnZhdGlvbixcbiAgJi5XaWRnZXQtLWJvb2stYS1mbGlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC5CdXR0b24uQnV0dG9uLS1wcmltYXJ5IHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuZXJyb3Ige1xuICAgIGNvbG9yOiAkZGFuZ2VyO1xuICB9XG5cbiAgJi5DYXJkLXJlYWRtb3JlIHtcblxuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuXG4gICAgLkNhcmQtcmVhZG1vcmVfX2xpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgLkNhcmQtcmVhZG1vcmVfX2J0bi1jb250YWluZXIge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLkJ1dHRvbi5CdXR0b24tLXByaW1hcnkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuQ2FyZC1yZWFkbW9yZV9fdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiBsYXJnZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5JbnB1dC1kYXRlLklucHV0LWRhdGUtLW1lZGl1bSB7XG4gIC5JbnB1dC1kYXRlX19idXR0b24ge1xuICAgIHNwYW4ge1xuICAgICAgJi5lcnJvciB7XG4gICAgICAgIGNvbG9yOiAkZGFuZ2VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uSW5wdXQuSGFzLWF1dG9jb21wbGV0ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLmhhcy1lcnJvciB7XG4gICAgaW5wdXQge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgLklucHV0X19hdXRvY29tcGxldGUtcGFuZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcblxuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDVkOWRiO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG5cbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgJl9faXRlbSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNWQ5ZGI7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcblxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19haXJwb3J0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh0aGVfY29sb3IoYmx1ZSwgc3Ryb25nKSwgMC4yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLkhlcm8tLWhhcy13aWRnZXQge1xuICAjcGFzc2VuZ2VyLXRyYXZlbC1jbGFzcy1wYW5lbCwgI2RhdGUtcGFuZWwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICNwYXJraW5nLXdpZGdldFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICNzdWl2aS12b2wtd2lkZ2V0W2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIuQ2FyZC1yZWFkbW9yZV9fdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICBoMyB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuXG4uQ2FyZC1kZXN0aW5hdGlvbl9fYm9keSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgaDMge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG4gIH1cbn1cblxuLkNhcmQtaW5mb3JtYXRpb25fX3RpdGxlIHtcblx0dGV4dC1vdmVyZmxvdzogaW5pdGlhbDtcblx0d2hpdGUtc3BhY2U6IGluaXRpYWw7XG59XG5cbi5DYXJkLWluZm9ybWF0aW9uX19iYWRnZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdG1pbi1oZWlnaHQ6IDE3LjVweDtcbn1cblxuLkJhZGdlLS1jdXN0b20ge1xuXHR3aWR0aDogMTFweDtcblx0aGVpZ2h0OiAxMXB4O1xuXHRtaW4td2lkdGg6IDExcHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA0cHg7XG5cdHJpZ2h0OiAtNXB4O1xuXG4gICAgc3ZnIHtcblx0XHRwYWRkaW5nOiAzcHg7XG5cblx0XHQmLnBsdXMge1xuXHRcdFx0cGFkZGluZzogMnB4O1xuXHRcdH1cblx0fVxufSIsIi5fYWNjZXNzLXNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsOjotd2Via2l0LXNjcm9sbGJhci10cmFjaywgLm1hdC10YWItYm9keS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFjaywgLm1hdC1zZWxlY3QtcGFuZWw6bm90KFtjbGFzcyo9J21hdC1lbGV2YXRpb24teiddKTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssIC5tYXQtbWVudS1wYW5lbDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xufVxuXG4uX2FjY2Vzcy1zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLCAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbDo6LXdlYmtpdC1zY3JvbGxiYXIsIC5tYXQtdGFiLWJvZHktY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIsIC5tYXQtc2VsZWN0LXBhbmVsOm5vdChbY2xhc3MqPSdtYXQtZWxldmF0aW9uLXonXSk6Oi13ZWJraXQtc2Nyb2xsYmFyLCAubWF0LW1lbnUtcGFuZWw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbn1cblxuLl9hY2Nlc3Mtc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwgLm1hdC1hdXRvY29tcGxldGUtcGFuZWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLCAubWF0LXRhYi1ib2R5LWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLCAubWF0LXNlbGVjdC1wYW5lbDpub3QoW2NsYXNzKj0nbWF0LWVsZXZhdGlvbi16J10pOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwgLm1hdC1tZW51LXBhbmVsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk5OTk7XG59XG5cbi5fYWNjZXNzLWljb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNXM7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRyYW5zZm9ybTogc2tld1goMThkZWcpO1xuXG4gICY6aG92ZXIge31cbn1cblxuLmNpcmN1bGFyLl9hY2Nlc3MtaWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAuNXB4IHNvbGlkIHdoaXRlO1xufVxuXG4uYWNjZXNzX3JlYWRfZ3VpZGVfYmFyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgYm9yZGVyOiBzb2xpZCAzcHggIzIwZmY2OTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB0b3A6IDE1cHg7XG4gIHotaW5kZXg6IDIxNDc0ODM2NDc7XG59XG5cbi5hY2Nlc3MtaGlnaC1jb250cmFzdCAqIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uX2FjY2Vzcy1tZW51IHtcbiAgQGV4dGVuZCAlZm9udC1mYW1pbHktYm9keTtcblxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAyNXZ3O1xuICBoZWlnaHQ6IGF1dG87XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC41cztcbiAgei1pbmRleDogOTk5OTE7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogc29saWQgMXB4ICNmMWYwZjE7XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMXB4ICNhYWE7XG4gIG1heC1oZWlnaHQ6IDEwMHZoO1xuXG4gICYuY2xvc2Uge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICB9XG5cbiAgJi50b3Age1xuICAgIHRvcDogMDtcbiAgfVxuXG4gICYubGVmdCB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gICYuY2xvc2UubGVmdCB7XG4gICAgbGVmdDogLTI1dnc7XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gICYuY2xvc2UucmlnaHQge1xuICAgIHJpZ2h0OiAtMjV2dztcbiAgfVxuXG4gIC5fdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBsZXR0ZXItc3BhY2luZzogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIHdvcmQtc3BhY2luZzogaW5pdGlhbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLl9tZW51LWNsb3NlLWJ0biB7XG4gICAgbGVmdDogNXB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibGlnYVwiIDE7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcblxuICAgICAgY29udGVudDogJyAnO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2FkbC9pY29ucy90aW1lcy5zdmdcIik7XG4gICAgfVxuICB9XG5cbiAgLl9tZW51LXJlc2V0LWJ0bjpob3ZlciwgLl9tZW51LWNsb3NlLWJ0bjpob3ZlciB7fVxuXG4gIC5fbWVudS1yZXNldC1idG4ge1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibGlnYVwiIDE7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcblxuICAgICAgY29udGVudDogJyAnO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2FkbC9pY29ucy9zd2l0Y2guc3ZnXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5fbWVudS1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA3N3B4KTtcbiAgfVxufVxuXG5odG1sLl9hY2Nlc3NfY3Vyc29yICoge1xuICBjdXJzb3I6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhJVVJQUTFSWlVFVWdjM1puSUZCVlFreEpReUFpTFM4dlZ6TkRMeTlFVkVRZ1UxWkhJREV1TVM4dlJVNGlJQ0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTlIY21Gd2FHbGpjeTlUVmtjdk1TNHhMMFJVUkM5emRtY3hNUzVrZEdRaVBqeHpkbWNnZG1WeWMybHZiajBpTVM0eElpQnBaRDBpVEdGNVpYSmZNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SWdlRDBpTUhCNElpQjVQU0l3Y0hnaUlIZHBaSFJvUFNJeU9TNHhPRGh3ZUNJZ2FHVnBaMmgwUFNJME15NDJNalZ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJREk1TGpFNE9DQTBNeTQyTWpVaUlHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lESTVMakU0T0NBME15NDJNalVpSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaVBqeG5Qanh3YjJ4NVoyOXVJR1pwYkd3OUlpTkdSa1pHUmtZaUlITjBjbTlyWlQwaUkwUTVSRUZFT1NJZ2MzUnliMnRsTFhkcFpIUm9QU0l4TGpFME1EWWlJSE4wY205clpTMXRhWFJsY214cGJXbDBQU0l4TUNJZ2NHOXBiblJ6UFNJeUxqZ3NOQzQxTkRrZ01qWXVPRFEzTERFNUxqa3dNaUF4Tmk0NU5qUXNNakl1TnpBeElESTBMakl6T1N3ek55NDNORGtnTVRndU1qYzRMRFF5TGpBeE55QTVMamMwTVN3ek1DNDNNalFnTVM0eE16Z3NNelV1T0RBNUlDSXZQanhuUGp4blBqeG5Qanh3WVhSb0lHWnBiR3c5SWlNeU1USTJNamNpSUdROUlrMHlPUzR4TnpVc01qRXVNVFUxWXpBdU1EY3hMVEF1TmpFekxUQXVNVFkxTFRFdU1qVXpMVEF1TmpNMUxURXVOVGN6VERJdU1UWTFMREF1TWpVNFl5MHdMalF5TkMwd0xqTXlMVEF1T1RnNExUQXVNelEyTFRFdU5ETTFMVEF1TURVelF6QXVNamd5TERBdU5EazNMREFzTVM0d015d3dMREV1TmpFM2RqTTBMakUzTVdNd0xEQXVOakV6TERBdU16QTJMREV1TVRRMkxEQXVOemMyTERFdU5ETTVZekF1TkRjeExEQXVNalkzTERFdU1EVTVMREF1TWpFekxERXVORGd5TFRBdU1UWnNOeTQwT0RJdE5pNHpORFJzTmk0NE5EY3NNVEl1TVRVMVl6QXVNalU1TERBdU5EZ3NNQzQzTWprc01DNDNORFlzTVM0eUxEQXVOelEyWXpBdU1qTTFMREFzTUM0ME9UUXRNQzR3T0N3d0xqY3dOaTB3TGpJeE0ydzJMams0T0MwMExqVTROV013TGpNeU9TMHdMakl4TXl3d0xqVTJOUzB3TGpVNE5pd3dMalkxT1MweExqQXhNMk13TGpBNU5DMHdMalF5Tml3d0xqQXlOQzB3TGpnNExUQXVNVGc0TFRFdU1qSTJiQzAyTGpNM05pMHhNUzR6T0RKc09DNDJNVEV0TWk0M05EVkRNamd1TnpBMUxESXlMakkzTkN3eU9TNHhNRFVzTWpFdU56WTRMREk1TGpFM05Td3lNUzR4TlRWNklFMHhOaTQ1TmpRc01qSXVOekF4WXkwd0xqUXlOQ3d3TGpFek15MHdMamMzTml3d0xqVXdOaTB3TGprME1Td3dMamsyWXkwd0xqRTJOU3d3TGpRNExUQXVNVEU0TERFdU1ERXpMREF1TVRFNExERXVORE01YkRZdU5UZzRMREV4TGpjNE1Xd3ROQzQxTkRFc01pNDVPRFZzTFRZdU9EazBMVEV5TGpNeE5XTXRNQzR5TVRJdE1DNHpOek10TUM0MU5ERXRNQzQyTkMwd0xqazBNUzB3TGpjeVl5MHdMakE1TkMwd0xqQXlOeTB3TGpFMk5TMHdMakF5Tnkwd0xqSTFPUzB3TGpBeU4yTXRNQzR6TURZc01DMHdMalU0T0N3d0xqRXdOeTB3TGpnME55d3dMak15VERJdU9Dd3pNaTQxT1ZZMExqVTBPV3d5TVM0MU9Ua3NNVFV1T0RBMlRERTJMamsyTkN3eU1pNDNNREY2SWk4K1BDOW5Qand2Wno0OEwyYytQQzluUGp3dmMzWm5QZz09KSwgYXV0byAhaW1wb3J0YW50O1xufVxuXG4uX2FjY2Vzcy1tZW51IHVsIHtcbiAgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZjFmMGYxO1xuICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDMwcHg7XG4gICAgbWFyZ2luOiA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB0ZXh0LWluZGVudDogNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBsZXR0ZXItc3BhY2luZzogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIHdvcmQtc3BhY2luZzogaW5pdGlhbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi5iZWZvcmUtY29sbGFwc2UgbGkge1xuICAgIG9wYWNpdHk6IDAuMDU7XG4gIH1cblxuICBsaSB7XG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcbiAgICB9XG5cbiAgICAmLm5vdC1zdXBwb3J0ZWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxpZ2FcIiAxO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG5cbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xuICAgIH1cblxuICAgIHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSBzdmcgcGF0aCB7XG4gICAgICBmaWxsOiAjZmZmO1xuICAgIH1cblxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgfVxuXG4gICAgJi5hY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICZbZGF0YS1hY2Nlc3MtYWN0aW9uPVwiaW5jcmVhc2VUZXh0XCJdOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2FkbC9pY29ucy9yZXNpemUtZm9udC11cC5zdmdcIik7XG4gICAgfVxuXG4gICAgJltkYXRhLWFjY2Vzcy1hY3Rpb249XCJkZWNyZWFzZVRleHRcIl06YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvYWRsL2ljb25zL3Jlc2l6ZS1mb250LWRvd24uc3ZnXCIpO1xuICAgIH1cblxuICAgICZbZGF0YS1hY2Nlc3MtYWN0aW9uPVwiaW5jcmVhc2VUZXh0U3BhY2luZ1wiXTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RoZW1lcy9hZGwvaWNvbnMvc3BsaXQuc3ZnXCIpO1xuICAgIH1cblxuICAgICZbZGF0YS1hY2Nlc3MtYWN0aW9uPVwiZGVjcmVhc2VUZXh0U3BhY2luZ1wiXTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RoZW1lcy9hZGwvaWNvbnMvbWVyZ2Uuc3ZnXCIpO1xuICAgIH1cblxuICAgICZbZGF0YS1hY2Nlc3MtYWN0aW9uPVwiaW52ZXJ0Q29sb3JzXCJdOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2FkbC9pY29ucy9pbnZlcnQuc3ZnXCIpO1xuICAgIH1cblxuICAgICZbZGF0YS1hY2Nlc3MtYWN0aW9uPVwiZ3JheUh1ZXNcIl06YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiw7DCn8KMwqvDr8K4wo9cIjtcbiAgICB9XG5cbiAgICAmW2RhdGEtYWNjZXNzLWFjdGlvbj1cInVuZGVybGluZUxpbmtzXCJdOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2FkbC9pY29ucy91bmRlcmxpbmUuc3ZnXCIpO1xuICAgIH1cblxuICAgICZbZGF0YS1hY2Nlc3MtYWN0aW9uPVwiYmlnQ3Vyc29yXCJdOmJlZm9yZSB7XG4gICAgICAvKmNvbnRlbnQ6ICd0b3VjaF9hcHAnOyovXG4gICAgfVxuXG4gICAgJltkYXRhLWFjY2Vzcy1hY3Rpb249XCJyZWFkaW5nR3VpZGVcIl06YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiw6LChsKUw6/CuMKPXCI7XG4gICAgfVxuXG4gICAgJltkYXRhLWFjY2Vzcy1hY3Rpb249XCJ0ZXh0VG9TcGVlY2hcIl06YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiw6LCj8K6w6/CuMKPXCI7XG4gICAgfVxuXG4gICAgJltkYXRhLWFjY2Vzcy1hY3Rpb249XCJzcGVlY2hUb1RleHRcIl06YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiw7DCn8KOwqRcIjtcbiAgICB9XG4gIH1cbn0iLCIuTGlzdC1wYWdlX19ib2R5IHtcbiAgICAuTGlzdC1wYWdlX19yZXN1bHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cbiAgICBmb3JtLkZpbHRlcnMuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIC5GaWx0ZXJzX19zdWJtaXQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKiBNYXAgbGVnZW5kcyAqL1xuLm1hcF9sZWdlbmRzIHtcbiAgd2lkdGg6IDk1JTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgc3BhbiB7XG4gICAgcGFkZGluZzogMC41ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICZfZGlyZWN0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG4gIH1cbiAgJl9zdG9wb3ZlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICMxMDIxM2E7XG4gICAgfVxuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLm1hcF9sZWdlbmRzX3N0b3BvdmVyLCAubWFwX2xlZ2VuZHNfZGlyZWN0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLm1hcF9sZWdlbmRzX3N0b3BvdmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxLjJlbTtcbiAgfVxufVxuLyogTWFwIGxvYWRpbmcgKi9cbiNtYXAtbG9hZGluZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICB9XG59XG4vKiBNYXAgY29udGFpbmVyICovXG4jbWFwLWNvbnRhaW5lciwgI21hcC1wYXJhZ3JhcGgtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogTWFwIGZpbHRlcnMgZGlzcGxheSBidXR0b25zICovXG4ubWFwLWZpbHRlcnMtY2xvc2Uge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTVweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIHN2ZyB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGZpbGw6ICMwMDYxYzM7XG4gIH1cbn1cbi5tYXAtZmlsdGVycy1vcGVuIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogN3B4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGxlZnQ6IDdweDtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHBhZGRpbmc6IDdweDtcbiAgZGlzcGxheTogZmxleDtcbiAgc3ZnIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgZmlsbDogIzAwNjFjMztcbiAgfVxuICBzcGFuIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjMDA2MWMzO1xuICAgIHBhZGRpbmctbGVmdDogN3B4O1xuICB9XG59XG4vKiBNYXAgZmlsdGVycyAqL1xuXG4jbWFwLWZpbHRlcnMge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMzAwcHg7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMztcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICYuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuZmlsdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdGhlX2NvbG9yKGdyYXksIGxpZ2h0KTtcbiAgICBhcnRpY2xlIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG4gICAgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgZGFyayk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xuICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgc3ZnLCBzcGFuIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAmX2ljb24ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZmlsbCA6IHRoZV9jb2xvcihibHVlLCBkYXJrKTtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgfVxuICAgICZfcGVyaW9kIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBoMyB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICZfcGVyaW9kIHtcbiAgICAgICZfY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgfVxuICAgICAgJl9pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl90aGVtYXRpYyB7XG4gICAgICAmX2l0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAmX2Nob2ljZSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZGNkY2Q7XG4gICAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcihibHVlLCBzdHJvbmcpO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggNXB4IDVweCAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9zbGlkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgJl92YWx1ZSB7XG4gICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICB9XG4gICAgfVxuICAgICZfc3VibWl0IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGVfY29sb3IoYmx1ZSwgc3Ryb25nKTtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRoZV9jb2xvcihibHVlLCBkYXJrKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udnVlLXNsaWRlci1kb3QtaGFuZGxlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdGhlX2NvbG9yKGJsdWUsIGRhcmspO1xufVxuLnZ1ZS1zbGlkZXItcHJvY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRoZV9jb2xvcihibHVlLCBkYXJrKTtcbn1cbi8qIE1hcCAqL1xuI21hcC1jb21wb25lbnQge1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTtcblxuICAudnVlLW1hcCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi8qIE92ZXJpZGUgR29vZ2xlIEluZm9XaW5kb3cgc3R5bGVzICovXG4uZ20tc3R5bGUgLmdtLXN0eWxlLWl3LWMge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLmdtLXN0eWxlLWl3LWQge1xuICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4uZ20tdWktaG92ZXItZWZmZWN0IHtcbiAgYmFja2dyb3VuZDogd2hpdGUgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICByaWdodDogMHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAyNXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogM3B4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDI4cHggIWltcG9ydGFudDtcbn1cblxuLyogTWFya2VyIHN0eWxlcyAqL1xuLkdtYXBfbWFya2VyIHtcbiAgJl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2hhZG93OiAwIDFweCA4cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICZfX21hcmtlciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDhweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZGVye1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgLkdtYXBfbWFya2VyX190aXRsZSB7XG4gICAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjNTU1NTU1O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggNXB4IDEwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19wcmljZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICZfX2Ftb3VudCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAmX19kYXRlcyB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2luZm9zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAmX19pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRoZV9jb2xvcihncmF5LCBsaWdodCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGZpbGw6IHRoZV9jb2xvcihibHVlLCBkYXJrKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgICZfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fZm9vdGVyIHtcbiAgICBwYWRkaW5nOiA1cHggMTBweCAxMHB4IDEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAmX19pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAmX2Jvb2tpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgc2t5KTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgICAgJl9kZXRhaWxze1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVfY29sb3IoZ3JheSwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiB0aGVfY29sb3IoYmx1ZSwgdmVyeS1kYXJrKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICAmX19wcmljZSB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uU2ltcGxlR21hcF9tYXJrZXIge1xuICAmX19oZWFkZXJ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjVweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgLlNpbXBsZUdtYXBfbWFya2VyX190aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogdGhlX2NvbG9yKGJsdWUsIHN0cm9uZyk7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5tb2JpbGVfaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuR21hcF9tYXJrZXJfX2luZm9zX19pdGVtIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5HbWFwX21hcmtlcl9faW5mb3NfX2l0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIH1cbiAgI21hcC1maWx0ZXJzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufSIsIi5jZW50ZXJfYnV0dG9uX3dyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLkJ1dHRvbiB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG59IiwiLnVpLWRpYWxvZyAge1xuICBwYWRkaW5nOiAwO1xuXG4gICYudmlkZW8tZGlhbG9nIHtcbiAgICB3aWR0aDogODB2dyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogODB2aCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJi51aS13aWRnZXQudWktd2lkZ2V0LWNvbnRlbnQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZXk7XG4gICAgei1pbmRleDogMjAwO1xuICB9XG4gIC51aS13aWRnZXQtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuICAudWktZGlhbG9nLXRpdGxlYmFyIHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDk5OTtcblxuICAgIC51aS1idXR0b24ge1xuICAgICAgei1pbmRleDogOTk7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDEwcHg7XG5cbiAgICAgIC51aS1pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICB3aWR0aDogM3JlbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIsODwpdcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgY29sb3I6IGdyZXk7XG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC51aS1kaWFsb2ctY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDU1cHggMjBweCAyMHB4OztcblxuICAgIGFydGljbGUge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIHdpZHRoOiA4MHZ3O1xuICAgICAgICBoZWlnaHQ6IDgwdmg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaHRtbCwgYm9keSwgaWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2aWRlbyB7XG4gICAgICB3aWR0aDogODB2dztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5ld3NsZXR0ZXJNb2RhbE9wZW5lZCB7XG4gIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiA3MjBweCAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIHdpZHRoOiA5MCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDQ3NXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWktZGlhbG9nLXRpdGxlYmFyIHtcbiAgICAudWktZGlhbG9nLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnVpLWRpYWxvZy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWktcG9waW4tY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICAudWktcG9waW4tbWVkaWEge1xuICAgIGZsZXgtYmFzaXM6IDQ1JTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudWktcG9waW4tYm9keSB7XG4gICAgbWluLWhlaWdodDogNDB2aDtcbiAgICBmbGV4LWJhc2lzOiA1NSU7XG4gICAgbWF4LXdpZHRoOiA1NSU7XG4gICAgbWF4LWhlaWdodDogNjByZW07XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgfVxuXG4gICAgLy8gSUUxMSB0cmlja1xuICAgIC53ZWJmb3JtLWFqYXgtZm9ybS13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGE6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICBpbWcsIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC1oZWlnaHQ6IDVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgLy9jb2xvcjogJGNvbG9yLXRleHQtZ3JleTtcbiAgICAgIC8vZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICAgIC8vZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGg1LnVpLXBvcGluLWJvZHlfdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAvL2NvbG9yOiAkY29sb3ItdGV4dDtcbiAgICAgIC8vZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICAgIC8vZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgLy9jb2xvcjogJGNvbG9yLXRleHQtZ3JleTtcbiAgICAgIC8vZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICAgIC8vZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbC5vcHRpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIC8vY29sb3I6ICRjb2xvci10ZXh0LWdyZXk7XG4gICAgICAvL2ZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgICAvL2ZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiA3cHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdlbWFpbCddIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAvL2ZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIC8vZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgIC5mb3JtLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtLXRlc3QtY2hlY2tib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtIHAge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgICAvL2NvbG9yOiAkY29sb3ItdGV4dC1ncmV5O1xuICAgICAgLy9mb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgICAgLy9mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuXG4gICAgICBhIHtcbiAgICAgICAgLy9mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtLXlvdXItbWFpbCBsYWJlbCB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmZvcm0tc3VibWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgICAgIC8vY29sb3I6ICRjb2xvci10ZXh0O1xuICAgICAgLy9mb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgICAgLy9mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGNvbG9yLXNlY29uZGFyeSA1MCUsICRjb2xvci1wcmltYXJ5IDUwJSk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAvL2NvbG9yOiAkY29sb3ItdGV4dC1saWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAud2ViZm9ybS10eXBlLXdlYmZvcm0tbmFtZSB7XG4gICAgICAuZmllbGRzZXQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSA0cHgpO1xuICAgICAgICAgIC8vIElFMTEgaGFjazpcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gICAgLndlYmZvcm0tY29uZmlybWF0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGg1IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICB9XG5cbiAgICAgIGJyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbS10ZXN0LWNoZWNrYm94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1pdGVtLS1lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbS0tZXJyb3Ige1xuICAgICAgbGFiZWwub3B0aW9uIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC51aS1kaWFsb2ctYnV0dG9ucGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi5kaXNhYmxlLW1lZGlhLW1vYmlsZSAudWktcG9waW4tbWVkaWEge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5uZXdzbGV0dGVyTW9kYWxPcGVuZWQgLnVpLXBvcGluLWJvZHl7XG4gIC5uZXdzbGV0dGVyLXByaXZhY3l7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuICB9XG59XG4iLCIuZmFkZUluLS1kZWZhdWx0IHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmZhZGVJbkxlZnQtLWRlZmF1bHQge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZmFkZUluUmlnaHQtLWRlZmF1bHQge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uY2tlX2VkaXRhYmxlIHtcbiAgLmZhZGVJbi0tZGVmYXVsdCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5mYWRlSW5MZWZ0LS1kZWZhdWx0IHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmZhZGVJblJpZ2h0LS1kZWZhdWx0IHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59IiwiLnNsaWRlSW5MZWZ0LS1kZWZhdWx0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGVJblJpZ2h0LS1kZWZhdWx0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uY2tlX2VkaXRhYmxlIHtcbiAgLnNsaWRlSW5MZWZ0LS1kZWZhdWx0IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgLnNsaWRlSW5SaWdodC0tZGVmYXVsdCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufSIsIkBpbXBvcnQgJ35hbmltYXRlLmNzcy9zb3VyY2UvX3ZhcnMuY3NzJztcbkBpbXBvcnQgJ35hbmltYXRlLmNzcy9zb3VyY2UvX2Jhc2UuY3NzJztcblxuQGltcG9ydCAnZmFkaW5nX2VudHJhbmNlcy9mYWRlX2VudHJhbmNlcyc7XG5AaW1wb3J0ICdzbGlkaW5nX2VudHJhbmNlcy9zbGlkZV9lbnRyYW5jZXMnO1xuXG4vKiBGYWRpbmcgZW50cmFuY2VzICAqL1xuQGltcG9ydCAnfmFuaW1hdGUuY3NzL3NvdXJjZS9mYWRpbmdfZW50cmFuY2VzL2ZhZGVJbi5jc3MnO1xuQGltcG9ydCAnfmFuaW1hdGUuY3NzL3NvdXJjZS9mYWRpbmdfZW50cmFuY2VzL2ZhZGVJbkxlZnQuY3NzJztcbkBpbXBvcnQgJ35hbmltYXRlLmNzcy9zb3VyY2UvZmFkaW5nX2VudHJhbmNlcy9mYWRlSW5SaWdodC5jc3MnO1xuXG4vKiBTbGlkaW5nIGVudHJhbmNlcyAqL1xuQGltcG9ydCAnfmFuaW1hdGUuY3NzL3NvdXJjZS9zbGlkaW5nX2VudHJhbmNlcy9zbGlkZUluTGVmdC5jc3MnO1xuQGltcG9ydCAnfmFuaW1hdGUuY3NzL3NvdXJjZS9zbGlkaW5nX2VudHJhbmNlcy9zbGlkZUluUmlnaHQuY3NzJzsiXSwic291cmNlUm9vdCI6IiJ9*/