/*------------------------------------------------------------------

- Helper mixins

- Base styles for common elements

- Bootstrap style customizations

-- Grid rows

- Primary site preloader

- Scroll top button

- Site pagination

- Site header commons

- Header elements (logo, extras, etc)

- Header desktop navigation

- Fullscreen mobile navigation

- Fullscreen search

- Header stuck state

- Header responsiveness

- Site footer styles

- Page intro block

-- Intro commons

- Portfolio listing

- Testimonials slider

- Theme progress bars

- Pricing tables

- FAQ page

- Clients page

- Mailchimp subscribe block

- 404 page

- Simple text rotator plugin styles

- Typed js integration

- Site socials VC widget

- Visual Composer custom text widget

- Basic blogroll styles

- Blogroll post formats

- Blog sidebar design

- Blogroll single page styles

-------------------------------------------------------------------*/


/* ============================================================================= */
/* Helper mixins */
/* ============================================================================= */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

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

@-webkit-keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

@keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

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

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

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

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
}

@keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
}

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

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
  }
  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
  }
  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

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

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg);
  }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg);
  }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg);
  }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg);
  }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

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

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.85, 0.85, 0.85);
    transform: scale3d(0.85, 0.85, 0.85);
  }
  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.85, 0.85, 0.85);
    transform: scale3d(0.85, 0.85, 0.85);
  }
  50% {
    opacity: 1;
  }
}

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

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

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

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

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

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

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

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

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

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  70% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  70% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

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

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
  80% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
  80% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

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

@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }
  80% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }
  80% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

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

@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
  }
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
  }
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

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

@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

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

@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  25% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3);
  }
}

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  25% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3);
  }
}

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

@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

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

@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

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

@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

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

@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

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

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

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

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

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

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

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

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

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

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

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

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

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

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

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

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

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

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

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

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

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

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

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

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
}

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
}

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

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

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

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
}

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
}

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

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

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

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
}

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
}

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

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

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

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}

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

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

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

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}

@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

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

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

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

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

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

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

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

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

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

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0;
  }
}

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

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

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

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

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

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

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

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

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

@-webkit-keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

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

@-webkit-keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

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

@-webkit-keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

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

@-webkit-keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

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

@-webkit-keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

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

@-webkit-keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

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

@-webkit-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40% {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  100% {
    -webkit-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40% {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  100% {
    -webkit-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0;
  }
}

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

@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }
}

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }
}

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

@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg);
  }
}

@keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg);
  }
}

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

/* ============================================================================= */
/* Base styles for common elements. */
/* ============================================================================= */
html {
  -webkit-font-smoothing: antialiased;
}

body {
  position: relative;
  overflow-x: hidden;
  letter-spacing: 0.04em;
}

body::-webkit-scrollbar-track {
  background: #ddd;
}

body::-webkit-scrollbar {
  width: 6px;
  background: #ddd;
}

body::-webkit-scrollbar-thumb {
  background-image: linear-gradient(to bottom, #070537, #001161, #00178d, #001bbb, #121beb);
  /*background: #fd580b;*/
}

body.disable-hover {
  pointer-events: none;
}

p {
  margin-bottom: 2rem;
}

a {
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  outline: none;
}

hr {
  border-color: #eee;
  display: inline-block;
  width: 100%;
}

button, input, optgroup, select, textarea {
  font-family: "Source Sans Pro", "Montserrat", Arial, "Helvetica Neue", sans-serif;
}

.wp-caption,
.sp-widget-block img,
.sp-blog-block img {
  max-width: 100%;
  height: auto;
}

button, input, select, textarea {
  max-width: 100%;
}

#sp-wrapper {
  background: #fff;
  position: relative;
  z-index: 10;
}

.form-control {
  letter-spacing: 0.04em;
}

.sp-marg30 {
  margin-top: 30px;
}

.sp-marg50 {
  margin-top: 50px;
}

@media (max-width: 767px) {
  .text-right {
    text-align: center !important;
  }
  .text-left {
    text-align: center !important;
  }
  [class*='col-'] {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .sp-marg30, .sp-marg50 {
    margin-top: 30px;
  }
}

.sp-section {
  position: relative;
  z-index: 992;
  padding-top: 110px;
  padding-bottom: 110px;
  background-color: #fff;
}

.sp-section1 {
    position: relative;
    z-index: 992;
    padding-top: 110px;
    padding-bottom: 500px !important;
    background-color: #fff;
    height: -webkit-fill-available;
  }

.sp-section.demo .container {
  width: 1500px;
}

.sp-section.demo .row {
  margin-left: -20px;
  margin-right: -20px;
}

.sp-section.demo [class*='col-'] {
  padding-left: 20px;
  padding-right: 20px;
}

.sp-section.pt0 {
  padding-top: 0px;
}

.sp-section.pb0 {
  padding-bottom: 0px;
}

.sp-section.none {
  padding: 0;
}

.sp-section.border {
  border-top: 1px solid #eee;
}

.sp-section.white {
  color: #fff;
}

.sp-section.white h1, .sp-section.white h2, .sp-section.white h3, .sp-section.white h4, .sp-section.white h5, .sp-section.white h6 {
  color: #fff;
}

.sp-section.little {
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (max-width: 767px) {
  .sp-section.little {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

.sp-section.bg-color-light {
  background-image: linear-gradient(to bottom, #070537, #001161, #00178d, #001bbb, #121beb);
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

.sp-section.bg-color-dark {
  background: #333;
  border-top: 1px solid #444;
  border-bottom: 1px solid #444;
  color: #fff;
}

.sp-section img {
  max-width: 100%;
}

@media (max-width: 767px) {
  .sp-section {
    padding-top: 80px;
    padding-bottom: 80px;
    text-align: center;
  }
}

.sp-title-block {
  width: 100%;
  margin-bottom: 2rem;
  text-transform: capitalize;
}

.sp-title-block.line h3 {
  margin-bottom: 1.4rem;
}

.sp-title-block.line span {
  margin-bottom: 1.4rem;
  display: block;
}

.sp-title-block.line:after {
  content: '';
  height: 25px;
  width: 2px;
  background: #fd580b;
  display: inline-block;
  text-align: center;
}

.sp-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
}

.jarallax {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

/* ================================= button vc schortcode */
.sp-btn-container.align_center {
  text-align: center;
}

.sp-btn-container.align_left {
  text-align: left;
}

.sp-btn-container.align_right {
  text-align: right;
}

/* ================================= typed.js integration */
.typed-cursor {
  -webkit-animation: typed-blink 0.7s infinite;
          animation: typed-blink 0.7s infinite;
  opacity: 1;
  display: inline-block;
}

@-webkit-keyframes typed-blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes typed-blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* ============================================================================= */
/* Bootstrap style customizations. */
/* ============================================================================= */
/* ================================= grid rows */
.row {
  max-width: none !important;
}

/* ================================= buttons and other form controls */
.btn {
  cursor: pointer;
}

.btn-lg {
  font-size: 15px;
  font-weight: 400;
}

.btn-white {
  color: #333;
  background-color: #fff;
  border-color: #fff;
}

.form-control:-webkit-autofill {
  -webkit-transition: none;
  -webkit-box-shadow: 0 0 0 30px #fff inset;
}

/* ================================= carousels */
.carousel-indicators {
  margin-bottom: 2rem;
}

.carousel-indicators li {
  border-radius: 50%;
  background-color: #fff;
  -webkit-transition: background-color 0.25s;
  transition: background-color 0.25s;
}

.carousel-indicators li:hover, .carousel-indicators li.active {
  background-color: #fd580b;
}

.carousel-fade .carousel-inner .carousel-item {
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.carousel-fade .carousel-inner .carousel-item,
.carousel-fade .carousel-inner .active.carousel-item-left,
.carousel-fade .carousel-inner .active.carousel-item-right {
  opacity: 0;
}

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

.carousel-fade .carousel-inner .carousel-item-next,
.carousel-fade .carousel-inner .carousel-item-prev,
.carousel-fade .carousel-inner .active.carousel-item-left,
.carousel-fade .carousel-inner .active.carousel-item-right {
  left: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

/* ================================= progress bar */
.progress {
  background-color: #ddd;
  border-radius: 0;
}

.progress .progress-bar {
  background-color: #222;
  height: 5px;
}

/* ================================= input groups */
.input-group .form-control:not(:first-child),
.input-group-addon:not(:first-child),
.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group > .btn,
.input-group-btn:not(:first-child) > .dropdown-toggle,
.input-group-btn:not(:last-child) > .btn:not(:first-child),
.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {
  border-radius: 0;
}

.input-group .font-size,
.input-group .input-group-addon,
.input-group .input-group-btn {
  z-index: 10;
}

/* ============================================================================= */
/* Primary site preloader. */
/* ============================================================================= */
#sp-preloader {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 15000;
  background: #fff;
}

#sp-preloader:after {
  content: '';
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -25px;
}

#sp-preloader:after {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: inline-block;
  background: #fd580b;
  -webkit-animation: 1.15s infinite ease-in-out;
          animation: 1.15s infinite ease-in-out;
  -webkit-animation-name: sp-site-loader;
          animation-name: sp-site-loader;
}

#sp-preloader:after:before, #sp-preloader:after:after {
  -webkit-animation: 1.15s infinite ease-in-out;
          animation: 1.15s infinite ease-in-out;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
}

@-webkit-keyframes sp-site-loader {
  from {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 1;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
}

@keyframes sp-site-loader {
  from {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 1;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
}

/* ============================================================================= */
/* Scroll top button. */
/* ============================================================================= */
.sp-scroll-top {
  position: fixed;
  padding: 10px;
  text-align: center;
  right: 30px;
  bottom: 30px;
  color: #fff;
  -webkit-transform: translate3d(0, 20px, 0);
          transform: translate3d(0, 20px, 0);
  -webkit-transition: all 0.55s ease;
  transition: all 0.55s ease;
  z-index: 1000;
  border-radius: 20px;
  background-image: linear-gradient(to bottom, #070537, #001161, #00178d, #001bbb, #121beb);
  /*background-color: #06166d;*/
  opacity: 0;
  line-height: 1;
  visibility: hidden;
}

.sp-scroll-top.scroll-top-visible {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
  visibility: visible;
}

.sp-scroll-top > i {
  width: 20px;
  height: 20px;
  line-height: 20px;
  color: #fff;
  display: inline-block;
  opacity: 1;
  font-size: 20px;
  vertical-align: middle;
}

.sp-scroll-top > .anno-text {
  padding-left: 10px;
  padding-right: 5px;
  white-space: nowrap;
  display: none;
  font-size: 14px;
  text-transform: uppercase;
  vertical-align: middle;
}

.sp-scroll-top:hover {
  background: #222;
  color: #fff;
}

/* ============================================================================= */
/* Site pagination. */
/* ============================================================================= */
.sp-pagination {
  text-align: center;
  font-size: 0;
}

.sp-pagination ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

.sp-pagination ul li {
  font-weight: bold;
  display: inline;
}

.sp-pagination ul li a {
  display: inline-block;
  font-size: 18px;
  padding: 10px 25px;
  color: #333;
}

.sp-pagination ul li.current a, .sp-pagination ul li:hover a {
  color: #fd580b;
}

@media (max-width: 767px) {
  .sp-pagination {
    margin-top: 0;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-slider:hover .slick-arrow.circle.slick-next {
  right: 15px;
  opacity: 1;
}

.slick-slider:hover .slick-arrow.circle.slick-prev {
  left: 15px;
  opacity: 1;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-arrow {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.6;
  color: inherit;
  border: 0;
  outline: none !important;
  background: transparent;
  -webkit-appearance: none;
  font-size: 0;
  display: inline-block;
  padding: 0;
  line-height: 1;
  z-index: 100;
}

.slick-arrow:hover {
  opacity: 1;
}

.slick-arrow:before {
  font-family: "sp-theme-icons";
  content: "\f3d2";
  font-size: 40px;
}

.slick-arrow.slick-next {
  left: auto;
  right: 0;
}

.slick-arrow.slick-next:before {
  content: '\f3d3';
}

.slick-arrow.slick-disabled {
  opacity: 0.2;
  pointer-events: none;
}

.slick-arrow.circle {
  font-size: 18px;
  background: #fff;
  cursor: pointer;
  position: absolute;
  top: 50%;
  text-align: center;
  margin-top: -18px;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  text-decoration: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  line-height: 36px;
}

.slick-arrow.circle:before {
  content: none;
}

.slick-arrow.circle > i {
  position: relative;
  color: #333;
}

.slick-arrow.circle:hover {
  background: #fd580b;
}

.slick-arrow.circle:hover i {
  color: #fff;
}

.slick-arrow.circle.slick-next {
  right: 0;
  opacity: 0;
}

.slick-arrow.circle.slick-prev {
  left: 0;
  opacity: 0;
}

.slick-dots {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  margin-top: 30px;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 150;
  line-height: 1;
  font-size: 0;
}

.slick-dots > li {
  display: inline-block;
}

.slick-dots button {
  color: transparent;
  text-indent: -9999px;
  -webkit-appearance: none;
  display: inline-block;
  height: 1em;
  width: 1em;
  margin-right: .4em;
  margin-left: .4em;
  padding: 0;
  border: 0;
  outline: none !important;
  border-radius: 50%;
  background: #ddd;
  -webkit-transition: background-color 0.25s;
  transition: background-color 0.25s;
  font-size: 0.9375rem;
}

.slick-dots > li:hover button, .slick-dots > li.slick-active button {
  background-color: #06166d;
}

.slick-dots-inside .slick-dots {
  position: absolute;
  bottom: 2.625rem;
  margin-top: 0;
}

.slick-dots-inside .slick-dots button {
  background: #fff;
  font-size: 1rem;
}

/* ============================================================================= */
/* Site header commons. */
/* ============================================================================= */
#sp-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1050;
  background: transparent;
  color: #fff;
  padding: 1px 50px;
  border-bottom: 1px solid transparent;
}

#sp-header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* ============================================================================= */
/* Header elements (logo, extras, etc) */
/* ============================================================================= */
#sp-header-inner > .brand-logo {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: inherit;
  font-size: 2.1rem;
  margin-right: auto;
  min-width: 0;
  line-height: 1;
}

#sp-header-inner > .brand-logo > h1 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: inherit;
  color: inherit;
}

#sp-header-inner > .brand-logo > h1 > span {
  color: #fd580b;
}

#sp-header-inner > .brand-logo img {
  max-width: 100%;
  height: auto;
}

#sp-header-inner > .brand-logo img.logo-dark {
  display: none;
}

#sp-header-inner > .header-extras {
  font-size: 0;
  line-height: 1;
  margin-left: 30px;
  margin-right: -10px;
  border-left: 1px solid currentColor;
  padding-left: 20px;
}

#sp-header-inner > .header-extras > * {
  vertical-align: middle;
}

#sp-header-inner > .header-extras > a {
  padding: 5px 10px;
  color: inherit;
  display: inline-block;
}

#sp-header-inner > .header-extras > a > i {
  font-size: 22px;
}

#sp-header-inner > .header-extras > a:hover {
  opacity: 0.6;
}

#sp-header-inner > .header-extras > .v-separator {
  display: inline-block;
  width: 1px;
  height: 22px;
  background: currentColor;
  margin: 0 30px;
}

/* ============================================================================= */
/* Header desktop navigation. */
/* ============================================================================= */
#sp-primary-nav {
  text-align: right;
  line-height: 1;
}

#sp-primary-nav > .nav_menu {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  margin: 0 -17px;
  font-size: 0;
}

#sp-primary-nav > .nav_menu::after {
  display: block;
  content: "";
  clear: both;
}

#sp-primary-nav > .nav_menu > li {
  position: relative;
  display: inline-block;
}

#sp-primary-nav > .nav_menu > li > a {
  display: inline-block;
  font-size: 16px;
  white-space: nowrap;
  padding: 15px 50px;
  font-weight: 400;
  color: inherit;
  text-transform: uppercase;
  -webkit-transition-property: opacity, color, background;
  transition-property: opacity, color, background;
}

#sp-primary-nav > .nav_menu > li.menu-item-has-children > a:after {
  padding-left: 7px;
  content: '\e821';
  font-size: 14px;
  font-family: "sp-theme-icons";
}

#sp-primary-nav > .nav_menu > li:hover > a {
  opacity: 0.6;
}

#sp-primary-nav > .nav_menu > li.menu-item-has-children:hover > a {
  opacity: 1;
  background: #fff;
  color: #333;
}

#sp-primary-nav > .nav_menu .sub-menu {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  -webkit-transform: translate3d(0, -10px, 0);
          transform: translate3d(0, -10px, 0);
  -webkit-transition: opacity 0.25s, visibility 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.25s, visibility 0.35s, -webkit-transform 0.35s;
  transition: transform 0.35s, opacity 0.25s, visibility 0.35s;
  transition: transform 0.35s, opacity 0.25s, visibility 0.35s, -webkit-transform 0.35s;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: 0;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
          box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background: #fff;
  text-align: left;
}

#sp-primary-nav > .nav_menu .sub-menu.invert-attach-point {
  left: auto;
  right: 0;
}

#sp-primary-nav > .nav_menu .sub-menu > li {
  display: inline-block;
  position: relative;
}

#sp-primary-nav > .nav_menu .sub-menu > li > a {
  position: relative;
  display: inline-block;
  padding: 10px 20px;
  font-size: 15px;
  color: #333;
  width: 220px;
  line-height: 1.75;
  white-space: normal;
  -webkit-transition-property: background;
  transition-property: background;
  text-transform: capitalize;
  border-top: 1px solid #eee;
}

#sp-primary-nav > .nav_menu .sub-menu > li.menu-item-has-children > a:after {
  right: 20px;
  position: absolute;
  padding-left: 7px;
  content: '\e81f';
  font-size: 14px;
  font-family: "sp-theme-icons";
}

#sp-primary-nav > .nav_menu .sub-menu > li:hover > a {
  background: #fd580b;
}

#sp-primary-nav > .nav_menu .sub-menu .sub-menu {
  -webkit-transform: translate3d(-10px, 0, 0);
          transform: translate3d(-10px, 0, 0);
  left: 100%;
  top: 0;
}

#sp-primary-nav > .nav_menu .sub-menu .sub-menu.invert-attach-point {
  -webkit-transform: translate3d(10px, 0, 0);
          transform: translate3d(10px, 0, 0);
  right: 100%;
  left: auto;
}

#sp-primary-nav > .nav_menu > li.sp-mega-menu > ul {
  border-top: 1px solid #eee;
}

#sp-primary-nav > .nav_menu > li.sp-mega-menu > ul > li > a {
  width: 200px;
  border-top: 0;
  border-bottom: 1px solid #eee;
  border-right: 1px solid #eee;
}

#sp-primary-nav > .nav_menu > li.sp-mega-menu.mega-2-columns > ul {
  -webkit-columns: 2;
  columns: 2;
}

#sp-primary-nav > .nav_menu > li.sp-mega-menu.mega-3-columns > ul {
  -webkit-columns: 3;
  columns: 3;
}

#sp-primary-nav > .nav_menu li.menu-item-has-children:hover > .sub-menu {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
  visibility: visible;
}

/* ============================================================================= */
/* Fullscreen mobile navigation. */
/* ============================================================================= */
#sp-mobile-nav-bg, #sp-mobile-nav-container {
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  opacity: 0;
  visibility: hidden;
}

#sp-mobile-nav-bg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1030;
  background: rgba(0, 0, 0, 0.85);
}

#sp-mobile-nav-container {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1040;
  border-top: 0 solid transparent;
  border-bottom: 25px solid transparent;
  overflow: hidden;
}

#sp-mobile-nav-container > .overlay-inner-wrap {
  position: absolute;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
  left: 50%;
  margin-left: -200px;
  width: 400px;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  text-align: center;
}

/* ================================= fn menu toggle */
#sp-primary-nav #sp-mobile-nav-trigger {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  font-size: 18px;
  z-index: 1040;
  margin: 15px 0;
  width: 1.5em;
  height: 1em;
  color: inherit;
  -webkit-transition: none;
  transition: none;
}

#sp-primary-nav #sp-mobile-nav-trigger > span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: currentColor;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: all .3s ease-in-out, color 0.25s;
  transition: all .3s ease-in-out, color 0.25s;
}

#sp-primary-nav #sp-mobile-nav-trigger > span:nth-child(1) {
  top: 0;
}

#sp-primary-nav #sp-mobile-nav-trigger > span:nth-child(2), #sp-primary-nav #sp-mobile-nav-trigger > span:nth-child(3) {
  top: 50%;
  margin-top: -1px;
}

#sp-primary-nav #sp-mobile-nav-trigger > span:nth-child(4) {
  bottom: 0;
}

.sp-active-burger-menu #sp-primary-nav #sp-mobile-nav-trigger > span:nth-child(1) {
  top: 50%;
  width: 0;
  left: 50%;
}

.sp-active-burger-menu #sp-primary-nav #sp-mobile-nav-trigger > span:nth-child(2) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.sp-active-burger-menu #sp-primary-nav #sp-mobile-nav-trigger > span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.sp-active-burger-menu #sp-primary-nav #sp-mobile-nav-trigger > span:nth-child(4) {
  bottom: 50%;
  width: 0;
  left: 50%;
}

/* ================================= social icons */
#sp-mobile-nav-container .sp-soc-icons {
  margin-top: 15px;
  font-size: 0;
  opacity: 0;
}

#sp-mobile-nav-container .sp-soc-icons > a {
  display: inline-block;
  color: #fd580b;
  padding: 0 15px;
  opacity: 1;
  font-size: 23px;
}

#sp-mobile-nav-container .sp-soc-icons > a:hover {
  color: #fff;
}

/* ================================= inner nav menu */
#sp-mobile-nav-container .nav_menu {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

#sp-mobile-nav-container .nav_menu li > a.sub-active {
  color: #fd580b;
}

#sp-mobile-nav-container .nav_menu li.menu-item-has-children > a {
  position: relative;
}

#sp-mobile-nav-container .nav_menu li.menu-item-has-children > a:after {
  content: '\f3d0';
  font-family: "sp-theme-icons";
  margin-left: 5px;
  font-size: 12px;
  position: absolute;
  top: 50%;
  margin-top: 2px;
  line-height: 1;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#sp-mobile-nav-container .nav_menu > li {
  position: relative;
  opacity: 0;
}

#sp-mobile-nav-container .nav_menu > li > a {
  font-size: 20px;
  line-height: 35px;
  text-transform: uppercase;
  margin-bottom: 15px;
  display: block;
  color: #fff;
  font-weight: 400;
}

#sp-mobile-nav-container .nav_menu > li > a:hover {
  color: #fd580b;
}

#sp-mobile-nav-container .nav_menu .sub-menu {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  padding: 0 0 15px;
  display: none;
}

#sp-mobile-nav-container .nav_menu .sub-menu a {
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  margin-bottom: 10px;
  color: #fff;
  text-transform: none;
  display: block;
}

#sp-mobile-nav-container .nav_menu .sub-menu a:hover {
  color: #fd580b;
}

#sp-mobile-nav-container .nav_menu .sub-menu .sub-menu {
  padding-top: 5px;
}

/* ================================= active state */
html.sp-active-burger-menu, html.sp-active-burger-menu > body {
  position: relative;
  height: 100%;
  overflow: hidden;
}

html.sp-active-burger-menu #sp-mobile-nav-bg, html.sp-active-burger-menu #sp-mobile-nav-container {
  opacity: 1;
  visibility: visible;
}

html.sp-active-burger-menu #sp-mobile-nav-container .nav_menu > li, html.sp-active-burger-menu #sp-mobile-nav-container .sp-soc-icons {
  -webkit-animation: sp-menu-effect 0.4s linear forwards;
  animation: sp-menu-effect 0.4s linear forwards;
}

html.sp-active-burger-menu #sp-header.header-stuck .brand-logo .logo-dark {
  display: none;
}

html.sp-active-burger-menu #sp-header.header-stuck .brand-logo .logo-white {
  display: block;
}

@-webkit-keyframes sp-menu-effect {
  from {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
  }
  to {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes sp-menu-effect {
  from {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
  }
  to {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/* ============================================================================= */
/* Fullscreen search. */
/* ============================================================================= */
#sp-search-block-container {
  margin: 0;
  padding: 0;
  border: 0;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: rgba(0, 0, 0, 0.85);
  visibility: hidden;
  -webkit-transition: all 0.25s linear;
  transition: all 0.25s linear;
  z-index: 10000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#sp-search-block-container > .search-block-inner {
  padding: 0 30px;
  -webkit-transform: translate3d(0, 20px, 0);
          transform: translate3d(0, 20px, 0);
  width: 600px;
  -webkit-transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
  text-align: center;
  opacity: 0;
}

#sp-search-block-container > .search-block-inner > form {
  position: relative;
}

#sp-search-block-container .search-input {
  position: relative;
  z-index: 10005;
  -webkit-appearance: none;
  background: transparent;
  padding: 15px 45px 15px 0;
  border: none;
  font-size: 30px;
  width: 100%;
  border-bottom: 1px solid #fff;
  outline: none;
  color: #fff;
}

#sp-search-block-container .search-input::-webkit-input-placeholder {
  color: #fff;
}

#sp-search-block-container .search-input::-moz-placeholder {
  color: #fff;
}

#sp-search-block-container .search-input:-moz-placeholder {
  color: #fff;
}

#sp-search-block-container .search-input:-ms-input-placeholder {
  color: #fff;
}

#sp-search-block-container .search-btn {
  -webkit-appearance: none;
  border: none;
  background: transparent;
  outline: 0;
  cursor: pointer;
  font-size: 35px;
  color: #fff;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  opacity: 0.85;
  padding: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 45px;
  text-align: right;
  z-index: 10010;
}

#sp-search-block-container .search-btn:hover {
  opacity: 1;
}

#sp-search-block-container .close-search {
  position: absolute;
  top: 10px;
  right: 30px;
  line-height: 1;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}

#sp-search-block-container .close-search i {
  font-size: 70px;
  color: #fff;
}

#sp-search-block-container .close-search:hover {
  opacity: 0.6;
}

#sp-search-block-container.open {
  opacity: 1;
  visibility: visible;
}

#sp-search-block-container.open > .search-block-inner {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

/* ============================================================================= */
/* Header stuck state. */
/* ============================================================================= */
#sp-header {
  position: fixed;
  -webkit-transition: all 0.25s linear;
  transition: all 0.25s linear;
}

#sp-header a {
  -webkit-transition-duration: 0.25s;
          transition-duration: 0.25s;
}

body.admin-bar #sp-header {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar #sp-header {
    top: 46px;
  }
}

#sp-header.header-stuck {
  position: fixed;
  padding-top: 1px;
  padding-bottom: 1px;
}

#sp-header.header-stuck .brand-logo {
  font-size: 2rem;
}

#sp-header.header-stuck .brand-logo .logo-dark {
  display: block;
}

#sp-header.header-stuck .brand-logo .logo-white {
  display: none;
}

/* ================================= slide-in scroll animation */
#sp-header.stuck-slidein {
  position: absolute;
  -webkit-transition: none;
  transition: none;
}

#sp-header.stuck-slidein:not(.header-stuck) {
  top: 0;
}

#sp-header.stuck-slidein.header-stuck {
  position: fixed;
  -webkit-animation: sp-header-stuck-slidein 500ms 1 forwards;
          animation: sp-header-stuck-slidein 500ms 1 forwards;
}

@-webkit-keyframes sp-header-stuck-slidein {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes sp-header-stuck-slidein {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

/* ================================= scroll styles */
body:not(.sp-active-burger-menu) #sp-header.header-stuck {
  background: #fff;
  border-bottom-color: #eee;
  color: #333;
  -webkit-box-shadow: 0 3px 20px 5px rgba(0, 0, 0, 0.1);
          box-shadow: 0 3px 20px 5px rgba(0, 0, 0, 0.1);
}

/* ============================================================================= */
/* Header responsiveness. */
/* ============================================================================= */
@media (max-width: 1199px) {
  #sp-primary-nav > .nav_menu {
    display: none;
  }
}

@media (min-width: 1200px) {
  #sp-primary-nav > #sp-mobile-nav-trigger {
    display: none;
  }
}

@media (max-width: 575px) {
  #sp-header {
    padding: 10px 15px !important;
  }
  #sp-header-inner > .brand-logo {
    font-size: 1.6rem !important;
    padding-right: 30px;
  }
  #sp-header-inner > .header-extras {
    display: none;
  }
}

/* ============================================================================= */
/* Site footer styles. */
/* ============================================================================= */
#sp-footer-sizing-helper {
  display: none;
}

#sp-footer {
  background-image: linear-gradient(to bottom, #070537, #001161, #00178d, #001bbb, #121beb);
  /*background: #2b2a27;*/
  width: 100%;
}

#sp-footer.sp-footer-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
}

#sp-footer.sp-footer-fixed + #sp-footer-sizing-helper {
  display: block;
}

#sp-footer .container {
  padding-left: 25px;
  padding-right: 25px;
}

#sp-footer .container .row {
  margin-left: -25px;
  margin-right: -25px;
}

#sp-footer .container .row [class*='col-'] {
  /*padding-left: 25px;
  padding-right: 25px;*/
  padding-left: 0px;
  padding-right: 0px;
}

@media (max-width: 767px) {
  #sp-footer .container .row [class*='col-'] {
    padding-top: 0px;
    padding-bottom: 0px;
  }
}

#sp-footer > .sp-main-footer {
  position: relative;
  padding-top: 50px;
  padding-bottom: 50px;
  border-bottom: 2px solid #fff;
  color: #fff;
}

@media (max-width: 767px) {
  #sp-footer > .sp-main-footer {
    padding-top: 80px;
    padding-bottom: 80px;
    text-align: center;
  }
}

#sp-footer > .sp-main-footer .title-block h4 {
  color: #fff;
}

#sp-footer > .sp-main-footer .soclink-block ul {
  padding: 0px;
  margin-top: 2rem;
  margin-bottom: 0;
}

#sp-footer > .sp-main-footer .soclink-block ul li {
  display: inline-block;
  list-style: none;
  padding-right: 20px;
}

#sp-footer > .sp-main-footer .soclink-block ul li a {
  /*color: #fd580b;*/
  color: #fff;
  border-radius: 50%;
  font-size: 23px;
  display: inline-block;
  text-align: center;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
}

#sp-footer > .sp-main-footer .soclink-block ul li a:hover {
  color: #888181;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
}

#sp-footer > .sp-main-footer .twitter-block ul {
  padding-left: 50px;
  margin: 0;
}

#sp-footer > .sp-main-footer .twitter-block ul li {
  list-style: none;
  padding-bottom: 1.3rem;
}

#sp-footer > .sp-main-footer .twitter-block ul li:last-child {
  padding-bottom: 0;
}

#sp-footer > .sp-main-footer .twitter-block ul li:before {
  content: '\f242';
  font-family: 'sp-theme-icons';
  color: #fd580b;
  font-size: 30px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  top: 5px;
  display: inline-block;
  position: relative;
  margin-right: 22px;
  line-height: 1;
  height: 100%;
  margin-left: -50px;
}

#sp-footer > .sp-main-footer .instagram-block {
  margin-left: -5px;
}

#sp-footer > .sp-main-footer .instagram-block ul {
  padding: 0;
  margin: 0;
}

#sp-footer > .sp-main-footer .instagram-block ul li {
  list-style: none;
  float: left;
  width: 25%;
  padding: 5px;
}

#sp-footer > .sp-main-footer .instagram-block ul li img {
  max-width: 100%;
}

#sp-footer > .sp-main-footer .instagram-block a {
  display: inline-block;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

#sp-footer > .sp-main-footer .instagram-block a:hover {
  opacity: 0.6;
}

#sp-footer > .sp-end-footer {
  position: relative;
  padding: 25px 0;
  color: #fff;
  font-size: 0.9rem;
  line-height: 1;
}

#sp-footer > .sp-end-footer > .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#sp-footer > .sp-end-footer a {
  color: #fff;
}

#sp-footer > .sp-end-footer a:hover {
  color: #fd580b;
}

#sp-footer > .sp-end-footer .menu-block {
  margin-left: auto;
}

#sp-footer > .sp-end-footer .menu-block ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

#sp-footer > .sp-end-footer .menu-block ul li {
  display: inline;
}

#sp-footer > .sp-end-footer .menu-block ul li:after {
  content: '|';
  padding: 0 10px;
}

#sp-footer > .sp-end-footer .menu-block ul li:last-child:after {
  display: none;
}

@media (max-width: 991px) {
  #sp-footer > .sp-end-footer {
    text-align: center;
  }
  #sp-footer > .sp-end-footer > .container {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #sp-footer > .sp-end-footer .end-footer-block {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  #sp-footer > .sp-end-footer .end-footer-block + .end-footer-block {
    padding-top: 20px;
  }
}

/* ============================================================================= */
/* Page intro block. */
/* ============================================================================= */
/* ================================= intro commons */
.sp-intro {
  position: relative;
  overflow: hidden;
  text-align: center;
  width: 100%;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.sp-intro .intro-bg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 10;
}

.sp-intro .intro-bg:before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.55;
  content: '';
  z-index: 15;
}

.sp-intro .intro-bg.no-overlay:before {
  display: none;
}

.sp-intro .intro-bg > img {
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
  width: 100%;
  height: 100%;
}

.sp-intro .intro-dotted-bg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/dotted-bg-pattern.png");
  z-index: 17;
}

.sp-intro .intro-body {
  position: relative;
  z-index: 20;
  padding: 50px 25px;
}

@media (max-width: 575px) {
  .sp-intro .intro-body {
    padding: 50px 15px;
  }
}

.sp-intro .intro-body h1, .sp-intro .intro-body h2, .sp-intro .intro-body h3, .sp-intro .intro-body h4, .sp-intro .intro-body h5, .sp-intro .intro-body h6, .sp-intro .intro-body p, .sp-intro .intro-body a {
  color: #fff;
}

.sp-intro .intro-body .btn-white {
  color: #333;
}

.sp-intro .intro-body .btn-border {
  border: 2px solid  #fff;
}

.sp-intro .intro-body .btn-border:hover {
  color: #333;
}

.sp-intro .intro-body .list-inline {
  margin: 0 -10px -20px;
}

.sp-intro .intro-body .list-inline li {
  display: inline-block;
  margin: 0 10px 20px;
}

.sp-intro .intro-body p {
  width: 100%;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.sp-intro .intro-body p:last-child {
  margin-bottom: 0;
}

.sp-intro .intro-body .btn {
  text-shadow: none;
  border-radius: 30px;
  padding: 8px 22px;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.sp-intro .intro-body .sp-intro-image-icon {
  margin-bottom: 2.5rem;
}

.sp-intro .intro-body .icon-big {
  font-size: 90px;
  line-height: 90px;
}

.sp-intro.fullscreen {
  height: 100vh;
  min-height: 450px;
}

.sp-intro.fullscreen .intro-body {
  padding: 75px 25px 75px 25px;
}

.sp-intro.kenburns .intro-bg {
  -webkit-animation: sp-intro-kenburns 30s;
          animation: sp-intro-kenburns 30s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.sp-intro:not(.fullscreen):first-child {
  padding-top: 50px;
}

@-webkit-keyframes sp-intro-kenburns {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}

@keyframes sp-intro-kenburns {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}

.sp-intro .intro-title {
  line-height: 1;
  font-family: "Montserrat", "Source Sans Pro", Arial, "Helvetica Neue", sans-serif;
  font-weight: 500;
  text-transform: capitalize;
  margin-bottom: 2.5rem;
}

.sp-intro .intro-title:last-child {
  margin-bottom: 0;
}

.sp-intro .intro-title.intro-title-1 {
  font-size: 4.3rem;
}

.sp-intro .intro-title.intro-title-2 {
  font-size: 2.15rem;
}

.sp-intro .intro-title.intro-title-3 {
  font-size: 1.43333rem;
}

.sp-intro .intro-title.intro-title-4 {
  font-size: 1.075rem;
}

.sp-intro .intro-title.intro-title-5 {
  font-size: 0.86rem;
}

.sp-intro .intro-title.intro-title-6 {
  font-size: 0.71667rem;
}

@media (max-width: 767px) {
  .sp-intro .intro-title.intro-title-1 {
    font-size: 3.2rem;
  }
  .sp-intro .intro-title.intro-title-2 {
    font-size: 1.6rem;
  }
  .sp-intro .intro-title.intro-title-3 {
    font-size: 1.06667rem;
  }
  .sp-intro .intro-title.intro-title-4 {
    font-size: 0.8rem;
  }
  .sp-intro .intro-title.intro-title-5 {
    font-size: 0.64rem;
  }
  .sp-intro .intro-title.intro-title-6 {
    font-size: 0.53333rem;
  }
}

@media (max-width: 575px) {
  .sp-intro .intro-title.intro-title-1 {
    font-size: 3rem;
  }
  .sp-intro .intro-title.intro-title-2 {
    font-size: 1.5rem;
  }
  .sp-intro .intro-title.intro-title-3 {
    font-size: 1rem;
  }
  .sp-intro .intro-title.intro-title-4 {
    font-size: 0.75rem;
  }
  .sp-intro .intro-title.intro-title-5 {
    font-size: 0.6rem;
  }
  .sp-intro .intro-title.intro-title-6 {
    font-size: 0.5rem;
  }
}

.sp-intro .intro-regular-text {
  line-height: 1.75;
  text-transform: inherit;
  margin-bottom: 2.5rem;
}

.sp-intro .sp-scroll-down-cta {
  position: relative;
  display: inline-block;
  height: 40px;
  width: 30px;
  margin-top: 2rem;
}

.sp-intro .sp-scroll-down-cta i {
  font-size: 40px;
  line-height: 1;
}

.sp-intro .sp-scroll-down-cta > span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  -webkit-animation: sp-scrolldown-arrow 2.5s infinite;
          animation: sp-scrolldown-arrow 2.5s infinite;
}

@media (max-width: 575px) {
  .sp-intro .sp-scroll-down-cta {
    margin-top: 1rem;
  }
}

@-webkit-keyframes sp-scrolldown-arrow {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0, 30px);
            transform: translate(0, 30px);
    opacity: 0;
  }
}

@keyframes sp-scrolldown-arrow {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0, 30px);
            transform: translate(0, 30px);
    opacity: 0;
  }
}

/* ================================= image intro */
.sp-intro.sp-intro-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* ================================= carousel intro */
.sp-intro.sp-intro-carousel .slider-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.sp-intro.sp-intro-carousel.fullscreen .slider-item {
  height: 100vh;
  min-height: 450px;
}

.sp-intro.sp-intro-carousel .slick-arrow {
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}

@media (max-width: 991px) {
  .sp-intro.sp-intro-carousel .slick-arrow {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .sp-intro.sp-intro-carousel .slick-dots {
    display: none !important;
  }
}

/* ================================= video intro */
.sp-intro.sp-intro-video {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.sp-intro.sp-intro-video > .intro-body {
  z-index: 30;
}

.sp-intro.sp-intro-video > .video-container, .sp-intro.sp-intro-video > .video-container:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.sp-intro.sp-intro-video > .video-container:after {
  background: #000;
  opacity: 0.5;
  content: '';
  z-index: 15;
}

.sp-intro.sp-intro-video > .video-container > .video-placeholder {
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 10;
}

.sp-intro.sp-intro-video > .video-container > .video-controls {
  position: absolute;
  bottom: 25px;
  right: 30px;
  margin: 0 -10px;
  line-height: 1;
  z-index: 20;
  display: none;
}

.sp-intro.sp-intro-video > .video-container > .video-controls > a {
  display: inline-block;
  min-width: 46px;
  color: inherit;
  opacity: 0.5;
  font-size: 28px;
  padding: 5px 10px;
}

.sp-intro.sp-intro-video > .video-container > .video-controls > a:hover {
  opacity: 1;
}

@media (max-width: 767px) {
  .sp-intro.sp-intro-video > .video-container > .video-controls {
    display: none;
  }
}

/* About Us */
#sp-about p {
  margin-bottom: 0px;
}

span.sp-signature {
  width: 100%;
  font-size: 23px;
  display: block;
  margin-top: 20px;
  font-family: 'Shadows Into Light', cursive;
  font-style: italic;
  letter-spacing: 2px;
  -webkit-transform: rotate(-3deg) !important;
          transform: rotate(-3deg) !important;
}

/* Services */
.sp-services-container {
  margin-bottom: -50px;
}

.sp-services-container .sp-services-block {
  margin-bottom: 50px;
}

@media (max-width: 767px) {
  .sp-services-container {
    margin-bottom: -30px;
  }
  .sp-services-container .sp-services-block {
    margin-bottom: 30px;
  }
}

.sp-services-block .icon {
  font-size: 65px;
  margin-bottom: 1rem;
  /*background-image: linear-gradient(to bottom, #070537, #001161, #00178d, #001bbb, #121beb);*/
  color: #121beb;
}

.sp-services-block .title h4 {
  font-size: 19px;
  margin-bottom: 1rem;
}

.sp-services-block .text {
  margin-bottom: 0;
}

/* Team */
.sp-team-block {
  margin-top: 10px;
}

.sp-team-block .image {
  position: relative;
  margin-bottom: 1rem;
}

.sp-team-block .image:before {
  content: '';
  background: rgba(0, 0, 0, 0.15);
  left: 0;
  top: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  -webkit-transition: all 0.25s linear;
  transition: all 0.25s linear;
}

.sp-team-block .image img {
  max-width: 100%;
  border-radius: 4px;
}

.sp-team-block .image .soc-links {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.sp-team-block .image .soc-links ul {
  display: inline-block;
  text-align: center;
  padding: 0;
  margin: 0;
}

.sp-team-block .image .soc-links ul li {
  float: left;
  opacity: 0;
  visibility: hidden;
  list-style: none;
  margin: 0 10px;
  text-align: center;
  font-size: 25px;
  -webkit-transition: all 0.25s linear;
  transition: all 0.25s linear;
  -webkit-transform: translate3d(0, 20px, 0);
          transform: translate3d(0, 20px, 0);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.sp-team-block .image .soc-links ul li a {
  color: #fff;
}

.sp-team-block .image .soc-links ul li a:hover {
  opacity: 0.75;
}

.sp-team-block .title h4 {
  font-size: 21px;
  margin-bottom: 0.5rem;
}

.sp-team-block .type {
  color: #999;
}

.sp-team-block:hover .image ul li {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
}

.sp-team-block:hover .image ul li:first-child {
  -webkit-transition-delay: 0.15s;
          transition-delay: 0.15s;
}

.sp-team-block:hover .image ul li:nth-child(2) {
  -webkit-transition-delay: 0.20s;
          transition-delay: 0.20s;
}

.sp-team-block:hover .image ul li:nth-child(3) {
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
}

.sp-team-block:hover .image ul li:nth-child(4) {
  -webkit-transition-delay: 0.30s;
          transition-delay: 0.30s;
}

.sp-team-block:hover .image:before {
  background: rgba(0, 0, 0, 0.5);
  -webkit-transition: all 0.25s linear;
  transition: all 0.25s linear;
}

/* Fun Fact */
.sp-animate-numbers.white h2 {
  color: #fff;
}

.sp-animate-numbers.white p {
  color: #fff;
}

.sp-animate-numbers h2 {
  font-size: 55px;
  line-height: 90px;
  letter-spacing: 7px;
  margin-bottom: 0;
}

.sp-animate-numbers p {
  font-size: 21px;
  margin-bottom: 0;
}

/* ============================================================================= */
/* Portfolio listing. */
/* ============================================================================= */
.sp-portfolio-block {
  overflow: hidden;
  width: 100%;
}

.sp-portfolio-block .sp-portfolio-sorting {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  margin-bottom: 50px;
}

.sp-portfolio-block .sp-portfolio-sorting li {
  display: inline-block;
}

.sp-portfolio-block .sp-portfolio-sorting li:after {
  content: '/';
  padding: 0 1rem;
  font-size: 15px;
}

.sp-portfolio-block .sp-portfolio-sorting li:last-child:after {
  content: none;
}

.sp-portfolio-block .sp-portfolio-sorting li a {
  color: #333;
}

.sp-portfolio-block .sp-portfolio-sorting li.active > a {
  color: #fd580b;
}

@media (max-width: 575px) {
  .sp-portfolio-block .sp-portfolio-sorting {
    margin-left: -1rem;
    margin-right: -1rem;
  }
  .sp-portfolio-block .sp-portfolio-sorting li:after {
    display: none;
  }
  .sp-portfolio-block .sp-portfolio-sorting li {
    padding: 0 1rem;
  }
}

.sp-portfolio-block.inner .sp-portfolio-sorting {
  margin-bottom: 100px;
}

.sp-portfolio-block.inner .sp-portfolio-sorting li {
  margin: 0 10px 10px 10px;
}

.sp-portfolio-block.inner .sp-portfolio-sorting li > a {
  display: inline-block;
  border-radius: 4px;
  background: #eee;
  -webkit-transition: background 0.25s linear;
  transition: background 0.25s linear;
  padding: 6px 18px;
}

.sp-portfolio-block.inner .sp-portfolio-sorting li:hover > a,
.sp-portfolio-block.inner .sp-portfolio-sorting li.active > a {
  background: #fd580b;
  color: #fff;
}

.sp-portfolio-block.inner .sp-portfolio-sorting li:after {
  content: none;
}

.sp-portfolio-block.inner .sp-portfolio-items {
  margin-left: -30px;
  margin-right: -30px;
  width: auto;
}

.sp-portfolio-block.inner .sp-portfolio-items [class^="col-"], .sp-portfolio-block.inner .sp-portfolio-items [class*=" col-"] {
  padding-left: 15px;
  padding-right: 15px;
}

.sp-portfolio-block.inner .sp-portfolio-items .sp-portfolio-item {
  padding: 0;
  margin-bottom: 30px;
}

.sp-portfolio-block.inner .sp-portfolio-items .sp-portfolio-item.x2 a {
  height: 708px;
}

.sp-portfolio-block.inner .sp-portfolio-items .sp-portfolio-item a {
  height: 340px;
}

.sp-portfolio-items {
  margin-left: -17px;
  margin-right: -17px;
  width: auto;
}

.sp-portfolio-items [class^="col-"], .sp-portfolio-items [class*=" col-"] {
  padding: 0;
}

.sp-portfolio-item {
  padding: 2px;
}

.sp-portfolio-item.x2 a {
  height: 704px;
}

.sp-portfolio-item a {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 297px;
  position: relative;
  display: block;
  cursor: pointer;
}

.sp-portfolio-item a .portfolio-hover {
  width: 100%;
  height: 212px;
  position: absolute;
  z-index: 99;
  top: 49px;
  left: 0;
  bottom: 0;
  right: 0;
 /* background: rgba(0, 0, 0, 0.2);*/
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  padding: 50px 50px 0 50px;
}

.sp-portfolio-item a .portfolio-hover h5 {
  color: #fff;
  font-size: 1.4rem;
  margin-bottom: 0;
  text-align: left;
  position: relative;
  -webkit-transform: translate3d(-20px, 0, 0);
          transform: translate3d(-20px, 0, 0);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  opacity: 0;
}

.sp-portfolio-item a .portfolio-hover span.desc {
  color: #fff;
  text-align: left;
  position: relative;
  display: block;
  margin-top: 20px;
  width: 70%;
  -webkit-transform: translate3d(-20px, 0, 0);
          transform: translate3d(-20px, 0, 0);
  -webkit-transition: all 0.65s;
  transition: all 0.65s;
  opacity: 0;
}

.sp-portfolio-item a .portfolio-hover span.link {
  color: #fff;
  font-size: 3.3rem;
  text-align: left;
  position: absolute;
  bottom: 30px;
  left: 50px;
  line-height: 1;
  -webkit-transform: translate3d(-20px, 0, 0);
          transform: translate3d(-20px, 0, 0);
  -webkit-transition: all 0.75s;
  transition: all 0.75s;
  opacity: 0;
}

.sp-portfolio-item:hover .portfolio-hover {
  background: rgba(0, 0, 0, 0.65);
}

.sp-portfolio-item:hover .portfolio-hover h5 {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.sp-portfolio-item:hover .portfolio-hover span.desc {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.sp-portfolio-item:hover .portfolio-hover span.link {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.sp-portfolio-item img {
  max-width: 100%;
  height: auto;
}

.sp-portfolio-list.unlist {
  margin-bottom: 3rem;
}

.sp-portfolio-list.unlist li {
  display: inline-block;
  margin: 0 20px;
}

.sp-portfolio-list.unlist li:last-child {
  margin: 0 20px;
}

.sp-portfolio-list ul {
  padding: 0;
  margin: 0;
}

.sp-portfolio-list ul li {
  list-style: none;
  line-height: 1;
  margin-bottom: 1rem;
}

.sp-portfolio-list ul li:last-child {
  margin: 0;
}

.sp-portfolio-list ul li i {
  font-size: 30px;
  padding-right: 8px;
  position: relative;
  top: 5px;
}

.sp-portfolio-bar-left a {
  color: #333;
}

.sp-portfolio-bar-left a:hover {
  color: #fd580b;
}

.sp-portfolio-bar-left a:hover:before {
  color: #fd580b;
  -webkit-transition: color 0.25s linear;
  transition: color 0.25s linear;
}

.sp-portfolio-bar-left a:before {
  font-family: 'sp-theme-icons';
  font-size: 21px;
  color: #333;
  content: '\f3d2';
  top: 2px;
  position: relative;
  margin-right: 10px;
  -webkit-transition: color 0.25s linear;
  transition: color 0.25s linear;
}

.sp-portfolio-bar-right a {
  color: #333;
}

.sp-portfolio-bar-right a:hover {
  color: #fd580b;
}

.sp-portfolio-bar-right a:hover:after {
  color: #fd580b;
  -webkit-transition: color 0.25s linear;
  transition: color 0.25s linear;
}

.sp-portfolio-bar-right a:after {
  font-family: 'sp-theme-icons';
  font-size: 21px;
  color: #333;
  content: '\f3d3';
  top: 2px;
  position: relative;
  margin-left: 10px;
  -webkit-transition: color 0.25s linear;
  transition: color 0.25s linear;
}

.sp-portfolio-bar-center {
  margin-top: 5px;
}

.sp-portfolio-bar-center a {
  line-height: 1;
  font-size: 30px;
  color: #333;
}

.sp-portfolio-bar-center a:hover {
  color: #fd580b;
}

#sp-single-portfolio .sp-single-heading {
  position: relative;
}

#sp-single-portfolio .sp-single-heading h1 {
  position: absolute;
  top: 0;
  line-height: 1;
  font-weight: bold;
}

#sp-single-portfolio .sp-single-heading h1:after {
  font-family: 'sp-theme-icons';
  font-size: 50px;
  color: #333;
  content: '\f3d6';
  padding-left: 30px;
  line-height: 1;
  position: relative;
  top: 3px;
}

#sp-single-portfolio h3 {
  margin-top: 5px;
}

#sp-single-portfolio .sp-single-portfolio-soc {
  margin-top: 2rem;
}

#sp-single-portfolio .sp-single-portfolio-soc ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  font-size: 0;
  max-width: none;
}

#sp-single-portfolio .sp-single-portfolio-soc ul li {
  display: inline;
}

#sp-single-portfolio .sp-single-portfolio-soc ul li a {
  display: inline-block;
  font-size: 18px;
  color: #333;
  padding: 5px 14px;
}

#sp-single-portfolio .sp-single-portfolio-soc ul li a:hover {
  color: #fd580b;
}

/* Animated Circle */
.sp-circle {
  position: relative;
  display: inline-block;
  margin: 0 15px;
  vertical-align: top;
  text-align: center;
  width: 125px;
  padding-top: 42px;
  height: 125px;
}

.sp-circle canvas {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

.sp-circle span {
  font-weight: 700;
  font-size: 17px;
}

.sp-circle span:after {
  content: '%';
  margin-left: 0.1em;
}

@media (max-width: 575px) {
  .sp-circle {
    margin-top: 15px;
    margin-bottom: 0;
  }
}

@media (max-width: 991px) {
  .sp-circle {
    margin-bottom: 15px;
  }
}

.sp-circle-text {
  margin-top: -5px;
  font-size: 14px;
}

@media (max-width: 991px) {
  #sp-magic .text-right {
    text-align: center !important;
  }
}

/* ============================================================================= */
/* Testimonials slider. */
/* ============================================================================= */
.sp-slick-testimonials .slick-dots {
  margin-top: 15px;
}

.sp-testimonials-block {
  text-align: center;
}

.sp-testimonials-block .text {
  margin-bottom: 0;
}

.sp-testimonials-block .photo img {
  border-radius: 50%;
  width: 80px;
  height: 80px;
  margin-top: 2rem;
}

.sp-testimonials-block .name {
  margin-bottom: 1rem;
  margin-top: 2rem;
}

.sp-testimonials-block .name:empty {
  display: none;
}

/* Contacts */
.sp-contacts-list ul {
  padding: 0;
  margin: 0;
}

.sp-contacts-list ul li {
  list-style: none;
  margin-bottom: 0.45rem;
}

.sp-contacts-list ul li i {
  font-size: 30px;
  padding-right: 8px;
  position: relative;
  top: 5px;
}

/* Other Styles */
.sp-slick-clients .item {
  opacity: 0.65;
  -webkit-transition: opacity 0.25s linear;
  transition: opacity 0.25s linear;
  padding: 0 15px;
  text-align: center;
}

.sp-slick-clients .item img {
  max-width: 100%;
  height: auto;
}

.sp-slick-clients .item:hover {
  opacity: 1;
}

@media (max-width: 767px) {
  .sp-slick-clients .item {
    opacity: 1;
  }
}

/* Quote */
#sp-quote .sp-signature {
  font-size: 30px;
}

.sp-quote {
  font-size: 19px;
}

.sp-quote:before, .sp-quote:after {
  font-family: "sp-theme-icons";
  font-size: 23px;
  position: relative;
}

.sp-quote:after {
  content: '\e80f';
  left: 15px;
  top: 7px;
}

.sp-quote:before {
  content: '\e80e';
  right: 15px;
}

/* ============================================================================= */
/* Theme progress bars. */
/* ============================================================================= */
.sp-progress-bar {
  margin: 1rem 0 2rem 0;
}

.sp-progress-bar .title {
  display: inline-block;
  width: 100%;
  margin-bottom: 0.5rem;
}

.sp-progress-bar .title span {
  float: right;
  font-size: 15px;
  position: relative;
  top: 2px;
}

.sp-progress-bar .progress-bar {
  -webkit-transition: none;
  transition: none;
}

/* ============================================================================= */
/* Pricing tables. */
/* ============================================================================= */
.pricing_tables_wrap {
  background: #fff;
  text-align: center;
  border: 1px solid #eee;
  position: relative;
  overflow: hidden;
  -webkit-transition: -webkit-box-shadow 0.5s ease;
  transition: -webkit-box-shadow 0.5s ease;
  transition: box-shadow 0.5s ease;
  transition: box-shadow 0.5s ease, -webkit-box-shadow 0.5s ease;
}

.pricing_tables_wrap > .pricing_tables_name {
  text-align: center;
  font-size: 29px;
  color: #fd580b;
  padding: 1rem 0;
  font-weight: 600;
  border-bottom: 1px solid #eee;
}

.pricing_tables_wrap > .pricing_tables_price {
  text-align: center;
  font-size: 35px;
  padding: 1rem 0;
  border-bottom: 1px solid #eee;
  margin-bottom: 0;
}

.pricing_tables_wrap > .pricing_tables_price span {
  color: #888;
  font-size: 27px;
  position: relative;
  left: -7px;
  top: -29px;
}

.pricing_tables_wrap > .pricing_tables_price i {
  color: #888;
  font-size: 14px;
  position: relative;
  top: 0;
  font-weight: 300;
}

.pricing_tables_wrap > .pricing_tables_desc {
  padding: 20px 30px;
  border-bottom: 1px solid #eee;
  text-align: center;
}

.pricing_tables_wrap > .pricing_tables_desc ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

.pricing_tables_wrap > .pricing_tables_desc ul li {
  display: block;
  padding: 10px 0;
  color: #888;
}

.pricing_tables_wrap > .pricing_tables_buttons {
  text-align: center;
  padding: 20px 30px;
  margin: 0 -10px;
}

.pricing_tables_wrap > .pricing_tables_buttons > a, .pricing_tables_wrap > .pricing_tables_buttons > .btn, .pricing_tables_wrap > .pricing_tables_buttons > .btn-group {
  vertical-align: middle;
  margin: 10px;
}

.pricing_tables_wrap.featured {
  -webkit-box-shadow: 0 15px 50px -5px rgba(0, 0, 0, 0.25);
          box-shadow: 0 15px 50px -5px rgba(0, 0, 0, 0.25);
}

.pricing_tables_wrap.featured > .pricing_tables_name {
  color: #333;
}

.pricing_tables_wrap.featured > .pricing_tables_price {
  color: #fd580b;
}

#sp-pricing-tables-faq h4 {
  margin-bottom: 1.5rem;
}

#sp-pricing-tables-faq p {
  margin-bottom: 4rem;
}

#sp-pricing-tables-faq p:last-child {
  margin-bottom: 0;
}

/* ============================================================================= */
/* FAQ page. */
/* ============================================================================= */
.card.sp-faq-card {
  border: 1px solid #eee;
  border-radius: 0;
  text-align: left;
}

.card.sp-faq-card + .sp-faq-card {
  margin-top: 15px;
}

.card.sp-faq-card > .card-header {
  padding: 0.5rem 1.5rem;
  background-color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: none;
}

.card.sp-faq-card > .card-header > .card-title {
  font-size: 1.1rem;
  color: #333;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
  -webkit-transition: color 0.25s;
  transition: color 0.25s;
  margin: 10px 0;
}

.card.sp-faq-card > .card-header > .toggle-icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-left: 20px;
  color: #fd580b;
  line-height: 1;
  font-size: 40px;
  will-change: transform;
  -webkit-transition: -webkit-transform 0.25s;
  transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  transition: transform 0.25s, -webkit-transform 0.25s;
}

.card.sp-faq-card > .card-header:hover > .card-title {
  color: #fd580b;
}

.card.sp-faq-card > .card-contents > .card-contents-inner {
  border-top: 1px solid #eee;
  padding: 1rem 1.5rem;
}

.card.sp-faq-card > .card-contents p {
  margin-bottom: 1rem;
}

.card.sp-faq-card > .card-contents p:last-child {
  margin-bottom: 0;
}

.card.sp-faq-card.card-open > .card-header > .card-title {
  color: #fd580b;
}

.card.sp-faq-card.card-open > .card-header > .toggle-icon {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.sp-faq-articles {
  border-top: 1px solid #ddd;
  padding-top: 2rem;
}

.sp-faq-articles ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

.sp-faq-articles ul li {
  margin-bottom: 15px;
}

.sp-faq-articles ul li:last-child {
  margin-bottom: 0;
}

.sp-faq-articles ul li:before {
  content: '\f3d3';
  font-family: 'sp-theme-icons';
  font-size: 18px;
  padding-right: 10px;
  color: #fd580b;
}

.sp-faq-articles ul li a {
  color: #333;
}

.sp-faq-articles ul li a:hover {
  color: #fd580b;
}

/* ============================================================================= */
/* Clients page. */
/* ============================================================================= */
.sp-clients-grid .sp-clients-block {
  background: #fff;
  padding: 2rem;
  margin-bottom: 30px;
  -webkit-transition: -webkit-box-shadow 0.5s;
  transition: -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s;
  transition: box-shadow 0.5s, -webkit-box-shadow 0.5s;
  will-change: box-shadow;
}

.sp-clients-grid .sp-clients-block > .client-logo {
  padding-bottom: 1.5rem;
  display: inline-block;
  max-width: 100%;
  opacity: 0.85;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  will-change: opacity;
}

.sp-clients-grid .sp-clients-block:hover {
  -webkit-box-shadow: 0 0 25px 1px rgba(0, 0, 0, 0.075);
          box-shadow: 0 0 25px 1px rgba(0, 0, 0, 0.075);
}

.sp-clients-grid .sp-clients-block:hover > .client-logo {
  opacity: 1;
}

.sp-clients-grid .sp-clients-block > .client-title {
  margin-bottom: 1.5rem;
}

.sp-clients-grid .sp-clients-block .btn {
  -webkit-transition-property: background, border;
  transition-property: background, border;
}

/* ============================================================================= */
/* Mailchimp subscribe block. */
/* ============================================================================= */
.sp-subscribe-form {
  position: relative;
  max-width: 570px;
  padding: 0 15px;
  margin: 0 auto;
}

.sp-subscribe-form > .form-inner-wrap {
  position: relative;
  z-index: 50;
  -webkit-transition: opacity 0.25s, -webkit-transform 0.25s;
  transition: opacity 0.25s, -webkit-transform 0.25s;
  transition: opacity 0.25s, transform 0.25s;
  transition: opacity 0.25s, transform 0.25s, -webkit-transform 0.25s;
}

.sp-subscribe-form > .form-inner-wrap img {
  max-width: 130px;
  opacity: 0.2;
  margin-top: 2rem;
}

.sp-subscribe-form > .form-inner-wrap p.appear-message {
  margin-top: 1rem;
  margin-bottom: 0;
}

.sp-subscribe-form > .form-inner-wrap .input-group {
  width: 350px;
  margin: auto;
}

.sp-subscribe-form > .form-output {
  position: absolute;
  top: 50%;
  left: 0;
  padding: 0 15px;
  width: 100%;
  min-height: 118px;
  z-index: 100;
  visibility: hidden;
  opacity: 0;
  -webkit-transform: translateY(-50%) scale(0.8);
          transform: translateY(-50%) scale(0.8);
  background: inherit;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  text-align: center;
}

.sp-subscribe-form > .form-output:before {
  font-family: "sp-theme-icons";
  font-size: 70px;
  line-height: 70px;
  display: block;
  margin: 0 auto 20px;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.sp-subscribe-form.mc-loading > .form-inner-wrap, .sp-subscribe-form.mc-invalid > .form-inner-wrap, .sp-subscribe-form.mc-valid > .form-inner-wrap {
  opacity: 0;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}

.sp-subscribe-form.mc-loading > .form-output, .sp-subscribe-form.mc-invalid > .form-output, .sp-subscribe-form.mc-valid > .form-output {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
}

.sp-subscribe-form.mc-loading > .form-output:before, .sp-subscribe-form.mc-invalid > .form-output:before, .sp-subscribe-form.mc-valid > .form-output:before {
  -webkit-animation-name: sp-mc-form-output-icon;
          animation-name: sp-mc-form-output-icon;
}

.sp-subscribe-form > .form-output.valid:before {
  content: '\f3fd';
  color: #5cb85c;
}

.sp-subscribe-form > .form-output.error:before {
  content: '\f404';
  color: #d9534f;
}

.sp-subscribe-form.mc-loading > .form-output:before {
  content: '\f45a';
  color: inherit;
  font-size: 55px;
  -webkit-animation: sp-mc-loading-icon 1s linear infinite;
          animation: sp-mc-loading-icon 1s linear infinite;
}

@-webkit-keyframes sp-mc-loading-icon {
  from {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
  to {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}

@keyframes sp-mc-loading-icon {
  from {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
  to {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}

@-webkit-keyframes sp-mc-form-output-icon {
  from {
    -webkit-transform: rotate(-360deg) scale(0.7);
            transform: rotate(-360deg) scale(0.7);
    opacity: 0.3;
  }
  to {
    -webkit-transform: rotate(0deg) scale(1);
            transform: rotate(0deg) scale(1);
    opacity: 1;
  }
}

@keyframes sp-mc-form-output-icon {
  from {
    -webkit-transform: rotate(-360deg) scale(0.7);
            transform: rotate(-360deg) scale(0.7);
    opacity: 0.3;
  }
  to {
    -webkit-transform: rotate(0deg) scale(1);
            transform: rotate(0deg) scale(1);
    opacity: 1;
  }
}

/* ============================================================================= */
/* 404 page. */
/* ============================================================================= */
#sp-404 > .intro-body {
  padding-top: 50px;
  padding-bottom: 50px;
}

#sp-404 h1 {
  margin-bottom: 2rem;
  font-size: 5rem;
  line-height: 5rem;
}

#sp-404 h3 {
  margin-bottom: 3rem;
  font-size: 3.5rem;
  font-family: 'Shadows Into Light', cursive;
  -webkit-transform: rotate(-2deg) !important;
          transform: rotate(-2deg) !important;
}

#sp-404 .sp-soc-links {
  margin-bottom: 2rem;
  font-size: 0;
}

#sp-404 .sp-soc-links ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

#sp-404 .sp-soc-links ul li {
  display: inline;
}

#sp-404 .sp-soc-links ul li a {
  display: inline-block;
  padding: 0 12px;
  font-size: 26px;
}

#sp-404 .sp-soc-links ul li a:hover {
  color: #fd580b;
}

#sp-404 .sp-404-menu ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  font-size: 0;
}

#sp-404 .sp-404-menu ul li {
  display: inline;
  white-space: nowrap;
}

#sp-404 .sp-404-menu ul li:after {
  content: '|';
  display: inline-block;
  margin: 0 10px;
  font-size: 1rem;
}

#sp-404 .sp-404-menu ul li:last-child:after {
  content: '';
}

#sp-404 .sp-404-menu ul li a {
  font-size: 1rem;
}

#sp-404 .sp-404-menu ul li a:hover {
  color: #fd580b;
}

@media (max-width: 767px) {
  #sp-404 h1 {
    font-size: 3.8rem;
    line-height: 3.8rem;
    padding: 0 15px;
  }
  #sp-404 h3 {
    font-size: 3rem;
    padding: 0 15px;
    margin-bottom: 2rem;
  }
  #sp-404 .sp-404-menu ul {
    padding: 0 15px;
  }
}

@media (max-width: 575px) {
  #sp-404 h1 {
    font-size: 3rem;
  }
  #sp-404 h3 {
    font-size: 2rem;
  }
}

/* ============================================================================= */
/* Simple text rotator plugin styles. */
/* ============================================================================= */
.sp-text-rotate {
  display: inline-block;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .sp-text-rotate {
    white-space: normal;
  }
}

.rotating {
  display: inline-block;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform: rotateX(0) rotateY(0) rotateZ(0);
  transform: rotateX(0) rotateY(0) rotateZ(0);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform-origin-x: 50%;
}

.rotating.flip {
  position: relative;
}

.rotating .front, .rotating .back {
  left: 0;
  top: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.rotating .front {
  position: absolute;
  display: inline-block;
  -webkit-transform: translate3d(0, 0, 1px);
  transform: translate3d(0, 0, 1px);
}

.rotating.flip .front {
  z-index: 1;
}

.rotating .back {
  display: block;
  opacity: 0;
}

.rotating.spin {
  -webkit-transform: rotate(360deg) scale(0);
  transform: rotate(360deg) scale(0);
}

/* ================================= flip transitions */
.rotating.flip .back {
  z-index: 2;
  display: block;
  opacity: 1;
  -webkit-transform: rotateY(180deg) translate3d(0, 0, 0);
  transform: rotateY(180deg) translate3d(0, 0, 0);
}

.rotating.flip.up .back {
  -webkit-transform: rotateX(180deg) translate3d(0, 0, 0);
  transform: rotateX(180deg) translate3d(0, 0, 0);
}

.rotating.flip.cube .front {
  -webkit-transform: translate3d(0, 0, 100px) scale(0.85, 0.85);
  transform: translate3d(0, 0, 100px) scale(0.85, 0.85);
}

.rotating.flip.cube .back {
  -webkit-transform: rotateY(180deg) translate3d(0, 0, 100px) scale(0.9, 0.9);
  transform: rotateY(180deg) translate3d(0, 0, 100px) scale(0.9, 0.9);
}

.rotating.flip.cube.up .back {
  -webkit-transform: rotateX(180deg) translate3d(0, 0, 100px) scale(0.9, 0.9);
  transform: rotateX(180deg) translate3d(0, 0, 100px) scale(0.9, 0.9);
}

/* ============================================================================= */
/* Typed js integration. */
/* ============================================================================= */
.typed-cursor {
  -webkit-animation: typed-blink 0.7s infinite;
          animation: typed-blink 0.7s infinite;
  opacity: 1;
  display: inline-block;
}

@keyframes typed-blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*! Swipebox v1.3.0 | Constantin Saguin csag.co | MIT License | github.com/brutaldesign/swipebox */
html.swipebox-html.swipebox-touch {
  overflow: hidden !important;
  -webkit-transition: all 0.25s linear;
  transition: all 0.25s linear;
}

#swipebox-overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999 !important;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background: rgba(0, 0, 0, 0.85);
  -webkit-transition: background 0.25s linear;
  transition: background 0.25s linear;
}

#swipebox-container {
  position: relative;
  width: 100%;
  height: 100%;
}

#swipebox-slider {
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  white-space: nowrap;
  position: absolute;
  display: none;
}

#swipebox-slider .slide {
  height: 100%;
  width: 100%;
  line-height: 1px;
  text-align: center;
  display: inline-block;
}

#swipebox-slider .slide:before {
  content: "";
  display: inline-block;
  height: 50%;
  width: 1px;
  margin-right: -1px;
}

#swipebox-slider .slide .swipebox-video-container,
#swipebox-slider .slide .swipebox-inline-container {
  display: inline-block;
  max-height: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  width: auto;
  height: auto;
  vertical-align: middle;
}

#swipebox-slider .slide .swipebox-video-container {
  background: none;
  max-width: 1140px;
  max-height: 100%;
  width: 100%;
  padding: 20px 150px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#swipebox-slider .slide .swipebox-video-container .swipebox-video {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  position: relative;
}

#swipebox-slider .slide .swipebox-video-container .swipebox-video iframe {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
  max-height: 100vh;
  max-height: calc(100vh - 40px);
}

#swipebox-slider .slide-loading {
  background: url("../images/loader.html") no-repeat center center;
}

#swipebox-close {
  position: absolute;
  top: 10px;
  right: 30px;
  line-height: 1;
  cursor: pointer;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}

#swipebox-close:before {
  color: #fff;
  content: '\f404';
  display: inline-block;
  font-family: "sp-theme-icons";
  font-size: 70px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#swipebox-close:hover {
  opacity: 0.6;
}

@media screen and (max-width: 800px) {
  #swipebox-close {
    right: 15px;
  }
  #swipebox-close:before {
    font-size: 30px;
  }
}

/* ============================================================================= */
/* Site socials VC widget. */
/* ============================================================================= */
.sp-site-socials {
  margin: 0 -12px;
  font-size: 0;
  color: #fd580b;
}

.sp-site-socials > a {
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  opacity: 1;
  display: inline-block;
  color: inherit;
  font-size: 23px;
  padding: 0 12px;
}

.sp-site-socials > a:hover {
  opacity: 0.6;
}

.sp-site-socials.align_center {
  text-align: center;
}

.sp-site-socials.align_left {
  text-align: left;
}

.sp-site-socials.align_right {
  text-align: right;
}

@media (max-width: 767px) {
  .sp-site-socials {
    text-align: center !important;
  }
}

/* ============================================================================= */
/* Visual Composer custom text widget. */
/* ============================================================================= */
.sp-text-widget {
  line-height: 1.75;
  font-size: 1rem;
  font-family: "Source Sans Pro", "Montserrat", Arial, "Helvetica Neue", sans-serif;
  color: #333;
}

.sp-text-widget.primary-font {
  font-family: "Source Sans Pro", "Montserrat", Arial, "Helvetica Neue", sans-serif;
}

.sp-text-widget.headings-font {
  font-family: "Montserrat", "Source Sans Pro", Arial, "Helvetica Neue", sans-serif;
}

.sp-text-widget > p {
  line-height: inherit;
  font-size: inherit;
  color: inherit;
}

.sp-text-widget > p:last-of-type {
  margin-bottom: 0;
}

.sp-text-widget img {
  max-width: 100%;
  height: auto;
}

.sp-text-widget > .sp-signature {
  width: 100%;
  font-size: 23px;
  display: block;
  margin-top: 20px;
  font-family: 'Shadows Into Light', cursive;
  font-style: italic;
  letter-spacing: 2px;
  -webkit-transform: rotate(-3deg);
  transform: rotate(-3deg);
}

.sp-text-widget > .sp-signature.white {
  color: #fff;
}

/* ============================================================================= */
/* Basic blogroll styles. */
/* ============================================================================= */
#sp-blog-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

#sp-blog-inner > .content-column {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
}

#sp-blog-inner > .sidebar-column {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 360px;
          flex: 0 0 360px;
  min-width: 0;
  margin-bottom: -50px;
}

#sp-blog-inner > .sidebar-column.left {
  padding-right: 60px;
}

#sp-blog-inner > .sidebar-column.right {
  padding-left: 60px;
}

#sp-blog-inner > .sidebar-column:empty {
  display: none;
}

@media (max-width: 767px) {
  #sp-blog-inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #sp-blog-inner > .sidebar-column, #sp-blog-inner > .content-column {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  #sp-blog-inner > .content-column {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  #sp-blog-inner > .sidebar-column {
    margin-top: 80px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #sp-blog-inner > .sidebar-column.left {
    padding-right: 0;
  }
  #sp-blog-inner > .sidebar-column.right {
    padding-left: 0;
  }
}

.sp-blog-block {
  margin-bottom: 55px;
}

.sp-blog-block::after {
  display: block;
  content: "";
  clear: both;
}

.sp-blog-block p {
  margin-bottom: 1.5rem;
}

.sp-blog-block p:last-child {
  margin-bottom: 0;
}

.sp-blog-block .sp-blog-image {
  position: relative;
  margin-bottom: 1.5rem;
  opacity: 1;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}

.sp-blog-block .sp-blog-image a {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 240px;
  position: relative;
  display: block;
  cursor: pointer;
}

@media (max-width: 991px) {
  .sp-blog-block .sp-blog-image a {
    height: 260px;
  }
}

.sp-blog-block .sp-blog-image:hover {
  opacity: 0.7;
}

.sp-blog-block .entry-title {
  margin-bottom: 1rem;
  font-size: 2rem;
   color: #fff;
}

.sp-blog-block .entry-title a {
  color: #fff;
}

.sp-blog-block .entry-title a:hover {
  color: #fd580b;
}

.sp-blog-block .sp-blog-meta {
  margin-bottom: 0.5rem;
  width: 100%;
}

.sp-blog-block .sp-blog-meta ul {
  padding: 0;
  margin: 0;
  display: inline-block;
}

.sp-blog-block .sp-blog-meta ul li {
  float: left;
  list-style: none;
  font-size: 14px;
  text-transform: capitalize;
}

.sp-blog-block .sp-blog-meta ul li:after {
  content: '/';
  padding: 0 10px;
  color: #999;
}

.sp-blog-block .sp-blog-meta ul li:last-child:after {
  content: none;
}

.sp-blog-block .sp-blog-meta ul li a {
  color: #999;
}

.sp-blog-block.chess {
  position: relative;
  display: table;
  table-layout: fixed;
  width: 100%;
  background-image: linear-gradient(to bottom, #070537, #001161, #00178d, #001bbb, #121beb);
  /*background-color: #f7f7f7;*/
  margin-bottom: 60px;
}

@media (max-width: 991px) {
  .sp-blog-block.chess {
    display: block;
  }
}

.sp-blog-block.chess .meta-column {
  padding: 0px 50px;
}

@media (max-width: 1199px) {
  .sp-blog-block.chess .meta-column {
    padding: 50px 30px;
  }
}

.sp-blog-block.chess .meta-column.inner-col {
  display: table-cell;
  width: 50%;
  vertical-align: middle;
}

@media (max-width: 991px) {
  .sp-blog-block.chess .meta-column.inner-col {
    width: 100%;
    display: block;
  }
}

.sp-blog-block.chess .meta-column h4 {
  font-size: 1.5rem;
}

.sp-blog-block.chess .image-column {
  position: relative;
  overflow: hidden;
}

.sp-blog-block.chess .image-column.inner-col {
  display: table-cell;
  width: 50%;
  vertical-align: middle;
}

@media (max-width: 991px) {
  .sp-blog-block.chess .image-column.inner-col {
    width: 100%;
    display: none;
  }
}

.sp-blog-block.chess .image-column .sp-blog-image {
  margin-bottom: 0;
}

.sp-blog-block.chess .image-column .sp-blog-image a {
  height: 400px;
}

@media (max-width: 1199px) {
  .sp-blog-block.chess .image-column .sp-blog-image a {
    height: 350px;
  }
}

.sp-blog-block.chess.sticky:nth-child(even) .sp-blog-image:after {
  right: 30px;
  left: auto;
}

.sp-blog-block.chess.sticky:nth-child(even) .sp-blog-image:before {
  right: 30px;
  left: auto;
}

.sp-blog-block.classic {
  margin-bottom: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.sp-blog-block.classic .sp-blog-meta-classic {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 90px;
          flex: 0 0 90px;
  padding-right: 30px;
  text-align: right;
}

.sp-blog-block.classic .sp-blog-meta-classic .date {
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
}

.sp-blog-block.classic .sp-blog-meta-classic .year {
  color: #999;
}

.sp-blog-block.classic .sp-blog-image a {
  height: 375px;
}

@media (max-width: 1199px) {
  .sp-blog-block.classic .sp-blog-image a {
    height: 350px;
  }
}

.sp-blog-block.medium {
  margin-bottom: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

@media (max-width: 991px) {
  .sp-blog-block.medium {
    display: block;
  }
}

.sp-blog-block.medium .sp-blog-image-medium {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 360px;
          flex: 0 0 360px;
  padding-right: 30px;
}

@media (max-width: 991px) {
  .sp-blog-block.medium .sp-blog-image-medium {
    padding-right: 0;
  }
}

.sp-blog-block.medium .sp-blog-image-medium .sp-blog-image {
  margin-bottom: 0;
}

.sp-blog-block.medium .sp-blog-image-medium .sp-blog-image a {
  height: 275px;
}

@media (max-width: 1199px) {
  .sp-blog-block.medium .sp-blog-image-medium .sp-blog-image a {
    height: 300px;
  }
}

@media (max-width: 991px) {
  .sp-blog-block.medium .sp-blog-image-medium .sp-blog-image a {
    height: 240px;
  }
}

.sp-blog-block.medium .sp-blog-block-medium h3 {
  font-size: 1.3rem;
}

@media (max-width: 991px) {
  .sp-blog-block.medium .sp-blog-block-medium h3 {
    margin-top: 1rem;
  }
}

.sp-blog-block.sticky .sp-blog-image:after {
  width: 32px;
  height: 48px;
  content: '';
  position: absolute;
  left: 30px;
  top: 0;
  border-bottom: 16px solid transparent;
  border-left: 16px solid #fd580b;
  border-right: 16px solid #fd580b;
}

.sp-blog-block.sticky .sp-blog-image:before {
  content: 'S';
  font-weight: bold;
  font-size: 19px;
  color: #fff;
  left: 30px;
  position: absolute;
  z-index: 9;
  width: 32px;
  text-align: center;
}

.sp-blog-block.no-thumbnail.sticky {
  padding: 30px;
  background: #f7f7f7;
}

.sp-blog-block.no-thumbnail.sticky .sp-blog-meta-classic {
  text-align: center;
}

/* ============================================================================= */
/* Blogroll post formats. */
/* ============================================================================= */
.sp-blog-block .sp-blog-quote {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 4px solid #eee;
  padding: 30px;
  margin-bottom: 2rem;
}

.sp-blog-block .sp-blog-quote > .quote-icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: 73px;
  color: #fd580b;
  padding-right: 30px;
  line-height: 1;
  min-width: 0;
}

.sp-blog-block .sp-blog-quote > .quote-inner {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
}

.sp-blog-block .sp-blog-quote > .quote-inner p {
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 600;
}

.sp-blog-block .sp-blog-quote > .quote-inner .blockquote-footer {
  font-size: 100%;
}

.sp-blog-block .sp-blog-quote > .quote-inner .blockquote-footer cite {
  font-style: normal;
}

.sp-blog-block .sp-blog-quote > .quote-inner p:last-child {
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .sp-blog-block .sp-blog-quote {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    text-align: center;
  }
  .sp-blog-block .sp-blog-quote > .quote-icon {
    padding: 0 0 1rem;
  }
  .sp-blog-block .sp-blog-quote > .quote-icon, .sp-blog-block .sp-blog-quote > .quote-inner {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
  .sp-blog-block .sp-blog-quote > .quote-inner p {
    font-size: 1rem;
  }
}

.sp-blog-block .sp-blog-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 4px solid #eee;
  padding: 30px;
  margin-bottom: 2rem;
  width: 100%;
  white-space: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.sp-blog-block .sp-blog-link:before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  content: '\f3d9';
  font-family: "sp-theme-icons";
  font-size: 70px;
  color: #fd580b;
  margin-right: 30px;
  padding-right: 30px;
  line-height: 1;
  border-right: 1px solid #eee;
}

.sp-blog-block .sp-blog-link a {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
  font-size: 2rem;
  color: #333;
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 991px) {
  .sp-blog-block .sp-blog-link {
    padding: 20px;
  }
  .sp-blog-block .sp-blog-link:before {
    font-size: 50px;
    padding-right: 15px;
    margin-right: 15px;
  }
  .sp-blog-block .sp-blog-link a {
    font-size: 1rem;
  }
}

.sp-blog-block .sp-blog-image .caption {
  display: block;
  margin-top: 5px;
}

.sp-blog-block .sp-slick-post-gallery .slick-slide .caption {
  margin-top: 5px;
  display: block;
  opacity: 0;
  -webkit-transform: translateX(15px);
          transform: translateX(15px);
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}

.sp-blog-block .sp-slick-post-gallery .slick-slide.slick-animated .caption {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.sp-blog-block .sp-single-embed {
  margin-bottom: 2rem;
}

/* ============================================================================= */
/* Blog sidebar design */
/* ============================================================================= */
.sp-sidebar {
  padding-bottom: 50px;
}

.sp-sidebar a {
  color: #333;
}

.sp-sidebar a:hover {
  color: #fd580b;
}

.sp-sidebar .sp-widget-block {
  margin-bottom: 55px;
}

.sp-sidebar .sp-widget-block::after {
  display: block;
  content: "";
  clear: both;
}

.sp-sidebar .sp-widget-block:last-child {
  margin-bottom: 0;
}

.sp-sidebar .sp-widget-block > .widget-title {
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
}

.sp-sidebar .sp-category {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

.sp-sidebar .sp-category li {
  padding-bottom: 15px;
  text-align: left !important;
}

.sp-sidebar .sp-category li span {
  float: right;
  background: #fd580b;
  width: 30px;
  font-size: 14px;
  padding: 1px 0;
  text-align: center;
}

.sp-sidebar .sp-popular-posts {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

.sp-sidebar .sp-popular-posts > li {
  list-style: none;
  margin-bottom: 20px;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}

.sp-sidebar .sp-popular-posts > li:hover {
  opacity: 0.7;
}

.sp-sidebar .sp-popular-posts > li:last-child {
  margin-bottom: 0;
}

.sp-sidebar .sp-popular-posts > li > .post-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.sp-sidebar .sp-popular-posts > li > .post-link > .image {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100px;
          flex: 0 0 100px;
}

.sp-sidebar .sp-popular-posts > li > .post-link > .content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.sp-sidebar .sp-popular-posts > li .image {
  padding-right: 15px;
  min-width: 0;
}

.sp-sidebar .sp-popular-posts > li .image > img {
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
  width: 100%;
  height: 65px;
}

.sp-sidebar .sp-popular-posts > li .content {
  text-align: left !important;
}

.sp-sidebar .sp-popular-posts > li .content h5 {
  font-size: 0.92rem;
  margin-bottom: 0;
  line-height: 1.3;
}

.sp-sidebar .sp-popular-posts > li .content span {
  color: #999;
  font-size: 14px;
}

/* ============================================================================= */
/* Blogroll single page styles. */
/* ============================================================================= */
.sp-intro.single-post {
  text-align: center;
}

.sp-intro.single-post .intro-title {
  line-height: 1.3;
  font-size: 3rem;
  text-transform: capitalize;
}

.sp-intro.single-post .sp-single-meta {
  margin-bottom: 2rem;
  width: 100%;
  font-size: 0;
}

.sp-intro.single-post .sp-single-meta ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

.sp-intro.single-post .sp-single-meta ul li {
  display: inline;
  font-size: 18px;
  text-transform: capitalize;
}

.sp-intro.single-post .sp-single-meta ul li:after {
  content: '/';
  padding: 0 10px;
  color: #fff;
}

.sp-intro.single-post .sp-single-meta ul li:last-child:after {
  content: none;
}

.sp-intro.single-post .sp-single-meta ul li a {
  color: #fff;
}

.sp-blog-block.single .sp-blog-block {
  margin-bottom: 50px;
}

.sp-blog-block.single .sp-blog-image:hover {
  opacity: 1;
}

.sp-blog-block.single .sp-blog-image .caption {
  color: #999;
  font-size: 14px;
  width: 100%;
}

.sp-blog-block.single .sp-single-tags {
  font-size: 16px;
}

.sp-blog-block.single .sp-single-tags i {
  font-size: 22px;
  color: #333;
  position: relative;
  top: 1px;
  line-height: 1.1;
  margin-right: 7px;
}

.sp-blog-block.single .sp-single-tags a {
  color: #333;
  padding-right: 5px;
}

.sp-blog-block.single .sp-single-tags a:hover {
  color: #fd580b;
}

.sp-blog-block.single .sp-single-soc ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  font-size: 0;
  margin: -5px -15px;
  text-align: right;
  max-width: none;
}

.sp-blog-block.single .sp-single-soc ul li {
  display: inline;
}

.sp-blog-block.single .sp-single-soc ul li a {
  display: inline-block;
  font-size: 18px;
  color: #222;
  padding: 5px 15px;
}

.sp-blog-block.single .sp-single-soc ul li a:hover {
  color: #fd580b;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsImFzc2V0cy9fbWl4aW5zLnNjc3MiLCJhc3NldHMvX2FuaW1hdGUuc2NzcyIsIm1haW4uY3NzIiwic3R5bGUtcGFydHMvX2Jhc2Uuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9ib290c3RyYXAvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwic3R5bGUtcGFydHMvX2Jvb3RzdHJhcC1jdXN0b21pemF0aW9ucy5zY3NzIiwiYXNzZXRzL2Jvb3RzdHJhcC9fdmFyaWFibGVzLnNjc3MiLCJzdHlsZS1wYXJ0cy9fcHJlbG9hZGVyLnNjc3MiLCJzdHlsZS1wYXJ0cy9fc2Nyb2xsLXRvLXRvcC5zY3NzIiwic3R5bGUtcGFydHMvX3BhZ2luYXRpb24uc2NzcyIsInN0eWxlLXBhcnRzL19zbGljay1zbGlkZXIuc2NzcyIsInN0eWxlLXBhcnRzL19oZWFkZXItYmFzZS5zY3NzIiwiYXNzZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJzdHlsZS1wYXJ0cy9faGVhZGVyLWZuLW1lbnUuc2NzcyIsInN0eWxlLXBhcnRzL19oZWFkZXItc2VhcmNoLnNjc3MiLCJzdHlsZS1wYXJ0cy9faGVhZGVyLXN0YXRlcy5zY3NzIiwic3R5bGUtcGFydHMvX2Zvb3Rlci5zY3NzIiwic3R5bGUtcGFydHMvX2ludHJvLnNjc3MiLCJzdHlsZS1wYXJ0cy9fYWJvdXQuc2NzcyIsInN0eWxlLXBhcnRzL19zZXJ2aWNlcy5zY3NzIiwic3R5bGUtcGFydHMvX3RlYW0uc2NzcyIsInN0eWxlLXBhcnRzL19mdW5fZmFjdC5zY3NzIiwic3R5bGUtcGFydHMvX3BvcnRmb2xpby5zY3NzIiwic3R5bGUtcGFydHMvX2FuaW1hdGVkLWNpcmNsZS5zY3NzIiwic3R5bGUtcGFydHMvX3Rlc3RpbW9uaWFscy5zY3NzIiwic3R5bGUtcGFydHMvX2NvbnRhY3RzLnNjc3MiLCJzdHlsZS1wYXJ0cy9fb3RoZXIuc2NzcyIsInN0eWxlLXBhcnRzL19xdW90ZS5zY3NzIiwic3R5bGUtcGFydHMvX3Byb2dyZXNzLWJhci5zY3NzIiwic3R5bGUtcGFydHMvX3ByaWNpbmctdGFibGVzLnNjc3MiLCJzdHlsZS1wYXJ0cy9fZmFxLnNjc3MiLCJzdHlsZS1wYXJ0cy9fY2xpZW50cy5zY3NzIiwic3R5bGUtcGFydHMvX3N1YnNjcmliZS5zY3NzIiwic3R5bGUtcGFydHMvXzQwNC5zY3NzIiwic3R5bGUtcGFydHMvX3RleHRyb3JhdG9yLnNjc3MiLCJzdHlsZS1wYXJ0cy9fdHlwZWRqcy5zY3NzIiwic3R5bGUtcGFydHMvX3N3aXBlYm94LnNjc3MiLCJzdHlsZS1wYXJ0cy9fc2l0ZS1zb2NpYWxzLnNjc3MiLCJzdHlsZS1wYXJ0cy9fdGV4dC13aWRnZXQuc2NzcyIsInN0eWxlLXBhcnRzL19ibG9nLWJhc2Uuc2NzcyIsInN0eWxlLXBhcnRzL19ibG9nLXBvc3QtZm9ybWF0cy5zY3NzIiwic3R5bGUtcGFydHMvX2Jsb2ctc2lkZWJhci5zY3NzIiwic3R5bGUtcGFydHMvX2Jsb2ctc2luZ2xlLXBhZ2Uuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7MENBRTBDO0FDRjFDLG1GQUFtRjtBQUNuRixtQkFBbUI7QUFDbkIsbUZBQW1GO0FDRG5GO0VBQ0ksK0JBQThCO0VBQzlCLHVCQUFzQjtFQUN0QixrQ0FBaUM7RUFDakMsMEJBQ0o7Q0FBRTs7QUFDRjtFQUNJLCtCQUE4QjtFQUM5Qix1QkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDUTdCO0VETkM7SUFDSSxxQ0FBb0M7SUFDcEMsNkJBQTRCO0dDUWpDO0VETkM7SUFDSSxxQ0FBb0M7SUFDcEMsNkJBQTRCO0dDUWpDO0NBQ0Y7O0FETkQ7RUFDSTtJQUNJLGlDQUFnQztJQUVoQyx5QkFBd0I7R0NTN0I7RURQQztJQUNJLHFDQUFvQztJQUVwQyw2QkFBNEI7R0NTakM7RURQQztJQUNJLHFDQUFvQztJQUVwQyw2QkFBNEI7R0NTakM7Q0FDRjs7QURQRDtFQUNJLCtCQUE4QjtFQUM5Qix1QkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxXQUNKO0dDVUQ7RURUQzs7SUFFSSxXQUNKO0dDVUQ7Q0FDRjs7QURURDtFQUNJO0lBQ0ksV0FDSjtHQ1dEO0VEVkM7O0lBRUksV0FDSjtHQ1dEO0NBQ0Y7O0FEVkQ7RUFDSSw4QkFBNkI7RUFDN0Isc0JBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksNEJBQTJCO0lBQzNCLG9CQUFtQjtHQ2N4QjtFRFpDO0lBQ0ksOEJBQTZCO0lBQzdCLHNCQUFxQjtHQ2MxQjtFRFpDO0lBQ0ksNEJBQTJCO0lBQzNCLG9CQUFtQjtHQ2N4QjtDQUNGOztBRFpEO0VBQ0k7SUFDSSw0QkFBMkI7SUFFM0Isb0JBQW1CO0dDZXhCO0VEYkM7SUFDSSw4QkFBNkI7SUFFN0Isc0JBQXFCO0dDZTFCO0VEYkM7SUFDSSw0QkFBMkI7SUFFM0Isb0JBQW1CO0dDZXhCO0NBQ0Y7O0FEYkQ7RUFDSSw4QkFBNkI7RUFDN0Isc0JBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksaUNBQWdDO0lBQ2hDLHlCQUF3QjtHQ2lCN0I7RURmQzs7Ozs7SUFLSSxxQ0FBb0M7SUFDcEMsNkJBQTRCO0dDaUJqQztFRGZDOzs7O0lBSUksb0NBQW1DO0lBQ25DLDRCQUEyQjtHQ2lCaEM7Q0FDRjs7QURmRDtFQUNJO0lBQ0ksaUNBQWdDO0lBRWhDLHlCQUF3QjtHQ2tCN0I7RURoQkM7Ozs7O0lBS0kscUNBQW9DO0lBRXBDLDZCQUE0QjtHQ2tCakM7RURoQkM7Ozs7SUFJSSxvQ0FBbUM7SUFFbkMsNEJBQTJCO0dDa0JoQztDQUNGOztBRGhCRDtFQUNJLDhCQUE2QjtFQUM3QixzQkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDb0I3QjtFRGxCQztJQUNJLGtDQUFpQztJQUNqQywwQkFBeUI7R0NvQjlCO0VEbEJDO0lBQ0ksZ0NBQStCO0lBQy9CLHdCQUF1QjtHQ29CNUI7RURsQkM7SUFDSSxpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDb0I3QjtFRGxCQztJQUNJLGdDQUErQjtJQUMvQix3QkFBdUI7R0NvQjVCO0NBQ0Y7O0FEbEJEO0VBQ0k7SUFDSSxpQ0FBZ0M7SUFFaEMseUJBQXdCO0dDcUI3QjtFRG5CQztJQUNJLGtDQUFpQztJQUVqQywwQkFBeUI7R0NxQjlCO0VEbkJDO0lBQ0ksZ0NBQStCO0lBRS9CLHdCQUF1QjtHQ3FCNUI7RURuQkM7SUFDSSxpQ0FBZ0M7SUFFaEMseUJBQXdCO0dDcUI3QjtFRG5CQztJQUNJLGdDQUErQjtJQUUvQix3QkFBdUI7R0NxQjVCO0NBQ0Y7O0FEbkJEO0VBQ0kscUNBQW9DO0VBRXBDLDZCQUE0QjtFQUM1Qiw4QkFBNkI7RUFDN0Isc0JBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksNEJBQTJCO0lBQzNCLG9CQUFtQjtHQ3VCeEI7RURyQkM7O0lBRUksNENBQTJDO0lBQzNDLG9DQUFtQztHQ3VCeEM7RURyQkM7Ozs7SUFJSSwyQ0FBMEM7SUFDMUMsbUNBQWtDO0dDdUJ2QztFRHJCQzs7O0lBR0ksNENBQTJDO0lBQzNDLG9DQUFtQztHQ3VCeEM7RURyQkM7SUFDSSxzQ0FBcUM7SUFDckMsOEJBQTZCO0dDdUJsQztDQUNGOztBRHJCRDtFQUNJO0lBQ0ksNEJBQTJCO0lBRTNCLG9CQUFtQjtHQ3dCeEI7RUR0QkM7O0lBRUksNENBQTJDO0lBRTNDLG9DQUFtQztHQ3dCeEM7RUR0QkM7Ozs7SUFJSSwyQ0FBMEM7SUFFMUMsbUNBQWtDO0dDd0J2QztFRHRCQzs7O0lBR0ksNENBQTJDO0lBRTNDLG9DQUFtQztHQ3dCeEM7RUR0QkM7SUFDSSxzQ0FBcUM7SUFFckMsOEJBQTZCO0dDd0JsQztDQUNGOztBRHRCRDtFQUNJLDZCQUE0QjtFQUM1QixxQkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxrQ0FBaUM7SUFDakMsMEJBQXlCO0dDMEI5QjtFRHhCQztJQUNJLGtEQUFpRDtJQUNqRCwwQ0FBeUM7R0MwQjlDO0VEeEJDO0lBQ0ksZ0RBQStDO0lBQy9DLHdDQUF1QztHQzBCNUM7RUR4QkM7SUFDSSxrREFBaUQ7SUFDakQsMENBQXlDO0dDMEI5QztFRHhCQztJQUNJLGdEQUErQztJQUMvQyx3Q0FBdUM7R0MwQjVDO0VEeEJDO0lBQ0ksaURBQWdEO0lBQ2hELHlDQUF3QztHQzBCN0M7RUR4QkM7SUFDSSxrQ0FBaUM7SUFDakMsMEJBQXlCO0dDMEI5QjtDQUNGOztBRHhCRDtFQUNJO0lBQ0ksa0NBQWlDO0lBRWpDLDBCQUF5QjtHQzJCOUI7RUR6QkM7SUFDSSxrREFBaUQ7SUFFakQsMENBQXlDO0dDMkI5QztFRHpCQztJQUNJLGdEQUErQztJQUUvQyx3Q0FBdUM7R0MyQjVDO0VEekJDO0lBQ0ksa0RBQWlEO0lBRWpELDBDQUF5QztHQzJCOUM7RUR6QkM7SUFDSSxnREFBK0M7SUFFL0Msd0NBQXVDO0dDMkI1QztFRHpCQztJQUNJLGlEQUFnRDtJQUVoRCx5Q0FBd0M7R0MyQjdDO0VEekJDO0lBQ0ksa0NBQWlDO0lBRWpDLDBCQUF5QjtHQzJCOUI7Q0FDRjs7QUR6QkQ7RUFDSSwrQkFBOEI7RUFDOUIsdUJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLDZDQUF5QztJQUN6QyxxQ0FBaUM7R0M2QnRDO0VEM0JDO0lBQ0ksV0FDSjtHQzRCRDtDQUNGOztBRDNCRDtFQUNJO0lBQ0ksV0FBVTtJQUNWLDZDQUF5QztJQUN6QyxxQ0FBaUM7R0M4QnRDO0VENUJDO0lBQ0ksV0FDSjtHQzZCRDtDQUNGOztBRDVCRDtFQUNJLCtCQUE4QjtFQUM5Qix1QkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxXQUFVO0lBQ1YscUVBQWlFO0lBQ2pFLDZEQUF5RDtJQUN6RCwwRUFBMkU7SUFDM0Usa0VBQW1FO0dDZ0N4RTtFRDlCQztJQUNJLFdBQVU7SUFDVix3RUFBb0U7SUFDcEUsZ0VBQTREO0lBQzVELHVFQUF1RTtJQUN2RSwrREFBK0Q7R0NnQ3BFO0NBQ0Y7O0FEOUJEO0VBQ0k7SUFDSSxXQUFVO0lBQ1YscUVBQWlFO0lBQ2pFLDZEQUF5RDtJQUN6RCwwRUFBMkU7SUFDM0Usa0VBQW1FO0dDaUN4RTtFRC9CQztJQUNJLFdBQVU7SUFDVix3RUFBb0U7SUFDcEUsZ0VBQTREO0lBQzVELHVFQUF1RTtJQUN2RSwrREFBK0Q7R0NpQ3BFO0NBQ0Y7O0FEL0JEO0VBQ0ksbUNBQWtDO0VBQ2xDLDJCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLFdBQVU7SUFDVixxRUFBaUU7SUFDakUsNkRBQXlEO0lBQ3pELDBFQUEyRTtJQUMzRSxrRUFBbUU7R0NtQ3hFO0VEakNDO0lBQ0ksV0FBVTtJQUNWLHdFQUFvRTtJQUNwRSxnRUFBNEQ7SUFDNUQsdUVBQXVFO0lBQ3ZFLCtEQUErRDtHQ21DcEU7Q0FDRjs7QURqQ0Q7RUFDSTtJQUNJLFdBQVU7SUFDVixxRUFBaUU7SUFDakUsNkRBQXlEO0lBQ3pELDBFQUEyRTtJQUMzRSxrRUFBbUU7R0NvQ3hFO0VEbENDO0lBQ0ksV0FBVTtJQUNWLHdFQUFvRTtJQUNwRSxnRUFBNEQ7SUFDNUQsdUVBQXVFO0lBQ3ZFLCtEQUErRDtHQ29DcEU7Q0FDRjs7QURsQ0Q7RUFDSSxtQ0FBa0M7RUFDbEMsMkJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLG9FQUFnRTtJQUNoRSw0REFBd0Q7SUFDeEQsMEVBQTJFO0lBQzNFLGtFQUFtRTtHQ3NDeEU7RURwQ0M7SUFDSSxXQUFVO0lBQ1YseUVBQXFFO0lBQ3JFLGlFQUE2RDtJQUM3RCx1RUFBdUU7SUFDdkUsK0RBQStEO0dDc0NwRTtDQUNGOztBRHBDRDtFQUNJO0lBQ0ksV0FBVTtJQUNWLG9FQUFnRTtJQUNoRSw0REFBd0Q7SUFDeEQsMEVBQTJFO0lBQzNFLGtFQUFtRTtHQ3VDeEU7RURyQ0M7SUFDSSxXQUFVO0lBQ1YseUVBQXFFO0lBQ3JFLGlFQUE2RDtJQUM3RCx1RUFBdUU7SUFDdkUsK0RBQStEO0dDdUNwRTtDQUNGOztBRHJDRDtFQUNJLG9DQUFtQztFQUNuQyw0QkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxXQUFVO0lBQ1Ysb0VBQWdFO0lBQ2hFLDREQUF3RDtJQUN4RCwwRUFBMkU7SUFDM0Usa0VBQW1FO0dDeUN4RTtFRHZDQztJQUNJLFdBQVU7SUFDVix5RUFBcUU7SUFDckUsaUVBQTZEO0lBQzdELHVFQUF1RTtJQUN2RSwrREFBK0Q7R0N5Q3BFO0NBQ0Y7O0FEdkNEO0VBQ0k7SUFDSSxXQUFVO0lBQ1Ysb0VBQWdFO0lBQ2hFLDREQUF3RDtJQUN4RCwwRUFBMkU7SUFDM0Usa0VBQW1FO0dDMEN4RTtFRHhDQztJQUNJLFdBQVU7SUFDVix5RUFBcUU7SUFDckUsaUVBQTZEO0lBQzdELHVFQUF1RTtJQUN2RSwrREFBK0Q7R0MwQ3BFO0NBQ0Y7O0FEeENEO0VBQ0ksaUNBQWdDO0VBQ2hDLHlCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLFdBQVU7SUFDViw4QkFBNEI7SUFDNUIsc0JBQW9CO0dDNEN6QjtFRDFDQztJQUNJLFdBQVU7SUFDViwrQkFBOEI7SUFDOUIsdUJBQXNCO0dDNEMzQjtFRDFDQztJQUNJLDhCQUE0QjtJQUM1QixzQkFBb0I7R0M0Q3pCO0VEMUNDO0lBQ0ksNEJBQTJCO0lBQzNCLG9CQUFtQjtHQzRDeEI7Q0FDRjs7QUQxQ0Q7RUFDSTtJQUNJLFdBQVU7SUFDViw4QkFBNEI7SUFFNUIsc0JBQW9CO0dDNkN6QjtFRDNDQztJQUNJLFdBQVU7SUFDViwrQkFBOEI7SUFFOUIsdUJBQXNCO0dDNkMzQjtFRDNDQztJQUNJLDhCQUE0QjtJQUU1QixzQkFBb0I7R0M2Q3pCO0VEM0NDO0lBQ0ksNEJBQTJCO0lBRTNCLG9CQUFtQjtHQzZDeEI7Q0FDRjs7QUQzQ0Q7RUFDSSxpQ0FBZ0M7RUFDaEMseUJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLHVDQUFzQztJQUN0QywrQkFBOEI7R0MrQ25DO0VEN0NDO0lBQ0ksV0FBVTtJQUNWLG9DQUFtQztJQUNuQyw0QkFBMkI7R0MrQ2hDO0VEN0NDO0lBQ0kscUNBQW9DO0lBQ3BDLDZCQUE0QjtHQytDakM7RUQ3Q0M7SUFDSSxpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDK0M3QjtDQUNGOztBRDdDRDtFQUNJO0lBQ0ksV0FBVTtJQUNWLHVDQUFzQztJQUV0QywrQkFBOEI7R0NnRG5DO0VEOUNDO0lBQ0ksV0FBVTtJQUNWLG9DQUFtQztJQUVuQyw0QkFBMkI7R0NnRGhDO0VEOUNDO0lBQ0kscUNBQW9DO0lBRXBDLDZCQUE0QjtHQ2dEakM7RUQ5Q0M7SUFDSSxpQ0FBZ0M7SUFFaEMseUJBQXdCO0dDZ0Q3QjtDQUNGOztBRDlDRDtFQUNJLHFDQUFvQztFQUNwQyw2QkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxXQUFVO0lBQ1YsdUNBQXNDO0lBQ3RDLCtCQUE4QjtHQ2tEbkM7RURoREM7SUFDSSxXQUFVO0lBQ1Ysb0NBQW1DO0lBQ25DLDRCQUEyQjtHQ2tEaEM7RURoREM7SUFDSSxxQ0FBb0M7SUFDcEMsNkJBQTRCO0dDa0RqQztFRGhEQztJQUNJLGlDQUFnQztJQUNoQyx5QkFBd0I7R0NrRDdCO0NBQ0Y7O0FEaEREO0VBQ0k7SUFDSSxXQUFVO0lBQ1YsdUNBQXNDO0lBRXRDLCtCQUE4QjtHQ21EbkM7RURqREM7SUFDSSxXQUFVO0lBQ1Ysb0NBQW1DO0lBRW5DLDRCQUEyQjtHQ21EaEM7RURqREM7SUFDSSxxQ0FBb0M7SUFFcEMsNkJBQTRCO0dDbURqQztFRGpEQztJQUNJLGlDQUFnQztJQUVoQyx5QkFBd0I7R0NtRDdCO0NBQ0Y7O0FEakREO0VBQ0kscUNBQW9DO0VBQ3BDLDZCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLFdBQVU7SUFDVixzQ0FBcUM7SUFDckMsOEJBQTZCO0dDcURsQztFRG5EQztJQUNJLFdBQVU7SUFDVixxQ0FBb0M7SUFDcEMsNkJBQTRCO0dDcURqQztFRG5EQztJQUNJLG9DQUFtQztJQUNuQyw0QkFBMkI7R0NxRGhDO0VEbkRDO0lBQ0ksaUNBQWdDO0lBQ2hDLHlCQUF3QjtHQ3FEN0I7Q0FDRjs7QURuREQ7RUFDSTtJQUNJLFdBQVU7SUFDVixzQ0FBcUM7SUFFckMsOEJBQTZCO0dDc0RsQztFRHBEQztJQUNJLFdBQVU7SUFDVixxQ0FBb0M7SUFFcEMsNkJBQTRCO0dDc0RqQztFRHBEQztJQUNJLG9DQUFtQztJQUVuQyw0QkFBMkI7R0NzRGhDO0VEcERDO0lBQ0ksaUNBQWdDO0lBRWhDLHlCQUF3QjtHQ3NEN0I7Q0FDRjs7QURwREQ7RUFDSSxzQ0FBcUM7RUFDckMsOEJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLHNDQUFxQztJQUNyQyw4QkFBNkI7R0N3RGxDO0VEdERDO0lBQ0ksV0FBVTtJQUNWLHFDQUFvQztJQUNwQyw2QkFBNEI7R0N3RGpDO0VEdERDO0lBQ0ksb0NBQW1DO0lBQ25DLDRCQUEyQjtHQ3dEaEM7RUR0REM7SUFDSSxpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDd0Q3QjtDQUNGOztBRHRERDtFQUNJO0lBQ0ksV0FBVTtJQUNWLHNDQUFxQztJQUVyQyw4QkFBNkI7R0N5RGxDO0VEdkRDO0lBQ0ksV0FBVTtJQUNWLHFDQUFvQztJQUVwQyw2QkFBNEI7R0N5RGpDO0VEdkRDO0lBQ0ksb0NBQW1DO0lBRW5DLDRCQUEyQjtHQ3lEaEM7RUR2REM7SUFDSSxpQ0FBZ0M7SUFFaEMseUJBQXdCO0dDeUQ3QjtDQUNGOztBRHZERDtFQUNJLG1DQUFrQztFQUNsQywyQkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSw0QkFBMkI7SUFDM0Isb0JBQW1CO0dDMkR4QjtFRHpEQztJQUNJLCtCQUE2QjtJQUM3Qix1QkFBcUI7R0MyRDFCO0VEekRDO0lBQ0ksV0FBVTtJQUNWLDhCQUE2QjtJQUM3QixzQkFBcUI7R0MyRDFCO0VEekRDO0lBQ0ksV0FBVTtJQUNWLDhCQUE0QjtJQUM1QixzQkFBb0I7R0MyRHpCO0NBQ0Y7O0FEekREO0VBQ0k7SUFDSSw0QkFBMkI7SUFFM0Isb0JBQW1CO0dDNER4QjtFRDFEQztJQUNJLCtCQUE2QjtJQUU3Qix1QkFBcUI7R0M0RDFCO0VEMURDO0lBQ0ksV0FBVTtJQUNWLDhCQUE2QjtJQUU3QixzQkFBcUI7R0M0RDFCO0VEMURDO0lBQ0ksV0FBVTtJQUNWLDhCQUE0QjtJQUU1QixzQkFBb0I7R0M0RHpCO0NBQ0Y7O0FEMUREO0VBQ0ksa0NBQWlDO0VBQ2pDLDBCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLGlDQUFnQztJQUNoQyx5QkFBd0I7R0M4RDdCO0VENURDO0lBQ0ksV0FBVTtJQUNWLHFDQUFvQztJQUNwQyw2QkFBNEI7R0M4RGpDO0VENURDO0lBQ0ksV0FBVTtJQUNWLHNDQUFxQztJQUNyQyw4QkFBNkI7R0M4RGxDO0NBQ0Y7O0FENUREO0VBQ0k7SUFDSSxpQ0FBZ0M7SUFFaEMseUJBQXdCO0dDK0Q3QjtFRDdEQztJQUNJLFdBQVU7SUFDVixxQ0FBb0M7SUFFcEMsNkJBQTRCO0dDK0RqQztFRDdEQztJQUNJLFdBQVU7SUFDVixzQ0FBcUM7SUFFckMsOEJBQTZCO0dDK0RsQztDQUNGOztBRDdERDtFQUNJLHNDQUFxQztFQUNyQyw4QkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDaUU3QjtFRC9EQztJQUNJLFdBQVU7SUFDVixvQ0FBbUM7SUFDbkMsNEJBQTJCO0dDaUVoQztFRC9EQztJQUNJLFdBQVU7SUFDVix1Q0FBc0M7SUFDdEMsK0JBQThCO0dDaUVuQztDQUNGOztBRC9ERDtFQUNJO0lBQ0ksaUNBQWdDO0lBRWhDLHlCQUF3QjtHQ2tFN0I7RURoRUM7SUFDSSxXQUFVO0lBQ1Ysb0NBQW1DO0lBRW5DLDRCQUEyQjtHQ2tFaEM7RURoRUM7SUFDSSxXQUFVO0lBQ1YsdUNBQXNDO0lBRXRDLCtCQUE4QjtHQ2tFbkM7Q0FDRjs7QURoRUQ7RUFDSSxzQ0FBcUM7RUFDckMsOEJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksaUNBQWdDO0lBQ2hDLHlCQUF3QjtHQ29FN0I7RURsRUM7SUFDSSxXQUFVO0lBQ1YscUNBQW9DO0lBQ3BDLDZCQUE0QjtHQ29FakM7RURsRUM7SUFDSSxXQUFVO0lBQ1Ysc0NBQXFDO0lBQ3JDLDhCQUE2QjtHQ29FbEM7Q0FDRjs7QURsRUQ7RUFDSTtJQUNJLGlDQUFnQztJQUVoQyx5QkFBd0I7R0NxRTdCO0VEbkVDO0lBQ0ksV0FBVTtJQUNWLHFDQUFvQztJQUVwQyw2QkFBNEI7R0NxRWpDO0VEbkVDO0lBQ0ksV0FBVTtJQUNWLHNDQUFxQztJQUVyQyw4QkFBNkI7R0NxRWxDO0NBQ0Y7O0FEbkVEO0VBQ0ksdUNBQXNDO0VBQ3RDLCtCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLGlDQUFnQztJQUNoQyx5QkFBd0I7R0N1RTdCO0VEckVDO0lBQ0ksV0FBVTtJQUNWLG9DQUFtQztJQUNuQyw0QkFBMkI7R0N1RWhDO0VEckVDO0lBQ0ksV0FBVTtJQUNWLHVDQUFzQztJQUN0QywrQkFBOEI7R0N1RW5DO0NBQ0Y7O0FEckVEO0VBQ0k7SUFDSSxpQ0FBZ0M7SUFFaEMseUJBQXdCO0dDd0U3QjtFRHRFQztJQUNJLFdBQVU7SUFDVixvQ0FBbUM7SUFFbkMsNEJBQTJCO0dDd0VoQztFRHRFQztJQUNJLFdBQVU7SUFDVix1Q0FBc0M7SUFFdEMsK0JBQThCO0dDd0VuQztDQUNGOztBRHRFRDtFQUNJLG9DQUFtQztFQUNuQyw0QkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxXQUNKO0dDeUVEO0VEeEVDO0lBQ0ksV0FDSjtHQ3lFRDtDQUNGOztBRHhFRDtFQUNJO0lBQ0ksV0FDSjtHQzBFRDtFRHpFQztJQUNJLFdBQ0o7R0MwRUQ7Q0FDRjs7QUR6RUQ7RUFDSSwrQkFBOEI7RUFDOUIsdUJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLHFDQUFvQztJQUNwQyw2QkFBNEI7R0M2RWpDO0VEM0VDO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUNoQyx5QkFBd0I7R0M2RTdCO0NBQ0Y7O0FEM0VEO0VBQ0k7SUFDSSxXQUFVO0lBQ1YscUNBQW9DO0lBRXBDLDZCQUE0QjtHQzhFakM7RUQ1RUM7SUFDSSxXQUFVO0lBQ1YsaUNBQWdDO0lBRWhDLHlCQUF3QjtHQzhFN0I7Q0FDRjs7QUQ1RUQ7RUFDSSxtQ0FBa0M7RUFDbEMsMkJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLHVDQUFzQztJQUN0QywrQkFBOEI7R0NnRm5DO0VEOUVDO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUNoQyx5QkFBd0I7R0NnRjdCO0NBQ0Y7O0FEOUVEO0VBQ0k7SUFDSSxXQUFVO0lBQ1YsdUNBQXNDO0lBRXRDLCtCQUE4QjtHQ2lGbkM7RUQvRUM7SUFDSSxXQUFVO0lBQ1YsaUNBQWdDO0lBRWhDLHlCQUF3QjtHQ2lGN0I7Q0FDRjs7QUQvRUQ7RUFDSSxzQ0FBcUM7RUFDckMsOEJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLHFDQUFvQztJQUNwQyw2QkFBNEI7R0NtRmpDO0VEakZDO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUNoQyx5QkFBd0I7R0NtRjdCO0NBQ0Y7O0FEakZEO0VBQ0k7SUFDSSxXQUFVO0lBQ1YscUNBQW9DO0lBRXBDLDZCQUE0QjtHQ29GakM7RURsRkM7SUFDSSxXQUFVO0lBQ1YsaUNBQWdDO0lBRWhDLHlCQUF3QjtHQ29GN0I7Q0FDRjs7QURsRkQ7RUFDSSxtQ0FBa0M7RUFDbEMsMkJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLHVDQUFzQztJQUN0QywrQkFBOEI7R0NzRm5DO0VEcEZDO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUNoQyx5QkFBd0I7R0NzRjdCO0NBQ0Y7O0FEcEZEO0VBQ0k7SUFDSSxXQUFVO0lBQ1YsdUNBQXNDO0lBRXRDLCtCQUE4QjtHQ3VGbkM7RURyRkM7SUFDSSxXQUFVO0lBQ1YsaUNBQWdDO0lBRWhDLHlCQUF3QjtHQ3VGN0I7Q0FDRjs7QURyRkQ7RUFDSSxzQ0FBcUM7RUFDckMsOEJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLG9DQUFtQztJQUNuQyw0QkFBMkI7R0N5RmhDO0VEdkZDO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUNoQyx5QkFBd0I7R0N5RjdCO0NBQ0Y7O0FEdkZEO0VBQ0k7SUFDSSxXQUFVO0lBQ1Ysb0NBQW1DO0lBRW5DLDRCQUEyQjtHQzBGaEM7RUR4RkM7SUFDSSxXQUFVO0lBQ1YsaUNBQWdDO0lBRWhDLHlCQUF3QjtHQzBGN0I7Q0FDRjs7QUR4RkQ7RUFDSSxvQ0FBbUM7RUFDbkMsNEJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLHNDQUFxQztJQUNyQyw4QkFBNkI7R0M0RmxDO0VEMUZDO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUNoQyx5QkFBd0I7R0M0RjdCO0NBQ0Y7O0FEMUZEO0VBQ0k7SUFDSSxXQUFVO0lBQ1Ysc0NBQXFDO0lBRXJDLDhCQUE2QjtHQzZGbEM7RUQzRkM7SUFDSSxXQUFVO0lBQ1YsaUNBQWdDO0lBRWhDLHlCQUF3QjtHQzZGN0I7Q0FDRjs7QUQzRkQ7RUFDSSx1Q0FBc0M7RUFDdEMsK0JBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLG9DQUFtQztJQUNuQyw0QkFBMkI7R0MrRmhDO0VEN0ZDO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUNoQyx5QkFBd0I7R0MrRjdCO0NBQ0Y7O0FEN0ZEO0VBQ0k7SUFDSSxXQUFVO0lBQ1Ysb0NBQW1DO0lBRW5DLDRCQUEyQjtHQ2dHaEM7RUQ5RkM7SUFDSSxXQUFVO0lBQ1YsaUNBQWdDO0lBRWhDLHlCQUF3QjtHQ2dHN0I7Q0FDRjs7QUQ5RkQ7RUFDSSxpQ0FBZ0M7RUFDaEMseUJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLHNDQUFxQztJQUNyQyw4QkFBNkI7R0NrR2xDO0VEaEdDO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUNoQyx5QkFBd0I7R0NrRzdCO0NBQ0Y7O0FEaEdEO0VBQ0k7SUFDSSxXQUFVO0lBQ1Ysc0NBQXFDO0lBRXJDLDhCQUE2QjtHQ21HbEM7RURqR0M7SUFDSSxXQUFVO0lBQ1YsaUNBQWdDO0lBRWhDLHlCQUF3QjtHQ21HN0I7Q0FDRjs7QURqR0Q7RUFDSSxvQ0FBbUM7RUFDbkMsNEJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FDSjtHQ29HRDtFRG5HQztJQUNJLFdBQ0o7R0NvR0Q7Q0FDRjs7QURuR0Q7RUFDSTtJQUNJLFdBQ0o7R0NxR0Q7RURwR0M7SUFDSSxXQUNKO0dDcUdEO0NBQ0Y7O0FEcEdEO0VBQ0ksZ0NBQStCO0VBQy9CLHdCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLFdBQVU7SUFDVixpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDd0c3QjtFRHRHQztJQUNJLFdBQVU7SUFDVixvQ0FBbUM7SUFDbkMsNEJBQTJCO0dDd0doQztDQUNGOztBRHRHRDtFQUNJO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUVoQyx5QkFBd0I7R0N5RzdCO0VEdkdDO0lBQ0ksV0FBVTtJQUNWLG9DQUFtQztJQUVuQyw0QkFBMkI7R0N5R2hDO0NBQ0Y7O0FEdkdEO0VBQ0ksb0NBQW1DO0VBQ25DLDRCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLFdBQVU7SUFDVixpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDMkc3QjtFRHpHQztJQUNJLFdBQVU7SUFDVixzQ0FBcUM7SUFDckMsOEJBQTZCO0dDMkdsQztDQUNGOztBRHpHRDtFQUNJO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUVoQyx5QkFBd0I7R0M0RzdCO0VEMUdDO0lBQ0ksV0FBVTtJQUNWLHNDQUFxQztJQUVyQyw4QkFBNkI7R0M0R2xDO0NBQ0Y7O0FEMUdEO0VBQ0ksdUNBQXNDO0VBQ3RDLCtCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLFdBQVU7SUFDVixpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDOEc3QjtFRDVHQztJQUNJLFdBQVU7SUFDVixxQ0FBb0M7SUFDcEMsNkJBQTRCO0dDOEdqQztDQUNGOztBRDVHRDtFQUNJO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUVoQyx5QkFBd0I7R0MrRzdCO0VEN0dDO0lBQ0ksV0FBVTtJQUNWLHFDQUFvQztJQUVwQyw2QkFBNEI7R0MrR2pDO0NBQ0Y7O0FEN0dEO0VBQ0ksb0NBQW1DO0VBQ25DLDRCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLFdBQVU7SUFDVixpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDaUg3QjtFRC9HQztJQUNJLFdBQVU7SUFDVix1Q0FBc0M7SUFDdEMsK0JBQThCO0dDaUhuQztDQUNGOztBRC9HRDtFQUNJO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUVoQyx5QkFBd0I7R0NrSDdCO0VEaEhDO0lBQ0ksV0FBVTtJQUNWLHVDQUFzQztJQUV0QywrQkFBOEI7R0NrSG5DO0NBQ0Y7O0FEaEhEO0VBQ0ksdUNBQXNDO0VBQ3RDLCtCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLFdBQVU7SUFDVixpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDb0g3QjtFRGxIQztJQUNJLFdBQVU7SUFDVixvQ0FBbUM7SUFDbkMsNEJBQTJCO0dDb0hoQztDQUNGOztBRGxIRDtFQUNJO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUVoQyx5QkFBd0I7R0NxSDdCO0VEbkhDO0lBQ0ksV0FBVTtJQUNWLG9DQUFtQztJQUVuQyw0QkFBMkI7R0NxSGhDO0NBQ0Y7O0FEbkhEO0VBQ0kscUNBQW9DO0VBQ3BDLDZCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLFdBQVU7SUFDVixpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDdUg3QjtFRHJIQztJQUNJLFdBQVU7SUFDVixzQ0FBcUM7SUFDckMsOEJBQTZCO0dDdUhsQztDQUNGOztBRHJIRDtFQUNJO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUVoQyx5QkFBd0I7R0N3SDdCO0VEdEhDO0lBQ0ksV0FBVTtJQUNWLHNDQUFxQztJQUVyQyw4QkFBNkI7R0N3SGxDO0NBQ0Y7O0FEdEhEO0VBQ0ksd0NBQXVDO0VBQ3ZDLGdDQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLFdBQVU7SUFDVixpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDMEg3QjtFRHhIQztJQUNJLFdBQVU7SUFDVixxQ0FBb0M7SUFDcEMsNkJBQTRCO0dDMEhqQztDQUNGOztBRHhIRDtFQUNJO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUVoQyx5QkFBd0I7R0MySDdCO0VEekhDO0lBQ0ksV0FBVTtJQUNWLHFDQUFvQztJQUVwQyw2QkFBNEI7R0MySGpDO0NBQ0Y7O0FEekhEO0VBQ0ksa0NBQWlDO0VBQ2pDLDBCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLFdBQVU7SUFDVixpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDNkg3QjtFRDNIQztJQUNJLFdBQVU7SUFDVix1Q0FBc0M7SUFDdEMsK0JBQThCO0dDNkhuQztDQUNGOztBRDNIRDtFQUNJO0lBQ0ksV0FBVTtJQUNWLGlDQUFnQztJQUVoQyx5QkFBd0I7R0M4SDdCO0VENUhDO0lBQ0ksV0FBVTtJQUNWLHVDQUFzQztJQUV0QywrQkFBOEI7R0M4SG5DO0NBQ0Y7O0FENUhEO0VBQ0kscUNBQW9DO0VBQ3BDLDZCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLHdFQUF1RTtJQUN2RSxnRUFBK0Q7SUFDL0QsNENBQTJDO0lBQzNDLG9DQUNKO0dDK0hEO0VEOUhDO0lBQ0ksaUZBQWdGO0lBQ2hGLHlFQUF3RTtJQUN4RSw0Q0FBMkM7SUFDM0Msb0NBQ0o7R0MrSEQ7RUQ5SEM7SUFDSSxpRkFBZ0Y7SUFDaEYseUVBQXdFO0lBQ3hFLDJDQUEwQztJQUMxQyxtQ0FDSjtHQytIRDtFRDlIQztJQUNJLGdGQUE4RTtJQUM5RSx3RUFBc0U7SUFDdEUsMkNBQTBDO0lBQzFDLG1DQUNKO0dDK0hEO0VEOUhDO0lBQ0ksNkVBQTRFO0lBQzVFLHFFQUFvRTtJQUNwRSwyQ0FBMEM7SUFDMUMsbUNBQ0o7R0MrSEQ7Q0FDRjs7QUQ5SEQ7RUFDSTtJQUNJLHdFQUF1RTtJQUV2RSxnRUFBK0Q7SUFDL0QsNENBQTJDO0lBQzNDLG9DQUNKO0dDZ0lEO0VEL0hDO0lBQ0ksaUZBQWdGO0lBRWhGLHlFQUF3RTtJQUN4RSw0Q0FBMkM7SUFDM0Msb0NBQ0o7R0NnSUQ7RUQvSEM7SUFDSSxpRkFBZ0Y7SUFFaEYseUVBQXdFO0lBQ3hFLDJDQUEwQztJQUMxQyxtQ0FDSjtHQ2dJRDtFRC9IQztJQUNJLGdGQUE4RTtJQUU5RSx3RUFBc0U7SUFDdEUsMkNBQTBDO0lBQzFDLG1DQUNKO0dDZ0lEO0VEL0hDO0lBQ0ksNkVBQTRFO0lBRTVFLHFFQUFvRTtJQUNwRSwyQ0FBMEM7SUFDMUMsbUNBQ0o7R0NnSUQ7Q0FDRjs7QUQvSEQ7RUFDSSxxQ0FBb0M7RUFFcEMsNkJBQTRCO0VBQzVCLDZCQUE0QjtFQUM1QixxQkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxxREFBb0Q7SUFDcEQsNkNBQTRDO0lBQzVDLFdBQ0o7R0NrSUQ7RURqSUM7SUFDSSxzREFBcUQ7SUFDckQsOENBQTZDO0dDbUlsRDtFRGpJQztJQUNJLHFEQUFvRDtJQUNwRCw2Q0FBNEM7R0NtSWpEO0VEaklDO0lBQ0ksb0RBQW1EO0lBQ25ELDRDQUEyQztJQUMzQyxXQUNKO0dDa0lEO0NBQ0Y7O0FEaklEO0VBQ0k7SUFDSSxxREFBb0Q7SUFFcEQsNkNBQTRDO0lBQzVDLFdBQ0o7R0NtSUQ7RURsSUM7SUFDSSxzREFBcUQ7SUFFckQsOENBQTZDO0dDb0lsRDtFRGxJQztJQUNJLHFEQUFvRDtJQUVwRCw2Q0FBNEM7R0NvSWpEO0VEbElDO0lBQ0ksb0RBQW1EO0lBRW5ELDRDQUEyQztJQUMzQyxXQUNKO0dDbUlEO0NBQ0Y7O0FEbElEO0VBQ0ksZ0RBQStDO0VBRS9DLHdDQUF1QztFQUN2QyxnQ0FBK0I7RUFDL0Isd0JBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0kscURBQW9EO0lBQ3BELDZDQUE0QztJQUM1QyxXQUNKO0dDcUlEO0VEcElDO0lBQ0ksc0RBQXFEO0lBQ3JELDhDQUE2QztHQ3NJbEQ7RURwSUM7SUFDSSxxREFBb0Q7SUFDcEQsNkNBQTRDO0dDc0lqRDtFRHBJQztJQUNJLG9EQUFtRDtJQUNuRCw0Q0FBMkM7SUFDM0MsV0FDSjtHQ3FJRDtDQUNGOztBRHBJRDtFQUNJO0lBQ0kscURBQW9EO0lBRXBELDZDQUE0QztJQUM1QyxXQUNKO0dDc0lEO0VEcklDO0lBQ0ksc0RBQXFEO0lBRXJELDhDQUE2QztHQ3VJbEQ7RURySUM7SUFDSSxxREFBb0Q7SUFFcEQsNkNBQTRDO0dDdUlqRDtFRHJJQztJQUNJLG9EQUFtRDtJQUVuRCw0Q0FBMkM7SUFDM0MsV0FDSjtHQ3NJRDtDQUNGOztBRHJJRDtFQUNJLGdEQUErQztFQUUvQyx3Q0FBdUM7RUFDdkMsZ0NBQStCO0VBQy9CLHdCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLG9EQUFtRDtJQUNuRCw0Q0FBMkM7SUFDM0MsV0FDSjtHQ3dJRDtFRHZJQztJQUNJLHFEQUFvRDtJQUNwRCw2Q0FBNEM7SUFDNUMsV0FDSjtHQ3dJRDtDQUNGOztBRHZJRDtFQUNJO0lBQ0ksb0RBQW1EO0lBRW5ELDRDQUEyQztJQUMzQyxXQUNKO0dDeUlEO0VEeElDO0lBQ0kscURBQW9EO0lBRXBELDZDQUE0QztJQUM1QyxXQUNKO0dDeUlEO0NBQ0Y7O0FEeElEO0VBQ0ksaUNBQWdDO0VBQ2hDLHlCQUF3QjtFQUN4QixnREFBK0M7RUFFL0Msd0NBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksb0RBQW1EO0lBQ25ELDRDQUEyQztJQUMzQyxXQUNKO0dDMklEO0VEMUlDO0lBQ0kscURBQW9EO0lBQ3BELDZDQUE0QztJQUM1QyxXQUNKO0dDMklEO0NBQ0Y7O0FEMUlEO0VBQ0k7SUFDSSxvREFBbUQ7SUFFbkQsNENBQTJDO0lBQzNDLFdBQ0o7R0M0SUQ7RUQzSUM7SUFDSSxxREFBb0Q7SUFFcEQsNkNBQTRDO0lBQzVDLFdBQ0o7R0M0SUQ7Q0FDRjs7QUQzSUQ7RUFDSSxnREFBK0M7RUFFL0Msd0NBQXVDO0VBQ3ZDLGlDQUFnQztFQUNoQyx5QkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxrREFBaUQ7SUFDakQsMENBQXlDO0lBQ3pDLFdBQ0o7R0M4SUQ7RUQ3SUM7SUFDSSxpREFBZ0Q7SUFDaEQseUNBQXdDO0lBQ3hDLFdBQ0o7R0M4SUQ7RUQ3SUM7SUFDSSxnREFBK0M7SUFDL0Msd0NBQXVDO0lBQ3ZDLFdBQ0o7R0M4SUQ7RUQ3SUM7SUFDSSw4Q0FBNkM7SUFDN0Msc0NBQXFDO0lBQ3JDLFdBQ0o7R0M4SUQ7Q0FDRjs7QUQ3SUQ7RUFDSTtJQUNJLGtEQUFpRDtJQUVqRCwwQ0FBeUM7SUFDekMsV0FDSjtHQytJRDtFRDlJQztJQUNJLGlEQUFnRDtJQUVoRCx5Q0FBd0M7SUFDeEMsV0FDSjtHQytJRDtFRDlJQztJQUNJLGdEQUErQztJQUUvQyx3Q0FBdUM7SUFDdkMsV0FDSjtHQytJRDtFRDlJQztJQUNJLDhDQUE2QztJQUU3QyxzQ0FBcUM7SUFDckMsV0FDSjtHQytJRDtDQUNGOztBRDlJRDtFQUNJLHFDQUFvQztFQUNwQyw2QkFBNEI7RUFDNUIsNENBQTJDO0VBQzNDLG9DQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLDhDQUE2QztJQUM3QyxzQ0FBcUM7SUFDckMsV0FDSjtHQ2lKRDtFRGhKQztJQUNJLGtEQUFpRDtJQUNqRCwwQ0FBeUM7SUFDekMsV0FDSjtHQ2lKRDtDQUNGOztBRGhKRDtFQUNJO0lBQ0ksOENBQTZDO0lBRTdDLHNDQUFxQztJQUNyQyxXQUNKO0dDa0pEO0VEakpDO0lBQ0ksa0RBQWlEO0lBRWpELDBDQUF5QztJQUN6QyxXQUNKO0dDa0pEO0NBQ0Y7O0FEakpEO0VBQ0ksc0NBQXFDO0VBQ3JDLDhCQUE2QjtFQUM3QiwyQ0FBMEM7RUFDMUMsbUNBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksd0NBQXVDO0lBQ3ZDLGdDQUErQjtJQUMvQixtQ0FBa0M7SUFDbEMsMkJBQTBCO0lBQzFCLFdBQ0o7R0NvSkQ7RURuSkM7SUFDSSx3Q0FBdUM7SUFDdkMsZ0NBQStCO0lBQy9CLDZCQUE0QjtJQUM1QixxQkFBb0I7SUFDcEIsV0FDSjtHQ29KRDtDQUNGOztBRG5KRDtFQUNJO0lBQ0ksd0NBQXVDO0lBRXZDLGdDQUErQjtJQUMvQixtQ0FBa0M7SUFFbEMsMkJBQTBCO0lBQzFCLFdBQ0o7R0NxSkQ7RURwSkM7SUFDSSx3Q0FBdUM7SUFFdkMsZ0NBQStCO0lBQy9CLDZCQUE0QjtJQUU1QixxQkFBb0I7SUFDcEIsV0FDSjtHQ3FKRDtDQUNGOztBRHBKRDtFQUNJLGlDQUFnQztFQUNoQyx5QkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxzQ0FBcUM7SUFDckMsOEJBQTZCO0lBQzdCLGtDQUFpQztJQUNqQywwQkFBeUI7SUFDekIsV0FDSjtHQ3VKRDtFRHRKQztJQUNJLHNDQUFxQztJQUNyQyw4QkFBNkI7SUFDN0IsNkJBQTRCO0lBQzVCLHFCQUFvQjtJQUNwQixXQUNKO0dDdUpEO0NBQ0Y7O0FEdEpEO0VBQ0k7SUFDSSxzQ0FBcUM7SUFFckMsOEJBQTZCO0lBQzdCLGtDQUFpQztJQUVqQywwQkFBeUI7SUFDekIsV0FDSjtHQ3dKRDtFRHZKQztJQUNJLHNDQUFxQztJQUVyQyw4QkFBNkI7SUFDN0IsNkJBQTRCO0lBRTVCLHFCQUFvQjtJQUNwQixXQUNKO0dDd0pEO0NBQ0Y7O0FEdkpEO0VBQ0kseUNBQXdDO0VBQ3hDLGlDQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLHVDQUFzQztJQUN0QywrQkFBOEI7SUFDOUIsaUNBQWdDO0lBQ2hDLHlCQUF3QjtJQUN4QixXQUNKO0dDMEpEO0VEekpDO0lBQ0ksdUNBQXNDO0lBQ3RDLCtCQUE4QjtJQUM5Qiw2QkFBNEI7SUFDNUIscUJBQW9CO0lBQ3BCLFdBQ0o7R0MwSkQ7Q0FDRjs7QUR6SkQ7RUFDSTtJQUNJLHVDQUFzQztJQUV0QywrQkFBOEI7SUFDOUIsaUNBQWdDO0lBRWhDLHlCQUF3QjtJQUN4QixXQUNKO0dDMkpEO0VEMUpDO0lBQ0ksdUNBQXNDO0lBRXRDLCtCQUE4QjtJQUM5Qiw2QkFBNEI7SUFFNUIscUJBQW9CO0lBQ3BCLFdBQ0o7R0MySkQ7Q0FDRjs7QUQxSkQ7RUFDSSwwQ0FBeUM7RUFDekMsa0NBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksc0NBQXFDO0lBQ3JDLDhCQUE2QjtJQUM3QixpQ0FBZ0M7SUFDaEMseUJBQXdCO0lBQ3hCLFdBQ0o7R0M2SkQ7RUQ1SkM7SUFDSSxzQ0FBcUM7SUFDckMsOEJBQTZCO0lBQzdCLDZCQUE0QjtJQUM1QixxQkFBb0I7SUFDcEIsV0FDSjtHQzZKRDtDQUNGOztBRDVKRDtFQUNJO0lBQ0ksc0NBQXFDO0lBRXJDLDhCQUE2QjtJQUM3QixpQ0FBZ0M7SUFFaEMseUJBQXdCO0lBQ3hCLFdBQ0o7R0M4SkQ7RUQ3SkM7SUFDSSxzQ0FBcUM7SUFFckMsOEJBQTZCO0lBQzdCLDZCQUE0QjtJQUU1QixxQkFBb0I7SUFDcEIsV0FDSjtHQzhKRDtDQUNGOztBRDdKRDtFQUNJLHVDQUFzQztFQUN0QywrQkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSx1Q0FBc0M7SUFDdEMsK0JBQThCO0lBQzlCLGtDQUFpQztJQUNqQywwQkFBeUI7SUFDekIsV0FDSjtHQ2dLRDtFRC9KQztJQUNJLHVDQUFzQztJQUN0QywrQkFBOEI7SUFDOUIsNkJBQTRCO0lBQzVCLHFCQUFvQjtJQUNwQixXQUNKO0dDZ0tEO0NBQ0Y7O0FEL0pEO0VBQ0k7SUFDSSx1Q0FBc0M7SUFFdEMsK0JBQThCO0lBQzlCLGtDQUFpQztJQUVqQywwQkFBeUI7SUFDekIsV0FDSjtHQ2lLRDtFRGhLQztJQUNJLHVDQUFzQztJQUV0QywrQkFBOEI7SUFDOUIsNkJBQTRCO0lBRTVCLHFCQUFvQjtJQUNwQixXQUNKO0dDaUtEO0NBQ0Y7O0FEaEtEO0VBQ0ksd0NBQXVDO0VBQ3ZDLGdDQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLHdDQUF1QztJQUN2QyxnQ0FBK0I7SUFDL0IsNkJBQTRCO0lBQzVCLHFCQUFvQjtJQUNwQixXQUNKO0dDbUtEO0VEbEtDO0lBQ0ksd0NBQXVDO0lBQ3ZDLGdDQUErQjtJQUMvQixrQ0FBaUM7SUFDakMsMEJBQXlCO0lBQ3pCLFdBQ0o7R0NtS0Q7Q0FDRjs7QURsS0Q7RUFDSTtJQUNJLHdDQUF1QztJQUV2QyxnQ0FBK0I7SUFDL0IsNkJBQTRCO0lBRTVCLHFCQUFvQjtJQUNwQixXQUNKO0dDb0tEO0VEbktDO0lBQ0ksd0NBQXVDO0lBRXZDLGdDQUErQjtJQUMvQixrQ0FBaUM7SUFFakMsMEJBQXlCO0lBQ3pCLFdBQ0o7R0NvS0Q7Q0FDRjs7QURuS0Q7RUFDSSxrQ0FBaUM7RUFDakMsMEJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksc0NBQXFDO0lBQ3JDLDhCQUE2QjtJQUM3Qiw2QkFBNEI7SUFDNUIscUJBQW9CO0lBQ3BCLFdBQ0o7R0NzS0Q7RURyS0M7SUFDSSxzQ0FBcUM7SUFDckMsOEJBQTZCO0lBQzdCLGlDQUFnQztJQUNoQyx5QkFBd0I7SUFDeEIsV0FDSjtHQ3NLRDtDQUNGOztBRHJLRDtFQUNJO0lBQ0ksc0NBQXFDO0lBRXJDLDhCQUE2QjtJQUM3Qiw2QkFBNEI7SUFFNUIscUJBQW9CO0lBQ3BCLFdBQ0o7R0N1S0Q7RUR0S0M7SUFDSSxzQ0FBcUM7SUFFckMsOEJBQTZCO0lBQzdCLGlDQUFnQztJQUVoQyx5QkFBd0I7SUFDeEIsV0FDSjtHQ3VLRDtDQUNGOztBRHRLRDtFQUNJLDBDQUF5QztFQUN6QyxrQ0FDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSx1Q0FBc0M7SUFDdEMsK0JBQThCO0lBQzlCLDZCQUE0QjtJQUM1QixxQkFBb0I7SUFDcEIsV0FDSjtHQ3lLRDtFRHhLQztJQUNJLHVDQUFzQztJQUN0QywrQkFBOEI7SUFDOUIsa0NBQWlDO0lBQ2pDLDBCQUF5QjtJQUN6QixXQUNKO0dDeUtEO0NBQ0Y7O0FEeEtEO0VBQ0k7SUFDSSx1Q0FBc0M7SUFFdEMsK0JBQThCO0lBQzlCLDZCQUE0QjtJQUU1QixxQkFBb0I7SUFDcEIsV0FDSjtHQzBLRDtFRHpLQztJQUNJLHVDQUFzQztJQUV0QywrQkFBOEI7SUFDOUIsa0NBQWlDO0lBRWpDLDBCQUF5QjtJQUN6QixXQUNKO0dDMEtEO0NBQ0Y7O0FEektEO0VBQ0ksMkNBQTBDO0VBQzFDLG1DQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLHNDQUFxQztJQUNyQyw4QkFBNkI7SUFDN0IsNkJBQTRCO0lBQzVCLHFCQUFvQjtJQUNwQixXQUNKO0dDNEtEO0VEM0tDO0lBQ0ksc0NBQXFDO0lBQ3JDLDhCQUE2QjtJQUM3QixrQ0FBaUM7SUFDakMsMEJBQXlCO0lBQ3pCLFdBQ0o7R0M0S0Q7Q0FDRjs7QUQzS0Q7RUFDSTtJQUNJLHNDQUFxQztJQUVyQyw4QkFBNkI7SUFDN0IsNkJBQTRCO0lBRTVCLHFCQUFvQjtJQUNwQixXQUNKO0dDNktEO0VENUtDO0lBQ0ksc0NBQXFDO0lBRXJDLDhCQUE2QjtJQUM3QixrQ0FBaUM7SUFFakMsMEJBQXlCO0lBQ3pCLFdBQ0o7R0M2S0Q7Q0FDRjs7QUQ1S0Q7RUFDSSx3Q0FBdUM7RUFDdkMsZ0NBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksdUNBQXNDO0lBQ3RDLCtCQUE4QjtJQUM5Qiw2QkFBNEI7SUFDNUIscUJBQW9CO0lBQ3BCLFdBQ0o7R0MrS0Q7RUQ5S0M7SUFDSSx1Q0FBc0M7SUFDdEMsK0JBQThCO0lBQzlCLGlDQUFnQztJQUNoQyx5QkFBd0I7SUFDeEIsV0FDSjtHQytLRDtDQUNGOztBRDlLRDtFQUNJO0lBQ0ksdUNBQXNDO0lBRXRDLCtCQUE4QjtJQUM5Qiw2QkFBNEI7SUFFNUIscUJBQW9CO0lBQ3BCLFdBQ0o7R0NnTEQ7RUQvS0M7SUFDSSx1Q0FBc0M7SUFFdEMsK0JBQThCO0lBQzlCLGlDQUFnQztJQUVoQyx5QkFBd0I7SUFDeEIsV0FDSjtHQ2dMRDtDQUNGOztBRC9LRDtFQUNJLHlDQUF3QztFQUN4QyxpQ0FDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxXQUFVO0lBQ1YsdUNBQXNDO0lBQ3RDLCtCQUE4QjtHQ21MbkM7RURqTEM7SUFDSSxpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDbUw3QjtDQUNGOztBRGpMRDtFQUNJO0lBQ0ksV0FBVTtJQUNWLHVDQUFzQztJQUV0QywrQkFBOEI7R0NvTG5DO0VEbExDO0lBQ0ksaUNBQWdDO0lBRWhDLHlCQUF3QjtHQ29MN0I7Q0FDRjs7QURsTEQ7RUFDSSxvQ0FBbUM7RUFDbkMsNEJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLHVDQUFzQztJQUN0QywrQkFBOEI7R0NzTG5DO0VEcExDO0lBQ0ksaUNBQWdDO0lBQ2hDLHlCQUF3QjtHQ3NMN0I7Q0FDRjs7QURwTEQ7RUFDSTtJQUNJLFdBQVU7SUFDVix1Q0FBc0M7SUFFdEMsK0JBQThCO0dDdUxuQztFRHJMQztJQUNJLGlDQUFnQztJQUVoQyx5QkFBd0I7R0N1TDdCO0NBQ0Y7O0FEckxEO0VBQ0ksb0NBQW1DO0VBQ25DLDRCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLFdBQVU7SUFDVixzQ0FBcUM7SUFDckMsOEJBQTZCO0dDeUxsQztFRHZMQztJQUNJLGlDQUFnQztJQUNoQyx5QkFBd0I7R0N5TDdCO0NBQ0Y7O0FEdkxEO0VBQ0k7SUFDSSxXQUFVO0lBQ1Ysc0NBQXFDO0lBRXJDLDhCQUE2QjtHQzBMbEM7RUR4TEM7SUFDSSxpQ0FBZ0M7SUFFaEMseUJBQXdCO0dDMEw3QjtDQUNGOztBRHhMRDtFQUNJLHFDQUFvQztFQUNwQyw2QkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxpQ0FBZ0M7SUFDaEMseUJBQXdCO0dDNEw3QjtFRDFMQztJQUNJLFdBQVU7SUFDVix1Q0FBc0M7SUFDdEMsK0JBQThCO0dDNExuQztDQUNGOztBRDFMRDtFQUNJO0lBQ0ksaUNBQWdDO0lBRWhDLHlCQUF3QjtHQzZMN0I7RUQzTEM7SUFDSSxXQUFVO0lBQ1YsdUNBQXNDO0lBRXRDLCtCQUE4QjtHQzZMbkM7Q0FDRjs7QUQzTEQ7RUFDSSxxQ0FBb0M7RUFDcEMsNkJBQ0o7Q0FBRTs7QUFDRjtFQUNJO0lBQ0ksaUNBQWdDO0lBQ2hDLHlCQUF3QjtHQytMN0I7RUQ3TEM7SUFDSSxXQUFVO0lBQ1Ysc0NBQXFDO0lBQ3JDLDhCQUE2QjtHQytMbEM7Q0FDRjs7QUQ3TEQ7RUFDSTtJQUNJLGlDQUFnQztJQUVoQyx5QkFBd0I7R0NnTTdCO0VEOUxDO0lBQ0ksV0FBVTtJQUNWLHNDQUFxQztJQUVyQyw4QkFBNkI7R0NnTWxDO0NBQ0Y7O0FEOUxEO0VBQ0ksc0NBQXFDO0VBQ3JDLDhCQUNKO0NBQUU7O0FBQ0Y7RUFDSTtJQUNJLGlDQUFnQztJQUNoQyx5QkFBd0I7R0NrTTdCO0VEaE1DO0lBQ0ksV0FBVTtJQUNWLHVDQUFzQztJQUN0QywrQkFBOEI7R0NrTW5DO0NBQ0Y7O0FEaE1EO0VBQ0k7SUFDSSxpQ0FBZ0M7SUFFaEMseUJBQXdCO0dDbU03QjtFRGpNQztJQUNJLFdBQVU7SUFDVix1Q0FBc0M7SUFFdEMsK0JBQThCO0dDbU1uQztDQUNGOztBRGpNRDtFQUNJLG1DQUFrQztFQUNsQywyQkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSw2QkFBNEI7SUFDNUIscUJBQW9CO0lBQ3BCLG1DQUFrQztJQUNsQywyQkFBMEI7SUFDMUIsK0NBQThDO0lBQzlDLHVDQUNKO0dDb01EO0VEbk1DOztJQUVJLGlDQUFnQztJQUNoQyx5QkFBd0I7SUFDeEIsbUNBQWtDO0lBQ2xDLDJCQUEwQjtJQUMxQiwrQ0FBOEM7SUFDOUMsdUNBQ0o7R0NvTUQ7RURuTUM7SUFDSSxpQ0FBZ0M7SUFDaEMseUJBQXdCO0lBQ3hCLG1DQUFrQztJQUNsQywyQkFBMEI7SUFDMUIsK0NBQThDO0lBQzlDLHVDQUNKO0dDb01EO0VEbk1DO0lBQ0ksK0NBQThDO0lBQzlDLHVDQUFzQztJQUN0QyxXQUFVO0lBQ1YsbUNBQWtDO0lBQ2xDLDJCQUEwQjtJQUMxQiwrQ0FBOEM7SUFDOUMsdUNBQ0o7R0NvTUQ7RURuTUM7SUFDSSxxQ0FBb0M7SUFDcEMsNkJBQTRCO0lBQzVCLFdBQ0o7R0NvTUQ7Q0FDRjs7QURuTUQ7RUFDSTtJQUNJLDZCQUE0QjtJQUU1QixxQkFBb0I7SUFDcEIsbUNBQWtDO0lBRWxDLDJCQUEwQjtJQUMxQiwrQ0FBOEM7SUFDOUMsdUNBQ0o7R0NxTUQ7RURwTUM7O0lBRUksaUNBQWdDO0lBRWhDLHlCQUF3QjtJQUN4QixtQ0FBa0M7SUFFbEMsMkJBQTBCO0lBQzFCLCtDQUE4QztJQUM5Qyx1Q0FDSjtHQ3FNRDtFRHBNQztJQUNJLGlDQUFnQztJQUVoQyx5QkFBd0I7SUFDeEIsbUNBQWtDO0lBRWxDLDJCQUEwQjtJQUMxQiwrQ0FBOEM7SUFDOUMsdUNBQ0o7R0NxTUQ7RURwTUM7SUFDSSwrQ0FBOEM7SUFFOUMsdUNBQXNDO0lBQ3RDLFdBQVU7SUFDVixtQ0FBa0M7SUFFbEMsMkJBQTBCO0lBQzFCLCtDQUE4QztJQUM5Qyx1Q0FDSjtHQ3FNRDtFRHBNQztJQUNJLHFDQUFvQztJQUVwQyw2QkFBNEI7SUFDNUIsV0FDSjtHQ3FNRDtDQUNGOztBRHBNRDtFQUNJLDhCQUE2QjtFQUM3QixzQkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxXQUFVO0lBQ1YscURBQW9EO0lBQ3BELDZDQUE0QztHQ3dNakQ7RUR0TUM7SUFDSSxXQUFVO0lBQ1YsZ0RBQStDO0lBQy9DLHdDQUF1QztHQ3dNNUM7Q0FDRjs7QUR0TUQ7RUFDSTtJQUNJLFdBQVU7SUFDVixxREFBb0Q7SUFFcEQsNkNBQTRDO0dDeU1qRDtFRHZNQztJQUNJLFdBQVU7SUFDVixnREFBK0M7SUFFL0Msd0NBQXVDO0dDeU01QztDQUNGOztBRHZNRDtFQUNJLCtCQUE4QjtFQUM5Qix1QkFDSjtDQUFFOztBQUNGO0VBQ0k7SUFDSSxXQUFVO0lBQ1YsZ0RBQStDO0lBQy9DLHdDQUF1QztHQzJNNUM7RUR6TUM7SUFDSSxXQUFVO0lBQ1YsbURBQWtEO0lBQ2xELDJDQUEwQztHQzJNL0M7Q0FDRjs7QUR6TUQ7RUFDSTtJQUNJLFdBQVU7SUFDVixnREFBK0M7SUFFL0Msd0NBQXVDO0dDNE01QztFRDFNQztJQUNJLFdBQVU7SUFDVixtREFBa0Q7SUFFbEQsMkNBQTBDO0dDNE0vQztDQUNGOztBRDFNRDtFQUNJLGdDQUErQjtFQUMvQix3QkFDSjtDQUFFOztBRWgrRUYsbUZBQW1GO0FBQ25GLHNDQUFzQztBQUN0QyxtRkFBbUY7QUFFbkY7RUFBTyxvQ0FBb0M7Q0FBSzs7QUFFaEQ7RUFDRSxtQkFBeUI7RUFDekIsbUJBQXVCO0VBQ3ZCLHVCQUF1QjtDQU94Qjs7QUFWRDtFQUsrQixpQkFBaUI7Q0FBSzs7QUFMckQ7RUFNeUIsV0FBVztFQUFHLGlCQUFpQjtDQUFLOztBQU43RDtFQU8rQixvQkNYUDtDRFdzQzs7QUFQOUQ7RUFTb0IscUJBQXFCO0NBQUs7O0FBRzlDO0VBQUksb0JBQW9CO0NBQUs7O0FBQzdCO0VBQUksOEJBQXNCO0VBQXRCLHNCQUFzQjtFQUFHLGNBQWE7Q0FBSzs7QUFDL0M7RUFBSyxtQkFBbUI7RUFBRyxzQkFBc0I7RUFBRyxZQUFZO0NBQUs7O0FBQ3JFO0VBQTRDLGtGQzRDNEM7Q0Q1Q1Y7O0FBRzlFOzs7RUFFcUIsZ0JBQWdCO0VBQUcsYUFBYTtDQUFLOztBQUUxRDtFQUFrQyxnQkFBZ0I7Q0FBSzs7QUFFdkQ7RUFBYSxpQkFBZ0I7RUFBRSxtQkFBa0I7RUFBRSxZQUFXO0NBQUk7O0FBQ2xFO0VBQWUsdUJBQXNCO0NBQUk7O0FBQ3pDO0VBQVksaUJBQWdCO0NBQUk7O0FBQ2hDO0VBQVksaUJBQWdCO0NBQUk7O0FFb0M1QjtFRmhDRjtJQUFhLDhCQUE2QjtHQUFHO0VBQzdDO0lBQVksOEJBQTZCO0dBQUc7RUQ2dEY1QztJQzV0RmlCLGtCQUFpQjtJQUFHLHFCQUFvQjtHQUFJO0VBQzdEO0lBQXdCLGlCQUFnQjtHQUFJO0NEa3VGN0M7O0FDOXRGRDtFQU1JLG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLHNCQUFxQjtFQUNyQix1QkFBc0I7Q0E2QnpCOztBQXZDRDtFQUVrQixjQUFZO0NBQUk7O0FBRmxDO0VBR1ksbUJBQWtCO0VBQUcsb0JBQW1CO0NBQUk7O0FBSHhEO0VBSXVCLG1CQUFrQjtFQUFHLG9CQUFtQjtDQUFJOztBQUpuRTtFQVdXLGlCQUFnQjtDQUFJOztBQVgvQjtFQVlXLG9CQUFtQjtDQUFJOztBQVpsQztFQWFZLFdBQVU7Q0FBSTs7QUFiMUI7RUFlSywyQkFBeUI7Q0FDekI7O0FBaEJMO0VBa0JNLFlBQVU7Q0FFWDs7QUFwQkw7RUFtQnlCLFlBQVU7Q0FBSTs7QUFuQnZDO0VBc0JLLGtCQUFpQjtFQUNqQixxQkFBb0I7Q0FFcEI7O0FFQUQ7RUZ6Qko7SUF3QjBDLGtCQUFpQjtJQUFHLHFCQUFvQjtHQUM3RTtDRCt2Rko7O0FDeHhGRDtFQTJCSyxvQkFBbUI7RUFDbkIsMkJBQXlCO0VBQ3pCLDhCQUE0QjtDQUM1Qjs7QUE5Qkw7RUFnQ0ssaUJBQWdCO0VBQ2hCLDJCQUF5QjtFQUN6Qiw4QkFBNEI7RUFDNUIsWUFBVTtDQUNWOztBQXBDTDtFQXFDUyxnQkFBZTtDQUFJOztBRVp4QjtFRnpCSjtJQXNDd0Msa0JBQWlCO0lBQUcscUJBQW9CO0lBQUUsbUJBQWtCO0dBQ25HO0NEMHdGQTs7QUN4d0ZEO0VBQ0UsWUFBVztFQUNYLG9CQUFtQjtFQUNuQiwyQkFBMEI7Q0FXM0I7O0FBZEQ7RUFJWSxzQkFBcUI7Q0FBSTs7QUFKckM7RUFLYyxzQkFBcUI7RUFBRSxlQUFjO0NBQUk7O0FBTHZEO0VBT0csWUFBVztFQUNYLGFBQVk7RUFDWixXQUFVO0VBQ1Ysb0JDN0ZxQjtFRDhGckIsc0JBQXFCO0VBQ3JCLG1CQUFrQjtDQUNsQjs7QUFHSDtFSDlFRSxtQkFEcUM7RUFFckMsT0FBWTtFQUFHLFVBQVU7RUFDekIsU0FBWTtFQUFHLFFBQVE7RUFDdkIsWUFBZTtFQUFHLGFBQWE7RUc4RS9CLCtCQUE4QjtDQUMvQjs7QUFFRDtFQUNFLHVCQUEyQjtFQUMzQiw2QkFBK0I7RUFDL0IsNkJBQTZCO0NBQzlCOztBQUVELDREQUE0RDtBQUM1RDtFQUFpQyxtQkFBbUI7Q0FBSzs7QUFDekQ7RUFBK0IsaUJBQWlCO0NBQUs7O0FBQ3JEO0VBQWdDLGtCQUFrQjtDQUFLOztBQUV2RCw0REFBNEQ7QUFDNUQ7RUFDRSw2Q0FBcUM7VUFBckMscUNBQXFDO0VBQ3JDLFdBQWE7RUFDYixzQkFBd0I7Q0FDekI7O0FBRUQ7RUFDRTtJQUFLLFdBQVc7R0RpeUZmO0VDaHlGRDtJQUFNLFdBQVc7R0RteUZoQjtFQ2x5RkQ7SUFBTyxXQUFXO0dEcXlGakI7Q0FDRjs7QUN6eUZEO0VBQ0U7SUFBSyxXQUFXO0dEaXlGZjtFQ2h5RkQ7SUFBTSxXQUFXO0dEbXlGaEI7RUNseUZEO0lBQU8sV0FBVztHRHF5RmpCO0NBQ0Y7O0FJdDZGRCxtRkFBbUY7QUFDbkYscUNBQXFDO0FBQ3JDLG1GQUFtRjtBQUVuRixpREFBaUQ7QUFDakQ7RUFBTywyQkFBMkI7Q0FBSzs7QUFHdkMsdUVBQXVFO0FBQ3ZFO0VBQ0UsZ0JBQWdCO0NBQ2pCOztBQUVEO0VBQ0UsZ0JBQWtCO0VBQ2xCLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLFlBQXVCO0VBQ3ZCLHVCQUF1QjtFQUN2QixtQkFBdUI7Q0FDeEI7O0FBRUQ7RUFDRSx5QkFBeUI7RUFDekIsMENBQStDO0NBQ2hEOztBQUdELGlEQUFpRDtBQUNqRDtFQUF1QixvQkFBb0I7Q0FBSzs7QUFFaEQ7RUFDRSxtQkFBc0I7RUFDdEIsdUJDMkRXO0VEMURYLDJDQUF5QztFQUF6QyxtQ0FBeUM7Q0FLMUM7O0FBUkQ7RUFNSSwwQkZyQ29CO0NFc0NyQjs7QUFHSDtFQUVJLHFDQUE0QjtFQUE1Qiw2QkFBNEI7Q0FDN0I7O0FBSEg7OztFQU9JLFdBQVU7Q0FDWDs7QUFSSDs7O0VBWUksV0FBVTtDQUNYOztBQWJIOzs7O0VBa0JJLFFBQU87RUFDUCx3Q0FBK0I7VUFBL0IsZ0NBQStCO0NBQ2hDOztBQUlILG9EQUFvRDtBQUNwRDtFQUNFLHVCQUF1QjtFQUN2QixpQkFBb0I7Q0FNckI7O0FBUkQ7RUFLSSx1QkFBdUI7RUFDdkIsWUFBc0I7Q0FDdkI7O0FBSUgsb0RBQW9EO0FBQ3BEOzs7Ozs7O0VOa0JJLGlCTVhzQjtDQUN6Qjs7QUFFRDs7O0VBR0UsWUFBWTtDQUNiOztBRTlGRCxtRkFBbUY7QUFDbkYsNkJBQTZCO0FBQzdCLG1GQUFtRjtBQUVuRjtFUm1CRSxnQlFsQjZCO0VSbUI3QixPQUFZO0VBQUcsVUFBVTtFQUN6QixTQUFZO0VBQUcsUUFBUTtFQUN2QixZQUFlO0VBQUcsYUFBYTtFUXBCN0IsZUFBa0I7RUFDbEIsaUJBQWlCO0NBOEJwQjs7QUFqQ0Q7RUFNUSxZQUFXO0VBQ1gsZ0JBQWU7RUFDZixTQUFRO0VBQ1IsVUFBUztFQUNULGtCQUFpQjtFQUNqQixtQkFDSjtDQUFFOztBQVpOO0VBZVEsWUFBVztFQUNYLGFBQVk7RUFDWixtQkFBa0I7RUFDbEIsc0JBQXFCO0VBQ3JCLG9CSnJCZ0I7RUlzQmhCLDhDQUFxQztVQUFyQyxzQ0FBcUM7RUFDckMsdUNBQThCO1VBQTlCLCtCQUE4QjtDQVdqQzs7QUFoQ0w7RUF3QlksOENBQXFDO1VBQXJDLHNDQUFxQztFQUNyQyxZQUFXO0VBQ1gsYUFBWTtFQUNaLG1CQUFrQjtFQUNsQixtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFFBQU87Q0FDVjs7QUFJVDtFQUNJO0lBQ0ksNEJBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQixXQUNKO0dONmdHRDtFTTVnR0M7SUFDSSw0QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLFdBQ0o7R042Z0dEO0NBQ0Y7O0FNdGhHRDtFQUNJO0lBQ0ksNEJBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQixXQUNKO0dONmdHRDtFTTVnR0M7SUFDSSw0QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLFdBQ0o7R042Z0dEO0NBQ0Y7O0FPN2pHRCxtRkFBbUY7QUFDbkYsd0JBQXdCO0FBQ3hCLG1GQUFtRjtBQUVuRjtFQUNFLGdCQUF3QjtFQUN4QixjQUF1QjtFQUN2QixtQkFBeUI7RUFDekIsWUFBdUI7RUFDdkIsYUFBdUI7RUFDdkIsWUFBdUI7RUFDdkIsMkNBQTBDO1VBQTFDLG1DQUEwQztFQUMxQyxtQ0FBaUM7RUFBakMsMkJBQWlDO0VBQ2pDLGNBQXVCO0VBQ3ZCLG9CQUF1QjtFQUN2QiwwQkxic0I7RUtjdEIsV0FBb0I7RUFDcEIsZUFBb0I7RUFDcEIsbUJBQXlCO0NBZ0MxQjs7QUE5Q0Q7RUFnQkksd0NBQWlDO1VBQWpDLGdDQUFpQztFQUNqQyxXQUFjO0VBQ2Qsb0JBQW9CO0NBQ3JCOztBQW5CSDtFQXNCSSxZQUFxQjtFQUNyQixhQUFxQjtFQUNyQixrQkFBcUI7RUFDckIsWUFBcUI7RUFDckIsc0JBQTZCO0VBQzdCLFdBQWtCO0VBQ2xCLGdCQUFxQjtFQUNyQix1QkFBdUI7Q0FDeEI7O0FBOUJIO0VBaUNJLG1CQUFxQjtFQUNyQixtQkFBb0I7RUFDcEIsb0JBQXVCO0VBQ3ZCLGNBQXFCO0VBQ3JCLGdCQUFxQjtFQUNyQiwwQkFBMEI7RUFDMUIsdUJBQXVCO0NBQ3hCOztBQXhDSDtFQTJDSSxpQkFBaUI7RUFDakIsWUFBaUI7Q0FDbEI7O0FDakRILG1GQUFtRjtBQUNuRixzQkFBc0I7QUFDdEIsbUZBQW1GO0FBRW5GO0VBQ0UsbUJBQW1CO0VBRW5CLGFBQWM7Q0F1QmY7O0FBMUJEO0VWZ0RFLFVBQVc7RUFDWCxXQUFXO0VBQ1gsVUFBVztFQUdULGlCQUFpQjtDVTlCbEI7O0FBdkJIO0VBU00sa0JBQWtCO0VBQ2xCLGdCQUFvQjtDQVlyQjs7QUF0Qkw7RUFhUSxzQkFBd0I7RUFDeEIsZ0JBQWdCO0VBQ2hCLG1CQUFxQjtFQUNyQixZQUFnQjtDQUNqQjs7QUFqQlA7RUFvQlksZU50Qlk7Q01zQmM7O0FMNkNsQztFS2pFSjtJQXlCdUMsY0FBYztHQUNwRDtDUnduR0E7O0FTdHBHRCxZQUFZO0FBRVo7RUFDRSxtQkFBc0M7RUFDdEMsZUFBbUM7RUFDbkMsK0JBQXdDO1VBQXhDLHVCQUF3QztFQUN4Qyw0QkFBa0M7RUFDbEMsMEJBQWtDO0VBRWxDLHVCQUFrQztFQUNsQyxzQkFBa0M7RUFDbEMsa0JBQWtDO0VBQ2xDLHdCQUFtQztFQUNuQyxvQkFBbUM7RUFDbkMseUNBQXlDO0NBWTFDOztBQXhCRDtFQWdCTSxZQUFjO0VBQ2QsV0FBVztDQUNaOztBQWxCTDtFQW9CTSxXQUFjO0VBQ2QsV0FBVztDQUNaOztBQUlMO0VBQ0UsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixlQUFnQjtFQUNoQixVQUFZO0VBQ1osV0FBWTtDQVViOztBQWZEO0VBUUksY0FBYztDQUNmOztBQVRIO0VBWUksZ0JBQWdCO0VBQ2hCLGFBQWE7Q0FDZDs7QUFHSDs7RUFFRSx3Q0FBd0M7RUFJeEMsZ0NBQXdDO0NBQ3pDOztBQUVEO0VBQ0UsbUJBQW1CO0VBQ25CLFFBQVk7RUFDWixPQUFZO0VBQ1osZUFBZ0I7Q0FlakI7O0FBbkJEO0VBUUksWUFBWTtFQUNaLGVBQWU7Q0FDaEI7O0FBVkg7RUFhSSxZQUFZO0NBQ2I7O0FBRUQ7RUFDRSxtQkFBbUI7Q0FDcEI7O0FBR0g7RUFDRSxZQUFpQjtFQUNqQixhQUFpQjtFQUNqQixnQkFBZ0I7RUFZaEIsY0FBaUI7Q0FtQmxCOztBVDBuR0Q7RVN2cEdJLGFBQWE7Q0FDZDs7QUFOSDtFQVFJLHNCQUF3QjtFQUN4QixnQkFBZ0I7RUFBRyxhQUFhO0NBQ2pDOztBQVZIO0VBWUksY0FBYztDQUNmOztBQWJIO0VBa0JJLHFCQUFxQjtDQUN0Qjs7QUFFRDtFQUNFLGVBQWU7Q0FDaEI7O0FBRUQ7RUFDRSxtQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSxlQUFlO0VBQ2YsYUFBYztFQUNkLDhCQUErQjtDQUNoQzs7QUFHSDtFQUNFLGNBQWM7Q0FDZjs7QUFFRDtFQUNFLG1CQUE2QjtFQUM3QixRQUFzQjtFQUFHLE9BQU87RUFBRyxVQUFVO0VBQzdDLFdBQXdCO0VBQ3hCLGFBQXdCO0VBQ3hCLGVBQTRCO0VBQzVCLFVBQXNCO0VBQ3RCLHlCQUFvQztFQUNwQyx3QkFBZ0M7RUFDaEMseUJBQXlCO0VBQ3pCLGFBQXNCO0VBQ3RCLHNCQUFpQztFQUNqQyxXQUFzQjtFQUN0QixlQUFzQjtFQUN0QixhQUF3QjtDQXlEekI7O0FBdkVEO0VBZ0JZLFdBQVc7Q0FBSzs7QUFoQjVCO0VBbUJJLDhCUDNIZ0M7RU80SGhDLGlCQUFxQjtFQUNyQixnQkFBa0I7Q0FDbkI7O0FBdEJIO0VBeUJJLFdBQVk7RUFDWixTQUFTO0NBR1Y7O0FBN0JIO0VBNEJlLGlCQUFrQjtDQUFHOztBQTVCcEM7RUFnQ0ksYUFBb0I7RUFFcEIscUJBQXFCO0NBQ3RCOztBQW5DSDtFQXNDSSxnQkFBc0I7RUFDdEIsaUJBQXNCO0VBQ3RCLGdCQUF5QjtFQUN6QixtQkFBMEI7RUFDMUIsU0FBcUI7RUFDckIsbUJBQXdCO0VBQ3hCLGtCQUF1QjtFQUN2Qiw4QkFBMkI7RUFBM0Isc0JBQTJCO0VBQzNCLHNCQUFzQjtFQUN0QixtQkFBcUI7RUFDckIsWUFBc0I7RUFDdEIsYUFBc0I7RUFDdEIsa0JBQXNCO0NBb0J2Qjs7QUF0RUg7RUFvRGUsY0FBYztDQUFLOztBQXBEbEM7RUF1RE0sbUJBQW1CO0VBQ25CLFlBQWU7Q0FDaEI7O0FBekRMO0VBMkRjLG9CUDVLVTtDTzRLcUI7O0FBM0Q3QztFQTREZ0IsWUFBWTtDQUFLOztBQTVEakM7RUErRE0sU0FBVztFQUNYLFdBQVc7Q0FDWjs7QUFqRUw7RUFtRU0sUUFBVztFQUNYLFdBQVc7Q0FDWjs7QUFJTDtFWHhJRSxVQUFXO0VBQ1gsV0FBVztFQUNYLFVBQVc7RUFHVCxpQkFBaUI7RVdxSW5CLGlCQUFrQjtFQUNsQixRQUFlO0VBQUcsWUFBWTtFQUM5QixtQkFBb0I7RUFDcEIsYUFBaUI7RUFDakIsZUFBZTtFQUNmLGFBQWU7Q0F5QmhCOztBQWhDRDtFQVNTLHNCQUFzQjtDQUFLOztBQVRwQztFQVlJLG1CQUFnQztFQUNoQyxxQkFBNEI7RUFDNUIseUJBQXlCO0VBQ3pCLHNCQUFpQztFQUNqQyxZQUF3QjtFQUN4QixXQUF3QjtFQUN4QixtQkFBeUI7RUFDekIsa0JBQXlCO0VBQ3pCLFdBQXNCO0VBQ3RCLFVBQXNCO0VBQ3RCLHlCQUFvQztFQUNwQyxtQkFBd0I7RUFDeEIsaUJBQXlCO0VBQ3pCLDJDQUEyQztFQUEzQyxtQ0FBMkM7RUFDM0MscUJBQThCO0NBQy9COztBQTNCSDtFQThCSSwwQlB4Tm9CO0NPeU5yQjs7QUFHSDtFQUNFLG1CQUFxQjtFQUNyQixpQkFBcUI7RUFDckIsY0FBYztDQU1mOztBQVREO0VBTUksaUJBQWlCO0VBQ2pCLGdCQUFpQjtDQUNsQjs7QUN0T0gsbUZBQW1GO0FBQ25GLDBCQUEwQjtBQUMxQixtRkFBbUY7QUFDbkY7RUFDRSxtQkFBd0I7RUFDeEIsT0FBaUI7RUFBRyxRQUFRO0VBQzVCLFNBQWlCO0VBQ2pCLFlBQW9CO0VBQ3BCLGNBQWtDO0VBQ2xDLHdCQUEyQjtFQUMzQixZQUFvQjtFQUNwQixtQkFBeUI7RUFDekIscUNBQXFDO0NBQ3RDOztBQUVEO0VBQ0UscUJBQWtCO0VBQWxCLHFCQUFrQjtFQUFsQixjQUFrQjtFQUNsQiwwQkFBb0I7TUFBcEIsdUJBQW9CO1VBQXBCLG9CQUFvQjtDQUNyQjs7QUFHRCxtRkFBbUY7QUFDbkYseUNBQXlDO0FBQ3pDLG1GQUFtRjtBQUNuRjtFQUNFLDBCQUFtQjtLQUFuQix1QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLGtCQUFtQjtFQUNuQixlQUFzQjtFQUN0QixrQkFBcUI7RUFDckIsbUJBQW1CO0VBQ25CLGFBQWdCO0VBQ2hCLGVBQWdCO0NBZWpCOztBQXJCRDtFWjRCRSxVQUFXO0VBQ1gsV0FBVztFQUNYLFVBQVc7RVlwQlQsbUJBQW1CO0VBQ25CLGVBQW1CO0NBQ3BCOztBQVpIO0VBY2dCLGVScENRO0NRb0NpQjs7QUFkekM7RUFpQkksZ0JBQWdCO0VBQ2hCLGFBQWdCO0NBRWpCOztBQXBCSDtFQW1Ca0IsY0FBYztDQUFLOztBQUlyQztFQUNFLGFBQWdCO0VBQ2hCLGVBQWdCO0VBQ2hCLGtCQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsb0NBQXFDO0VBQ3JDLG1CQUFtQjtDQXNCcEI7O0FBNUJEO0VBU0ksdUJBQXVCO0NBQ3hCOztBQVZIO0VBYUksa0JBQW9CO0VBQ3BCLGVBQW1CO0VBQ25CLHNCQUF3QjtDQUl6Qjs7QUFuQkg7RUFpQlUsZ0JBQWdCO0NBQUs7O0FBakIvQjtFQWtCYyxhQUFhO0NBQUs7O0FBbEJoQztFQXNCSSxzQkFBeUI7RUFDekIsV0FBZ0I7RUFDaEIsYUFBaUI7RUFDakIseUJBQXlCO0VBQ3pCLGVBQW1CO0NBQ3BCOztBQUlILG1GQUFtRjtBQUNuRixnQ0FBZ0M7QUFDaEMsbUZBQW1GO0FBQ25GO0VBQ0Usa0JBQW1CO0VBQ25CLGVBQWU7Q0FDaEI7O0FBRUQ7RVpsQ0UsVUFBVztFQUNYLFdBQVc7RUFDWCxVQUFXO0VBR1QsaUJBQWlCO0VZZ0NuQixnQkFBbUI7RUFDbkIsYUFBYTtDQW9IZDs7QUF4SEQ7RUNwRkksZUFBYztFQUNkLFlBQVc7RUFDWCxZQUFXO0NBQ1o7O0FEaUZIO0VBUUksbUJBQW9CO0VBQ3BCLHNCQUF3QjtDQTJCekI7O0FBcENIO0VBWU0sc0JBQWtDO0VBQ2xDLGdCQUEwQjtFQUMxQixvQkFBNEI7RUFDNUIsbUJBQStCO0VBQy9CLGlCQUF5QjtFQUN6QixlQUE2QjtFQUM3QiwwQkFBK0I7RUFDL0Isd0RBQWdEO0VBQWhELGdEQUFnRDtDQUNqRDs7QUFwQkw7RUF1Qk0sa0JBQWtCO0VBQ2xCLGlCQUFzQjtFQUN0QixnQkFBbUI7RUFDbkIsOEJSckc4QjtDUXNHL0I7O0FBM0JMO0VBNkJrQixhQUFZO0NBQUs7O0FBN0JuQztFQWdDTSxXQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLFlBQWlCO0NBQ2xCOztBQW5DTDtFWmxDRSxVQUFXO0VBQ1gsV0FBVztFQUNYLFVBQVc7RUFHVCxpQkFBaUI7RVlzRWpCLDRDQUFxQztVQUFyQyxvQ0FBcUM7RUFDckMsNkVBQTZEO0VBQTdELHFFQUE2RDtFQUE3RCw2REFBNkQ7RUFBN0Qsc0ZBQTZEO0VBQzdELFdBQWM7RUFDZCxtQkFBbUI7RUFDbkIsbUJBQXFCO0VBQ3JCLFVBQWlCO0VBQUcsUUFBUTtFQUM1QixvREFBNEM7VUFBNUMsNENBQTRDO0VBQzVDLGlCQUFpQjtFQUNqQixpQkFBaUI7Q0FpRGxCOztBQWxHSDtFQW9ETSxXQUFZO0VBQ1osU0FBUztDQUNWOztBQXRETDtFQXlETSxzQkFBdUI7RUFDdkIsbUJBQW1CO0NBMEJwQjs7QUFwRkw7RUE2RFEsbUJBQThCO0VBQzlCLHNCQUFrQztFQUNsQyxtQkFBK0I7RUFDL0IsZ0JBQTBCO0VBQzFCLFlBQTBCO0VBQzFCLGFBQTJCO0VBQzNCLGtCQUEwQjtFQUMxQixvQkFBNEI7RUFDNUIsd0NBQWdDO0VBQWhDLGdDQUFnQztFQUNoQywyQkFBZ0M7RUFDaEMsMkJBQW9DO0NBQ3JDOztBQXhFUDtFQTJFUSxZQUFtQjtFQUNuQixtQkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLGlCQUFzQjtFQUN0QixnQkFBbUI7RUFDbkIsOEJSM0o0QjtDUTRKN0I7O0FBakZQO0VBbUZvQixvQkFBb0I7Q0FBSzs7QUFuRjdDO0VBd0ZNLDRDQUFvQztVQUFwQyxvQ0FBb0M7RUFDcEMsV0FBZ0I7RUFDaEIsT0FBYTtDQU9kOztBQWpHTDtFQTZGUSwyQ0FBbUM7VUFBbkMsbUNBQW1DO0VBQ25DLFlBQWdCO0VBQ2hCLFdBQWdCO0NBQ2pCOztBQWhHUDtFQXNHSSwyQkFBMkI7Q0FRNUI7O0FBOUdIO0VBeUdNLGFBQXFCO0VBQ3JCLGNBQWlCO0VBQ2pCLDhCQUE4QjtFQUM5Qiw2QkFBOEI7Q0FDL0I7O0FBN0dMO0VacUJJLG1CWTBGZ0U7RVp0RmxFLFdZc0ZrRTtDQUFpQjs7QUEvR3JGO0VacUJJLG1CWTJGZ0U7RVp2RmxFLFdZdUZrRTtDQUFpQjs7QUFoSHJGO0VBb0hJLHdDQUFpQztVQUFqQyxnQ0FBaUM7RUFDakMsV0FBYztFQUNkLG9CQUFvQjtDQUNyQjs7QUU3TUgsbUZBQW1GO0FBQ25GLG1DQUFtQztBQUNuQyxtRkFBbUY7QUFFbkY7RUFDRSxrREFBMEM7RUFBMUMsMENBQTBDO0VBQzFDLFdBQWM7RUFDZCxtQkFBbUI7Q0FDcEI7O0FBRUQ7RWRhRSxtQkFEcUM7RUFFckMsT0FBWTtFQUFHLFVBQVU7RUFDekIsU0FBWTtFQUFHLFFBQVE7RUFDdkIsWUFBZTtFQUFHLGFBQWE7RWNkL0IsY1Bxa0I4QjtFT3BrQjlCLGdDQUFzQjtDQUN2Qjs7QUFFRDtFZE9FLG1CQURxQztFQUVyQyxPQUFZO0VBQUcsVUFBVTtFQUN6QixTQUFZO0VBQUcsUUFBUTtFQUN2QixZQUFlO0VBQUcsYUFBYTtFY1IvQixjQUFrQztFQUNsQyxnQ0FBbUM7RUFDbkMsc0NBQXNDO0VBQ3RDLGlCQUFzQjtDQUN2Qjs7QUFFRDtFQUNFLG1CQUFzQjtFQUN0QixvQ0FBOEI7VUFBOUIsNEJBQThCO0VBQzlCLFNBQWlCO0VBQUcsVUFBVTtFQUM5QixvQkFBb0I7RUFDcEIsYUFBbUI7RUFDbkIsaUJBQWtCO0VBQ2xCLG1CQUFvQjtFQUNwQixpQkFBa0I7RUFDbEIsbUJBQW9CO0NBQ3JCOztBQUdELHNEQUFzRDtBQUN0RDtFQUNFLHNCQUE2QjtFQUM3Qix1QkFBdUI7RUFDdkIsbUJBQXlCO0VBQ3pCLGdCQUFxQjtFQUNyQixjQUFtQztFQUNuQyxlQUF1QjtFQUN2QixhQUFzQjtFQUN0QixZQUFvQjtFQUNwQixlQUF3QjtFQUN4Qix5QkFBcUI7RUFBckIsaUJBQXFCO0NBMEJ0Qjs7QUFwQ0Q7RUFhSSxlQUFrQjtFQUNsQixtQkFBcUI7RUFDckIsWUFBZ0I7RUFDaEIsWUFBaUI7RUFDakIseUJBQXlCO0VBQ3pCLFdBQWM7RUFDZCxRQUFjO0VBQ2QsZ0NBQXlCO1VBQXpCLHdCQUF5QjtFQUN6QixxREFBNkM7RUFBN0MsNkNBQTZDO0NBSzlDOztBQTFCSDtFQXVCcUIsT0FBTTtDQUFLOztBQXZCaEM7RUF3QnFDLFNBQVE7RUFBRyxpQkFBZ0I7Q0FBSzs7QUF4QnJFO0VBeUJxQixVQUFTO0NBQUs7O0FBR2pDO0VBQ21CLFNBQVE7RUFBRyxTQUFRO0VBQUcsVUFBUztDQUFLOztBQUR2RDtFQUVtQixpQ0FBeUI7VUFBekIseUJBQXlCO0NBQUk7O0FBRmhEO0VBR21CLGtDQUEwQjtVQUExQiwwQkFBMEI7Q0FBSTs7QUFIakQ7RUFJbUIsWUFBVztFQUFHLFNBQVE7RUFBRyxVQUFTO0NBQUs7O0FBTTVELG9EQUFvRDtBQUNwRDtFQUNFLGlCQUFpQjtFQUNqQixhQUFjO0VBQ2QsV0FBYztDQVdmOztBQWREO0VBTUksc0JBQXdCO0VBQ3hCLGVWbEZvQjtFVW1GcEIsZ0JBQWtCO0VBQ2xCLFdBQWE7RUFDYixnQkFBZ0I7Q0FHakI7O0FBYkg7RUFZYyxZQUFZO0NBQUs7O0FBSS9CLHNEQUFzRDtBQUN0RDtFZDFDRSxVQUFXO0VBQ1gsV0FBVztFQUNYLFVBQVc7RUFHVCxpQkFBaUI7Q2MyRnBCOztBQXRERDtFQUdzQixlVi9GRTtDVStGd0I7O0FBSGhEO0VBS2tDLG1CQUFtQjtDQUFLOztBQUwxRDtFQU9JLGlCQUFxQjtFQUNyQiw4QlYzRmdDO0VVNEZoQyxpQkFBaUI7RUFDakIsZ0JBQWtCO0VBQ2xCLG1CQUFzQjtFQUN0QixTQUFpQjtFQUNqQixnQkFBaUI7RUFDakIsZUFBZTtFQUNmLG9DQUE4QjtVQUE5Qiw0QkFBOEI7Q0FDL0I7O0FBaEJIO0VBbUJJLG1CQUFtQjtFQUNuQixXQUFZO0NBYWI7O0FBakNIO0VBdUJNLGdCQUFxQjtFQUNyQixrQkFBcUI7RUFDckIsMEJBQTBCO0VBQzFCLG9CQUFxQjtFQUNyQixlQUFzQjtFQUN0QixZQUFxQjtFQUNyQixpQkFBb0I7Q0FHckI7O0FBaENMO0VBK0JnQixlVjNIUTtDVTJIa0I7O0FBL0IxQztFZDFDRSxVQUFXO0VBQ1gsV0FBVztFQUNYLFVBQVc7RUFHVCxpQkFBaUI7RWMwRWpCLGtCQUFtQjtFQUNuQixjQUFjO0NBZWY7O0FBckRIO0VBeUNNLGdCQUFxQjtFQUNyQixpQkFBb0I7RUFDcEIsbUJBQXVCO0VBQ3ZCLG9CQUFxQjtFQUNyQixZQUFxQjtFQUNyQixxQkFBcUI7RUFDckIsZUFBc0I7Q0FHdkI7O0FBbERMO0VBaURnQixlVjdJUTtDVTZJa0I7O0FBakQxQztFQW9EZ0IsaUJBQWlCO0NBQUs7O0FBSXRDLG9EQUFvRDtBQUNwRDtFQUVJLG1CQUFtQjtFQUNuQixhQUFlO0VBQ2YsaUJBQWlCO0NBQ2xCOztBQUxIO0VBUUksV0FBYztFQUNkLG9CQUFvQjtDQUNyQjs7QUFWSDtFZDVDSSx1RGMwRGdFO0VkdERsRSwrQ2NzRGtFO0NBQy9EOztBQWZMO0VBbUJpQixjQUFjO0NBQUs7O0FBbkJwQztFQW9Ca0IsZUFBZTtDQUFLOztBQUl0QztFQUNFO0lBQ0UsV0FBYztJQUNkLG1CQUFtQjtJQUNuQixvQ0FBNkI7WUFBN0IsNEJBQTZCO0dadXJIOUI7RVlyckhEO0lBQ0UsV0FBYztJQUNkLG9CQUFvQjtJQUNwQixpQ0FBMEI7WUFBMUIseUJBQTBCO0dadXJIM0I7Q0FDRjs7QVlqc0hEO0VBQ0U7SUFDRSxXQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLG9DQUE2QjtZQUE3Qiw0QkFBNkI7R1p1ckg5QjtFWXJySEQ7SUFDRSxXQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLGlDQUEwQjtZQUExQix5QkFBMEI7R1p1ckgzQjtDQUNGOztBYWgzSEQsbUZBQW1GO0FBQ25GLHdCQUF3QjtBQUN4QixtRkFBbUY7QUFDbkY7RWZpREUsVUFBVztFQUNYLFdBQVc7RUFDWCxVQUFXO0VBL0JYLGdCZWxCMkI7RWZtQjNCLE9BQVk7RUFBRyxVQUFVO0VBQ3pCLFNBQVk7RUFBRyxRQUFRO0VBQ3ZCLFlBQWU7RUFBRyxhQUFhO0VlcEIvQixXQUF1QjtFQUN2QixnQ0FBeUM7RUFDekMsbUJBQTRCO0VBQzVCLHFDQUFzQztFQUF0Qyw2QkFBc0M7RUFDdEMsZUFBMkI7RUFDM0IscUJBQTBCO0VBQTFCLHFCQUEwQjtFQUExQixjQUEwQjtFQUMxQix5QkFBNEI7TUFBNUIsc0JBQTRCO1VBQTVCLHdCQUE0QjtFQUM1QiwwQkFBNEI7TUFBNUIsdUJBQTRCO1VBQTVCLG9CQUE0QjtDQThFN0I7O0FBeEZEO0VBYUksZ0JYMEMwQjtFV3pDMUIsMkNBQTBDO1VBQTFDLG1DQUEwQztFQUMxQyxhQUF3QjtFQUN4Qix5REFBK0M7RUFBL0MsaURBQStDO0VBQS9DLHlDQUErQztFQUEvQyxpRUFBK0M7RUFDL0MsZ0NBQXdCO1VBQXhCLHdCQUF3QjtFQUN4QixtQkFBeUI7RUFDekIsV0FBb0I7Q0FHckI7O0FBdEJIO0VBcUJhLG1CQUFtQjtDQUFLOztBQXJCckM7RUF5QkksbUJBQTZCO0VBQzdCLGVBQTBCO0VBQzFCLHlCQUF5QjtFQUN6Qix3QkFBZ0M7RUFDaEMsMEJBQXFDO0VBQ3JDLGFBQXlCO0VBQ3pCLGdCQUF5QjtFQUN6QixZQUF5QjtFQUN6Qiw4QkFBbUM7RUFDbkMsY0FBeUI7RUFDekIsWUFBeUI7Q0FHMUI7O0FBdENIO0VBcUNrQyxZQUFXO0NmZ0NEOztBZXJFNUM7RUFxQ2tDLFlBQVc7Q2ZpQ1Y7O0FldEVuQztFQXFDa0MsWUFBVztDZmtDWDs7QWV2RWxDO0VBcUNrQyxZQUFXO0NmbUNOOztBZXhFdkM7RUF5Q0kseUJBQXlCO0VBQ3pCLGFBQXlCO0VBQ3pCLHdCQUFnQztFQUNoQyxXQUFzQjtFQUN0QixnQkFBNEI7RUFDNUIsZ0JBQXlCO0VBQ3pCLFlBQXlCO0VBQ3pCLGtDQUFrQztFQUFsQywwQkFBa0M7RUFDbEMsY0FBeUI7RUFDekIsV0FBc0I7RUFDdEIsbUJBQTZCO0VBQzdCLE9BQXNCO0VBQ3RCLFVBQXNCO0VBQ3RCLFNBQXNCO0VBQ3RCLFlBQXlCO0VBQ3pCLGtCQUEwQjtFQUMxQixlQUEwQjtDQUczQjs7QUE1REg7RUEyRGMsV0FBVTtDQUFLOztBQTNEN0I7RUErREksbUJBQXNCO0VBQ3RCLFVBQWtCO0VBQ2xCLFlBQWtCO0VBQ2xCLGVBQWU7RUFDZixrQ0FBMkI7RUFBM0IsMEJBQTJCO0NBVTVCOztBQTdFSDtFQXNFTSxnQkFBZ0I7RUFDaEIsWUFBZ0I7Q0FDakI7O0FBeEVMO0VBMkVNLGFBQWE7Q0FDZDs7QUE1RUw7RUFnRkksV0FBYztFQUNkLG9CQUFvQjtDQU1yQjs7QUF2Rkg7RUFvRk0sd0NBQWdDO1VBQWhDLGdDQUFnQztFQUNoQyxXQUFhO0NBQ2Q7O0FDekZMLG1GQUFtRjtBQUNuRix5QkFBeUI7QUFDekIsbUZBQW1GO0FBQ25GO0VBQ0UsZ0JBQWtCO0VBQ2xCLHFDQUE2QjtFQUE3Qiw2QkFBNkI7Q0FNOUI7O0FBUkQ7RUFJTSxtQ0FBMkI7VUFBM0IsMkJBQTJCO0NBQUs7O0FBRXBDO0VBQW1CLFVBQVM7Q0FBSzs7QUFDakM7RUFBNEI7SUFBbUIsVUFBUztHQUFLO0NkbS9IOUQ7O0FjaC9IRDtFQUNFLGdCQUFzQjtFQUN0QixrQkFBcUI7RUFDckIscUJBQXFCO0NBUXRCOztBQVhEO0VBTUksZ0JBQWdCO0NBSWpCOztBQVZIO0VBUWlCLGVBQWU7Q0FBSzs7QUFSckM7RUFTa0IsY0FBYztDQUFLOztBQUlyQyxpRUFBaUU7QUFDakU7RUFDRSxtQkFBcUI7RUFDckIseUJBQWlCO0VBQWpCLGlCQUFpQjtDQVVsQjs7QUFaRDtFQUtJLE9BQU87Q0FDUjs7QUFOSDtFQVNJLGdCQUFpQjtFQUNqQiw0REFBb0Q7VUFBcEQsb0RBQW9EO0NBQ3JEOztBQUdIO0VBQ0U7SUFDRSw0Q0FBb0M7WUFBcEMsb0NBQW9DO0lBQ3BDLFdBQWE7R2R3L0hkO0Vjci9IRDtJQUNFLHdDQUFnQztZQUFoQyxnQ0FBZ0M7SUFDaEMsV0FBYTtHZHUvSGQ7Q0FDRjs7QWNoZ0lEO0VBQ0U7SUFDRSw0Q0FBb0M7WUFBcEMsb0NBQW9DO0lBQ3BDLFdBQWE7R2R3L0hkO0Vjci9IRDtJQUNFLHdDQUFnQztZQUFoQyxnQ0FBZ0M7SUFDaEMsV0FBYTtHZHUvSGQ7Q0FDRjs7QWNwL0hELHFEQUFxRDtBQUNyRDtFQUNFLGlCQUEwQjtFQUMxQiwwQkFBMEI7RUFDMUIsWUFBMEI7RUFDMUIsc0RBQXVEO1VBQXZELDhDQUF1RDtDQUN4RDs7QUFHRCxtRkFBbUY7QUFDbkYsNEJBQTRCO0FBQzVCLG1GQUFtRjtBWEsvRTtFV0hGO0lBQThCLGNBQWM7R0FBSztDZHcvSGxEOztBR2xnSUc7RVdjRjtJQUEyQyxjQUFjO0dBQUs7Q2QwL0gvRDs7QUczL0hHO0VXS0Y7SUFBYSw4QkFBOEI7R0FBSztFQUNoRDtJQUFpQyw2QkFBNkI7SUFBRyxvQlpqQnJDO0dZaUJnRjtFQUM1RztJQUFvQyxjQUFjO0dBQUs7Q2RpZ0l4RDs7QWU3a0lELG1GQUFtRjtBQUNuRix5QkFBeUI7QUFDekIsbUZBQW1GO0FBRW5GO0VBQ0UsY0FBYztDQUNmOztBQUVEO0VBQ0UsaUJBQWlCO0VBQ2pCLFlBQWlCO0NBd0JsQjs7QUExQkQ7RUFLSSxnQkFBZ0I7RUFDaEIsVUFBWTtFQUFHLFFBQVE7Q0FLeEI7O0FBWEg7RUFTTSxlQUFlO0NBQ2hCOztBQVZMO0VBY0ksbUJBQW9CO0VBQ3BCLG9CQUFvQjtDQVVyQjs7QUF6Qkg7RUFpQk0sbUJBQW9CO0VBQ3BCLG9CQUFvQjtDQU1yQjs7QUF4Qkw7RUFvQlEsbUJBQW9CO0VBQ3BCLG9CQUFvQjtDQUVyQjs7QVpzQ0g7RVk3REo7SUFzQjZDLGtCQUFrQjtJQUFHLHFCQUFxQjtHQUNoRjtDZjBsSU47O0FlcmxJRDtFQUNFLG1CQUF5QjtFQUN6QixtQkFBc0I7RUFDdEIsc0JBQXNCO0VBQ3RCLDhCQUErQjtFQUMvQixZQUFxQjtDQXVFdEI7O0FaM0NHO0VZakNKO0lBT3VDLGtCQUFrQjtJQUFHLHFCQUFxQjtJQUFHLG1CQUFvQjtHQXFFdkc7Q2Z5aElBOztBZXJtSUQ7RUFTb0IsWUFBWTtDQUFLOztBQVRyQztFQWFNLGFBQW1CO0VBQ25CLGlCQUFvQjtFQUNwQixpQkFBaUI7Q0FrQmxCOztBQWpDTDtFQWlCUSxzQkFBNEI7RUFDNUIsaUJBQW9CO0VBQ3BCLG9CQUFvQjtDQWFyQjs7QUFoQ1A7RUFxQlUsZWJ2RGM7RWF3RGQsbUJBQW1CO0VBQ25CLGdCQUFvQjtFQUNwQixzQkFBNEI7RUFDNUIsbUJBQXNCO0VBQ3RCLG1DQUE4QjtFQUE5QiwyQkFBOEI7Q0FLL0I7O0FBL0JUO0VBNEJZLFlBQWlCO0VBQ2pCLG1DQUEyQjtFQUEzQiwyQkFBMkI7Q0FDNUI7O0FBOUJYO0VBcUNTLG1CQUFtQjtFQUFHLFVBQVU7Q0FvQnBDOztBQXpETDtFQXVDUSxpQkFBaUI7RUFBRyx1QkFBdUI7Q0FpQjVDOztBQXhEUDtFQXdDdUIsa0JBQWtCO0NBQUs7O0FBeEM5QztFQTBDVSxpQkFBaUM7RUFDakMsOEJBQTBDO0VBQzFDLGVBQWlDO0VBQ2pDLGdCQUE4QjtFQUM5QixvQ0FBcUM7RUFDckMsbUNBQW1DO0VBQ25DLFNBQTZCO0VBQzdCLHNCQUFzQztFQUN0QyxtQkFBa0M7RUFDbEMsbUJBQThCO0VBQzlCLGVBQTJCO0VBQzNCLGFBQThCO0VBQzlCLG1CQUErQjtDQUNoQzs7QUF2RFQ7RUE2REksa0JBQWtCO0NBY25COztBQTNFSDtFQStEUyxXQUFXO0VBQUcsVUFBVTtDQVE1Qjs7QUF2RUw7RUFpRVEsaUJBQWlCO0VBQ2pCLFlBQWlCO0VBQ2pCLFdBQWdCO0VBQ2hCLGFBQWdCO0NBRWpCOztBQXRFUDtFQXFFYyxnQkFBZ0I7Q0FBSzs7QUFyRW5DO0VBeUVRLHNCQUFzQjtFQUFHLHFDQUE2QjtFQUE3Qiw2QkFBNkI7Q0FBSzs7QUF6RW5FO0VBMEVjLGFBQWE7Q0FBSzs7QUFJaEM7RUFDRSxtQkFBc0I7RUFDdEIsZ0JBQW9CO0VBQ3BCLFlBQWtCO0VBQ2xCLGtCQUFvQjtFQUNwQixlQUFlO0NBa0NoQjs7QUF2Q0Q7RUFRSSxxQkFBa0I7RUFBbEIscUJBQWtCO0VBQWxCLGNBQWtCO0VBQ2xCLDBCQUFvQjtNQUFwQix1QkFBb0I7VUFBcEIsb0JBQW9CO0NBQ3JCOztBQVZIO0VBYUksWUFBWTtDQUViOztBQWZIO0VBY2MsZWI5SFU7Q2E4SGdCOztBQWR4QztFQWtCSSxrQkFBa0I7Q0FhbkI7O0FBL0JIO0VqQjlERSxVQUFXO0VBQ1gsV0FBVztFQUNYLFVBQVc7RUFHVCxpQkFBaUI7Q2lCNkVzQjs7QUFwQjNDO0VBc0JNLGdCQUFnQjtDQVFqQjs7QUE5Qkw7RUF5QlEsYUFBYTtFQUNiLGdCQUFnQjtDQUNqQjs7QUEzQlA7RUE2QjJCLGNBQWU7Q0FBRzs7QVoxRXpDO0VZNkNKO0lBa0NJLG1CQUFtQjtHQUt0QjtFQXZDRDtJQW1DbUIsb0JBQWdCO1FBQWhCLGdCQUFnQjtHQUFLO0VBbkN4QztJQW9Dd0IsOEJBQWlCO1FBQWpCLGlCQUFpQjtHQUFLO0VBcEM5QztJQXFDNEMsa0JBQWtCO0dBQUs7Q2Z1b0lsRTs7QWdCOXhJRCxtRkFBbUY7QUFDbkYsdUJBQXVCO0FBQ3ZCLG1GQUFtRjtBQUVuRixxREFBcUQ7QUFDckQ7RUFDRSxtQkFBc0I7RUFDdEIsaUJBQW9CO0VBQ3BCLG1CQUFvQjtFQUNwQixZQUFrQjtFQUNsQixZQUFrQjtFQUNsQiwwQ0FBMEM7RUFDMUMsMEJBQWtCO0tBQWxCLHVCQUFrQjtNQUFsQixzQkFBa0I7VUFBbEIsa0JBQWtCO0NBcUduQjs7QUE1R0Q7RWxCa0JFLG1CQURxQztFQUVyQyxPQUFZO0VBQUcsVUFBVTtFQUN6QixTQUFZO0VBQUcsUUFBUTtFQUN2QixZQUFlO0VBQUcsYUFBYTtFQUsvQix1QkFBMkI7RUFDM0IsNEJBQTRCO0VBQzVCLDZCQUErQjtFa0JoQjdCLFlBQVk7Q0FtQmI7O0FBL0JIO0VsQmtCRSxtQkFEcUM7RUFFckMsT0FBWTtFQUFHLFVBQVU7RUFDekIsU0FBWTtFQUFHLFFBQVE7RUFDdkIsWUFBZTtFQUFHLGFBQWE7RWtCTDNCLGlCQUFpQjtFQUNqQixjQUFpQjtFQUNqQixZQUFlO0VBQ2YsWUFBZTtDQUNoQjs7QUFwQkw7RUF1Qk0sY0FBYztDQUNmOztBQXhCTDtFbEJpQ0UscUJBRDZCO0VBRTdCLGtCQUY2QjtFQUszQixrQ0FBc0M7RWtCVHBDLFlBQVk7RUFDWixhQUFhO0NBQ2Q7O0FBOUJMO0VsQmtCRSxtQkFEcUM7RUFFckMsT0FBWTtFQUFHLFVBQVU7RUFDekIsU0FBWTtFQUFHLFFBQVE7RUFDdkIsWUFBZTtFQUFHLGFBQWE7RWtCYzdCLG1EQUFtRDtFQUNuRCxZQUFlO0NBQ2hCOztBQXJDSDtFQXdDSSxtQkFBbUI7RUFDbkIsWUFBYTtFQUNiLG1CQUFvQjtDQWlEckI7O0FiM0JDO0VhaEVKO0lBNEN5QyxtQkFBbUI7R0ErQ3pEO0NoQjR3SUY7O0FnQnYySUQ7RUE4Q21DLFlBQVk7Q0FBSzs7QUE5Q3BEO0VBaURNLFlBQVk7Q0FDYjs7QUFsREw7RUFxRE0sd0JBQXdCO0NBSXpCOztBQXpETDtFQXVEUSxZQUFVO0NBQ1g7O0FBeERQO0VBNERNLHNCQUFxQjtDQU10Qjs7QUFsRUw7RUErRFEsc0JBQXFCO0VBQ3JCLG9CQUFtQjtDQUNwQjs7QUFqRVA7RUFxRU0sWUFBb0I7RUFDcEIsaUJBQXFCO0VBQ3JCLGtCQUFvQjtFQUNwQixtQkFBb0I7Q0FFckI7O0FBMUVMO0VBeUVxQixpQkFBaUI7Q0FBSzs7QUF6RTNDO0VBNkVNLGtCQUFvQjtFQUNwQixvQkFBb0I7RUFDcEIsa0JBQXdCO0VBQ3hCLGlEQUE0QztVQUE1Qyx5Q0FBNEM7Q0FDN0M7O0FBakZMO0VBb0ZNLHNCQUFxQjtDQUN0Qjs7QUFyRkw7RUF3Rk0sZ0JBQWU7RUFDZixrQkFBaUI7Q0FDbEI7O0FBMUZMO0VBOEZJLGNBQWM7RUFDZCxrQkFBaUI7Q0FJbEI7O0FBbkdIO0VBaUdNLDZCQUE4QjtDQUMvQjs7QUFsR0w7RUFzR0kseUNBQWlEO1VBQWpELGlDQUFpRDtFQUNqRCxxQ0FBNkI7VUFBN0IsNkJBQTZCO0VBQzdCLHNDQUFvQztVQUFwQyw4QkFBb0M7Q0FDckM7O0FBekdIO0VBMkdtQyxrQkFBaUI7Q0FBSzs7QUFHekQ7RUFDRTtJQUNFLDRCQUFvQjtZQUFwQixvQkFBb0I7R2hCbTBJckI7RWdCaDBJRDtJQUNFLCtCQUF1QjtZQUF2Qix1QkFBdUI7R2hCazBJeEI7Q0FDRjs7QWdCejBJRDtFQUNFO0lBQ0UsNEJBQW9CO1lBQXBCLG9CQUFvQjtHaEJtMElyQjtFZ0JoMElEO0lBQ0UsK0JBQXVCO1lBQXZCLHVCQUF1QjtHaEJrMEl4QjtDQUNGOztBZ0IveklEO0VBQ0UsZUFBa0I7RUFDbEIsa0ZkcEQwRjtFY3NEMUYsaUJkckR5QjtFY3NEekIsMkJBQTJCO0VBQzNCLHNCQUF1QjtDQW1CeEI7O0FBekJEO0VBUWlCLGlCQUFpQjtDQUFLOztBQVJ2QztFQVcwQixrQkFBeUI7Q0FBSTs7QUFYdkQ7RUFXMEIsbUJBQXlCO0NBQUk7O0FBWHZEO0VBVzBCLHNCQUF5QjtDQUFJOztBQVh2RDtFQVcwQixvQkFBeUI7Q0FBSTs7QUFYdkQ7RUFXMEIsbUJBQXlCO0NBQUk7O0FBWHZEO0VBVzBCLHNCQUF5QjtDQUFJOztBYm5FbkQ7RWF3REo7SUFnQjRCLGtCQUE4QjtHQUFJO0VBaEI5RDtJQWdCNEIsa0JBQThCO0dBQUk7RUFoQjlEO0lBZ0I0QixzQkFBOEI7R0FBSTtFQWhCOUQ7SUFnQjRCLGtCQUE4QjtHQUFJO0VBaEI5RDtJQWdCNEIsbUJBQThCO0dBQUk7RUFoQjlEO0lBZ0I0QixzQkFBOEI7R0FBSTtDaEJ3Mkk3RDs7QUdoN0lHO0Vhd0RKO0lBc0I0QixnQkFBK0I7R0FBSTtFQXRCL0Q7SUFzQjRCLGtCQUErQjtHQUFJO0VBdEIvRDtJQXNCNEIsZ0JBQStCO0dBQUk7RUF0Qi9EO0lBc0I0QixtQkFBK0I7R0FBSTtFQXRCL0Q7SUFzQjRCLGtCQUErQjtHQUFJO0VBdEIvRDtJQXNCNEIsa0JBQStCO0dBQUk7Q2hCdTNJOUQ7O0FnQmwzSUQ7RUFDRSxrQmR0RnNCO0VjdUZ0Qix3QkFBd0I7RUFDeEIsc0JBQXVCO0NBQ3hCOztBQUVEO0VBQ0UsbUJBQXFCO0VBQ3JCLHNCQUF5QjtFQUN6QixhQUFpQjtFQUNqQixZQUFpQjtFQUNqQixpQkFBaUI7Q0FlbEI7O0FBcEJEO0VBT00sZ0JBQWdCO0VBQUcsZUFBZTtDQUFLOztBQVA3QztFQVVJLG1CQUFxQjtFQUNyQixPQUFjO0VBQ2QsUUFBYztFQUFHLFlBQVk7RUFDN0IsbUJBQW1CO0VBQ25CLHFEQUE4QztVQUE5Qyw2Q0FBOEM7Q0FDL0M7O0FieEdDO0VheUZKO0lBa0JJLGlCQUFpQjtHQUVwQjtDaEIwM0lBOztBZ0J4M0lEO0VBQ0U7SUFDRSxtQ0FBMEI7WUFBMUIsMkJBQTBCO0lBQzFCLFdBQVU7R2hCMjNJWDtFZ0J6M0lEO0lBQ0UsV0FBVTtHaEIyM0lYO0VnQnozSUQ7SUFDRSxzQ0FBNkI7WUFBN0IsOEJBQTZCO0lBQzdCLFdBQVU7R2hCMjNJWDtDQUNGOztBZ0J0NElEO0VBQ0U7SUFDRSxtQ0FBMEI7WUFBMUIsMkJBQTBCO0lBQzFCLFdBQVU7R2hCMjNJWDtFZ0J6M0lEO0lBQ0UsV0FBVTtHaEIyM0lYO0VnQnozSUQ7SUFDRSxzQ0FBNkI7WUFBN0IsOEJBQTZCO0lBQzdCLFdBQVU7R2hCMjNJWDtDQUNGOztBZ0J2M0lELG1EQUFtRDtBQUNuRDtFQUNFLHFCQUFzQjtFQUF0QixxQkFBc0I7RUFBdEIsY0FBc0I7RUFDdEIsMEJBQXdCO01BQXhCLHVCQUF3QjtVQUF4QixvQkFBd0I7RUFDeEIseUJBQXdCO01BQXhCLHNCQUF3QjtVQUF4Qix3QkFBd0I7Q0FDekI7O0FBR0Qsc0RBQXNEO0FBQ3REO0VBRUksbUJBQTBCO0VBQzFCLHFCQUFzQjtFQUF0QixxQkFBc0I7RUFBdEIsY0FBc0I7RUFDdEIsMEJBQXdCO01BQXhCLHVCQUF3QjtVQUF4QixvQkFBd0I7RUFDeEIseUJBQXdCO01BQXhCLHNCQUF3QjtVQUF4Qix3QkFBd0I7Q0FNekI7O0FBWEg7RUFjSSxjQUFjO0VBQUcsa0JBQWtCO0NBQ3BDOztBQWZIO0VBa0JJLGtDQUF5QjtFQUF6QiwwQkFBeUI7Q0FFMUI7O0FiM0pDO0VhdUlKO0lBbUJ5Qyx5QkFBeUI7R0FDL0Q7Q2hCdzNJRjs7QUduaEpHO0VhdUlKO0lBdUJ3Qyx5QkFBeUI7R0FDOUQ7Q2hCMDNJRjs7QWdCdDNJRCxtREFBbUQ7QUFDbkQ7RUFDRSxtQkFBMEI7RUFDMUIscUJBQXNCO0VBQXRCLHFCQUFzQjtFQUF0QixjQUFzQjtFQUN0QiwwQkFBd0I7TUFBeEIsdUJBQXdCO1VBQXhCLG9CQUF3QjtFQUN4Qix5QkFBd0I7TUFBeEIsc0JBQXdCO1VBQXhCLHdCQUF3QjtDQTZDekI7O0FBakREO0VBTWtCLFlBQVk7Q0FBSzs7QUFObkM7RWxCbE5FLG1CQURxQztFQUVyQyxPQUFZO0VBQUcsVUFBVTtFQUN6QixTQUFZO0VBQUcsUUFBUTtFQUN2QixZQUFlO0VBQUcsYUFBYTtDa0J5TjlCOztBQVZIO0VBYUksaUJBQWlCO0VBQ2pCLGFBQWdCO0VBQ2hCLFlBQWU7RUFDZixZQUFlO0NBQ2hCOztBQWpCSDtFbEJuTUUscUJBRDZCO0VBRTdCLGtCQUY2QjtFQUszQixrQ0FBc0M7RWtCb050QyxZQUFlO0VBQ2YsYUFBZTtFQUNmLG1CQUFtQjtFQUNuQixZQUFhO0NBQ2Q7O0FBekJIO0VBNEJJLG1CQUFzQjtFQUN0QixhQUFrQjtFQUNsQixZQUFrQjtFQUNsQixnQkFBcUI7RUFDckIsZUFBZTtFQUNmLFlBQWdCO0VBQ2hCLGNBQWtCO0NBY25COztBQWhESDtFQXFDTSxzQkFBd0I7RUFDeEIsZ0JBQWdCO0VBQ2hCLGVBQW1CO0VBQ25CLGFBQWU7RUFDZixnQkFBZ0I7RUFDaEIsa0JBQW9CO0NBR3JCOztBQTdDTDtFQTRDZ0IsV0FBVztDQUFLOztBYmhONUI7RWFvS0o7SUErQ3lDLGNBQWM7R0FDcEQ7Q2hCeTRJRjs7QWlCanFKRCxjQUFjO0FBQ2Q7RUFBYSxtQkFBa0I7Q0FBSTs7QUFDbkM7RUFDRSxZQUFXO0VBQ1gsZ0JBQWU7RUFDZixlQUFjO0VBQ2QsaUJBQWdCO0VBQ2hCLDJDQUEwQztFQUMxQyxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLDRDQUFtQztVQUFuQyxvQ0FBbUM7Q0FDcEM7O0FDWkQsY0FBYztBQUVkO0VBQ0UscUJBQXFCO0NBUXRCOztBQVREO0VBR3VCLG9CQUFvQjtDQUFLOztBZmdFNUM7RWVuRUo7SUFNSSxxQkFBcUI7R0FHeEI7RUFURDtJQU95QixvQkFBb0I7R0FBSztDbEIyckpqRDs7QWtCdnJKRDtFQUNVLGdCQUFnQjtFQUFHLG9CQUFvQjtFQUFHLFlBQVk7Q0FBSzs7QUFEckU7RUFFYyxnQkFBZ0I7RUFBRyxvQkFBcUI7Q0FBRzs7QUFGekQ7RUFHVSxpQkFBaUI7Q0FBSzs7QUNoQmhDLFVBQVU7QUFFVjtFQUNDLGlCQUFnQjtDQWtFaEI7O0FBbkVEO0VBR0UsbUJBQWtCO0VBQ2xCLG9CQUFtQjtDQTRDbkI7O0FBaERGO0VBTUcsWUFBVztFQUNYLGdDQUEyQjtFQUMzQixRQUFPO0VBQ1AsT0FBTTtFQUNOLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsYUFBWTtFQUNaLG1CQUFrQjtFQUNsQixxQ0FBNEI7RUFBNUIsNkJBQTRCO0NBQzVCOztBQWZIO0VBaUJHLGdCQUFlO0VBQ2YsbUJBQWtCO0NBQ2xCOztBQW5CSDtFQXFCRyxtQkFBa0I7RUFDbEIsVUFBUTtFQUNSLFFBQU07RUFDTixZQUFXO0NBdUJYOztBQS9DSDtFQTBCSSxzQkFBcUI7RUFDbEIsbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixVQUFTO0NBaUJaOztBQTlDSjtFQStCSyxZQUFXO0VBQ1gsV0FBVTtFQUNWLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsZUFBYztFQUNYLG1CQUFrQjtFQUNyQixnQkFBZTtFQUNaLHFDQUE0QjtFQUE1Qiw2QkFBNEI7RUFDNUIsMkNBQWdDO1VBQWhDLG1DQUFnQztFQUNoQyw2QkFBb0I7VUFBcEIscUJBQW9CO0NBS3ZCOztBQTdDTDtFQTBDTSxZQUFVO0NBRVY7O0FBNUNOO0VBMkNlLGNBQWE7Q0FBSTs7QUEzQ2hDO0VBaURZLGdCQUFlO0VBQUUsc0JBQXFCO0NBQUc7O0FBakRyRDtFQWtEUSxZQUFVO0NBQUk7O0FBbER0QjtFQXFERyx3Q0FBNkI7VUFBN0IsZ0NBQTZCO0VBQzdCLFdBQVU7RUFDVixvQkFBbUI7RUFDbkIseURBQXdDO0VBQXhDLGlEQUF3QztFQUF4Qyx5Q0FBd0M7RUFBeEMsaUVBQXdDO0NBS3hDOztBQTdESDtFQXlEa0IsZ0NBQXVCO1VBQXZCLHdCQUF1QjtDQUFJOztBQXpEN0M7RUEwRG1CLGdDQUF1QjtVQUF2Qix3QkFBdUI7Q0FBSTs7QUExRDlDO0VBMkRtQixnQ0FBdUI7VUFBdkIsd0JBQXVCO0NBQUk7O0FBM0Q5QztFQTREbUIsZ0NBQXVCO1VBQXZCLHdCQUF1QjtDQUFJOztBQTVEOUM7RUErREcsK0JBQTJCO0VBQzNCLHFDQUE0QjtFQUE1Qiw2QkFBNEI7Q0FDNUI7O0FDbkVILGNBQWM7QUFFZDtFQUVNLFlBQVU7Q0FBSTs7QUFGcEI7RUFHSyxZQUFVO0NBQUk7O0FBSG5CO0VBTUksZ0JBQWU7RUFDZixrQkFBaUI7RUFDakIsb0JBQW1CO0VBQ25CLGlCQUFnQjtDQUNoQjs7QUFWSjtFQVlJLGdCQUFlO0VBQ2YsaUJBQWdCO0NBQ2hCOztBQ2hCSixtRkFBbUY7QUFDbkYsd0JBQXdCO0FBQ3hCLG1GQUFtRjtBQUVuRjtFQUNFLGlCQUFpQjtFQUNqQixZQUFlO0NBcUVoQjs7QUF2RUQ7RXZCZ0RFLFVBQVc7RUFDWCxXQUFXO0VBQ1gsVUFBVztFQUdULGlCQUFpQjtFdUIvQ2pCLG9CQUFvQjtDQXVCckI7O0FBN0JIO0VBU00sc0JBQXNCO0NBV3ZCOztBQXBCTDtFQVlRLGFBQWU7RUFDZixnQkFBa0I7RUFDbEIsZ0JBQWdCO0NBQ2pCOztBQWZQO0VBaUIyQixjQUFjO0NBQUs7O0FBakI5QztFQWtCVSxZQUFZO0NBQUs7O0FBbEIzQjtFQW1CcUIsZW5CckJHO0NtQnFCdUI7O0FsQjhDM0M7RWtCakVKO0lBdUJNLG1CQUFvQjtJQUNwQixvQkFBb0I7R0FLdkI7RUE3Qkg7SUEwQmlCLGNBQWM7R0FBSztFQTFCcEM7SUEyQlcsZ0JBQWdCO0dBQUs7Q3JCKzFKL0I7O0FxQjEzSkQ7RUFpQ00scUJBQXFCO0NBcUJ0Qjs7QUF0REw7RUFvQ1EseUJBQXlCO0NBaUIxQjs7QUFyRFA7RUF1Q1Usc0JBQTRCO0VBQzVCLG1CQUFtQjtFQUNuQixpQkFBb0I7RUFDcEIsNENBQXVDO0VBQXZDLG9DQUF1QztFQUN2QyxrQkFBd0I7Q0FDekI7O0FBNUNUOztFQWdEVSxvQm5CbERjO0VtQm1EZCxZQUFVO0NBQ1g7O0FBbERUO0VBb0RpQixjQUFhO0NBQUk7O0FBcERsQztFQXlETSxtQkFBb0I7RUFDcEIsb0JBQW9CO0VBQ3BCLFlBQW1CO0NBVXBCOztBQXJFTDtFQTZEMEMsbUJBQW1CO0VBQUcsb0JBQW9CO0NBQUs7O0FBN0R6RjtFQWdFUSxXQUFpQjtFQUNqQixvQkFBb0I7Q0FHckI7O0FBcEVQO0VBa0VpQixjQUFjO0NBQUs7O0FBbEVwQztFQW1FWSxjQUFjO0NBQUs7O0FBTS9CO0VBQ0UsbUJBQW9CO0VBQ3BCLG9CQUFvQjtFQUNwQixZQUFtQjtDQUVwQjs7QUFMRDtFQUlzQyxXQUFXO0NBQUs7O0FBR3REO0VBQ0UsYUFBYTtDQStFZDs7QUFoRkQ7RUFFVyxjQUFjO0NBQUs7O0FBRjlCO0V2QnJERSx1QkFBMkI7RUFDM0IsNEJBQTRCO0VBQzVCLDZCQUErQjtFdUJ3RDdCLFlBQTBCO0VBQzFCLGNBQTJCO0VBQzNCLG1CQUE4QjtFQUM5QixlQUEyQjtFQUMzQixnQkFBNkI7Q0FnRDlCOztBQXpESDtFQVlNLFlBQWlCO0VBQ2pCLGFBQWlCO0VBQ2pCLG1CQUFxQjtFQUNyQixXQUFjO0VBQ2QsT0FBYztFQUFHLFFBQVE7RUFBRyxVQUFVO0VBQUcsU0FBUztFQUNsRCwrQkFBK0I7RUFDL0IsOEJBQXNCO0VBQXRCLHNCQUFzQjtFQUN0QiwwQkFBNkI7Q0FxQzlCOztBQXhETDtFQXNCUSxZQUFvQjtFQUNwQixrQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLGlCQUFvQjtFQUNwQixtQkFBd0I7RUFDeEIsNENBQXdDO1VBQXhDLG9DQUF3QztFQUN4Qyw2QkFBd0I7RUFBeEIscUJBQXdCO0VBQ3hCLFdBQWlCO0NBQ2xCOztBQTlCUDtFQWlDUSxZQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsbUJBQXFCO0VBQ3JCLGVBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixXQUFnQjtFQUNoQiw0Q0FBcUM7VUFBckMsb0NBQXFDO0VBQ3JDLDhCQUFzQjtFQUF0QixzQkFBc0I7RUFDdEIsV0FBYztDQUNmOztBQTFDUDtFQTZDUSxZQUFrQjtFQUNsQixrQkFBb0I7RUFDcEIsaUJBQWtCO0VBQ2xCLG1CQUFzQjtFQUN0QixhQUFrQjtFQUNsQixXQUFrQjtFQUNsQixlQUFlO0VBQ2YsNENBQXNDO1VBQXRDLG9DQUFzQztFQUN0Qyw4QkFBdUI7RUFBdkIsc0JBQXVCO0VBQ3ZCLFdBQWU7Q0FDaEI7O0FBdkRQO0VBNERJLGdDQUErQjtDQWlCaEM7O0FBN0VIO0VBK0RNLFdBQW9CO0VBQ3BCLHdDQUF1QztVQUF2QyxnQ0FBdUM7RUFDdkMsNkJBQXFCO1VBQXJCLHFCQUFxQjtDQUN0Qjs7QUFsRUw7RUFvRU0sV0FBb0I7RUFDcEIsd0NBQXVDO1VBQXZDLGdDQUF1QztFQUN2QywrQkFBdUI7VUFBdkIsdUJBQXVCO0NBQ3hCOztBQXZFTDtFQXlFTSxXQUFvQjtFQUNwQix3Q0FBdUM7VUFBdkMsZ0NBQXVDO0VBQ3ZDLCtCQUF1QjtVQUF2Qix1QkFBdUI7Q0FDeEI7O0FBNUVMO0VBK0VRLGdCQUFnQjtFQUFHLGFBQWE7Q0FBSzs7QUFFN0M7RUFFSSxvQkFBbUI7Q0FNcEI7O0FBUkg7RUFJTSxzQkFBcUI7RUFDckIsZUFBYztDQUVmOztBQVBMO0VBTW9CLGVBQWM7Q0FBRzs7QUFOckM7RUFTTSxXQUFVO0VBQUUsVUFBUztDQVF4Qjs7QUFqQkg7RUFXTSxpQkFBZ0I7RUFDaEIsZUFBYztFQUNkLG9CQUFtQjtDQUdwQjs7QUFoQkw7RUFjb0IsVUFBUztDQUFJOztBQWRqQztFQWVTLGdCQUFlO0VBQUUsbUJBQWtCO0VBQUUsbUJBQWtCO0VBQUcsU0FBTztDQUFJOztBQUk5RTtFQUVJLFlBQVU7Q0FpQlg7O0FBbkJIO0VBSU0sZW5CMUxrQjtDbUI4TG5COztBQVJMO0VBTVEsZW5CNUxnQjtFbUI2TGhCLHVDQUE4QjtFQUE5QiwrQkFBOEI7Q0FBRzs7QUFQekM7RUFVTSw4QkFBNkI7RUFDN0IsZ0JBQWU7RUFDZixZQUFVO0VBQ1YsaUJBQWdCO0VBQ2hCLFNBQU87RUFDUCxtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLHVDQUE4QjtFQUE5QiwrQkFBOEI7Q0FDL0I7O0FBR0w7RUFFSSxZQUFVO0NBaUJYOztBQW5CSDtFQUlNLGVuQi9Na0I7Q21CbU5uQjs7QUFSTDtFQU1RLGVuQmpOZ0I7RW1Ca05oQix1Q0FBOEI7RUFBOUIsK0JBQThCO0NBQUc7O0FBUHpDO0VBVU0sOEJBQTZCO0VBQzdCLGdCQUFlO0VBQ2YsWUFBVTtFQUNWLGlCQUFnQjtFQUNoQixTQUFPO0VBQ1AsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUNqQix1Q0FBOEI7RUFBOUIsK0JBQThCO0NBQy9COztBQUdMO0VBQ0UsZ0JBQWU7Q0FTaEI7O0FBVkQ7RUFHSSxlQUFjO0VBQ2QsZ0JBQWU7RUFDZixZQUFVO0NBSVg7O0FBVEg7RUFPTSxlbkJ2T2tCO0NtQndPbkI7O0FBR0w7RUFFSSxtQkFBa0I7Q0FpQm5COztBQW5CSDtFQUlNLG1CQUFrQjtFQUNsQixPQUFLO0VBQ0wsZUFBYztFQUNkLGtCQUFpQjtDQVdsQjs7QUFsQkw7RUFTUSw4QkFBNkI7RUFDN0IsZ0JBQWU7RUFDZixZQUFXO0VBQ1gsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFNBQVE7Q0FDVDs7QUFqQlA7RUFxQkksZ0JBQWU7Q0FDaEI7O0FBdEJIO0VBd0JJLGlCQUFnQjtDQWtCakI7O0FBMUNIO0V2QnpMRSxVQUFXO0VBQ1gsV0FBVztFQUNYLFVBQVc7RUFHVCxpQkFBaUI7RXVCK01mLGFBQWM7RUFDZCxnQkFBaUI7Q0FhbEI7O0FBekNMO0VBK0JRLGdCQUFnQjtDQVNqQjs7QUF4Q1A7RUFrQ1Usc0JBQXdCO0VBQ3hCLGdCQUFnQjtFQUNoQixZQUFnQjtFQUNoQixrQkFBb0I7Q0FFckI7O0FBdkNUO0VBc0NvQixlbkJqUkk7Q21CaVJzQjs7QUNsUjlDLHFCQUFxQjtBQUNyQjtFQUNFLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFDckIsZUFBYztFQUNkLG9CQUFtQjtFQUNuQixtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLGtCQUFpQjtFQUNqQixjQUFhO0NBaUJkOztBQXpCRDtFQVVJLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsUUFBTztFQUNQLE9BQU07Q0FDUDs7QUFkSDtFQWdCSSxpQkFBZ0I7RUFDaEIsZ0JBQWU7Q0FDaEI7O0FBbEJIO0VBb0JJLGFBQVk7RUFDWixtQkFBa0I7Q0FDbkI7O0FuQjZDQztFbUJuRUo7SUF1QnNDLGlCQUFnQjtJQUFFLGlCQUFnQjtHQUV2RTtDdEIwcktBOztBR2hwS0c7RW1CbkVKO0lBd0JzQyxvQkFBbUI7R0FDeEQ7Q3RCZ3NLQTs7QXNCL3JLRDtFQUNFLGlCQUFnQjtFQUNoQixnQkFBZTtDQUNoQjs7QW5Cc0NHO0VtQnJDa0M7SUFBdUIsOEJBQTZCO0dBQUc7Q3RCc3NLNUY7O0F1QnR1S0QsbUZBQW1GO0FBQ25GLDBCQUEwQjtBQUMxQixtRkFBbUY7QUFFbkY7RUFDRSxpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSxtQkFBa0I7Q0FNbkI7O0FBUEQ7RUFHVSxpQkFBaUI7Q0FBSzs7QUFIaEM7RUFJZSxtQkFBbUI7RUFBRyxZQUFZO0VBQUcsYUFBYTtFQUFHLGlCQUFpQjtDQUFLOztBQUoxRjtFQUtVLG9CQUFvQjtFQUFHLGlCQUFpQjtDQUFLOztBQUx2RDtFQU1nQixjQUFjO0NBQUs7O0FDZG5DLGNBQWM7QUFFZDtFQUNNLFdBQVU7RUFBRSxVQUFTO0NBSXhCOztBQUxIO0VBRVEsaUJBQWdCO0VBQUUsdUJBQXNCO0NBRTNDOztBQUpMO0VBR1MsZ0JBQWU7RUFBRSxtQkFBa0I7RUFBRSxtQkFBa0I7RUFBRyxTQUFPO0NBQUk7O0FDTDlFLGtCQUFrQjtBQUVsQjtFQUNFLGNBQWlCO0VBQ2pCLHlDQUFpQztFQUFqQyxpQ0FBaUM7RUFDakMsZ0JBQW1CO0VBQ25CLG1CQUFtQjtDQVVwQjs7QUFkRDtFQU9JLGdCQUFnQjtFQUNoQixhQUFnQjtDQUNqQjs7QUFUSDtFQVdZLFdBQVc7Q0FBSzs7QXRCd0R4QjtFc0JuRUo7SUFhdUMsV0FBVTtHQUNoRDtDekI4eEtBOztBMEI5eUtELFdBQVc7QUFFWDtFQUNnQixnQkFBZTtDQUFJOztBQUVuQztFQUNDLGdCQUFlO0NBZWY7O0FBaEJEO0VBR0UsOEJBQTZCO0VBQzdCLGdCQUFlO0VBQ2YsbUJBQWtCO0NBQ2xCOztBQU5GO0VBUUUsaUJBQWdCO0VBQ2hCLFdBQVU7RUFDVixTQUFRO0NBQ1I7O0FBWEY7RUFhRSxpQkFBZ0I7RUFDaEIsWUFBVztDQUNYOztBQ3BCRixtRkFBbUY7QUFDbkYsMEJBQTBCO0FBQzFCLG1GQUFtRjtBQUVuRjtFQUNFLHNCQUFzQjtDQWtCdkI7O0FBbkJEO0VBSUksc0JBQTRCO0VBQzVCLFlBQW9CO0VBQ3BCLHNCQUFzQjtDQVF2Qjs7QUFkSDtFQVNNLGFBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixtQkFBb0I7RUFDcEIsU0FBZTtDQUNoQjs7QUFiTDtFQWlCSSx5QkFBaUI7RUFBakIsaUJBQWlCO0NBQ2xCOztBQ3RCSCxtRkFBbUY7QUFDbkYscUJBQXFCO0FBQ3JCLG1GQUFtRjtBQUVuRjtFQUNFLGlCQUFpQjtFQUNqQixtQkFBbUI7RUFDbkIsdUJBQTJCO0VBQzNCLG1CQUFxQjtFQUNyQixpQkFBbUI7RUFDbkIsaURBQWlDO0VBQWpDLHlDQUFpQztFQUFqQyxpQ0FBaUM7RUFBakMsK0RBQWlDO0NBNkVsQzs7QUFuRkQ7RUFTSSxtQkFBc0I7RUFDdEIsZ0JBQW9CO0VBQ3BCLGUxQmJvQjtFMEJjcEIsZ0JBQXNCO0VBQ3RCLGlCQUFtQjtFQUNuQiw4QkFBOEI7Q0FDL0I7O0FBZkg7RUFrQkksbUJBQXNCO0VBQ3RCLGdCQUFvQjtFQUNwQixnQkFBc0I7RUFDdEIsOEJBQThCO0VBQzlCLGlCQUFpQjtDQWlCbEI7O0FBdkNIO0VBeUJNLFlBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixtQkFBb0I7RUFDcEIsV0FBZ0I7RUFDaEIsV0FBaUI7Q0FDbEI7O0FBOUJMO0VBaUNNLFlBQWtCO0VBQ2xCLGdCQUFrQjtFQUNsQixtQkFBc0I7RUFDdEIsT0FBZTtFQUNmLGlCQUFpQjtDQUNsQjs7QUF0Q0w7RUEwQ0ksbUJBQXlCO0VBQ3pCLDhCQUE4QjtFQUM5QixtQkFBc0I7Q0FXdkI7O0FBdkRIO0U5QmdERSxVQUFXO0VBQ1gsV0FBVztFQUNYLFVBQVc7RUFHVCxpQkFBaUI7QzhCQ2hCOztBQXRETDtFQWtEUSxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLFlBQWM7Q0FDZjs7QUFyRFA7RUEwREksbUJBQW1CO0VBQ25CLG1CQUFzQjtFQUN0QixnQkFBb0I7Q0FNckI7O0FBbEVIO0VBK0RNLHVCQUF1QjtFQUN2QixhQUFxQjtDQUN0Qjs7QUFqRUw7RUFzRUkseURBQWlEO1VBQWpELGlEQUFpRDtDQU9sRDs7QUE3RUg7RUEyRTZCLFlBQVk7Q0FBSzs7QUEzRTlDO0VBNEU4QixlMUI5RU47QzBCOEVnQzs7QUFReEQ7RUFFSSxzQkFBcUI7Q0FDdEI7O0FBSEg7RUFLSSxvQkFBbUI7Q0FJcEI7O0FBVEg7RUFPTSxpQkFBZ0I7Q0FDakI7O0FDaEdMLG1GQUFtRjtBQUNuRixlQUFlO0FBQ2YsbUZBQW1GO0FBRW5GO0VBQ0UsdUJBQThCO0VBQzlCLGlCQUFpQjtFQUNqQixpQkFBb0I7Q0F1RHJCOztBQTFERDtFQU1JLGlCQUFpQjtDQUNsQjs7QUFQSDtFQVdJLHVCQUFnQztFQUNoQyx1QkFBdUI7RUFDdkIsZ0JBQTBCO0VBQzFCLHFCQUF1QjtFQUF2QixxQkFBdUI7RUFBdkIsY0FBdUI7RUFDdkIsMEJBQXlCO01BQXpCLHVCQUF5QjtVQUF6QixvQkFBeUI7RUFDekIsb0JBQXVCO0NBc0J4Qjs7QUF0Q0g7RUFtQk0sa0JBQW1CO0VBQ25CLFlBQWlCO0VBQ2pCLG9CQUFxQjtNQUFyQixtQkFBcUI7VUFBckIsZUFBcUI7RUFDckIsYUFBYztFQUNkLGdDQUF3QjtFQUF4Qix3QkFBd0I7RUFDeEIsZUFBbUI7Q0FDcEI7O0FBekJMO0VBNEJNLG9CQUFzQjtNQUF0QixtQkFBc0I7VUFBdEIsZUFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLGUzQmhDa0I7RTJCaUNsQixlQUFlO0VBQ2YsZ0JBQWtCO0VBQ2xCLHVCQUF1QjtFQUN2Qiw0Q0FBNkI7RUFBN0Isb0NBQTZCO0VBQTdCLDRCQUE2QjtFQUE3QixxREFBNkI7Q0FDOUI7O0FBbkNMO0VBcUM0QixlM0J2Q0o7QzJCdUM4Qjs7QUFyQ3REO0VBMkNNLDJCQUEyQjtFQUMzQixxQkFBd0I7Q0FDekI7O0FBN0NMO0VBK0NRLG9CQUFvQjtDQUFLOztBQS9DakM7RUFnRG1CLGlCQUFpQjtDQUFLOztBQWhEekM7RUFxRG1DLGUzQnZEWDtDMkJ1RHFDOztBQXJEN0Q7RUF1RE0saUNBQXlCO1VBQXpCLHlCQUF5QjtDQUMxQjs7QUFJTDtFQUNFLDJCQUE0QjtFQUM1QixrQkFBa0I7Q0F1Qm5COztBQXpCRDtFL0JaRSxVQUFXO0VBQ1gsV0FBVztFQUNYLFVBQVc7RUFHVCxpQkFBaUI7QytCK0JsQjs7QUF4Qkg7RUFRTSxvQkFBb0I7Q0FlckI7O0FBdkJMO0VBU3FCLGlCQUFpQjtDQUFLOztBQVQzQztFQVlRLGlCQUF1QjtFQUN2Qiw4QkFBZ0M7RUFDaEMsZ0JBQW9CO0VBQ3BCLG9CQUFvQjtFQUNwQixlM0I5RWdCO0MyQitFakI7O0FBakJQO0VBb0JRLFlBQVk7Q0FFYjs7QUF0QlA7RUFxQmtCLGUzQm5GTTtDMkJtRm9COztBQ3JGNUMsbUZBQW1GO0FBQ25GLG1CQUFtQjtBQUNuQixtRkFBbUY7QUFFbkY7RUFDRSxpQkFBb0I7RUFDcEIsY0FBb0I7RUFDcEIsb0JBQW9CO0VBQ3BCLDRDQUErQjtFQUEvQixvQ0FBK0I7RUFBL0IsNEJBQStCO0VBQS9CLHFEQUErQjtFQUMvQix3QkFBMEI7Q0FtQjNCOztBQXhCRDtFQVFJLHVCQUF1QjtFQUN2QixzQkFBNkI7RUFDN0IsZ0JBQXFCO0VBQ3JCLGNBQXFCO0VBQ3JCLGtDQUE4QjtFQUE5QiwwQkFBOEI7RUFDOUIscUJBQXdCO0NBQ3pCOztBQWRIO0VBaUJJLHNEQUE4QztVQUE5Qyw4Q0FBOEM7Q0FFL0M7O0FBbkJIO0VBa0JxQixXQUFXO0NBQUs7O0FBbEJyQztFQXFCb0Isc0JBQXNCO0NBQUs7O0FBckIvQztFQXVCUyxnREFBdUM7RUFBdkMsd0NBQXVDO0NBQUs7O0FDM0JyRCxtRkFBbUY7QUFDbkYsZ0NBQWdDO0FBQ2hDLG1GQUFtRjtBQUVuRjtFQUNFLG1CQUFxQjtFQUNyQixpQkFBNEM7RUFDNUMsZ0JBQXdDO0VBQ3hDLGVBQW1CO0NBMEVwQjs7QUE5RUQ7RUFPSSxtQkFBcUI7RUFDckIsWUFBZTtFQUNmLDJEQUEyQztFQUEzQyxtREFBMkM7RUFBM0MsMkNBQTJDO0VBQTNDLG9FQUEyQztDQWlCNUM7O0FBMUJIO0VBWU0saUJBQWtCO0VBQ2xCLGFBQWdCO0VBQ2hCLGlCQUFpQjtDQUNsQjs7QUFmTDtFQWtCTSxpQkFBb0I7RUFDcEIsaUJBQWlCO0NBQ2xCOztBQXBCTDtFQXVCTSxhQUFjO0VBQ2QsYUFBYTtDQUNkOztBQXpCTDtFQTZCSSxtQkFBc0I7RUFDdEIsU0FBaUI7RUFBRyxRQUFRO0VBQzVCLGdCQUF5QztFQUN6QyxZQUFrQjtFQUFHLGtCQUFpQjtFQUN0QyxhQUFpQjtFQUNqQixtQkFBb0I7RUFDcEIsV0FBZTtFQUNmLCtDQUF5QztVQUF6Qyx1Q0FBeUM7RUFDekMsb0JBQXFCO0VBQ3JCLDhCQUF1QjtFQUF2QixzQkFBdUI7RUFDdkIsbUJBQW9CO0NBYXJCOztBQXBESDtFQTBDTSw4QkFBOEI7RUFDOUIsZ0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixlQUFtQjtFQUNuQixvQkFBeUI7RUFFekIsaUNBQXdCO1VBQXhCLHlCQUF3QjtFQUN4QixxQ0FBNEI7VUFBNUIsNkJBQTRCO0VBQzVCLHNDQUE2QjtVQUE3Qiw4QkFBNkI7Q0FDOUI7O0FBbkRMO0VBd0RNLFdBQWE7RUFDYiw4QkFBc0I7VUFBdEIsc0JBQXNCO0NBQ3ZCOztBQTFETDtFQTZETSxvQkFBb0I7RUFDcEIsV0FBYztFQUNkLDZDQUFzQztVQUF0QyxxQ0FBc0M7Q0FHdkM7O0FBbEVMO0VBaUVpQiwrQ0FBc0M7VUFBdEMsdUNBQXNDO0NBQUs7O0FBakU1RDtFQXFFZ0MsaUJBQWdCO0VBQUcsZTFCMEJuQztDMEIxQjREOztBQXJFNUU7RUFzRWdDLGlCQUFnQjtFQUFHLGUxQnNCbkM7QzBCdEIyRDs7QUF0RTNFO0VBeUVJLGlCQUFtQjtFQUNuQixlQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIseURBQWlEO1VBQWpELGlEQUFpRDtDQUNsRDs7QUFHSDtFQUNFO0lBQ0UsbUNBQTJCO1lBQTNCLDJCQUEyQjtHL0J1bEw1QjtFK0JwbExEO0lBQ0UsZ0NBQXdCO1lBQXhCLHdCQUF3QjtHL0JzbEx6QjtDQUNGOztBK0I3bExEO0VBQ0U7SUFDRSxtQ0FBMkI7WUFBM0IsMkJBQTJCO0cvQnVsTDVCO0UrQnBsTEQ7SUFDRSxnQ0FBd0I7WUFBeEIsd0JBQXdCO0cvQnNsTHpCO0NBQ0Y7O0ErQm5sTEQ7RUFDRTtJQUNFLDhDQUFzQztZQUF0QyxzQ0FBc0M7SUFDdEMsYUFBZTtHL0JzbExoQjtFK0JubExEO0lBQ0UseUNBQWlDO1lBQWpDLGlDQUFpQztJQUNqQyxXQUFhO0cvQnFsTGQ7Q0FDRjs7QStCOWxMRDtFQUNFO0lBQ0UsOENBQXNDO1lBQXRDLHNDQUFzQztJQUN0QyxhQUFlO0cvQnNsTGhCO0UrQm5sTEQ7SUFDRSx5Q0FBaUM7WUFBakMsaUNBQWlDO0lBQ2pDLFdBQWE7Ry9CcWxMZDtDQUNGOztBZ0M1ckxELG1GQUFtRjtBQUNuRixlQUFlO0FBQ2YsbUZBQW1GO0FBRW5GO0VBQ2tCLGtCQUFrQjtFQUFHLHFCQUFxQjtDQUFLOztBQURqRTtFQUlJLG9CQUFvQjtFQUNwQixnQkFBb0I7RUFDcEIsa0JBQW9CO0NBQ3JCOztBQVBIO0VBVUksb0JBQW9CO0VBQ3BCLGtCQUFzQjtFQUN0QiwyQ0FBNkM7RUFDN0MsNENBQXdDO1VBQXhDLG9DQUF3QztDQUN6Qzs7QUFkSDtFQWlCSSxvQkFBb0I7RUFDcEIsYUFBaUI7Q0FjbEI7O0FBaENIO0VsQ2dERSxVQUFXO0VBQ1gsV0FBVztFQUNYLFVBQVc7RUFHVCxpQkFBaUI7Q2tDdEJoQjs7QUEvQkw7RUFzQlcsZ0JBQWdCO0NBQUs7O0FBdEJoQztFQXlCUSxzQkFBd0I7RUFDeEIsZ0JBQWtCO0VBQ2xCLGdCQUFnQjtDQUdqQjs7QUE5QlA7RUE2QmtCLGU5Qi9CTTtDOEIrQm9COztBQTdCNUM7RWxDZ0RFLFVBQVc7RUFDWCxXQUFXO0VBQ1gsVUFBVztFQUdULGlCQUFpQjtFa0NqQmpCLGFBQWE7Q0FvQmQ7O0FBeERIO0VBdUNNLGdCQUFvQjtFQUNwQixvQkFBb0I7Q0FlckI7O0FBdkRMO0VBMkNRLGFBQWU7RUFDZixzQkFBd0I7RUFDeEIsZUFBa0I7RUFDbEIsZ0I5QmdCYztDOEJmZjs7QUEvQ1A7RUFpRDJCLFlBQVk7Q0FBSzs7QUFqRDVDO0VBb0RRLGdCOUJVYztDOEJSZjs7QUF0RFA7RUFxRGtCLGU5QnZETTtDOEJ1RG9COztBN0JZeEM7RTZCakVKO0lBMkRTLGtCQUFrQjtJQUFHLG9CQUFvQjtJQUFHLGdCQUFnQjtHQUFLO0VBM0QxRTtJQTREUyxnQkFBZ0I7SUFBRyxnQkFBZ0I7SUFBRyxvQkFBb0I7R0FBSztFQTVEeEU7SUE2RHNCLGdCQUFnQjtHQUFLO0NoQzB0TDFDOztBR3R0TEc7RTZCakVKO0lBaUVTLGdCQUFnQjtHQUFLO0VBakU5QjtJQWtFUyxnQkFBZ0I7R0FBSztDaEM4dEw3Qjs7QWlDcHlMRCxtRkFBbUY7QUFDbkYsd0NBQXdDO0FBQ3hDLG1GQUFtRjtBQUVuRjtFQUNFLHNCQUEwQjtFQUMxQixvQkFBb0I7Q0FHckI7O0E5QjRERztFOEJqRUo7SUFJdUMsb0JBQW9CO0dBQzFEO0NqQ3l5TEE7O0FpQ3Z5TEQ7RUFDRSxzQkFBcUI7RW5DK0ZuQixxQ21DOUYwQztFbkNrRzVDLDZCbUNsRzRDO0VuQzhGMUMsb0RtQzdGeUQ7RW5DaUczRCw0Q21DakcyRDtFbkM2RnpELHlCbUM1RjhCO0VuQ2dHaEMsaUJtQ2hHZ0M7RUFDaEMsZ0NBQStCO0NBQ2hDOztBQUVEO0VBQ0UsbUJBQWtCO0NBQ25COztBQUVEO0VBQ0UsUUFBTztFQUNQLE9BQU07RW5Da0ZKLG9DbUNqRnlDO0VuQ3FGM0MsNEJtQ3JGMkM7Q0FDNUM7O0FBRUQ7RUFDRSxtQkFBa0I7RUFDbEIsc0JBQXFCO0VuQzRFbkIsMENtQzNFNkM7RW5DK0UvQyxrQ21DL0UrQztDQUNoRDs7QUFFRDtFQUNFLFdBQVU7Q0FDWDs7QUFFRDtFQUNFLGVBQWM7RUFDZCxXQUFVO0NBQ1g7O0FBRUQ7RW5DK0RJLDJDbUM5RGdEO0VuQ2tFbEQsbUNtQ2xFa0Q7Q0FDbkQ7O0FBR0Qsd0RBQXdEO0FBQ3hEO0VBQ0UsV0FBVTtFQUNWLGVBQWM7RUFDZCxXQUFVO0VuQ3NEUix3RG1DcEQyRDtFbkN3RDdELGdEbUN4RDZEO0NBQzlEOztBQUVEO0VuQ2lESSx3RG1DaEQyRDtFbkNvRDdELGdEbUNwRDZEO0NBQzlEOztBQUVEO0VuQzZDSSw4RG1DNUNnRTtFbkNnRGxFLHNEbUNoRGtFO0NBQ25FOztBQUVEO0VuQ3lDSSw0RW1DeEM4RTtFbkM0Q2hGLG9FbUM1Q2dGO0NBQ2pGOztBQUVEO0VuQ3FDSSw0RW1DcEM4RTtFbkN3Q2hGLG9FbUN4Q2dGO0NBQ2pGOztBQ3hFRCxtRkFBbUY7QUFDbkYsMkJBQTJCO0FBQzNCLG1GQUFtRjtBQUVuRjtFQUNFLDZDQUFxQztVQUFyQyxxQ0FBcUM7RUFDckMsV0FBYTtFQUNiLHNCQUF3QjtDQUN6Qjs7QUFFRDtFQUNFO0lBQUssV0FBVztHbEN5NExmO0VrQ3g0TEQ7SUFBTSxXQUFXO0dsQzI0TGhCO0VrQzE0TEQ7SUFBTyxXQUFXO0dsQzY0TGpCO0NBQ0Y7O0FtQzM1TEQsbUdBQW1HO0FBRW5HO0VBQ0UsNEJBQThCO0VBQzlCLHFDQUE2QjtFQUE3Qiw2QkFBNkI7Q0FDOUI7O0FBRUQ7RUFDRSxZQUFrQjtFQUNsQixhQUFrQjtFQUNsQixnQkFBbUI7RUFDbkIsT0FBZTtFQUNmLFFBQWU7RUFDZiwwQkFBOEI7RUFDOUIsaUJBQW9CO0VBQ3BCLDBCQUFrQjtLQUFsQix1QkFBa0I7TUFBbEIsc0JBQWtCO1VBQWxCLGtCQUFrQjtFQUNsQixnQ0FBaUM7RUFDakMsNENBQXFDO0VBQXJDLG9DQUFxQztDQUN0Qzs7QUFFRDtFQUNFLG1CQUFtQjtFQUNuQixZQUFlO0VBQ2YsYUFBZTtDQUNoQjs7QUFFRDtFQUNFLGdEQUFpQztFQUFqQyx3Q0FBaUM7RUFBakMsZ0NBQWlDO0VBQWpDLDZEQUFpQztFQUNqQyxhQUFrQjtFQUNsQixRQUFlO0VBQ2YsT0FBZTtFQUNmLFlBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixtQkFBc0I7RUFDdEIsY0FBa0I7Q0E0RG5COztBQXBFRDtFQVdJLGFBQWtCO0VBQ2xCLFlBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixtQkFBb0I7RUFDcEIsc0JBQTBCO0NBK0MzQjs7QUE5REg7RUFrQk0sWUFBaUI7RUFDakIsc0JBQTJCO0VBQzNCLFlBQWtCO0VBQ2xCLFdBQWtCO0VBQ2xCLG1CQUFtQjtDQUNwQjs7QUF2Qkw7O0VBMkJNLHNCQUE2QjtFQUM3QixpQkFBcUI7RUFDckIsZ0JBQXFCO0VBQ3JCLFVBQWtCO0VBQ2xCLFdBQWtCO0VBQ2xCLFlBQXFCO0VBQ3JCLGFBQXFCO0VBQ3JCLHVCQUF1QjtDQUN4Qjs7QUFuQ0w7RUFzQ00saUJBQWlCO0VBQ2pCLGtCQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsWUFBaUI7RUFDakIsb0JBQXVCO0VBQ3ZCLCtCQUF1QjtVQUF2Qix1QkFBdUI7Q0FrQnhCOztBQTdETDtFQThDUSxZQUFxQjtFQUNyQixVQUFrQjtFQUNsQix1QkFBdUI7RUFDdkIsaUJBQXVCO0VBQ3ZCLG1CQUF5QjtDQVUxQjs7QUE1RFA7RUFxRFUsdUJBQTRCO0VBQzVCLHdCQUE0QjtFQUM1QixtQkFBcUI7RUFDckIsT0FBYztFQUFHLFFBQVE7RUFDekIsa0JBQWtCO0VBQ2xCLCtCQUErQjtDQUNoQzs7QUEzRFQ7RUFpRUksZ0VBQWdFO0NBQ2pFOztBQUlIO0VBQ0UsbUJBQXNCO0VBQ3RCLFVBQWtCO0VBQ2xCLFlBQWtCO0VBQ2xCLGVBQWU7RUFDZixnQkFBcUI7RUFDckIsa0NBQTJCO0VBQTNCLDBCQUEyQjtDQWU1Qjs7QUFyQkQ7RUFTSSxZQUE4QjtFQUM5QixpQkFBaUM7RUFDakMsc0JBQXNDO0VBQ3RDLDhCakNqR2dDO0VpQ2tHaEMsZ0JBQThCO0VBQzlCLG9DQUFxQztFQUNyQyxtQ0FBbUM7Q0FDcEM7O0FBaEJIO0VBbUJJLGFBQWE7Q0FDZDs7QUFHSDtFQUNFO0lBQ0UsWUFBWTtHQUliO0VBTEQ7SUFHSSxnQkFBZ0I7R0FDakI7Q25DODVMSjs7QW9DMWhNRCxtRkFBbUY7QUFDbkYsNkJBQTZCO0FBQzdCLG1GQUFtRjtBQUVuRjtFQUNFLGdCQUFtQjtFQUNuQixhQUFhO0VBQ2IsZWxDTHNCO0NrQ3VCdkI7O0FBckJEO0VBTUksa0NBQTZCO0VBQTdCLDBCQUE2QjtFQUM3QixXQUFpQjtFQUNqQixzQkFBNEI7RUFDNUIsZUFBdUI7RUFDdkIsZ0JBQW9CO0VBQ3BCLGdCQUFzQjtDQUd2Qjs7QUFkSDtFQWFjLGFBQWE7Q0FBSzs7QUFiaEM7RUFnQm1CLG1CQUFtQjtDQUFLOztBQWhCM0M7RUFpQmlCLGlCQUFpQjtDQUFLOztBQWpCdkM7RUFrQmtCLGtCQUFrQjtDQUFLOztBakMrQ3JDO0VpQ2pFSjtJQW9CdUMsOEJBQThCO0dBQ3BFO0NwQ3lpTUE7O0FxQ2xrTUQsbUZBQW1GO0FBQ25GLHlDQUF5QztBQUN6QyxtRkFBbUY7QUFFbkY7RUFDRSxrQm5DOERzQjtFbUM3RHRCLGdCbkM0RG9CO0VtQzNEcEIsa0ZuQzBEc0Y7RW1DekR0RixZbkNKZ0I7Q21DcUNqQjs7QUFyQ0Q7RUFNbUIsa0ZuQ3VEcUU7Q21DdkRsQzs7QUFOdEQ7RUFPb0Isa0ZuQ2dFd0U7Q21DaEVqQzs7QUFQM0Q7RUFVSSxxQkFBcUI7RUFDckIsbUJBQXFCO0VBQ3JCLGVBQXFCO0NBQ3RCOztBQWJIO0VBZ0JJLGlCQUFpQjtDQUNsQjs7QUFqQkg7RUFvQkksZ0JBQWdCO0VBQ2hCLGFBQWdCO0NBQ2pCOztBQXRCSDtFQXlCSSxZQUFxQjtFQUNyQixnQkFBcUI7RUFDckIsZUFBc0I7RUFDdEIsaUJBQXFCO0VBQ3JCLDJDQUE4QztFQUM5QyxtQkFBdUI7RUFDdkIsb0JBQW9CO0V2Q3dFcEIsaUN1Q3ZFd0M7RXZDMkUxQyx5QnVDM0UwQztDQUl6Qzs7QUFwQ0g7RUFrQ00sWUFBVTtDQUNYOztBQ3ZDTCxtRkFBbUY7QUFDbkYsNEJBQTRCO0FBQzVCLG1GQUFtRjtBQUVuRjtFQUNDLHFCQUFnQjtFQUFoQixxQkFBZ0I7RUFBaEIsY0FBZ0I7RUFDaEIsc0JBQWtCO01BQWxCLGtCQUFrQjtDQTRCbEI7O0FBOUJEO0VBS0Usb0JBQW9CO01BQXBCLG1CQUFvQjtVQUFwQixlQUFvQjtFQUNwQixhQUFhO0NBQ2I7O0FBUEY7RUFVRSxvQkFBeUI7TUFBekIsb0JBQXlCO1VBQXpCLGdCQUF5QjtFQUN6QixhQUFpQjtFQUNqQixxQkFBcUI7Q0FLckI7O0FBakJGO0VBY1csb0JBQW9CO0NBQUs7O0FBZHBDO0VBZVksbUJBQW1CO0NBQUs7O0FBZnBDO0VBZ0JZLGNBQWM7Q0FBSzs7QW5DaUQzQjtFbUNqRUo7SUFvQkUsb0JBQWdCO1FBQWhCLGdCQUFnQjtHQVVqQjtFQTlCRDtJQXNCeUMsOEJBQWlCO1FBQWpCLGlCQUFpQjtHQUFLO0VBdEIvRDtJQXdCc0IsNkJBQVE7UUFBUixrQkFBUTtZQUFSLFNBQVE7R0FBSztFQXhCbkM7SUF5QnNCLGlCQUFpQjtJQUFHLDZCQUFRO1FBQVIsa0JBQVE7WUFBUixTQUFRO0dBQUs7RUF6QnZEO0lBMkIyQixpQkFBaUI7R0FBSztFQTNCakQ7SUE0QjRCLGdCQUFnQjtHQUFLO0N0Q3dvTWhEOztBc0Nwb01EO0VBRUMsb0JBQW1CO0NBcU1uQjs7QTNCMU9DO0VBQ0UsZUFBYztFQUNkLFlBQVc7RUFDWCxZQUFXO0NBQ1o7O0EyQitCSDtFQUtLLHNCQUFzQjtDQUFLOztBQUxoQztFQU1nQixpQkFBaUI7Q0FBSzs7QUFOdEM7RUFTRSxtQkFBd0I7RUFDeEIsc0JBQXNCO0VBQ3RCLFdBQWlCO0VBQ2pCLHdDQUFtQztFQUFuQyxnQ0FBbUM7Q0FlbkM7O0FBM0JGO0VBZU0sNkJBQTRCO0VBQzVCLDRCQUEyQjtFQUMzQix1QkFBc0I7RUFDdEIsWUFBVztFQUNYLGNBQWE7RUFDYixtQkFBa0I7RUFDbEIsZUFBYztFQUNkLGdCQUFlO0NBRWxCOztBbkNTQztFbUNqQ0o7SUF1QjBDLGNBQWE7R0FDcEQ7Q3RDc3BNRjs7QXNDOXFNRDtFQTBCWSxhQUFZO0NBQUs7O0FBMUI3QjtFQThCRSxvQkFBbUI7RUFDbkIsa0JqQ3NNbUI7Q2lDL0xuQjs7QUF0Q0Y7RUFpQ0csWUFBVTtDQUlWOztBQXJDSDtFQW1DSSxlcENyRW9CO0NvQ3NFcEI7O0FBcENKO0VBeUNFLHNCQUFxQjtFQUNyQixZQUFXO0NBcUJYOztBQS9ERjtFQTRDRyxXQUFVO0VBQ1YsVUFBUztFQUNULHNCQUFxQjtDQWdCckI7O0FBOURIO0VBZ0RJLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZiwyQkFBMEI7Q0FVMUI7O0FBN0RKO0VBcURLLGFBQVk7RUFDWixnQkFBZTtFQUNmLFlBQVU7Q0FDVjs7QUF4REw7RUF5RHdCLGNBQWE7Q0FBSTs7QUF6RHpDO0VBMkRLLFlBQVU7Q0FDVjs7QUE1REw7RUFrRUssbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCxvQkFBbUI7RUFDbkIsWUFBVztFQUNYLDBCQUF5QjtFQUN6QixvQkFBbUI7Q0FnRHRCOztBbkN0RkU7RW1DakNKO0lBd0V5QyxlQUFjO0dBK0NyRDtDdEN1bk1EOztBc0M5dU1EO0VBMEVNLGtCQUFpQjtDQVlqQjs7QW5DckRGO0VtQ2pDSjtJQTJFMEMsbUJBQWtCO0dBV3REO0N0Q2txTUw7O0FzQ3h2TUQ7RUE2RU8sb0JBQW1CO0VBQ25CLFdBQVU7RUFDVix1QkFBc0I7Q0FLdEI7O0FuQ25ESDtFbUNqQ0o7SUFpRlEsWUFBVztJQUNYLGVBQWM7R0FFZjtDdENpck1OOztBc0Nyd01EO0VBcUZVLGtCQUFpQjtDQUFJOztBQXJGL0I7RUF3Rk0sbUJBQWtCO0VBQ2xCLGlCQUFnQjtDQWlCbkI7O0FBMUdIO0VBMkZPLG9CQUFtQjtFQUNuQixXQUFVO0VBQ1YsdUJBQXNCO0NBS3RCOztBbkNqRUg7RW1DakNKO0lBK0ZRLFlBQVc7SUFDWCxjQUFhO0dBRWQ7Q3RDeXJNTjs7QXNDM3hNRDtFQW9HTyxpQkFBZ0I7Q0FLaEI7O0FBekdQO0VBc0dRLGNBQWE7Q0FFYjs7QW5DdkVKO0VtQ2pDSjtJQXVHNEMsY0FBYTtHQUNqRDtDdENpc01QOztBc0N6eU1EO0VBOEdRLFlBQVc7RUFDWCxXQUFTO0NBQ1o7O0FBaEhMO0VBa0hRLFlBQVc7RUFDWCxXQUFTO0NBQ1o7O0FBcEhMO0VBeUhFLG9CQUFtQjtFQUNoQixxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHNCQUFpQjtNQUFqQixrQkFBaUI7Q0FtQnBCOztBQTlJRjtFQTZITSxvQkFBYztNQUFkLG1CQUFjO1VBQWQsZUFBYztFQUNkLG9CQUFtQjtFQUNuQixrQkFBaUI7Q0FRcEI7O0FBdklIO0VBaUlPLGtCQUFnQjtFQUNoQixzQkFBcUI7Q0FDckI7O0FBbklQO0VBcUlJLFlBQVU7Q0FDVjs7QUF0SUo7RUEwSU8sY0FBYTtDQUViOztBbkMzR0g7RW1DakNKO0lBMkkyQyxjQUFhO0dBQ2pEO0N0Q3NzTU47O0FzQ2wxTUQ7RUFnSkUsb0JBQW1CO0VBQ2hCLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isc0JBQWlCO01BQWpCLGtCQUFpQjtDQXFCcEI7O0FuQ3RJRTtFbUNqQ0o7SUFtSnlDLGVBQWM7R0FvQnJEO0N0Q3VyTUQ7O0FzQzkxTUQ7RUFxSk0sb0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlO0VBQ2Ysb0JBQW1CO0NBVXRCOztBbkMvSEM7RW1DakNKO0lBdUowQyxpQkFBZ0I7R0FTdkQ7Q3RDeXNNRjs7QXNDejJNRDtFQXlKSSxpQkFBZ0I7Q0FNYjs7QUEvSlA7RUEySlEsY0FBYTtDQUdiOztBbkM3SEo7RW1DakNKO0lBNEo0QyxjQUFhO0dBRWpEO0N0Q3l0TVA7O0FHdDFNRztFbUNqQ0o7SUE2SjRDLGNBQWE7R0FDakQ7Q3RDK3RNUDs7QXNDNzNNRDtFQW1LSSxrQkFBaUI7Q0FFakI7O0FuQ3BJQTtFbUNqQ0o7SUFvS3dDLGlCQUFnQjtHQUNwRDtDdENrdU1IOztBc0N2NE1EO0VBMktJLFlBQVc7RUFDWCxhQUFZO0VBQ1osWUFBVztFQUNYLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsT0FBTTtFQUNOLHNDQUFxQztFQUNyQyxnQ3BDcE5vQjtFb0NxTnBCLGlDcENyTm9CO0NvQ3NOcEI7O0FBcExKO0VBc0xJLGFBQVk7RUFDWixrQkFBaUI7RUFDakIsZ0JBQWU7RUFDZixZQUFXO0VBQ1gsV0FBVTtFQUNWLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsWUFBVztFQUNYLG1CQUFrQjtDQUNsQjs7QUEvTEo7RUFvTUUsY0FBYTtFQUNiLG9CQUFtQjtDQUNuQjs7QUF0TUY7RUFtTXlCLG1CQUFrQjtDQUFHOztBQ3ZPOUMsbUZBQW1GO0FBQ25GLDRCQUE0QjtBQUM1QixtRkFBbUY7QUFFbkY7RUFDRSxxQkFBb0I7RUFBcEIscUJBQW9CO0VBQXBCLGNBQW9CO0VBQ3BCLHVCQUE4QjtFQUM5QixjQUFvQjtFQUNwQixvQkFBb0I7Q0FzQ3JCOztBQTFDRDtFQU9JLG9CQUF3QjtNQUF4QixtQkFBd0I7VUFBeEIsZUFBd0I7RUFDeEIsZ0JBQW9CO0VBQ3BCLGVyQ1hvQjtFcUNZcEIsb0JBQW9CO0VBQ3BCLGVBQWlCO0VBQ2pCLGFBQWlCO0NBQ2xCOztBQWJIO0VBZ0JJLG9CQUFvQjtNQUFwQixtQkFBb0I7VUFBcEIsZUFBb0I7RUFDcEIsYUFBYTtDQWNkOztBQS9CSDtFQW9CTSxtQkFBbUI7RUFDbkIsbUJBQWtCO0VBQ2xCLGlCQUFnQjtDQUNqQjs7QUF2Qkw7RUF5Qk0sZ0JBQWU7Q0FJaEI7O0FBN0JMO0VBMkJRLG1CQUFrQjtDQUNuQjs7QUE1QlA7RUE4Qm1CLGlCQUFpQjtDQUFLOztBcENtQ3JDO0VvQ2pFSjtJQWtDSSxvQkFBZTtRQUFmLGdCQUFlO0lBQ2YsbUJBQWtCO0dBT3JCO0VBMUNEO0lBcUNvQixrQkFBaUI7R0FBSztFQXJDMUM7SUFzQ29DLG9CQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0dBQUs7RUF0Q3ZEO0lBd0N1QixnQkFBZTtHQUFLO0N2QzA5TTFDOztBdUN0OU1EO0VBQ0UscUJBQW9CO0VBQXBCLHFCQUFvQjtFQUFwQixjQUFvQjtFQUNwQix1QkFBOEI7RUFDOUIsY0FBb0I7RUFDcEIsb0JBQW9CO0VBQ3BCLFlBQW9CO0VBQ3BCLG9CQUFzQjtFQUN0QiwwQkFBc0I7TUFBdEIsdUJBQXNCO1VBQXRCLG9CQUFzQjtDQThCdkI7O0FBckNEO0VBVUksb0JBQXdCO01BQXhCLG1CQUF3QjtVQUF4QixlQUF3QjtFQUN4QixpQkFBdUI7RUFDdkIsOEJBQWdDO0VBQ2hDLGdCQUFvQjtFQUNwQixlckM1RG9CO0VxQzZEcEIsbUJBQW9CO0VBQ3BCLG9CQUFvQjtFQUNwQixlQUFpQjtFQUNqQiw2QkFBOEI7Q0FDL0I7O0FBbkJIO0VBc0JJLG9CQUF3QjtNQUF4QixtQkFBd0I7VUFBeEIsZUFBd0I7RUFDeEIsYUFBaUI7RUFDakIsZ0JBQW9CO0VBQ3BCLFlBQW9CO0VBQ3BCLHNCQUE0QjtFQUM1QixvQkFBc0I7RUFDdEIsaUJBQXNCO0VBQ3RCLHdCQUF3QjtDQUN6Qjs7QXBDVEM7RW9DckJKO0lBaUNJLGNBQWM7R0FJakI7RUFyQ0Q7SUFrQ2UsZ0JBQWdCO0lBQUcsb0JBQW9CO0lBQUcsbUJBQW1CO0dBQUs7RUFsQ2pGO0lBbUNRLGdCQUFnQjtHQUFLO0N2Q2srTTVCOztBdUM5OU1EO0VBRUksZUFBa0I7RUFDbEIsZ0JBQWdCO0NBQ2pCOztBQUdIO0VBRUksZ0JBQWdCO0VBQ2hCLGVBQWtCO0VBQ2xCLFdBQWM7RUFDZCxvQ0FBNkI7VUFBN0IsNEJBQTZCO0VBQzdCLDhCQUFzQjtFQUF0QixzQkFBc0I7Q0FDdkI7O0FBUEg7RUFVSSxXQUFhO0VBQ2IsaUNBQXlCO1VBQXpCLHlCQUF5QjtDQUMxQjs7QUFHSDtFQUNFLG9CQUFtQjtDQUNwQjs7QUMvR0QsbUZBQW1GO0FBQ25GLHlCQUF5QjtBQUN6QixtRkFBbUY7QUFFbkY7RUFDRSxxQkFBcUI7Q0FrQnRCOztBQW5CRDtFQUlJLFlBQVk7Q0FFYjs7QUFOSDtFQUtjLGV0Q1BVO0NzQ09nQjs7QUFMeEM7RUFVSSxvQkFBb0I7Q0FRckI7O0FBbEJIO0U3QkZJLGVBQWM7RUFDZCxZQUFXO0VBQ1gsWUFBVztDQUNaOztBNkJESDtFQVltQixpQkFBaUI7Q0FBSzs7QUFaekM7RUFlTSxzQkFBc0I7RUFDdEIsa0JBQXNCO0NBQ3ZCOztBQUlMO0UxQzJCRSxVQUFXO0VBQ1gsV0FBVztFQUNYLFVBQVc7RUFHVCxpQkFBaUI7QzBDaEJwQjs7QUFoQkQ7RUFJSSxxQkFBcUI7RUFDckIsNEJBQWdDO0NBVWpDOztBQWZIO0VBUU0sYUFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLFlBQWlCO0VBQ2pCLGdCQUFpQjtFQUNqQixlQUFrQjtFQUNsQixtQkFBbUI7Q0FDcEI7O0FBSUw7RTFDU0UsVUFBVztFQUNYLFdBQVc7RUFDWCxVQUFXO0VBR1QsaUJBQWlCO0MwQzhCcEI7O0FBNUNEO0VBSUksaUJBQW9CO0VBQ3BCLG9CQUFvQjtFQUNwQix3Q0FBbUM7RUFBbkMsZ0NBQW1DO0NBcUNwQzs7QUEzQ0g7RUFRYyxhQUFhO0NBQUs7O0FBUmhDO0VBU21CLGlCQUFpQjtDQUFLOztBQVR6QztFQVlNLHFCQUFjO0VBQWQscUJBQWM7RUFBZCxjQUFjO0NBSWY7O0FBaEJMO0VBY2lCLG9CQUFnQjtNQUFoQixvQkFBZ0I7VUFBaEIsZ0JBQWdCO0NBQUs7O0FBZHRDO0VBZW1CLG9CQUFRO01BQVIsWUFBUTtVQUFSLFFBQVE7Q0FBSzs7QUFmaEM7RUFtQk0sb0JBQW9CO0VBQ3BCLGFBQWlCO0NBT2xCOztBQTNCTDtFMUNMRSxxQkFENkI7RUFFN0Isa0JBRjZCO0VBSzNCLGtDQUFzQztFMEN5QmxDLFlBQWE7RUFDYixhQUFhO0NBQ2Q7O0FBMUJQO0VBOEJNLDRCQUE0QjtDQVk3Qjs7QUExQ0w7RUFpQ1EsbUJBQXVCO0VBQ3ZCLGlCQUFpQjtFQUNqQixpQkFBbUI7Q0FDcEI7O0FBcENQO0VBdUNRLFlBQWdCO0VBQ2hCLGdCQUFnQjtDQUNqQjs7QUNwRlAsbUZBQW1GO0FBQ25GLGtDQUFrQztBQUNsQyxtRkFBbUY7QUFFbkY7RUFDRSxtQkFBbUI7Q0FpQ3BCOztBQWxDRDtFQUlJLGlCQUFvQjtFQUNwQixnQkFBcUI7RUFDckIsMkJBQTJCO0NBQzVCOztBQVBIO0VBVUksb0JBQW9CO0VBQ3BCLFlBQW9CO0VBQ3BCLGFBQWlCO0NBcUJsQjs7QUFqQ0g7RTNDZ0RFLFVBQVc7RUFDWCxXQUFXO0VBQ1gsVUFBVztFQUdULGlCQUFpQjtDMkNyQmhCOztBQWhDTDtFQWtCUSxnQkFBdUI7RUFDdkIsZ0JBQXFCO0VBQ3JCLDJCQUEyQjtDQVc1Qjs7QUEvQlA7RUF1QlUsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixZQUFjO0NBQ2Y7O0FBMUJUO0VBNEI2QixjQUFjO0NBQUs7O0FBNUJoRDtFQThCWSxZQUFZO0NBQUs7O0FBTTdCO0VBQ21CLG9CQUFvQjtDQUFLOztBQUQ1QztFQUljLFdBQVc7Q0FBSzs7QUFKOUI7RUFNTSxZQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsWUFBZ0I7Q0FDakI7O0FBVEw7RUFhSSxnQkFBZ0I7Q0FnQmpCOztBQTdCSDtFQWVNLGdCQUFtQjtFQUNuQixZQUFtQjtFQUNuQixtQkFBdUI7RUFDdkIsU0FBa0I7RUFDbEIsaUJBQWtCO0VBQ2xCLGtCQUFrQjtDQUNuQjs7QUFyQkw7RUF1Qk0sWUFBb0I7RUFDcEIsbUJBQW1CO0NBSXBCOztBQTVCTDtFQTBCUSxldkNoRWdCO0N1Q2lFakI7O0FBM0JQO0UzQ1lFLFVBQVc7RUFDWCxXQUFXO0VBQ1gsVUFBVztFQUdULGlCQUFpQjtFMkNnQmpCLGFBQWM7RUFDZCxtQkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLGdCQUFpQjtDQWFsQjs7QUFqREg7RUF1Q00sZ0JBQWdCO0NBU2pCOztBQWhETDtFQTBDUSxzQkFBd0I7RUFDeEIsZ0JBQWdCO0VBQ2hCLFlBQWdCO0VBQ2hCLGtCQUFvQjtDQUVyQjs7QUEvQ1A7RUE4Q2tCLGV2Q3BGTTtDdUNvRm9CIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgQXV0aG9yOiBQdXp6bGVUaGVtZXNcbiAqICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8vID09PT0gdmFyaWFibGVzICYgZGVwcy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2Fzc2V0cy9ib290c3RyYXAvbWl4aW5zJztcbkBpbXBvcnQgJ2Fzc2V0cy9taXhpbnMnO1xuQGltcG9ydCAnYXNzZXRzL2FuaW1hdGUnO1xuXG5cblxuLy8gPT09PSBiYXNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL2Jhc2UnO1xuQGltcG9ydCAnc3R5bGUtcGFydHMvYm9vdHN0cmFwLWN1c3RvbWl6YXRpb25zJztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL3ByZWxvYWRlcic7XG5AaW1wb3J0ICdzdHlsZS1wYXJ0cy9zY3JvbGwtdG8tdG9wJztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnc3R5bGUtcGFydHMvc2xpY2stc2xpZGVyJztcblxuXG4vLyA9PT09IGhlYWRlciwgZm9vdGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL2hlYWRlci1iYXNlJztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL2hlYWRlci1mbi1tZW51JztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL2hlYWRlci1zZWFyY2gnO1xuQGltcG9ydCAnc3R5bGUtcGFydHMvaGVhZGVyLXN0YXRlcyc7XG5AaW1wb3J0ICdzdHlsZS1wYXJ0cy9mb290ZXInO1xuXG5cbi8vID09PT0gdW5jYXRlZ29yaXplZFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0ICdzdHlsZS1wYXJ0cy9pbnRybyc7XG5AaW1wb3J0ICdzdHlsZS1wYXJ0cy9hYm91dCc7XG5AaW1wb3J0ICdzdHlsZS1wYXJ0cy9zZXJ2aWNlcyc7XG5AaW1wb3J0ICdzdHlsZS1wYXJ0cy90ZWFtJztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL2Z1bl9mYWN0JztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL3BvcnRmb2xpbyc7XG5AaW1wb3J0ICdzdHlsZS1wYXJ0cy9hbmltYXRlZC1jaXJjbGUnO1xuQGltcG9ydCAnc3R5bGUtcGFydHMvdGVzdGltb25pYWxzJztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL2NvbnRhY3RzJztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL290aGVyJztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL3F1b3RlJztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdzdHlsZS1wYXJ0cy9wcmljaW5nLXRhYmxlcyc7XG5AaW1wb3J0ICdzdHlsZS1wYXJ0cy9mYXEnO1xuQGltcG9ydCAnc3R5bGUtcGFydHMvY2xpZW50cyc7XG5AaW1wb3J0ICdzdHlsZS1wYXJ0cy9zdWJzY3JpYmUnO1xuQGltcG9ydCAnc3R5bGUtcGFydHMvNDA0JztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL3RleHRyb3JhdG9yJztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL3R5cGVkanMnO1xuQGltcG9ydCAnc3R5bGUtcGFydHMvc3dpcGVib3gnO1xuQGltcG9ydCAnc3R5bGUtcGFydHMvc2l0ZS1zb2NpYWxzJztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL3RleHQtd2lkZ2V0JztcblxuXG5cbi8vID09PT0gYmxvZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0ICdzdHlsZS1wYXJ0cy9ibG9nLWJhc2UnO1xuQGltcG9ydCAnc3R5bGUtcGFydHMvYmxvZy1wb3N0LWZvcm1hdHMnO1xuQGltcG9ydCAnc3R5bGUtcGFydHMvYmxvZy1zaWRlYmFyJztcbkBpbXBvcnQgJ3N0eWxlLXBhcnRzL2Jsb2ctc2luZ2xlLXBhZ2UnOyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBIZWxwZXIgbWl4aW5zICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBsaXN0IHdpdGggaWNvbnMgaW5zdGVhZCBvZiBidWxsZXRzXG5AbWl4aW4gaWNvbmljLWxpc3QoJGljb24td2lkdGg6IDJlbSkge1xuICBwYWRkaW5nLWxlZnQgICAgOiAwO1xuICBtYXJnaW4tbGVmdCAgICAgOiAkaWNvbi13aWR0aDtcbiAgbGlzdC1zdHlsZS10eXBlIDogbm9uZTtcblxuICA+IGxpIHsgcG9zaXRpb24gOiByZWxhdGl2ZTsgfVxuXG4gID4gbGkgLmxpLWljb24ge1xuICAgIHBvc2l0aW9uICAgOiBhYnNvbHV0ZTtcbiAgICBsZWZ0ICAgICAgIDogLSRpY29uLXdpZHRoO1xuICAgIHdpZHRoICAgICAgOiAkaWNvbi13aWR0aDtcbiAgICB0b3AgICAgICAgIDogMDtcbiAgICB0ZXh0LWFsaWduIDogbGVmdDtcbiAgfVxufVxuXG4vLyBvdmVybGF5IHNob3J0aGFuZFxuQG1peGluIG92ZXJsYXktYmFzZSgkcG9zaXRpb246IGFic29sdXRlKSB7XG4gIHBvc2l0aW9uIDogJHBvc2l0aW9uO1xuICB0b3AgICAgICA6IDA7IGJvdHRvbSA6IDA7XG4gIHJpZ2h0ICAgIDogMDsgbGVmdCA6IDA7XG4gIHdpZHRoICAgIDogMTAwJTsgaGVpZ2h0IDogMTAwJTtcbn1cblxuLy8gc2hvcnRoYW5kIGZvciBiZyBzaXplIGNvdmVyIGRlY2xhcmF0aW9uXG5AbWl4aW4gY292ZXItYmctYmFzZSgpIHtcbiAgYmFja2dyb3VuZC1zaXplICAgICA6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdCAgIDogbm8tcmVwZWF0O1xufVxuXG4vLyBzaG9ydGhhbmQgZm9yIG9iamVjdC1maXQgcHJlZml4aXplZCBkZWZpbml0aW9uXG5AbWl4aW4gb2JqZWN0LWZpdCgkdmFsdWU6IGNvdmVyKSB7XG4gIC1vLW9iamVjdC1maXQgOiAkdmFsdWU7XG4gIG9iamVjdC1maXQgICAgOiAkdmFsdWU7XG5cbiAgQGlmICR2YWx1ZSAhPSBub25lIHtcbiAgICBmb250LWZhbWlseSA6ICdvYmplY3QtZml0OiAjeyR2YWx1ZX07J1xuICB9XG5cbiAgQGlmICR2YWx1ZSA9PSBub25lIHtcbiAgICBmb250LWZhbWlseSA6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gYm94IG1vZGVsIHJlc2V0IGhlbHBlclxuQG1peGluIHJlc2V0LWJveC1tb2RlbCgkdWwtcmVzZXQ6IGZhbHNlKSB7XG4gIG1hcmdpbiAgOiAwO1xuICBwYWRkaW5nIDogMDtcbiAgYm9yZGVyICA6IDA7XG5cbiAgQGlmICR1bC1yZXNldCA9PSB0cnVlIHtcbiAgICBsaXN0LXN0eWxlIDogbm9uZTtcbiAgfVxufVxuXG4vLyBtYWtlcyB0ZXh0IGludmlzaWJsZVxuQG1peGluIGhpZGUtdGV4dCgpIHtcbiAgZm9udCAgICAgICAgICAgICA6ICN7JzAvMCd9IGE7XG4gIGNvbG9yICAgICAgICAgICAgOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3cgICAgICA6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3IgOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyICAgICAgICAgICA6IDA7XG59XG5cbi8vIHNob3J0aGFuZCBmb3IgcHJlZml4ZWQgcGxhY2Vob2xkZXIgc3R5bGVzXG5AbWl4aW4gcGxhY2Vob2xkZXItc3R5bGVzKCkge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQgfVxuICAmOjotbW96LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQgfVxuICAmOi1tb3otcGxhY2Vob2xkZXIgeyBAY29udGVudCB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQgfVxufVxuXG4vLyBtYWtlIGVsZW1lbnQgdmlzaWJsZSBvbmx5IGZvciBzY3JlZW4gcmVhZGVyc1xuQG1peGluIG9ubHktZm9yLXNyKCkge1xuICBjbGlwICAgICAgICA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb24gICAgOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZSA6IG5vd3JhcDtcbiAgaGVpZ2h0ICAgICAgOiAxcHg7XG4gIHdpZHRoICAgICAgIDogMXB4O1xuICBvdmVyZmxvdyAgICA6IGhpZGRlbjtcbn1cblxuLy8gYm9yZGVyLXJhZGl1cyBzaG9ydGhhbmRcbkBtaXhpbiBfYm9yZGVyLXJhZGl1cy1leHRlbmRlZCgkdG9wTGVmdDogMCwgJHRvcFJpZ2h0OiAwLCAkYm90dG9tUmlnaHQ6IDAsICRib3R0b21MZWZ0OiAwKSB7XG4gIEBpZiAkdG9wTGVmdCAhPSAwIHsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHRvcExlZnQ7IH1cbiAgQGlmICR0b3BSaWdodCAhPSAwIHsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR0b3BSaWdodDsgfVxuICBAaWYgJGJvdHRvbVJpZ2h0ICE9IDAgeyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvdHRvbVJpZ2h0OyB9XG4gIEBpZiAkYm90dG9tTGVmdCAhPSAwIHsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvdHRvbUxlZnQ7IH1cbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHNpemUuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2l6ZSkgPT0gMSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHNpemU7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIF9ib3JkZXItcmFkaXVzLWV4dGVuZGVkKCRzaXplLi4uKTtcbiAgfVxufVxuXG4vLyBzaG9ydGhhbmQgaGVscGVyIGZvciBwcmVmaXhpbmcgdmFyaWFibGVzXG5AbWl4aW4gcHJlZml4KCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXM6ICh3ZWJraXQgbXMgbW96IG8pKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICAjeyctJyArICRwcmVmaXggKyAnLScgKyAkcHJvcGVydHl9OiAkdmFsdWU7XG4gIH1cblxuICAvLyBPdXRwdXQgc3RhbmRhcmQgbm9uLXByZWZpeGVkIGRlY2xhcmF0aW9uXG4gICN7JHByb3BlcnR5fTogJHZhbHVlO1xufVxuXG4vLyBzaG9ydGhhbmQgbWl4aW4gZm9yIGVxdWlwcGluZyBpY29ucyBmcm9tIGZvbnRzXG5AbWl4aW4gZXF1aXAtaWNvbigkY2hhcmNvZGUsICRmb250OiAkaWNvbi1mb250LWZhbWlseSkge1xuICBmb250LWZhbWlseSAgICAgICAgICAgICA6ICRmb250O1xuICBmb250LXN0eWxlICAgICAgICAgICAgICA6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQgICAgICAgICAgICAgOiBub3JtYWw7XG4gIHNwZWFrICAgICAgICAgICAgICAgICAgIDogbm9uZTtcbiAgZGlzcGxheSAgICAgICAgICAgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbiAgICAgICAgIDogaW5oZXJpdDtcbiAgd2lkdGggICAgICAgICAgICAgICAgICAgOiAxZW07XG4gIHRleHQtYWxpZ24gICAgICAgICAgICAgIDogY2VudGVyO1xuICBmb250LXZhcmlhbnQgICAgICAgICAgICA6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm0gICAgICAgICAgOiBub25lO1xuICBsaW5lLWhlaWdodCAgICAgICAgICAgICA6IDFlbTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZyAgOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmcgOiBncmF5c2NhbGU7XG4gIGNvbnRlbnQgICAgICAgICAgICAgICAgIDogJGNoYXJjb2RlO1xufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi5hbmltYXRlZCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGhcbn1cbi5hbmltYXRlZC5oaW5nZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnNcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICAgIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxuICAgIH1cbiAgICA0MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweClcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpXG4gICAgfVxufVxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAgIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxuICAgIH1cbiAgICA0MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpXG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweClcbiAgICB9XG59XG4uYm91bmNlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHtcbiAgICAwJSwgNTAlLCAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbiAgICAyNSUsXG4gICAgNzUlIHtcbiAgICAgICAgb3BhY2l0eTogMFxuICAgIH1cbn1cbkBrZXlmcmFtZXMgZmxhc2gge1xuICAgIDAlLCA1MCUsIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgfVxuICAgIDI1JSxcbiAgICA3NSUge1xuICAgICAgICBvcGFjaXR5OiAwXG4gICAgfVxufVxuLmZsYXNoIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgICBhbmltYXRpb24tbmFtZTogZmxhc2hcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSlcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpXG4gICAgfVxufVxuQGtleWZyYW1lcyBwdWxzZSB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpXG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSlcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSlcbiAgICB9XG59XG4ucHVsc2Uge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBwdWxzZVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcbiAgICAwJSwgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG4gICAgMTAlLFxuICAgIDMwJSxcbiAgICA1MCUsXG4gICAgNzAlLFxuICAgIDkwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KVxuICAgIH1cbiAgICAyMCUsXG4gICAgNDAlLFxuICAgIDYwJSxcbiAgICA4MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpXG4gICAgfVxufVxuQGtleWZyYW1lcyBzaGFrZSB7XG4gICAgMCUsIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgfVxuICAgIDEwJSxcbiAgICAzMCUsXG4gICAgNTAlLFxuICAgIDcwJSxcbiAgICA5MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpXG4gICAgfVxuICAgIDIwJSxcbiAgICA0MCUsXG4gICAgNjAlLFxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweClcbiAgICB9XG59XG4uc2hha2Uge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcbiAgICAyMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpXG4gICAgfVxuICAgIDQwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKVxuICAgIH1cbiAgICA2MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKVxuICAgIH1cbiAgICA4MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAgIDIwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZylcbiAgICB9XG4gICAgNDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKVxuICAgIH1cbiAgICA2MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpXG4gICAgfVxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZylcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZylcbiAgICB9XG59XG4uc3dpbmcge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpXG4gICAgfVxuICAgIDEwJSxcbiAgICAyMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKVxuICAgIH1cbiAgICAzMCUsXG4gICAgNTAlLFxuICAgIDcwJSxcbiAgICA5MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZylcbiAgICB9XG4gICAgNDAlLFxuICAgIDYwJSxcbiAgICA4MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMClcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHRhZGEge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKVxuICAgIH1cbiAgICAxMCUsXG4gICAgMjAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKVxuICAgIH1cbiAgICAzMCUsXG4gICAgNTAlLFxuICAgIDcwJSxcbiAgICA5MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpXG4gICAgfVxuICAgIDQwJSxcbiAgICA2MCUsXG4gICAgODAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKVxuICAgIH1cbn1cbi50YWRhIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB0YWRhXG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKVxuICAgIH1cbiAgICAxNSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKVxuICAgIH1cbiAgICAzMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpXG4gICAgfVxuICAgIDQ1JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpXG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZylcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSlcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpXG4gICAgfVxuICAgIDE1JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZylcbiAgICB9XG4gICAgMzAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKVxuICAgIH1cbiAgICA0NSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpXG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZylcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKVxuICAgIH1cbn1cbi53b2JibGUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbiAgICBhbmltYXRpb24tbmFtZTogd29iYmxlXG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjg1LCAuODUsIC44NSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguODUsIC44NSwgLjg1KVxuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgfVxufVxuQGtleWZyYW1lcyB6b29tSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguODUsIC44NSwgLjg1KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC44NSwgLjg1LCAuODUpXG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG59XG4uem9vbUluIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MClcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluRG93biB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKVxuICAgIH1cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpXG4gICAgfVxufVxuLnpvb21JbkRvd24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd25cbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApXG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSlcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MClcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKVxuICAgIH1cbn1cbi56b29tSW5MZWZ0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApXG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApXG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKVxuICAgIH1cbn1cbi56b29tSW5SaWdodCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApXG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluVXAge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApXG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKVxuICAgIH1cbn1cbi56b29tSW5VcCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwXG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguMylcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpXG4gICAgfVxuICAgIDcwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjkpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSlcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKC4zKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguMylcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KVxuICAgIH1cbiAgICA3MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjkpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguOSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjkpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpXG4gICAgfVxufVxuLmJvdW5jZUluIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KVxuICAgIH1cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpXG4gICAgfVxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweClcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KVxuICAgIH1cbiAgICA4MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gICAgfVxufVxuLmJvdW5jZUluRG93biB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd25cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KVxuICAgIH1cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpXG4gICAgfVxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweClcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KVxuICAgIH1cbiAgICA4MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgfVxufVxuLmJvdW5jZUluTGVmdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnRcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpXG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KVxuICAgIH1cbiAgICA4MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweClcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KVxuICAgIH1cbiAgICA4MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgfVxufVxuLmJvdW5jZUluUmlnaHQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHRcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpXG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KVxuICAgIH1cbiAgICA4MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gICAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweClcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KVxuICAgIH1cbiAgICA4MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gICAgfVxufVxuLmJvdW5jZUluVXAge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXBcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpXG4gICAgfVxuICAgIDI1JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOTUpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC45NSlcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguMylcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpXG4gICAgfVxuICAgIDI1JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOTUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguOTUpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC45NSlcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLjMpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC4zKVxuICAgIH1cbn1cbi5ib3VuY2VPdXQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gICAgfVxuICAgIDIwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweClcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxuICAgIH1cbiAgICAyMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpXG4gICAgfVxufVxuLmJvdW5jZU91dERvd24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd25cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG4gICAgMjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgfVxuICAgIDIwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweClcbiAgICB9XG59XG4uYm91bmNlT3V0TGVmdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdFxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG4gICAgMjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICAgIH1cbiAgICAyMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpXG4gICAgfVxufVxuLmJvdW5jZU91dFJpZ2h0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHRcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gICAgfVxuICAgIDIwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweClcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcbiAgICB9XG4gICAgMjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KVxuICAgIH1cbn1cbi5ib3VuY2VPdXRVcCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwXG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgfVxufVxuLmZhZGVJbiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gICAgfVxufVxuLmZhZGVJbkRvd24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxuICAgIH1cbn1cbi5mYWRlSW5Eb3duQmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnXG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICAgIH1cbn1cbi5mYWRlSW5MZWZ0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG59XG4uZmFkZUluTGVmdEJpZyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZ1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG59XG4uZmFkZUluUmlnaHQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodFxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgfVxufVxuLmZhZGVJblJpZ2h0QmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWdcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gICAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gICAgfVxufVxuLmZhZGVJblVwIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxuICAgIH1cbn1cbi5mYWRlSW5VcEJpZyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnXG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwXG4gICAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG59XG4uZmFkZU91dCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweClcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweClcbiAgICB9XG59XG4uZmFkZU91dERvd24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93blxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpXG4gICAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpXG4gICAgfVxufVxuLmZhZGVPdXREb3duQmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWdcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweClcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweClcbiAgICB9XG59XG4uZmFkZU91dExlZnQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdFxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweClcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweClcbiAgICB9XG59XG4uZmFkZU91dExlZnRCaWcge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZ1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpXG4gICAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KVxuICAgIH1cbn1cbi5mYWRlT3V0UmlnaHQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpXG4gICAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KVxuICAgIH1cbn1cbi5mYWRlT3V0UmlnaHRCaWcge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnXG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweClcbiAgICB9XG59XG4uZmFkZU91dFVwIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcFxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpXG4gICAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KVxuICAgIH1cbn1cbi5mYWRlT3V0VXBCaWcge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnXG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwKSBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dFxuICAgIH1cbiAgICA0MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKSBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpIHNjYWxlKDEpO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dFxuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW5cbiAgICB9XG4gICAgODAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSguOTUpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSguOTUpO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW5cbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDEpO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW5cbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXAge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwKSBzY2FsZSgxKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXRcbiAgICB9XG4gICAgNDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykgc2NhbGUoMSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykgc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKSBzY2FsZSgxKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXRcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluXG4gICAgfVxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pblxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgxKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgxKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluXG4gICAgfVxufVxuLmFuaW1hdGVkLmZsaXAge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZsaXBcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwXG4gICAgfVxuICAgIDQwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZylcbiAgICB9XG4gICAgNzAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZylcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwXG4gICAgfVxuICAgIDQwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZylcbiAgICB9XG4gICAgNzAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbn1cbi5mbGlwSW5YIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YXG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMFxuICAgIH1cbiAgICA0MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpXG4gICAgfVxuICAgIDcwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMFxuICAgIH1cbiAgICA0MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpXG4gICAgfVxuICAgIDcwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZylcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG59XG4uZmxpcEluWSB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcEluWVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG59XG4uZmxpcE91dFgge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudFxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG59XG4uZmxpcE91dFkge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMFxuICAgIH1cbiAgICA2MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG4gICAgODAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMFxuICAgIH1cbiAgICA2MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgfVxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG59XG4ubGlnaHRTcGVlZEluIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gICAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwXG4gICAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG59XG4ubGlnaHRTcGVlZE91dCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pblxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG59XG4ucm90YXRlSW4ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMFxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG59XG4ucm90YXRlSW5Eb3duTGVmdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdFxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgfVxufVxuLnJvdGF0ZUluRG93blJpZ2h0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHRcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMFxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgfVxufVxuLnJvdGF0ZUluVXBMZWZ0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnRcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG59XG4ucm90YXRlSW5VcFJpZ2h0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodFxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMFxuICAgIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG59XG4ucm90YXRlT3V0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG59XG4ucm90YXRlT3V0RG93bkxlZnQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdFxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwXG4gICAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMFxuICAgIH1cbn1cbi5yb3RhdGVPdXREb3duUmlnaHQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMFxuICAgIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG59XG4ucm90YXRlT3V0VXBMZWZ0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdFxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMFxuICAgIH1cbn1cbi5yb3RhdGVPdXRVcFJpZ2h0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxuICAgIH1cbn1cbi5zbGlkZUluRG93biB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duXG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICAgIH1cbn1cbi5zbGlkZUluTGVmdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICAgIH1cbn1cbi5zbGlkZUluUmlnaHQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweClcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpXG4gICAgfVxufVxuLnNsaWRlT3V0TGVmdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnRcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpXG4gICAgfVxufVxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweClcbiAgICB9XG59XG4uc2xpZGVPdXRSaWdodCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodFxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpXG4gICAgfVxufVxuLnNsaWRlT3V0VXAge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXBcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0XG4gICAgfVxuICAgIDIwJSxcbiAgICA2MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXRcbiAgICB9XG4gICAgNDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0XG4gICAgfVxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXRcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KTtcbiAgICAgICAgb3BhY2l0eTogMFxuICAgIH1cbn1cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXRcbiAgICB9XG4gICAgMjAlLFxuICAgIDYwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg4MGRlZyk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0XG4gICAgfVxuICAgIDQwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0XG4gICAgfVxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpO1xuICAgICAgICBvcGFjaXR5OiAwXG4gICAgfVxufVxuLmhpbmdlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbiAgICBhbmltYXRpb24tbmFtZTogaGluZ2Vcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZylcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZylcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpXG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpXG4gICAgfVxufVxuLnJvbGxJbiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluO1xuICAgIGFuaW1hdGlvbi1uYW1lOiByb2xsSW5cbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZylcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZylcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKVxuICAgIH1cbn1cbi5yb2xsT3V0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0XG59IiwiLypcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgQXV0aG9yOiBQdXp6bGVUaGVtZXNcbiAqICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEhlbHBlciBtaXhpbnMgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmhpbmdlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSwgMjAlLCA1MCUsIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpO1xuICB9XG59XG5cbi5ib3VuY2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XG4gIDAlLCA1MCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIDAlLCA1MCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsYXNoIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4ucHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xuICAwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICB9XG59XG5cbi5zaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogc2hha2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xuICB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gIH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gIH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuLnN3aW5nIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcbiAgfVxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB0YWRhIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO1xuICB9XG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO1xuICB9XG59XG5cbi50YWRhIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpO1xuICB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpO1xuICB9XG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTtcbiAgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7XG4gIH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTtcbiAgfVxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7XG4gIH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuXG4ud29iYmxlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjg1LCAwLjg1LCAwLjg1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC44NSwgMC44NSwgMC44NSk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjg1LCAwLjg1LCAwLjg1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC44NSwgMC44NSwgMC44NSk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi56b29tSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuLnpvb21JbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG4uem9vbUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuLnpvb21JblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbi56b29tSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gIH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbi5ib3VuY2VJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5ib3VuY2VJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5ib3VuY2VJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gIH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5ib3VuY2VJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gIH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5ib3VuY2VJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDI1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMyk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7XG4gIH1cbn1cblxuLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICB9XG59XG5cbi5ib3VuY2VPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgfVxufVxuXG4uYm91bmNlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgfVxufVxuXG4uYm91bmNlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgfVxufVxuXG4uYm91bmNlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZhZGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmZhZGVJbkRvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmZhZGVJblVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG59XG5cbi5mYWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG59XG5cbi5mYWRlT3V0TGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB9XG59XG5cbi5mYWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG59XG5cbi5mYWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG59XG5cbi5mYWRlT3V0VXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwKSBzY2FsZSgxKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDAuOTUpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKSBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKSBzY2FsZSgxKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDAuOTUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgwLjk1KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgxKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG4uYW5pbWF0ZWQuZmxpcCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7XG4gIH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTtcbiAgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZsaXBJblgge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7XG4gIH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5mbGlwSW5ZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsaXBPdXRZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5VcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgfVxufVxuXG4uc2xpZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICB9XG59XG5cbi5zbGlkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgfVxufVxuXG4uc2xpZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cbiAgMjAlLFxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICAyMCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg4MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uaGluZ2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuLnJvbGxJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTtcbiAgfVxufVxuXG4ucm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQmFzZSBzdHlsZXMgZm9yIGNvbW1vbiBlbGVtZW50cy4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbmJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbn1cblxuYm9keTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xufVxuXG5ib2R5Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiA2cHg7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG59XG5cbmJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogI0MzQUM2RDtcbn1cblxuYm9keS5kaXNhYmxlLWhvdmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5ociB7XG4gIGJvcmRlci1jb2xvcjogI2VlZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIiwgXCJNb250c2VycmF0XCIsIEFyaWFsLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG59XG5cbi53cC1jYXB0aW9uLFxuLnNwLXdpZGdldC1ibG9jayBpbWcsXG4uc3AtYmxvZy1ibG9jayBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuI3NwLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbn1cblxuLnNwLW1hcmczMCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi5zcC1tYXJnNTAge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIFtjbGFzcyo9J2NvbC0nXSB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIH1cbiAgLnNwLW1hcmczMCwgLnNwLW1hcmc1MCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuXG4uc3Atc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTkyO1xuICBwYWRkaW5nLXRvcDogMTEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnNwLXNlY3Rpb24uZGVtbyAuY29udGFpbmVyIHtcbiAgd2lkdGg6IDE1MDBweDtcbn1cblxuLnNwLXNlY3Rpb24uZGVtbyAucm93IHtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xufVxuXG4uc3Atc2VjdGlvbi5kZW1vIFtjbGFzcyo9J2NvbC0nXSB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuLnNwLXNlY3Rpb24ucHQwIHtcbiAgcGFkZGluZy10b3A6IDBweDtcbn1cblxuLnNwLXNlY3Rpb24ucGIwIHtcbiAgcGFkZGluZy1ib3R0b206IDBweDtcbn1cblxuLnNwLXNlY3Rpb24ubm9uZSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5zcC1zZWN0aW9uLmJvcmRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xufVxuXG4uc3Atc2VjdGlvbi53aGl0ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc3Atc2VjdGlvbi53aGl0ZSBoMSwgLnNwLXNlY3Rpb24ud2hpdGUgaDIsIC5zcC1zZWN0aW9uLndoaXRlIGgzLCAuc3Atc2VjdGlvbi53aGl0ZSBoNCwgLnNwLXNlY3Rpb24ud2hpdGUgaDUsIC5zcC1zZWN0aW9uLndoaXRlIGg2IHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5zcC1zZWN0aW9uLmxpdHRsZSB7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogODBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zcC1zZWN0aW9uLmxpdHRsZSB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbn1cblxuLnNwLXNlY3Rpb24uYmctY29sb3ItbGlnaHQge1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG59XG5cbi5zcC1zZWN0aW9uLmJnLWNvbG9yLWRhcmsge1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzQ0NDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0NDQ7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc3Atc2VjdGlvbiBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc3Atc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5zcC10aXRsZS1ibG9jayB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLnNwLXRpdGxlLWJsb2NrLmxpbmUgaDMge1xuICBtYXJnaW4tYm90dG9tOiAxLjRyZW07XG59XG5cbi5zcC10aXRsZS1ibG9jay5saW5lIHNwYW4ge1xuICBtYXJnaW4tYm90dG9tOiAxLjRyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3AtdGl0bGUtYmxvY2subGluZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDI1cHg7XG4gIHdpZHRoOiAycHg7XG4gIGJhY2tncm91bmQ6ICNDM0FDNkQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3Atb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi5qYXJhbGxheCB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBidXR0b24gdmMgc2Nob3J0Y29kZSAqL1xuLnNwLWJ0bi1jb250YWluZXIuYWxpZ25fY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3AtYnRuLWNvbnRhaW5lci5hbGlnbl9sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnNwLWJ0bi1jb250YWluZXIuYWxpZ25fcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IHR5cGVkLmpzIGludGVncmF0aW9uICovXG4udHlwZWQtY3Vyc29yIHtcbiAgYW5pbWF0aW9uOiB0eXBlZC1ibGluayAwLjdzIGluZmluaXRlO1xuICBvcGFjaXR5OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbkBrZXlmcmFtZXMgdHlwZWQtYmxpbmsge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQm9vdHN0cmFwIHN0eWxlIGN1c3RvbWl6YXRpb25zLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBncmlkIHJvd3MgKi9cbi5yb3cge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IGJ1dHRvbnMgYW5kIG90aGVyIGZvcm0gY29udHJvbHMgKi9cbi5idG4ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5idG4tbGcge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5idG4td2hpdGUge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuXG4uZm9ybS1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMzBweCAjZmZmIGluc2V0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gY2Fyb3VzZWxzICovXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzO1xufVxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaTpob3ZlciwgLmNhcm91c2VsLWluZGljYXRvcnMgbGkuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0MzQUM2RDtcbn1cblxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWlubmVyIC5jYXJvdXNlbC1pdGVtIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbn1cblxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWlubmVyIC5jYXJvdXNlbC1pdGVtLFxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWlubmVyIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWlubmVyIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pbm5lciAuYWN0aXZlLFxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWlubmVyIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWlubmVyIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pbm5lciAuY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWlubmVyIC5jYXJvdXNlbC1pdGVtLXByZXYsXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaW5uZXIgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaW5uZXIgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IHByb2dyZXNzIGJhciAqL1xuLnByb2dyZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnByb2dyZXNzIC5wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICBoZWlnaHQ6IDVweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IGlucHV0IGdyb3VwcyAqL1xuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmlucHV0LWdyb3VwIC5mb250LXNpemUsXG4uaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idG4ge1xuICB6LWluZGV4OiAxMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFByaW1hcnkgc2l0ZSBwcmVsb2FkZXIuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI3NwLXByZWxvYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxNTAwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuI3NwLXByZWxvYWRlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC0yNXB4O1xuICBtYXJnaW4tbGVmdDogLTI1cHg7XG59XG5cbiNzcC1wcmVsb2FkZXI6YWZ0ZXIge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogI0MzQUM2RDtcbiAgYW5pbWF0aW9uOiAxLjE1cyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwLXNpdGUtbG9hZGVyO1xufVxuXG4jc3AtcHJlbG9hZGVyOmFmdGVyOmJlZm9yZSwgI3NwLXByZWxvYWRlcjphZnRlcjphZnRlciB7XG4gIGFuaW1hdGlvbjogMS4xNXMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbkBrZXlmcmFtZXMgc3Atc2l0ZS1sb2FkZXIge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2Nyb2xsIHRvcCBidXR0b24uICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNwLXNjcm9sbC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcmlnaHQ6IDMwcHg7XG4gIGJvdHRvbTogMzBweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjU1cyBlYXNlO1xuICB6LWluZGV4OiAxMDAwO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNBQzZEO1xuICBvcGFjaXR5OiAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc3Atc2Nyb2xsLXRvcC5zY3JvbGwtdG9wLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uc3Atc2Nyb2xsLXRvcCA+IGkge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3BhY2l0eTogMTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uc3Atc2Nyb2xsLXRvcCA+IC5hbm5vLXRleHQge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uc3Atc2Nyb2xsLXRvcDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMyMjI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2l0ZSBwYWdpbmF0aW9uLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zcC1wYWdpbmF0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDA7XG59XG5cbi5zcC1wYWdpbmF0aW9uIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5zcC1wYWdpbmF0aW9uIHVsIGxpIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLnNwLXBhZ2luYXRpb24gdWwgbGkgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uc3AtcGFnaW5hdGlvbiB1bCBsaS5jdXJyZW50IGEsIC5zcC1wYWdpbmF0aW9uIHVsIGxpOmhvdmVyIGEge1xuICBjb2xvcjogI0MzQUM2RDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zcC1wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLXNsaWRlcjpob3ZlciAuc2xpY2stYXJyb3cuY2lyY2xlLnNsaWNrLW5leHQge1xuICByaWdodDogMTVweDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNsaWNrLXNsaWRlcjpob3ZlciAuc2xpY2stYXJyb3cuY2lyY2xlLnNsaWNrLXByZXYge1xuICBsZWZ0OiAxNXB4O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiBoYW5kO1xufVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5zbGljay10cmFjazphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stc2xpZGUge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5zbGljay1zbGlkZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2xpY2stYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTUlO1xuICBvcGFjaXR5OiAwLjY7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgZm9udC1zaXplOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB6LWluZGV4OiAxMDA7XG59XG5cbi5zbGljay1hcnJvdzpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zbGljay1hcnJvdzpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJzcC10aGVtZS1pY29uc1wiO1xuICBjb250ZW50OiBcIlxcZjNkMlwiO1xuICBmb250LXNpemU6IDQwcHg7XG59XG5cbi5zbGljay1hcnJvdy5zbGljay1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG59XG5cbi5zbGljay1hcnJvdy5zbGljay1uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYzZDMnO1xufVxuXG4uc2xpY2stYXJyb3cuc2xpY2stZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2xpY2stYXJyb3cuY2lyY2xlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTE4cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xufVxuXG4uc2xpY2stYXJyb3cuY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5zbGljay1hcnJvdy5jaXJjbGUgPiBpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzMzMztcbn1cblxuLnNsaWNrLWFycm93LmNpcmNsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNDM0FDNkQ7XG59XG5cbi5zbGljay1hcnJvdy5jaXJjbGU6aG92ZXIgaSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2xpY2stYXJyb3cuY2lyY2xlLnNsaWNrLW5leHQge1xuICByaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNsaWNrLWFycm93LmNpcmNsZS5zbGljay1wcmV2IHtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMTUwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwO1xufVxuXG4uc2xpY2stZG90cyA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uc2xpY2stZG90cyBidXR0b24ge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxZW07XG4gIHdpZHRoOiAxZW07XG4gIG1hcmdpbi1yaWdodDogLjRlbTtcbiAgbWFyZ2luLWxlZnQ6IC40ZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXM7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xufVxuXG4uc2xpY2stZG90cyA+IGxpOmhvdmVyIGJ1dHRvbiwgLnNsaWNrLWRvdHMgPiBsaS5zbGljay1hY3RpdmUgYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0MzQUM2RDtcbn1cblxuLnNsaWNrLWRvdHMtaW5zaWRlIC5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDIuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uc2xpY2stZG90cy1pbnNpZGUgLnNsaWNrLWRvdHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2l0ZSBoZWFkZXIgY29tbW9ucy4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jc3AtaGVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTA1MDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuI3NwLWhlYWRlci1pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBIZWFkZXIgZWxlbWVudHMgKGxvZ28sIGV4dHJhcywgZXRjKSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNzcC1oZWFkZXItaW5uZXIgPiAuYnJhbmQtbG9nbyB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAyLjFyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuI3NwLWhlYWRlci1pbm5lciA+IC5icmFuZC1sb2dvID4gaDEge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuI3NwLWhlYWRlci1pbm5lciA+IC5icmFuZC1sb2dvID4gaDEgPiBzcGFuIHtcbiAgY29sb3I6ICNDM0FDNkQ7XG59XG5cbiNzcC1oZWFkZXItaW5uZXIgPiAuYnJhbmQtbG9nbyBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuI3NwLWhlYWRlci1pbm5lciA+IC5icmFuZC1sb2dvIGltZy5sb2dvLWRhcmsge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jc3AtaGVhZGVyLWlubmVyID4gLmhlYWRlci1leHRyYXMge1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuI3NwLWhlYWRlci1pbm5lciA+IC5oZWFkZXItZXh0cmFzID4gKiB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbiNzcC1oZWFkZXItaW5uZXIgPiAuaGVhZGVyLWV4dHJhcyA+IGEge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuI3NwLWhlYWRlci1pbm5lciA+IC5oZWFkZXItZXh0cmFzID4gYSA+IGkge1xuICBmb250LXNpemU6IDIycHg7XG59XG5cbiNzcC1oZWFkZXItaW5uZXIgPiAuaGVhZGVyLWV4dHJhcyA+IGE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbiNzcC1oZWFkZXItaW5uZXIgPiAuaGVhZGVyLWV4dHJhcyA+IC52LXNlcGFyYXRvciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIG1hcmdpbjogMCAzMHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSGVhZGVyIGRlc2t0b3AgbmF2aWdhdGlvbi4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jc3AtcHJpbWFyeS1uYXYge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbiNzcC1wcmltYXJ5LW5hdiA+IC5uYXZfbWVudSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgLTE3cHg7XG4gIGZvbnQtc2l6ZTogMDtcbn1cblxuI3NwLXByaW1hcnktbmF2ID4gLm5hdl9tZW51OjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBjbGVhcjogYm90aDtcbn1cblxuI3NwLXByaW1hcnktbmF2ID4gLm5hdl9tZW51ID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuI3NwLXByaW1hcnktbmF2ID4gLm5hdl9tZW51ID4gbGkgPiBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IDE1cHggMTdweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGNvbG9yLCBiYWNrZ3JvdW5kO1xufVxuXG4jc3AtcHJpbWFyeS1uYXYgPiAubmF2X21lbnUgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYTphZnRlciB7XG4gIHBhZGRpbmctbGVmdDogN3B4O1xuICBjb250ZW50OiAnXFxlODIxJztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJzcC10aGVtZS1pY29uc1wiO1xufVxuXG4jc3AtcHJpbWFyeS1uYXYgPiAubmF2X21lbnUgPiBsaTpob3ZlciA+IGEge1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbiNzcC1wcmltYXJ5LW5hdiA+IC5uYXZfbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgPiBhIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMzMzM7XG59XG5cbiNzcC1wcmltYXJ5LW5hdiA+IC5uYXZfbWVudSAuc3ViLW1lbnUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cywgb3BhY2l0eSAwLjI1cywgdmlzaWJpbGl0eSAwLjM1cztcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuI3NwLXByaW1hcnktbmF2ID4gLm5hdl9tZW51IC5zdWItbWVudS5pbnZlcnQtYXR0YWNoLXBvaW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG59XG5cbiNzcC1wcmltYXJ5LW5hdiA+IC5uYXZfbWVudSAuc3ViLW1lbnUgPiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jc3AtcHJpbWFyeS1uYXYgPiAubmF2X21lbnUgLnN1Yi1tZW51ID4gbGkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBjb2xvcjogIzMzMztcbiAgd2lkdGg6IDIyMHB4O1xuICBsaW5lLWhlaWdodDogMS43NTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xufVxuXG4jc3AtcHJpbWFyeS1uYXYgPiAubmF2X21lbnUgLnN1Yi1tZW51ID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICByaWdodDogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nLWxlZnQ6IDdweDtcbiAgY29udGVudDogJ1xcZTgxZic7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6IFwic3AtdGhlbWUtaWNvbnNcIjtcbn1cblxuI3NwLXByaW1hcnktbmF2ID4gLm5hdl9tZW51IC5zdWItbWVudSA+IGxpOmhvdmVyID4gYSB7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG59XG5cbiNzcC1wcmltYXJ5LW5hdiA+IC5uYXZfbWVudSAuc3ViLW1lbnUgLnN1Yi1tZW51IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIGxlZnQ6IDEwMCU7XG4gIHRvcDogMDtcbn1cblxuI3NwLXByaW1hcnktbmF2ID4gLm5hdl9tZW51IC5zdWItbWVudSAuc3ViLW1lbnUuaW52ZXJ0LWF0dGFjaC1wb2ludCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4jc3AtcHJpbWFyeS1uYXYgPiAubmF2X21lbnUgPiBsaS5zcC1tZWdhLW1lbnUgPiB1bCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xufVxuXG4jc3AtcHJpbWFyeS1uYXYgPiAubmF2X21lbnUgPiBsaS5zcC1tZWdhLW1lbnUgPiB1bCA+IGxpID4gYSB7XG4gIHdpZHRoOiAyMDBweDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlZWU7XG59XG5cbiNzcC1wcmltYXJ5LW5hdiA+IC5uYXZfbWVudSA+IGxpLnNwLW1lZ2EtbWVudS5tZWdhLTItY29sdW1ucyA+IHVsIHtcbiAgLXdlYmtpdC1jb2x1bW5zOiAyO1xuICAtbW96LWNvbHVtbnM6IDI7XG4gIGNvbHVtbnM6IDI7XG59XG5cbiNzcC1wcmltYXJ5LW5hdiA+IC5uYXZfbWVudSA+IGxpLnNwLW1lZ2EtbWVudS5tZWdhLTMtY29sdW1ucyA+IHVsIHtcbiAgLXdlYmtpdC1jb2x1bW5zOiAzO1xuICAtbW96LWNvbHVtbnM6IDM7XG4gIGNvbHVtbnM6IDM7XG59XG5cbiNzcC1wcmltYXJ5LW5hdiA+IC5uYXZfbWVudSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyID4gLnN1Yi1tZW51IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEZ1bGxzY3JlZW4gbW9iaWxlIG5hdmlnYXRpb24uICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI3NwLW1vYmlsZS1uYXYtYmcsICNzcC1tb2JpbGUtbmF2LWNvbnRhaW5lciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdmlzaWJpbGl0eSAwLjNzO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbiNzcC1tb2JpbGUtbmF2LWJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMzA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG59XG5cbiNzcC1tb2JpbGUtbmF2LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQwO1xuICBib3JkZXItdG9wOiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAyNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4jc3AtbW9iaWxlLW5hdi1jb250YWluZXIgPiAub3ZlcmxheS1pbm5lci13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjAwcHg7XG4gIHdpZHRoOiA0MDBweDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBmbiBtZW51IHRvZ2dsZSAqL1xuI3NwLXByaW1hcnktbmF2ICNzcC1tb2JpbGUtbmF2LXRyaWdnZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB6LWluZGV4OiAxMDQwO1xuICBtYXJnaW46IDE1cHggMDtcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbiNzcC1wcmltYXJ5LW5hdiAjc3AtbW9iaWxlLW5hdi10cmlnZ2VyID4gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBvcGFjaXR5OiAxO1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dCwgY29sb3IgMC4yNXM7XG59XG5cbiNzcC1wcmltYXJ5LW5hdiAjc3AtbW9iaWxlLW5hdi10cmlnZ2VyID4gc3BhbjpudGgtY2hpbGQoMSkge1xuICB0b3A6IDA7XG59XG5cbiNzcC1wcmltYXJ5LW5hdiAjc3AtbW9iaWxlLW5hdi10cmlnZ2VyID4gc3BhbjpudGgtY2hpbGQoMiksICNzcC1wcmltYXJ5LW5hdiAjc3AtbW9iaWxlLW5hdi10cmlnZ2VyID4gc3BhbjpudGgtY2hpbGQoMykge1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cblxuI3NwLXByaW1hcnktbmF2ICNzcC1tb2JpbGUtbmF2LXRyaWdnZXIgPiBzcGFuOm50aC1jaGlsZCg0KSB7XG4gIGJvdHRvbTogMDtcbn1cblxuLnNwLWFjdGl2ZS1idXJnZXItbWVudSAjc3AtcHJpbWFyeS1uYXYgI3NwLW1vYmlsZS1uYXYtdHJpZ2dlciA+IHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAwO1xuICBsZWZ0OiA1MCU7XG59XG5cbi5zcC1hY3RpdmUtYnVyZ2VyLW1lbnUgI3NwLXByaW1hcnktbmF2ICNzcC1tb2JpbGUtbmF2LXRyaWdnZXIgPiBzcGFuOm50aC1jaGlsZCgyKSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLnNwLWFjdGl2ZS1idXJnZXItbWVudSAjc3AtcHJpbWFyeS1uYXYgI3NwLW1vYmlsZS1uYXYtdHJpZ2dlciA+IHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLnNwLWFjdGl2ZS1idXJnZXItbWVudSAjc3AtcHJpbWFyeS1uYXYgI3NwLW1vYmlsZS1uYXYtdHJpZ2dlciA+IHNwYW46bnRoLWNoaWxkKDQpIHtcbiAgYm90dG9tOiA1MCU7XG4gIHdpZHRoOiAwO1xuICBsZWZ0OiA1MCU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBzb2NpYWwgaWNvbnMgKi9cbiNzcC1tb2JpbGUtbmF2LWNvbnRhaW5lciAuc3Atc29jLWljb25zIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgZm9udC1zaXplOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4jc3AtbW9iaWxlLW5hdi1jb250YWluZXIgLnNwLXNvYy1pY29ucyA+IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjQzNBQzZEO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIG9wYWNpdHk6IDE7XG4gIGZvbnQtc2l6ZTogMjNweDtcbn1cblxuI3NwLW1vYmlsZS1uYXYtY29udGFpbmVyIC5zcC1zb2MtaWNvbnMgPiBhOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBpbm5lciBuYXYgbWVudSAqL1xuI3NwLW1vYmlsZS1uYXYtY29udGFpbmVyIC5uYXZfbWVudSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4jc3AtbW9iaWxlLW5hdi1jb250YWluZXIgLm5hdl9tZW51IGxpID4gYS5zdWItYWN0aXZlIHtcbiAgY29sb3I6ICNDM0FDNkQ7XG59XG5cbiNzcC1tb2JpbGUtbmF2LWNvbnRhaW5lciAubmF2X21lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNzcC1tb2JpbGUtbmF2LWNvbnRhaW5lciAubmF2X21lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICBjb250ZW50OiAnXFxmM2QwJztcbiAgZm9udC1mYW1pbHk6IFwic3AtdGhlbWUtaWNvbnNcIjtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbiNzcC1tb2JpbGUtbmF2LWNvbnRhaW5lciAubmF2X21lbnUgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3BhY2l0eTogMDtcbn1cblxuI3NwLW1vYmlsZS1uYXYtY29udGFpbmVyIC5uYXZfbWVudSA+IGxpID4gYSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuI3NwLW1vYmlsZS1uYXYtY29udGFpbmVyIC5uYXZfbWVudSA+IGxpID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjQzNBQzZEO1xufVxuXG4jc3AtbW9iaWxlLW5hdi1jb250YWluZXIgLm5hdl9tZW51IC5zdWItbWVudSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwIDAgMTVweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3NwLW1vYmlsZS1uYXYtY29udGFpbmVyIC5uYXZfbWVudSAuc3ViLW1lbnUgYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4jc3AtbW9iaWxlLW5hdi1jb250YWluZXIgLm5hdl9tZW51IC5zdWItbWVudSBhOmhvdmVyIHtcbiAgY29sb3I6ICNDM0FDNkQ7XG59XG5cbiNzcC1tb2JpbGUtbmF2LWNvbnRhaW5lciAubmF2X21lbnUgLnN1Yi1tZW51IC5zdWItbWVudSB7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBhY3RpdmUgc3RhdGUgKi9cbmh0bWwuc3AtYWN0aXZlLWJ1cmdlci1tZW51LCBodG1sLnNwLWFjdGl2ZS1idXJnZXItbWVudSA+IGJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuaHRtbC5zcC1hY3RpdmUtYnVyZ2VyLW1lbnUgI3NwLW1vYmlsZS1uYXYtYmcsIGh0bWwuc3AtYWN0aXZlLWJ1cmdlci1tZW51ICNzcC1tb2JpbGUtbmF2LWNvbnRhaW5lciB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbmh0bWwuc3AtYWN0aXZlLWJ1cmdlci1tZW51ICNzcC1tb2JpbGUtbmF2LWNvbnRhaW5lciAubmF2X21lbnUgPiBsaSwgaHRtbC5zcC1hY3RpdmUtYnVyZ2VyLW1lbnUgI3NwLW1vYmlsZS1uYXYtY29udGFpbmVyIC5zcC1zb2MtaWNvbnMge1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3AtbWVudS1lZmZlY3QgMC40cyBsaW5lYXIgZm9yd2FyZHM7XG4gIGFuaW1hdGlvbjogc3AtbWVudS1lZmZlY3QgMC40cyBsaW5lYXIgZm9yd2FyZHM7XG59XG5cbmh0bWwuc3AtYWN0aXZlLWJ1cmdlci1tZW51ICNzcC1oZWFkZXIuaGVhZGVyLXN0dWNrIC5icmFuZC1sb2dvIC5sb2dvLWRhcmsge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5odG1sLnNwLWFjdGl2ZS1idXJnZXItbWVudSAjc3AtaGVhZGVyLmhlYWRlci1zdHVjayAuYnJhbmQtbG9nbyAubG9nby13aGl0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5Aa2V5ZnJhbWVzIHNwLW1lbnUtZWZmZWN0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBGdWxsc2NyZWVuIHNlYXJjaC4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jc3Atc2VhcmNoLWJsb2NrLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgbGluZWFyO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbiNzcC1zZWFyY2gtYmxvY2stY29udGFpbmVyID4gLnNlYXJjaC1ibG9jay1pbm5lciB7XG4gIHBhZGRpbmc6IDAgMzBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgd2lkdGg6IDYwMHB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAwLjVzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xufVxuXG4jc3Atc2VhcmNoLWJsb2NrLWNvbnRhaW5lciA+IC5zZWFyY2gtYmxvY2staW5uZXIgPiBmb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jc3Atc2VhcmNoLWJsb2NrLWNvbnRhaW5lciAuc2VhcmNoLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDAwNTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMTVweCA0NXB4IDE1cHggMDtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDMwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbiNzcC1zZWFyY2gtYmxvY2stY29udGFpbmVyIC5zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI3NwLXNlYXJjaC1ibG9jay1jb250YWluZXIgLnNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4jc3Atc2VhcmNoLWJsb2NrLWNvbnRhaW5lciAuc2VhcmNoLWlucHV0Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI3NwLXNlYXJjaC1ibG9jay1jb250YWluZXIgLnNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI3NwLXNlYXJjaC1ibG9jay1jb250YWluZXIgLnNlYXJjaC1idG4ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAzNXB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbiAgb3BhY2l0eTogMC44NTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0NXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgei1pbmRleDogMTAwMTA7XG59XG5cbiNzcC1zZWFyY2gtYmxvY2stY29udGFpbmVyIC5zZWFyY2gtYnRuOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuI3NwLXNlYXJjaC1ibG9jay1jb250YWluZXIgLmNsb3NlLXNlYXJjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7XG59XG5cbiNzcC1zZWFyY2gtYmxvY2stY29udGFpbmVyIC5jbG9zZS1zZWFyY2ggaSB7XG4gIGZvbnQtc2l6ZTogNzBweDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbiNzcC1zZWFyY2gtYmxvY2stY29udGFpbmVyIC5jbG9zZS1zZWFyY2g6aG92ZXIge1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbiNzcC1zZWFyY2gtYmxvY2stY29udGFpbmVyLm9wZW4ge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4jc3Atc2VhcmNoLWJsb2NrLWNvbnRhaW5lci5vcGVuID4gLnNlYXJjaC1ibG9jay1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBIZWFkZXIgc3R1Y2sgc3RhdGUuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI3NwLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGxpbmVhcjtcbn1cblxuI3NwLWhlYWRlciBhIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNXM7XG59XG5cbmJvZHkuYWRtaW4tYmFyICNzcC1oZWFkZXIge1xuICB0b3A6IDMycHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODJweCkge1xuICBib2R5LmFkbWluLWJhciAjc3AtaGVhZGVyIHtcbiAgICB0b3A6IDQ2cHg7XG4gIH1cbn1cblxuI3NwLWhlYWRlci5oZWFkZXItc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxuI3NwLWhlYWRlci5oZWFkZXItc3R1Y2sgLmJyYW5kLWxvZ28ge1xuICBmb250LXNpemU6IDJyZW07XG59XG5cbiNzcC1oZWFkZXIuaGVhZGVyLXN0dWNrIC5icmFuZC1sb2dvIC5sb2dvLWRhcmsge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuI3NwLWhlYWRlci5oZWFkZXItc3R1Y2sgLmJyYW5kLWxvZ28gLmxvZ28td2hpdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gc2xpZGUtaW4gc2Nyb2xsIGFuaW1hdGlvbiAqL1xuI3NwLWhlYWRlci5zdHVjay1zbGlkZWluIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4jc3AtaGVhZGVyLnN0dWNrLXNsaWRlaW46bm90KC5oZWFkZXItc3R1Y2spIHtcbiAgdG9wOiAwO1xufVxuXG4jc3AtaGVhZGVyLnN0dWNrLXNsaWRlaW4uaGVhZGVyLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBhbmltYXRpb246IHNwLWhlYWRlci1zdHVjay1zbGlkZWluIDUwMG1zIDEgZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgc3AtaGVhZGVyLXN0dWNrLXNsaWRlaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IHNjcm9sbCBzdHlsZXMgKi9cbmJvZHk6bm90KC5zcC1hY3RpdmUtYnVyZ2VyLW1lbnUpICNzcC1oZWFkZXIuaGVhZGVyLXN0dWNrIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2VlZTtcbiAgY29sb3I6ICMzMzM7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDIwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEhlYWRlciByZXNwb25zaXZlbmVzcy4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICNzcC1wcmltYXJ5LW5hdiA+IC5uYXZfbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICNzcC1wcmltYXJ5LW5hdiA+ICNzcC1tb2JpbGUtbmF2LXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICNzcC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAhaW1wb3J0YW50O1xuICB9XG4gICNzcC1oZWFkZXItaW5uZXIgPiAuYnJhbmQtbG9nbyB7XG4gICAgZm9udC1zaXplOiAxLjZyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG4gICNzcC1oZWFkZXItaW5uZXIgPiAuaGVhZGVyLWV4dHJhcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2l0ZSBmb290ZXIgc3R5bGVzLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNzcC1mb290ZXItc2l6aW5nLWhlbHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNzcC1mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjIyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuI3NwLWZvb3Rlci5zcC1mb290ZXItZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cblxuI3NwLWZvb3Rlci5zcC1mb290ZXItZml4ZWQgKyAjc3AtZm9vdGVyLXNpemluZy1oZWxwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuI3NwLWZvb3RlciAuY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xufVxuXG4jc3AtZm9vdGVyIC5jb250YWluZXIgLnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMjVweDtcbn1cblxuI3NwLWZvb3RlciAuY29udGFpbmVyIC5yb3cgW2NsYXNzKj0nY29sLSddIHtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgI3NwLWZvb3RlciAuY29udGFpbmVyIC5yb3cgW2NsYXNzKj0nY29sLSddIHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgfVxufVxuXG4jc3AtZm9vdGVyID4gLnNwLW1haW4tZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzM7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgI3NwLWZvb3RlciA+IC5zcC1tYWluLWZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbiNzcC1mb290ZXIgPiAuc3AtbWFpbi1mb290ZXIgLnRpdGxlLWJsb2NrIGg0IHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbiNzcC1mb290ZXIgPiAuc3AtbWFpbi1mb290ZXIgLnNvY2xpbmstYmxvY2sgdWwge1xuICBwYWRkaW5nOiAwcHg7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiNzcC1mb290ZXIgPiAuc3AtbWFpbi1mb290ZXIgLnNvY2xpbmstYmxvY2sgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbiNzcC1mb290ZXIgPiAuc3AtbWFpbi1mb290ZXIgLnNvY2xpbmstYmxvY2sgdWwgbGkgYSB7XG4gIGNvbG9yOiAjQzNBQzZEO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMjNweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgbGluZWFyO1xufVxuXG4jc3AtZm9vdGVyID4gLnNwLW1haW4tZm9vdGVyIC5zb2NsaW5rLWJsb2NrIHVsIGxpIGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBsaW5lYXI7XG59XG5cbiNzcC1mb290ZXIgPiAuc3AtbWFpbi1mb290ZXIgLnR3aXR0ZXItYmxvY2sgdWwge1xuICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIG1hcmdpbjogMDtcbn1cblxuI3NwLWZvb3RlciA+IC5zcC1tYWluLWZvb3RlciAudHdpdHRlci1ibG9jayB1bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctYm90dG9tOiAxLjNyZW07XG59XG5cbiNzcC1mb290ZXIgPiAuc3AtbWFpbi1mb290ZXIgLnR3aXR0ZXItYmxvY2sgdWwgbGk6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4jc3AtZm9vdGVyID4gLnNwLW1haW4tZm9vdGVyIC50d2l0dGVyLWJsb2NrIHVsIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYyNDInO1xuICBmb250LWZhbWlseTogJ3NwLXRoZW1lLWljb25zJztcbiAgY29sb3I6ICNjM2FjNmQ7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHRvcDogNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiAyMnB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogLTUwcHg7XG59XG5cbiNzcC1mb290ZXIgPiAuc3AtbWFpbi1mb290ZXIgLmluc3RhZ3JhbS1ibG9jayB7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xufVxuXG4jc3AtZm9vdGVyID4gLnNwLW1haW4tZm9vdGVyIC5pbnN0YWdyYW0tYmxvY2sgdWwge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbiNzcC1mb290ZXIgPiAuc3AtbWFpbi1mb290ZXIgLmluc3RhZ3JhbS1ibG9jayB1bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbiNzcC1mb290ZXIgPiAuc3AtbWFpbi1mb290ZXIgLmluc3RhZ3JhbS1ibG9jayB1bCBsaSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbiNzcC1mb290ZXIgPiAuc3AtbWFpbi1mb290ZXIgLmluc3RhZ3JhbS1ibG9jayBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuXG4jc3AtZm9vdGVyID4gLnNwLW1haW4tZm9vdGVyIC5pbnN0YWdyYW0tYmxvY2sgYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuI3NwLWZvb3RlciA+IC5zcC1lbmQtZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyNXB4IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbiNzcC1mb290ZXIgPiAuc3AtZW5kLWZvb3RlciA+IC5jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4jc3AtZm9vdGVyID4gLnNwLWVuZC1mb290ZXIgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4jc3AtZm9vdGVyID4gLnNwLWVuZC1mb290ZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjQzNBQzZEO1xufVxuXG4jc3AtZm9vdGVyID4gLnNwLWVuZC1mb290ZXIgLm1lbnUtYmxvY2sge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuI3NwLWZvb3RlciA+IC5zcC1lbmQtZm9vdGVyIC5tZW51LWJsb2NrIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbiNzcC1mb290ZXIgPiAuc3AtZW5kLWZvb3RlciAubWVudS1ibG9jayB1bCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuI3NwLWZvb3RlciA+IC5zcC1lbmQtZm9vdGVyIC5tZW51LWJsb2NrIHVsIGxpOmFmdGVyIHtcbiAgY29udGVudDogJ3wnO1xuICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbiNzcC1mb290ZXIgPiAuc3AtZW5kLWZvb3RlciAubWVudS1ibG9jayB1bCBsaTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICNzcC1mb290ZXIgPiAuc3AtZW5kLWZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICNzcC1mb290ZXIgPiAuc3AtZW5kLWZvb3RlciA+IC5jb250YWluZXIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAjc3AtZm9vdGVyID4gLnNwLWVuZC1mb290ZXIgLmVuZC1mb290ZXItYmxvY2sge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gIH1cbiAgI3NwLWZvb3RlciA+IC5zcC1lbmQtZm9vdGVyIC5lbmQtZm9vdGVyLWJsb2NrICsgLmVuZC1mb290ZXItYmxvY2sge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQYWdlIGludHJvIGJsb2NrLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBpbnRybyBjb21tb25zICovXG4uc3AtaW50cm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5zcC1pbnRybyAuaW50cm8tYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB6LWluZGV4OiAxMDtcbn1cblxuLnNwLWludHJvIC5pbnRyby1iZzpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC41NTtcbiAgY29udGVudDogJyc7XG4gIHotaW5kZXg6IDE1O1xufVxuXG4uc3AtaW50cm8gLmludHJvLWJnLm5vLW92ZXJsYXk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNwLWludHJvIC5pbnRyby1iZyA+IGltZyB7XG4gIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogY292ZXI7XCI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5zcC1pbnRybyAuaW50cm8tZG90dGVkLWJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9kb3R0ZWQtYmctcGF0dGVybi5wbmdcIik7XG4gIHotaW5kZXg6IDE3O1xufVxuXG4uc3AtaW50cm8gLmludHJvLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDIwO1xuICBwYWRkaW5nOiA1MHB4IDI1cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzVweCkge1xuICAuc3AtaW50cm8gLmludHJvLWJvZHkge1xuICAgIHBhZGRpbmc6IDUwcHggMTVweDtcbiAgfVxufVxuXG4uc3AtaW50cm8gLmludHJvLWJvZHkgaDEsIC5zcC1pbnRybyAuaW50cm8tYm9keSBoMiwgLnNwLWludHJvIC5pbnRyby1ib2R5IGgzLCAuc3AtaW50cm8gLmludHJvLWJvZHkgaDQsIC5zcC1pbnRybyAuaW50cm8tYm9keSBoNSwgLnNwLWludHJvIC5pbnRyby1ib2R5IGg2LCAuc3AtaW50cm8gLmludHJvLWJvZHkgcCwgLnNwLWludHJvIC5pbnRyby1ib2R5IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnNwLWludHJvIC5pbnRyby1ib2R5IC5idG4td2hpdGUge1xuICBjb2xvcjogIzMzMztcbn1cblxuLnNwLWludHJvIC5pbnRyby1ib2R5IC5idG4tYm9yZGVyIHtcbiAgYm9yZGVyOiAycHggc29saWQgICNmZmY7XG59XG5cbi5zcC1pbnRybyAuaW50cm8tYm9keSAuYnRuLWJvcmRlcjpob3ZlciB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uc3AtaW50cm8gLmludHJvLWJvZHkgLmxpc3QtaW5saW5lIHtcbiAgbWFyZ2luOiAwIC0xMHB4IC0yMHB4O1xufVxuXG4uc3AtaW50cm8gLmludHJvLWJvZHkgLmxpc3QtaW5saW5lIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMTBweCAyMHB4O1xufVxuXG4uc3AtaW50cm8gLmludHJvLWJvZHkgcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uc3AtaW50cm8gLmludHJvLWJvZHkgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNwLWludHJvIC5pbnRyby1ib2R5IC5idG4ge1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgcGFkZGluZzogOHB4IDIycHg7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5zcC1pbnRybyAuaW50cm8tYm9keSAuc3AtaW50cm8taW1hZ2UtaWNvbiB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLnNwLWludHJvIC5pbnRyby1ib2R5IC5pY29uLWJpZyB7XG4gIGZvbnQtc2l6ZTogOTBweDtcbiAgbGluZS1oZWlnaHQ6IDkwcHg7XG59XG5cbi5zcC1pbnRyby5mdWxsc2NyZWVuIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogNDUwcHg7XG59XG5cbi5zcC1pbnRyby5mdWxsc2NyZWVuIC5pbnRyby1ib2R5IHtcbiAgcGFkZGluZzogNzVweCAyNXB4IDc1cHggMjVweDtcbn1cblxuLnNwLWludHJvLmtlbmJ1cm5zIC5pbnRyby1iZyB7XG4gIGFuaW1hdGlvbjogc3AtaW50cm8ta2VuYnVybnMgMzBzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbn1cblxuLnNwLWludHJvOm5vdCguZnVsbHNjcmVlbik6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogNTBweDtcbn1cblxuQGtleWZyYW1lcyBzcC1pbnRyby1rZW5idXJucyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gIH1cbn1cblxuLnNwLWludHJvIC5pbnRyby10aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiU291cmNlIFNhbnMgUHJvXCIsIEFyaWFsLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG59XG5cbi5zcC1pbnRybyAuaW50cm8tdGl0bGU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zcC1pbnRybyAuaW50cm8tdGl0bGUuaW50cm8tdGl0bGUtMSB7XG4gIGZvbnQtc2l6ZTogNC4zcmVtO1xufVxuXG4uc3AtaW50cm8gLmludHJvLXRpdGxlLmludHJvLXRpdGxlLTIge1xuICBmb250LXNpemU6IDIuMTVyZW07XG59XG5cbi5zcC1pbnRybyAuaW50cm8tdGl0bGUuaW50cm8tdGl0bGUtMyB7XG4gIGZvbnQtc2l6ZTogMS40MzMzM3JlbTtcbn1cblxuLnNwLWludHJvIC5pbnRyby10aXRsZS5pbnRyby10aXRsZS00IHtcbiAgZm9udC1zaXplOiAxLjA3NXJlbTtcbn1cblxuLnNwLWludHJvIC5pbnRyby10aXRsZS5pbnRyby10aXRsZS01IHtcbiAgZm9udC1zaXplOiAwLjg2cmVtO1xufVxuXG4uc3AtaW50cm8gLmludHJvLXRpdGxlLmludHJvLXRpdGxlLTYge1xuICBmb250LXNpemU6IDAuNzE2NjdyZW07XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc3AtaW50cm8gLmludHJvLXRpdGxlLmludHJvLXRpdGxlLTEge1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICB9XG4gIC5zcC1pbnRybyAuaW50cm8tdGl0bGUuaW50cm8tdGl0bGUtMiB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbiAgLnNwLWludHJvIC5pbnRyby10aXRsZS5pbnRyby10aXRsZS0zIHtcbiAgICBmb250LXNpemU6IDEuMDY2NjdyZW07XG4gIH1cbiAgLnNwLWludHJvIC5pbnRyby10aXRsZS5pbnRyby10aXRsZS00IHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgfVxuICAuc3AtaW50cm8gLmludHJvLXRpdGxlLmludHJvLXRpdGxlLTUge1xuICAgIGZvbnQtc2l6ZTogMC42NHJlbTtcbiAgfVxuICAuc3AtaW50cm8gLmludHJvLXRpdGxlLmludHJvLXRpdGxlLTYge1xuICAgIGZvbnQtc2l6ZTogMC41MzMzM3JlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLnNwLWludHJvIC5pbnRyby10aXRsZS5pbnRyby10aXRsZS0xIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbiAgLnNwLWludHJvIC5pbnRyby10aXRsZS5pbnRyby10aXRsZS0yIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxuICAuc3AtaW50cm8gLmludHJvLXRpdGxlLmludHJvLXRpdGxlLTMge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuICAuc3AtaW50cm8gLmludHJvLXRpdGxlLmludHJvLXRpdGxlLTQge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgfVxuICAuc3AtaW50cm8gLmludHJvLXRpdGxlLmludHJvLXRpdGxlLTUge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtO1xuICB9XG4gIC5zcC1pbnRybyAuaW50cm8tdGl0bGUuaW50cm8tdGl0bGUtNiB7XG4gICAgZm9udC1zaXplOiAwLjVyZW07XG4gIH1cbn1cblxuLnNwLWludHJvIC5pbnRyby1yZWd1bGFyLXRleHQge1xuICBsaW5lLWhlaWdodDogMS43NTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLnNwLWludHJvIC5zcC1zY3JvbGwtZG93bi1jdGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogMzBweDtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLnNwLWludHJvIC5zcC1zY3JvbGwtZG93bi1jdGEgaSB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5zcC1pbnRybyAuc3Atc2Nyb2xsLWRvd24tY3RhID4gc3BhbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbmltYXRpb246IHNwLXNjcm9sbGRvd24tYXJyb3cgMi41cyBpbmZpbml0ZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC5zcC1pbnRybyAuc3Atc2Nyb2xsLWRvd24tY3RhIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3Atc2Nyb2xsZG93bi1hcnJvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAzMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBpbWFnZSBpbnRybyAqL1xuLnNwLWludHJvLnNwLWludHJvLWltYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBjYXJvdXNlbCBpbnRybyAqL1xuLnNwLWludHJvLnNwLWludHJvLWNhcm91c2VsIC5zbGlkZXItaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zcC1pbnRyby5zcC1pbnRyby1jYXJvdXNlbC5mdWxsc2NyZWVuIC5zbGlkZXItaXRlbSB7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDQ1MHB4O1xufVxuXG4uc3AtaW50cm8uc3AtaW50cm8tY2Fyb3VzZWwgLnNsaWNrLWFycm93IHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5zcC1pbnRyby5zcC1pbnRyby1jYXJvdXNlbCAuc2xpY2stYXJyb3cge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNwLWludHJvLnNwLWludHJvLWNhcm91c2VsIC5zbGljay1kb3RzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IHZpZGVvIGludHJvICovXG4uc3AtaW50cm8uc3AtaW50cm8tdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc3AtaW50cm8uc3AtaW50cm8tdmlkZW8gPiAuaW50cm8tYm9keSB7XG4gIHotaW5kZXg6IDMwO1xufVxuXG4uc3AtaW50cm8uc3AtaW50cm8tdmlkZW8gPiAudmlkZW8tY29udGFpbmVyLCAuc3AtaW50cm8uc3AtaW50cm8tdmlkZW8gPiAudmlkZW8tY29udGFpbmVyOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5zcC1pbnRyby5zcC1pbnRyby12aWRlbyA+IC52aWRlby1jb250YWluZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjU7XG4gIGNvbnRlbnQ6ICcnO1xuICB6LWluZGV4OiAxNTtcbn1cblxuLnNwLWludHJvLnNwLWludHJvLXZpZGVvID4gLnZpZGVvLWNvbnRhaW5lciA+IC52aWRlby1wbGFjZWhvbGRlciB7XG4gIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogY292ZXI7XCI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG59XG5cbi5zcC1pbnRyby5zcC1pbnRyby12aWRlbyA+IC52aWRlby1jb250YWluZXIgPiAudmlkZW8tY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMjVweDtcbiAgcmlnaHQ6IDMwcHg7XG4gIG1hcmdpbjogMCAtMTBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHotaW5kZXg6IDIwO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc3AtaW50cm8uc3AtaW50cm8tdmlkZW8gPiAudmlkZW8tY29udGFpbmVyID4gLnZpZGVvLWNvbnRyb2xzID4gYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiA0NnB4O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC41O1xuICBmb250LXNpemU6IDI4cHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuXG4uc3AtaW50cm8uc3AtaW50cm8tdmlkZW8gPiAudmlkZW8tY29udGFpbmVyID4gLnZpZGVvLWNvbnRyb2xzID4gYTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc3AtaW50cm8uc3AtaW50cm8tdmlkZW8gPiAudmlkZW8tY29udGFpbmVyID4gLnZpZGVvLWNvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qIEFib3V0IFVzICovXG4jc3AtYWJvdXQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxuc3Bhbi5zcC1zaWduYXR1cmUge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAyM3B4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgZm9udC1mYW1pbHk6ICdTaGFkb3dzIEludG8gTGlnaHQnLCBjdXJzaXZlO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0zZGVnKSAhaW1wb3J0YW50O1xufVxuXG4vKiBTZXJ2aWNlcyAqL1xuLnNwLXNlcnZpY2VzLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IC01MHB4O1xufVxuXG4uc3Atc2VydmljZXMtY29udGFpbmVyIC5zcC1zZXJ2aWNlcy1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc3Atc2VydmljZXMtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMzBweDtcbiAgfVxuICAuc3Atc2VydmljZXMtY29udGFpbmVyIC5zcC1zZXJ2aWNlcy1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuXG4uc3Atc2VydmljZXMtYmxvY2sgLmljb24ge1xuICBmb250LXNpemU6IDY1cHg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGNvbG9yOiAjMTExO1xufVxuXG4uc3Atc2VydmljZXMtYmxvY2sgLnRpdGxlIGg0IHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uc3Atc2VydmljZXMtYmxvY2sgLnRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBUZWFtICovXG4uc3AtdGVhbS1ibG9jayB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5zcC10ZWFtLWJsb2NrIC5pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnNwLXRlYW0tYmxvY2sgLmltYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgbGluZWFyO1xufVxuXG4uc3AtdGVhbS1ibG9jayAuaW1hZ2UgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5zcC10ZWFtLWJsb2NrIC5pbWFnZSAuc29jLWxpbmtzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc3AtdGVhbS1ibG9jayAuaW1hZ2UgLnNvYy1saW5rcyB1bCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5zcC10ZWFtLWJsb2NrIC5pbWFnZSAuc29jLWxpbmtzIHVsIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwIDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyNXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cblxuLnNwLXRlYW0tYmxvY2sgLmltYWdlIC5zb2MtbGlua3MgdWwgbGkgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc3AtdGVhbS1ibG9jayAuaW1hZ2UgLnNvYy1saW5rcyB1bCBsaSBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43NTtcbn1cblxuLnNwLXRlYW0tYmxvY2sgLnRpdGxlIGg0IHtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5zcC10ZWFtLWJsb2NrIC50eXBlIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi5zcC10ZWFtLWJsb2NrOmhvdmVyIC5pbWFnZSB1bCBsaSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgdHJhbnNmb3JtIDAuNXM7XG59XG5cbi5zcC10ZWFtLWJsb2NrOmhvdmVyIC5pbWFnZSB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzO1xufVxuXG4uc3AtdGVhbS1ibG9jazpob3ZlciAuaW1hZ2UgdWwgbGk6bnRoLWNoaWxkKDIpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4yMHM7XG59XG5cbi5zcC10ZWFtLWJsb2NrOmhvdmVyIC5pbWFnZSB1bCBsaTpudGgtY2hpbGQoMykge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcbn1cblxuLnNwLXRlYW0tYmxvY2s6aG92ZXIgLmltYWdlIHVsIGxpOm50aC1jaGlsZCg0KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMzBzO1xufVxuXG4uc3AtdGVhbS1ibG9jazpob3ZlciAuaW1hZ2U6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgbGluZWFyO1xufVxuXG4vKiBGdW4gRmFjdCAqL1xuLnNwLWFuaW1hdGUtbnVtYmVycy53aGl0ZSBoMiB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc3AtYW5pbWF0ZS1udW1iZXJzLndoaXRlIHAge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnNwLWFuaW1hdGUtbnVtYmVycyBoMiB7XG4gIGZvbnQtc2l6ZTogNTVweDtcbiAgbGluZS1oZWlnaHQ6IDkwcHg7XG4gIGxldHRlci1zcGFjaW5nOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zcC1hbmltYXRlLW51bWJlcnMgcCB7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBvcnRmb2xpbyBsaXN0aW5nLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zcC1wb3J0Zm9saW8tYmxvY2sge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNwLXBvcnRmb2xpby1ibG9jayAuc3AtcG9ydGZvbGlvLXNvcnRpbmcge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLnNwLXBvcnRmb2xpby1ibG9jayAuc3AtcG9ydGZvbGlvLXNvcnRpbmcgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5zcC1wb3J0Zm9saW8tYmxvY2sgLnNwLXBvcnRmb2xpby1zb3J0aW5nIGxpOmFmdGVyIHtcbiAgY29udGVudDogJy8nO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLnNwLXBvcnRmb2xpby1ibG9jayAuc3AtcG9ydGZvbGlvLXNvcnRpbmcgbGk6bGFzdC1jaGlsZDphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5zcC1wb3J0Zm9saW8tYmxvY2sgLnNwLXBvcnRmb2xpby1zb3J0aW5nIGxpIGEge1xuICBjb2xvcjogIzMzMztcbn1cblxuLnNwLXBvcnRmb2xpby1ibG9jayAuc3AtcG9ydGZvbGlvLXNvcnRpbmcgbGkuYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjQzNBQzZEO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLnNwLXBvcnRmb2xpby1ibG9jayAuc3AtcG9ydGZvbGlvLXNvcnRpbmcge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICB9XG4gIC5zcC1wb3J0Zm9saW8tYmxvY2sgLnNwLXBvcnRmb2xpby1zb3J0aW5nIGxpOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5zcC1wb3J0Zm9saW8tYmxvY2sgLnNwLXBvcnRmb2xpby1zb3J0aW5nIGxpIHtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gIH1cbn1cblxuLnNwLXBvcnRmb2xpby1ibG9jay5pbm5lciAuc3AtcG9ydGZvbGlvLXNvcnRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbn1cblxuLnNwLXBvcnRmb2xpby1ibG9jay5pbm5lciAuc3AtcG9ydGZvbGlvLXNvcnRpbmcgbGkge1xuICBtYXJnaW46IDAgMTBweCAxMHB4IDEwcHg7XG59XG5cbi5zcC1wb3J0Zm9saW8tYmxvY2suaW5uZXIgLnNwLXBvcnRmb2xpby1zb3J0aW5nIGxpID4gYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGxpbmVhcjtcbiAgcGFkZGluZzogNnB4IDE4cHg7XG59XG5cbi5zcC1wb3J0Zm9saW8tYmxvY2suaW5uZXIgLnNwLXBvcnRmb2xpby1zb3J0aW5nIGxpOmhvdmVyID4gYSxcbi5zcC1wb3J0Zm9saW8tYmxvY2suaW5uZXIgLnNwLXBvcnRmb2xpby1zb3J0aW5nIGxpLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiAjQzNBQzZEO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnNwLXBvcnRmb2xpby1ibG9jay5pbm5lciAuc3AtcG9ydGZvbGlvLXNvcnRpbmcgbGk6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuXG4uc3AtcG9ydGZvbGlvLWJsb2NrLmlubmVyIC5zcC1wb3J0Zm9saW8taXRlbXMge1xuICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uc3AtcG9ydGZvbGlvLWJsb2NrLmlubmVyIC5zcC1wb3J0Zm9saW8taXRlbXMgW2NsYXNzXj1cImNvbC1cIl0sIC5zcC1wb3J0Zm9saW8tYmxvY2suaW5uZXIgLnNwLXBvcnRmb2xpby1pdGVtcyBbY2xhc3MqPVwiIGNvbC1cIl0ge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbi5zcC1wb3J0Zm9saW8tYmxvY2suaW5uZXIgLnNwLXBvcnRmb2xpby1pdGVtcyAuc3AtcG9ydGZvbGlvLWl0ZW0ge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc3AtcG9ydGZvbGlvLWJsb2NrLmlubmVyIC5zcC1wb3J0Zm9saW8taXRlbXMgLnNwLXBvcnRmb2xpby1pdGVtLngyIGEge1xuICBoZWlnaHQ6IDcwOHB4O1xufVxuXG4uc3AtcG9ydGZvbGlvLWJsb2NrLmlubmVyIC5zcC1wb3J0Zm9saW8taXRlbXMgLnNwLXBvcnRmb2xpby1pdGVtIGEge1xuICBoZWlnaHQ6IDM0MHB4O1xufVxuXG4uc3AtcG9ydGZvbGlvLWl0ZW1zIHtcbiAgbWFyZ2luLWxlZnQ6IC0xN3B4O1xuICBtYXJnaW4tcmlnaHQ6IC0xN3B4O1xuICB3aWR0aDogYXV0bztcbn1cblxuLnNwLXBvcnRmb2xpby1pdGVtcyBbY2xhc3NePVwiY29sLVwiXSwgLnNwLXBvcnRmb2xpby1pdGVtcyBbY2xhc3MqPVwiIGNvbC1cIl0ge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc3AtcG9ydGZvbGlvLWl0ZW0ge1xuICBwYWRkaW5nOiAycHg7XG59XG5cbi5zcC1wb3J0Zm9saW8taXRlbS54MiBhIHtcbiAgaGVpZ2h0OiA3MDRweDtcbn1cblxuLnNwLXBvcnRmb2xpby1pdGVtIGEge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zcC1wb3J0Zm9saW8taXRlbSBhIC5wb3J0Zm9saW8taG92ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gIHBhZGRpbmc6IDUwcHggNTBweCAwIDUwcHg7XG59XG5cbi5zcC1wb3J0Zm9saW8taXRlbSBhIC5wb3J0Zm9saW8taG92ZXIgaDUge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3AtcG9ydGZvbGlvLWl0ZW0gYSAucG9ydGZvbGlvLWhvdmVyIHNwYW4uZGVzYyB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICB3aWR0aDogNzAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNjVzO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3AtcG9ydGZvbGlvLWl0ZW0gYSAucG9ydGZvbGlvLWhvdmVyIHNwYW4ubGluayB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDMuM3JlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDMwcHg7XG4gIGxlZnQ6IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNzVzO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3AtcG9ydGZvbGlvLWl0ZW06aG92ZXIgLnBvcnRmb2xpby1ob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG59XG5cbi5zcC1wb3J0Zm9saW8taXRlbTpob3ZlciAucG9ydGZvbGlvLWhvdmVyIGg1IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG5cbi5zcC1wb3J0Zm9saW8taXRlbTpob3ZlciAucG9ydGZvbGlvLWhvdmVyIHNwYW4uZGVzYyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG59XG5cbi5zcC1wb3J0Zm9saW8taXRlbTpob3ZlciAucG9ydGZvbGlvLWhvdmVyIHNwYW4ubGluayB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuNHM7XG59XG5cbi5zcC1wb3J0Zm9saW8taXRlbSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnNwLXBvcnRmb2xpby1saXN0LnVubGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbi5zcC1wb3J0Zm9saW8tbGlzdC51bmxpc3QgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAyMHB4O1xufVxuXG4uc3AtcG9ydGZvbGlvLWxpc3QudW5saXN0IGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDAgMjBweDtcbn1cblxuLnNwLXBvcnRmb2xpby1saXN0IHVsIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4uc3AtcG9ydGZvbGlvLWxpc3QgdWwgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnNwLXBvcnRmb2xpby1saXN0IHVsIGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDA7XG59XG5cbi5zcC1wb3J0Zm9saW8tbGlzdCB1bCBsaSBpIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1cHg7XG59XG5cbi5zcC1wb3J0Zm9saW8tYmFyLWxlZnQgYSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uc3AtcG9ydGZvbGlvLWJhci1sZWZ0IGE6aG92ZXIge1xuICBjb2xvcjogI0MzQUM2RDtcbn1cblxuLnNwLXBvcnRmb2xpby1iYXItbGVmdCBhOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjQzNBQzZEO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBsaW5lYXI7XG59XG5cbi5zcC1wb3J0Zm9saW8tYmFyLWxlZnQgYTpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ3NwLXRoZW1lLWljb25zJztcbiAgZm9udC1zaXplOiAyMXB4O1xuICBjb2xvcjogIzMzMztcbiAgY29udGVudDogJ1xcZjNkMic7XG4gIHRvcDogMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgbGluZWFyO1xufVxuXG4uc3AtcG9ydGZvbGlvLWJhci1yaWdodCBhIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5zcC1wb3J0Zm9saW8tYmFyLXJpZ2h0IGE6aG92ZXIge1xuICBjb2xvcjogI0MzQUM2RDtcbn1cblxuLnNwLXBvcnRmb2xpby1iYXItcmlnaHQgYTpob3ZlcjphZnRlciB7XG4gIGNvbG9yOiAjQzNBQzZEO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBsaW5lYXI7XG59XG5cbi5zcC1wb3J0Zm9saW8tYmFyLXJpZ2h0IGE6YWZ0ZXIge1xuICBmb250LWZhbWlseTogJ3NwLXRoZW1lLWljb25zJztcbiAgZm9udC1zaXplOiAyMXB4O1xuICBjb2xvcjogIzMzMztcbiAgY29udGVudDogJ1xcZjNkMyc7XG4gIHRvcDogMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBsaW5lYXI7XG59XG5cbi5zcC1wb3J0Zm9saW8tYmFyLWNlbnRlciB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLnNwLXBvcnRmb2xpby1iYXItY2VudGVyIGEge1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBjb2xvcjogIzMzMztcbn1cblxuLnNwLXBvcnRmb2xpby1iYXItY2VudGVyIGE6aG92ZXIge1xuICBjb2xvcjogI0MzQUM2RDtcbn1cblxuI3NwLXNpbmdsZS1wb3J0Zm9saW8gLnNwLXNpbmdsZS1oZWFkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jc3Atc2luZ2xlLXBvcnRmb2xpbyAuc3Atc2luZ2xlLWhlYWRpbmcgaDEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jc3Atc2luZ2xlLXBvcnRmb2xpbyAuc3Atc2luZ2xlLWhlYWRpbmcgaDE6YWZ0ZXIge1xuICBmb250LWZhbWlseTogJ3NwLXRoZW1lLWljb25zJztcbiAgZm9udC1zaXplOiA1MHB4O1xuICBjb2xvcjogIzMzMztcbiAgY29udGVudDogJ1xcZjNkNic7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAzcHg7XG59XG5cbiNzcC1zaW5nbGUtcG9ydGZvbGlvIGgzIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4jc3Atc2luZ2xlLXBvcnRmb2xpbyAuc3Atc2luZ2xlLXBvcnRmb2xpby1zb2Mge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG4jc3Atc2luZ2xlLXBvcnRmb2xpbyAuc3Atc2luZ2xlLXBvcnRmb2xpby1zb2MgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbiNzcC1zaW5nbGUtcG9ydGZvbGlvIC5zcC1zaW5nbGUtcG9ydGZvbGlvLXNvYyB1bCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuI3NwLXNpbmdsZS1wb3J0Zm9saW8gLnNwLXNpbmdsZS1wb3J0Zm9saW8tc29jIHVsIGxpIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICMzMzM7XG4gIHBhZGRpbmc6IDVweCAxNHB4O1xufVxuXG4jc3Atc2luZ2xlLXBvcnRmb2xpbyAuc3Atc2luZ2xlLXBvcnRmb2xpby1zb2MgdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjQzNBQzZEO1xufVxuXG4vKiBBbmltYXRlZCBDaXJjbGUgKi9cbi5zcC1jaXJjbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDE1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEyNXB4O1xuICBwYWRkaW5nLXRvcDogNDJweDtcbiAgaGVpZ2h0OiAxMjVweDtcbn1cblxuLnNwLWNpcmNsZSBjYW52YXMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG5cbi5zcC1jaXJjbGUgc3BhbiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTdweDtcbn1cblxuLnNwLWNpcmNsZSBzcGFuOmFmdGVyIHtcbiAgY29udGVudDogJyUnO1xuICBtYXJnaW4tbGVmdDogMC4xZW07XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzVweCkge1xuICAuc3AtY2lyY2xlIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5zcC1jaXJjbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbn1cblxuLnNwLWNpcmNsZS10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgI3NwLW1hZ2ljIC50ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGVzdGltb25pYWxzIHNsaWRlci4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc3Atc2xpY2stdGVzdGltb25pYWxzIC5zbGljay1kb3RzIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnNwLXRlc3RpbW9uaWFscy1ibG9jayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNwLXRlc3RpbW9uaWFscy1ibG9jayAudGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zcC10ZXN0aW1vbmlhbHMtYmxvY2sgLnBob3RvIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLnNwLXRlc3RpbW9uaWFscy1ibG9jayAubmFtZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5cbi5zcC10ZXN0aW1vbmlhbHMtYmxvY2sgLm5hbWU6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBDb250YWN0cyAqL1xuLnNwLWNvbnRhY3RzLWxpc3QgdWwge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5zcC1jb250YWN0cy1saXN0IHVsIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMC40NXJlbTtcbn1cblxuLnNwLWNvbnRhY3RzLWxpc3QgdWwgbGkgaSB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNXB4O1xufVxuXG4vKiBPdGhlciBTdHlsZXMgKi9cbi5zcC1zbGljay1jbGllbnRzIC5pdGVtIHtcbiAgb3BhY2l0eTogMC42NTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBsaW5lYXI7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3Atc2xpY2stY2xpZW50cyAuaXRlbSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnNwLXNsaWNrLWNsaWVudHMgLml0ZW06aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNwLXNsaWNrLWNsaWVudHMgLml0ZW0ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLyogUXVvdGUgKi9cbiNzcC1xdW90ZSAuc3Atc2lnbmF0dXJlIHtcbiAgZm9udC1zaXplOiAzMHB4O1xufVxuXG4uc3AtcXVvdGUge1xuICBmb250LXNpemU6IDE5cHg7XG59XG5cbi5zcC1xdW90ZTpiZWZvcmUsIC5zcC1xdW90ZTphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBcInNwLXRoZW1lLWljb25zXCI7XG4gIGZvbnQtc2l6ZTogMjNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3AtcXVvdGU6YWZ0ZXIge1xuICBjb250ZW50OiAnXFxlODBmJztcbiAgbGVmdDogMTVweDtcbiAgdG9wOiA3cHg7XG59XG5cbi5zcC1xdW90ZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODBlJztcbiAgcmlnaHQ6IDE1cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUaGVtZSBwcm9ncmVzcyBiYXJzLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zcC1wcm9ncmVzcy1iYXIge1xuICBtYXJnaW46IDFyZW0gMCAycmVtIDA7XG59XG5cbi5zcC1wcm9ncmVzcy1iYXIgLnRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uc3AtcHJvZ3Jlc3MtYmFyIC50aXRsZSBzcGFuIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAycHg7XG59XG5cbi5zcC1wcm9ncmVzcy1iYXIgLnByb2dyZXNzLWJhciB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQcmljaW5nIHRhYmxlcy4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucHJpY2luZ190YWJsZXNfd3JhcCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMgZWFzZTtcbn1cblxuLnByaWNpbmdfdGFibGVzX3dyYXAgPiAucHJpY2luZ190YWJsZXNfbmFtZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyOXB4O1xuICBjb2xvcjogI0MzQUM2RDtcbiAgcGFkZGluZzogMXJlbSAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbn1cblxuLnByaWNpbmdfdGFibGVzX3dyYXAgPiAucHJpY2luZ190YWJsZXNfcHJpY2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogNjVweDtcbiAgcGFkZGluZzogMXJlbSAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnByaWNpbmdfdGFibGVzX3dyYXAgPiAucHJpY2luZ190YWJsZXNfcHJpY2Ugc3BhbiB7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXNpemU6IDI3cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTdweDtcbiAgdG9wOiAtMjlweDtcbn1cblxuLnByaWNpbmdfdGFibGVzX3dyYXAgPiAucHJpY2luZ190YWJsZXNfcHJpY2UgaSB7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4ucHJpY2luZ190YWJsZXNfd3JhcCA+IC5wcmljaW5nX3RhYmxlc19kZXNjIHtcbiAgcGFkZGluZzogMjBweCAzMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJpY2luZ190YWJsZXNfd3JhcCA+IC5wcmljaW5nX3RhYmxlc19kZXNjIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5wcmljaW5nX3RhYmxlc193cmFwID4gLnByaWNpbmdfdGFibGVzX2Rlc2MgdWwgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTBweCAwO1xuICBjb2xvcjogIzg4ODtcbn1cblxuLnByaWNpbmdfdGFibGVzX3dyYXAgPiAucHJpY2luZ190YWJsZXNfYnV0dG9ucyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAzMHB4O1xuICBtYXJnaW46IDAgLTEwcHg7XG59XG5cbi5wcmljaW5nX3RhYmxlc193cmFwID4gLnByaWNpbmdfdGFibGVzX2J1dHRvbnMgPiBhLCAucHJpY2luZ190YWJsZXNfd3JhcCA+IC5wcmljaW5nX3RhYmxlc19idXR0b25zID4gLmJ0biwgLnByaWNpbmdfdGFibGVzX3dyYXAgPiAucHJpY2luZ190YWJsZXNfYnV0dG9ucyA+IC5idG4tZ3JvdXAge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi5wcmljaW5nX3RhYmxlc193cmFwLmZlYXR1cmVkIHtcbiAgYm94LXNoYWRvdzogMCAxNXB4IDUwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4ucHJpY2luZ190YWJsZXNfd3JhcC5mZWF0dXJlZCA+IC5wcmljaW5nX3RhYmxlc19uYW1lIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5wcmljaW5nX3RhYmxlc193cmFwLmZlYXR1cmVkID4gLnByaWNpbmdfdGFibGVzX3ByaWNlIHtcbiAgY29sb3I6ICNDM0FDNkQ7XG59XG5cbiNzcC1wcmljaW5nLXRhYmxlcy1mYXEgaDQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbiNzcC1wcmljaW5nLXRhYmxlcy1mYXEgcCB7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07XG59XG5cbiNzcC1wcmljaW5nLXRhYmxlcy1mYXEgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEZBUSBwYWdlLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYXJkLnNwLWZhcS1jYXJkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmNhcmQuc3AtZmFxLWNhcmQgKyAuc3AtZmFxLWNhcmQge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4uY2FyZC5zcC1mYXEtY2FyZCA+IC5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmNhcmQuc3AtZmFxLWNhcmQgPiAuY2FyZC1oZWFkZXIgPiAuY2FyZC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBjb2xvcjogIzMzMztcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXM7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4uY2FyZC5zcC1mYXEtY2FyZCA+IC5jYXJkLWhlYWRlciA+IC50b2dnbGUtaWNvbiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgY29sb3I6ICNDM0FDNkQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDQwcHg7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cztcbn1cblxuLmNhcmQuc3AtZmFxLWNhcmQgPiAuY2FyZC1oZWFkZXI6aG92ZXIgPiAuY2FyZC10aXRsZSB7XG4gIGNvbG9yOiAjQzNBQzZEO1xufVxuXG4uY2FyZC5zcC1mYXEtY2FyZCA+IC5jYXJkLWNvbnRlbnRzID4gLmNhcmQtY29udGVudHMtaW5uZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcbiAgcGFkZGluZzogMXJlbSAxLjVyZW07XG59XG5cbi5jYXJkLnNwLWZhcS1jYXJkID4gLmNhcmQtY29udGVudHMgcCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5jYXJkLnNwLWZhcS1jYXJkID4gLmNhcmQtY29udGVudHMgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQuc3AtZmFxLWNhcmQuY2FyZC1vcGVuID4gLmNhcmQtaGVhZGVyID4gLmNhcmQtdGl0bGUge1xuICBjb2xvcjogI0MzQUM2RDtcbn1cblxuLmNhcmQuc3AtZmFxLWNhcmQuY2FyZC1vcGVuID4gLmNhcmQtaGVhZGVyID4gLnRvZ2dsZS1pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uc3AtZmFxLWFydGljbGVzIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xufVxuXG4uc3AtZmFxLWFydGljbGVzIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5zcC1mYXEtYXJ0aWNsZXMgdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uc3AtZmFxLWFydGljbGVzIHVsIGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc3AtZmFxLWFydGljbGVzIHVsIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYzZDMnO1xuICBmb250LWZhbWlseTogJ3NwLXRoZW1lLWljb25zJztcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBjb2xvcjogI0MzQUM2RDtcbn1cblxuLnNwLWZhcS1hcnRpY2xlcyB1bCBsaSBhIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5zcC1mYXEtYXJ0aWNsZXMgdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjQzNBQzZEO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ2xpZW50cyBwYWdlLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zcC1jbGllbnRzLWdyaWQgLnNwLWNsaWVudHMtYmxvY2sge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXM7XG4gIHdpbGwtY2hhbmdlOiBib3gtc2hhZG93O1xufVxuXG4uc3AtY2xpZW50cy1ncmlkIC5zcC1jbGllbnRzLWJsb2NrID4gLmNsaWVudC1sb2dvIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDAuODU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuXG4uc3AtY2xpZW50cy1ncmlkIC5zcC1jbGllbnRzLWJsb2NrOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDI1cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xufVxuXG4uc3AtY2xpZW50cy1ncmlkIC5zcC1jbGllbnRzLWJsb2NrOmhvdmVyID4gLmNsaWVudC1sb2dvIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwLWNsaWVudHMtZ3JpZCAuc3AtY2xpZW50cy1ibG9jayA+IC5jbGllbnQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi5zcC1jbGllbnRzLWdyaWQgLnNwLWNsaWVudHMtYmxvY2sgLmJ0biB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQsIGJvcmRlcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE1haWxjaGltcCBzdWJzY3JpYmUgYmxvY2suICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNwLXN1YnNjcmliZS1mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDU3MHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uc3Atc3Vic2NyaWJlLWZvcm0gPiAuZm9ybS1pbm5lci13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1MDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cywgdHJhbnNmb3JtIDAuMjVzO1xufVxuXG4uc3Atc3Vic2NyaWJlLWZvcm0gPiAuZm9ybS1pbm5lci13cmFwIGltZyB7XG4gIG1heC13aWR0aDogMTMwcHg7XG4gIG9wYWNpdHk6IDAuMjtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLnNwLXN1YnNjcmliZS1mb3JtID4gLmZvcm0taW5uZXItd3JhcCBwLmFwcGVhci1tZXNzYWdlIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNwLXN1YnNjcmliZS1mb3JtID4gLmZvcm0taW5uZXItd3JhcCAuaW5wdXQtZ3JvdXAge1xuICB3aWR0aDogMzUwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLnNwLXN1YnNjcmliZS1mb3JtID4gLmZvcm0tb3V0cHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTE4cHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMC44KTtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zcC1zdWJzY3JpYmUtZm9ybSA+IC5mb3JtLW91dHB1dDpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJzcC10aGVtZS1pY29uc1wiO1xuICBmb250LXNpemU6IDcwcHg7XG4gIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbn1cblxuLnNwLXN1YnNjcmliZS1mb3JtLm1jLWxvYWRpbmcgPiAuZm9ybS1pbm5lci13cmFwLCAuc3Atc3Vic2NyaWJlLWZvcm0ubWMtaW52YWxpZCA+IC5mb3JtLWlubmVyLXdyYXAsIC5zcC1zdWJzY3JpYmUtZm9ybS5tYy12YWxpZCA+IC5mb3JtLWlubmVyLXdyYXAge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG59XG5cbi5zcC1zdWJzY3JpYmUtZm9ybS5tYy1sb2FkaW5nID4gLmZvcm0tb3V0cHV0LCAuc3Atc3Vic2NyaWJlLWZvcm0ubWMtaW52YWxpZCA+IC5mb3JtLW91dHB1dCwgLnNwLXN1YnNjcmliZS1mb3JtLm1jLXZhbGlkID4gLmZvcm0tb3V0cHV0IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpO1xufVxuXG4uc3Atc3Vic2NyaWJlLWZvcm0ubWMtbG9hZGluZyA+IC5mb3JtLW91dHB1dDpiZWZvcmUsIC5zcC1zdWJzY3JpYmUtZm9ybS5tYy1pbnZhbGlkID4gLmZvcm0tb3V0cHV0OmJlZm9yZSwgLnNwLXN1YnNjcmliZS1mb3JtLm1jLXZhbGlkID4gLmZvcm0tb3V0cHV0OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcC1tYy1mb3JtLW91dHB1dC1pY29uO1xufVxuXG4uc3Atc3Vic2NyaWJlLWZvcm0gPiAuZm9ybS1vdXRwdXQudmFsaWQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjNmZCc7XG4gIGNvbG9yOiAjNWNiODVjO1xufVxuXG4uc3Atc3Vic2NyaWJlLWZvcm0gPiAuZm9ybS1vdXRwdXQuZXJyb3I6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjQwNCc7XG4gIGNvbG9yOiAjZDk1MzRmO1xufVxuXG4uc3Atc3Vic2NyaWJlLWZvcm0ubWMtbG9hZGluZyA+IC5mb3JtLW91dHB1dDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmNDVhJztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogNTVweDtcbiAgYW5pbWF0aW9uOiBzcC1tYy1sb2FkaW5nLWljb24gMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNwLW1jLWxvYWRpbmctaWNvbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNwLW1jLWZvcm0tb3V0cHV0LWljb24ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogNDA0IHBhZ2UuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI3NwLTQwNCA+IC5pbnRyby1ib2R5IHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xufVxuXG4jc3AtNDA0IGgxIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgZm9udC1zaXplOiA1cmVtO1xuICBsaW5lLWhlaWdodDogNXJlbTtcbn1cblxuI3NwLTQwNCBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIGZvbnQtc2l6ZTogMy41cmVtO1xuICBmb250LWZhbWlseTogJ1NoYWRvd3MgSW50byBMaWdodCcsIGN1cnNpdmU7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0yZGVnKSAhaW1wb3J0YW50O1xufVxuXG4jc3AtNDA0IC5zcC1zb2MtbGlua3Mge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBmb250LXNpemU6IDA7XG59XG5cbiNzcC00MDQgLnNwLXNvYy1saW5rcyB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4jc3AtNDA0IC5zcC1zb2MtbGlua3MgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbiNzcC00MDQgLnNwLXNvYy1saW5rcyB1bCBsaSBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDEycHg7XG4gIGZvbnQtc2l6ZTogMjZweDtcbn1cblxuI3NwLTQwNCAuc3Atc29jLWxpbmtzIHVsIGxpIGE6aG92ZXIge1xuICBjb2xvcjogI0MzQUM2RDtcbn1cblxuI3NwLTQwNCAuc3AtNDA0LW1lbnUgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiAwO1xufVxuXG4jc3AtNDA0IC5zcC00MDQtbWVudSB1bCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuI3NwLTQwNCAuc3AtNDA0LW1lbnUgdWwgbGk6YWZ0ZXIge1xuICBjb250ZW50OiAnfCc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDEwcHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuI3NwLTQwNCAuc3AtNDA0LW1lbnUgdWwgbGk6bGFzdC1jaGlsZDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG4jc3AtNDA0IC5zcC00MDQtbWVudSB1bCBsaSBhIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4jc3AtNDA0IC5zcC00MDQtbWVudSB1bCBsaSBhOmhvdmVyIHtcbiAgY29sb3I6ICNDM0FDNkQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAjc3AtNDA0IGgxIHtcbiAgICBmb250LXNpemU6IDMuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMy44cmVtO1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgfVxuICAjc3AtNDA0IGgzIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbiAgI3NwLTQwNCAuc3AtNDA0LW1lbnUgdWwge1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgI3NwLTQwNCBoMSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG4gICNzcC00MDQgaDMge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2ltcGxlIHRleHQgcm90YXRvciBwbHVnaW4gc3R5bGVzLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zcC10ZXh0LXJvdGF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zcC10ZXh0LXJvdGF0ZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuXG4ucm90YXRpbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgLW1vei10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgwKSByb3RhdGVZKDApIHJvdGF0ZVooMCk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGVYKDApIHJvdGF0ZVkoMCkgcm90YXRlWigwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDApIHJvdGF0ZVkoMCkgcm90YXRlWigwKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzO1xuICAtbW96LXRyYW5zaXRpb246IDAuNXM7XG4gIHRyYW5zaXRpb246IDAuNXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbi14OiA1MCU7XG59XG5cbi5yb3RhdGluZy5mbGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucm90YXRpbmcgLmZyb250LCAucm90YXRpbmcgLmJhY2sge1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ucm90YXRpbmcgLmZyb250IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAxcHgpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMXB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAxcHgpO1xufVxuXG4ucm90YXRpbmcuZmxpcCAuZnJvbnQge1xuICB6LWluZGV4OiAxO1xufVxuXG4ucm90YXRpbmcgLmJhY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMDtcbn1cblxuLnJvdGF0aW5nLnNwaW4ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgc2NhbGUoMCk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSBzY2FsZSgwKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IGZsaXAgdHJhbnNpdGlvbnMgKi9cbi5yb3RhdGluZy5mbGlwIC5iYWNrIHtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4ucm90YXRpbmcuZmxpcC51cCAuYmFjayB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4ucm90YXRpbmcuZmxpcC5jdWJlIC5mcm9udCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAxMDBweCkgc2NhbGUoMC44NSwgMC44NSk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAxMDBweCkgc2NhbGUoMC44NSwgMC44NSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMTAwcHgpIHNjYWxlKDAuODUsIDAuODUpO1xufVxuXG4ucm90YXRpbmcuZmxpcC5jdWJlIC5iYWNrIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAxMDBweCkgc2NhbGUoMC45LCAwLjkpO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDEwMHB4KSBzY2FsZSgwLjksIDAuOSk7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDEwMHB4KSBzY2FsZSgwLjksIDAuOSk7XG59XG5cbi5yb3RhdGluZy5mbGlwLmN1YmUudXAgLmJhY2sge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDEwMHB4KSBzY2FsZSgwLjksIDAuOSk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMTAwcHgpIHNjYWxlKDAuOSwgMC45KTtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMTAwcHgpIHNjYWxlKDAuOSwgMC45KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFR5cGVkIGpzIGludGVncmF0aW9uLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50eXBlZC1jdXJzb3Ige1xuICBhbmltYXRpb246IHR5cGVkLWJsaW5rIDAuN3MgaW5maW5pdGU7XG4gIG9wYWNpdHk6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuQGtleWZyYW1lcyB0eXBlZC1ibGluayB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8qISBTd2lwZWJveCB2MS4zLjAgfCBDb25zdGFudGluIFNhZ3VpbiBjc2FnLmNvIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL2JydXRhbGRlc2lnbi9zd2lwZWJveCAqL1xuaHRtbC5zd2lwZWJveC1odG1sLnN3aXBlYm94LXRvdWNoIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgbGluZWFyO1xufVxuXG4jc3dpcGVib3gtb3ZlcmxheSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5OSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cyBsaW5lYXI7XG59XG5cbiNzd2lwZWJveC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiNzd2lwZWJveC1zbGlkZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3N3aXBlYm94LXNsaWRlciAuc2xpZGUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuI3N3aXBlYm94LXNsaWRlciAuc2xpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDUwJTtcbiAgd2lkdGg6IDFweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuXG4jc3dpcGVib3gtc2xpZGVyIC5zbGlkZSAuc3dpcGVib3gtdmlkZW8tY29udGFpbmVyLFxuI3N3aXBlYm94LXNsaWRlciAuc2xpZGUgLnN3aXBlYm94LWlubGluZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4jc3dpcGVib3gtc2xpZGVyIC5zbGlkZSAuc3dpcGVib3gtdmlkZW8tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDE1MHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4jc3dpcGVib3gtc2xpZGVyIC5zbGlkZSAuc3dpcGVib3gtdmlkZW8tY29udGFpbmVyIC5zd2lwZWJveC12aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI3N3aXBlYm94LXNsaWRlciAuc2xpZGUgLnN3aXBlYm94LXZpZGVvLWNvbnRhaW5lciAuc3dpcGVib3gtdmlkZW8gaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDQwcHgpO1xufVxuXG4jc3dpcGVib3gtc2xpZGVyIC5zbGlkZS1sb2FkaW5nIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2xvYWRlci5naWZcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG59XG5cbiNzd2lwZWJveC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbn1cblxuI3N3aXBlYm94LWNsb3NlOmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBjb250ZW50OiAnXFxmNDA0JztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJzcC10aGVtZS1pY29uc1wiO1xuICBmb250LXNpemU6IDcwcHg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4jc3dpcGVib3gtY2xvc2U6aG92ZXIge1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICNzd2lwZWJveC1jbG9zZSB7XG4gICAgcmlnaHQ6IDE1cHg7XG4gIH1cbiAgI3N3aXBlYm94LWNsb3NlOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTaXRlIHNvY2lhbHMgVkMgd2lkZ2V0LiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zcC1zaXRlLXNvY2lhbHMge1xuICBtYXJnaW46IDAgLTEycHg7XG4gIGZvbnQtc2l6ZTogMDtcbiAgY29sb3I6ICNDM0FDNkQ7XG59XG5cbi5zcC1zaXRlLXNvY2lhbHMgPiBhIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbiAgb3BhY2l0eTogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAyM3B4O1xuICBwYWRkaW5nOiAwIDEycHg7XG59XG5cbi5zcC1zaXRlLXNvY2lhbHMgPiBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4uc3Atc2l0ZS1zb2NpYWxzLmFsaWduX2NlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNwLXNpdGUtc29jaWFscy5hbGlnbl9sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnNwLXNpdGUtc29jaWFscy5hbGlnbl9yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNwLXNpdGUtc29jaWFscyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFZpc3VhbCBDb21wb3NlciBjdXN0b20gdGV4dCB3aWRnZXQuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNwLXRleHQtd2lkZ2V0IHtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNhbnMgUHJvXCIsIFwiTW9udHNlcnJhdFwiLCBBcmlhbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzMzMztcbn1cblxuLnNwLXRleHQtd2lkZ2V0LnByaW1hcnktZm9udCB7XG4gIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBcIk1vbnRzZXJyYXRcIiwgQXJpYWwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbn1cblxuLnNwLXRleHQtd2lkZ2V0LmhlYWRpbmdzLWZvbnQge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiU291cmNlIFNhbnMgUHJvXCIsIEFyaWFsLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5zcC10ZXh0LXdpZGdldCA+IHAge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLnNwLXRleHQtd2lkZ2V0ID4gcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc3AtdGV4dC13aWRnZXQgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5zcC10ZXh0LXdpZGdldCA+IC5zcC1zaWduYXR1cmUge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAyM3B4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgZm9udC1mYW1pbHk6ICdTaGFkb3dzIEludG8gTGlnaHQnLCBjdXJzaXZlO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7XG59XG5cbi5zcC10ZXh0LXdpZGdldCA+IC5zcC1zaWduYXR1cmUud2hpdGUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJhc2ljIGJsb2dyb2xsIHN0eWxlcy4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jc3AtYmxvZy1pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4jc3AtYmxvZy1pbm5lciA+IC5jb250ZW50LWNvbHVtbiB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbiNzcC1ibG9nLWlubmVyID4gLnNpZGViYXItY29sdW1uIHtcbiAgZmxleDogMCAwIDM2MHB4O1xuICBtaW4td2lkdGg6IDA7XG4gIG1hcmdpbi1ib3R0b206IC01MHB4O1xufVxuXG4jc3AtYmxvZy1pbm5lciA+IC5zaWRlYmFyLWNvbHVtbi5sZWZ0IHtcbiAgcGFkZGluZy1yaWdodDogNjBweDtcbn1cblxuI3NwLWJsb2ctaW5uZXIgPiAuc2lkZWJhci1jb2x1bW4ucmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG59XG5cbiNzcC1ibG9nLWlubmVyID4gLnNpZGViYXItY29sdW1uOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNzcC1ibG9nLWlubmVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgI3NwLWJsb2ctaW5uZXIgPiAuc2lkZWJhci1jb2x1bW4sICNzcC1ibG9nLWlubmVyID4gLmNvbnRlbnQtY29sdW1uIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICB9XG4gICNzcC1ibG9nLWlubmVyID4gLmNvbnRlbnQtY29sdW1uIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAjc3AtYmxvZy1pbm5lciA+IC5zaWRlYmFyLWNvbHVtbiB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAjc3AtYmxvZy1pbm5lciA+IC5zaWRlYmFyLWNvbHVtbi5sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gICNzcC1ibG9nLWlubmVyID4gLnNpZGViYXItY29sdW1uLnJpZ2h0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnNwLWJsb2ctYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiA1NXB4O1xufVxuXG4uc3AtYmxvZy1ibG9jazo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5zcC1ibG9nLWJsb2NrIHAge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi5zcC1ibG9nLWJsb2NrIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zcC1ibG9nLWJsb2NrIC5zcC1ibG9nLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG59XG5cbi5zcC1ibG9nLWJsb2NrIC5zcC1ibG9nLWltYWdlIGEge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDI0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuc3AtYmxvZy1ibG9jayAuc3AtYmxvZy1pbWFnZSBhIHtcbiAgICBoZWlnaHQ6IDI2MHB4O1xuICB9XG59XG5cbi5zcC1ibG9nLWJsb2NrIC5zcC1ibG9nLWltYWdlOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uc3AtYmxvZy1ibG9jayAuZW50cnktdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuLnNwLWJsb2ctYmxvY2sgLmVudHJ5LXRpdGxlIGEge1xuICBjb2xvcjogIzMzMztcbn1cblxuLnNwLWJsb2ctYmxvY2sgLmVudHJ5LXRpdGxlIGE6aG92ZXIge1xuICBjb2xvcjogI0MzQUM2RDtcbn1cblxuLnNwLWJsb2ctYmxvY2sgLnNwLWJsb2ctbWV0YSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zcC1ibG9nLWJsb2NrIC5zcC1ibG9nLW1ldGEgdWwge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnNwLWJsb2ctYmxvY2sgLnNwLWJsb2ctbWV0YSB1bCBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4uc3AtYmxvZy1ibG9jayAuc3AtYmxvZy1tZXRhIHVsIGxpOmFmdGVyIHtcbiAgY29udGVudDogJy8nO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4uc3AtYmxvZy1ibG9jayAuc3AtYmxvZy1tZXRhIHVsIGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuXG4uc3AtYmxvZy1ibG9jayAuc3AtYmxvZy1tZXRhIHVsIGxpIGEge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLnNwLWJsb2ctYmxvY2suY2hlc3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5zcC1ibG9nLWJsb2NrLmNoZXNzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uc3AtYmxvZy1ibG9jay5jaGVzcyAubWV0YS1jb2x1bW4ge1xuICBwYWRkaW5nOiAwcHggNTBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuc3AtYmxvZy1ibG9jay5jaGVzcyAubWV0YS1jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgfVxufVxuXG4uc3AtYmxvZy1ibG9jay5jaGVzcyAubWV0YS1jb2x1bW4uaW5uZXItY29sIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgd2lkdGg6IDUwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5zcC1ibG9nLWJsb2NrLmNoZXNzIC5tZXRhLWNvbHVtbi5pbm5lci1jb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5zcC1ibG9nLWJsb2NrLmNoZXNzIC5tZXRhLWNvbHVtbiBoNCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4uc3AtYmxvZy1ibG9jay5jaGVzcyAuaW1hZ2UtY29sdW1uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc3AtYmxvZy1ibG9jay5jaGVzcyAuaW1hZ2UtY29sdW1uLmlubmVyLWNvbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHdpZHRoOiA1MCU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuc3AtYmxvZy1ibG9jay5jaGVzcyAuaW1hZ2UtY29sdW1uLmlubmVyLWNvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc3AtYmxvZy1ibG9jay5jaGVzcyAuaW1hZ2UtY29sdW1uIC5zcC1ibG9nLWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNwLWJsb2ctYmxvY2suY2hlc3MgLmltYWdlLWNvbHVtbiAuc3AtYmxvZy1pbWFnZSBhIHtcbiAgaGVpZ2h0OiA0MDBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuc3AtYmxvZy1ibG9jay5jaGVzcyAuaW1hZ2UtY29sdW1uIC5zcC1ibG9nLWltYWdlIGEge1xuICAgIGhlaWdodDogMzUwcHg7XG4gIH1cbn1cblxuLnNwLWJsb2ctYmxvY2suY2hlc3Muc3RpY2t5Om50aC1jaGlsZChldmVuKSAuc3AtYmxvZy1pbWFnZTphZnRlciB7XG4gIHJpZ2h0OiAzMHB4O1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uc3AtYmxvZy1ibG9jay5jaGVzcy5zdGlja3k6bnRoLWNoaWxkKGV2ZW4pIC5zcC1ibG9nLWltYWdlOmJlZm9yZSB7XG4gIHJpZ2h0OiAzMHB4O1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uc3AtYmxvZy1ibG9jay5jbGFzc2ljIHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5zcC1ibG9nLWJsb2NrLmNsYXNzaWMgLnNwLWJsb2ctbWV0YS1jbGFzc2ljIHtcbiAgZmxleDogMCAwIDkwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uc3AtYmxvZy1ibG9jay5jbGFzc2ljIC5zcC1ibG9nLW1ldGEtY2xhc3NpYyAuZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5zcC1ibG9nLWJsb2NrLmNsYXNzaWMgLnNwLWJsb2ctbWV0YS1jbGFzc2ljIC55ZWFyIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi5zcC1ibG9nLWJsb2NrLmNsYXNzaWMgLnNwLWJsb2ctaW1hZ2UgYSB7XG4gIGhlaWdodDogMzc1cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnNwLWJsb2ctYmxvY2suY2xhc3NpYyAuc3AtYmxvZy1pbWFnZSBhIHtcbiAgICBoZWlnaHQ6IDM1MHB4O1xuICB9XG59XG5cbi5zcC1ibG9nLWJsb2NrLm1lZGl1bSB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnNwLWJsb2ctYmxvY2subWVkaXVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uc3AtYmxvZy1ibG9jay5tZWRpdW0gLnNwLWJsb2ctaW1hZ2UtbWVkaXVtIHtcbiAgZmxleDogMCAwIDM2MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnNwLWJsb2ctYmxvY2subWVkaXVtIC5zcC1ibG9nLWltYWdlLW1lZGl1bSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4uc3AtYmxvZy1ibG9jay5tZWRpdW0gLnNwLWJsb2ctaW1hZ2UtbWVkaXVtIC5zcC1ibG9nLWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNwLWJsb2ctYmxvY2subWVkaXVtIC5zcC1ibG9nLWltYWdlLW1lZGl1bSAuc3AtYmxvZy1pbWFnZSBhIHtcbiAgaGVpZ2h0OiAyNzVweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuc3AtYmxvZy1ibG9jay5tZWRpdW0gLnNwLWJsb2ctaW1hZ2UtbWVkaXVtIC5zcC1ibG9nLWltYWdlIGEge1xuICAgIGhlaWdodDogMzAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5zcC1ibG9nLWJsb2NrLm1lZGl1bSAuc3AtYmxvZy1pbWFnZS1tZWRpdW0gLnNwLWJsb2ctaW1hZ2UgYSB7XG4gICAgaGVpZ2h0OiAyNDBweDtcbiAgfVxufVxuXG4uc3AtYmxvZy1ibG9jay5tZWRpdW0gLnNwLWJsb2ctYmxvY2stbWVkaXVtIGgzIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuc3AtYmxvZy1ibG9jay5tZWRpdW0gLnNwLWJsb2ctYmxvY2stbWVkaXVtIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG59XG5cbi5zcC1ibG9nLWJsb2NrLnN0aWNreSAuc3AtYmxvZy1pbWFnZTphZnRlciB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDMwcHg7XG4gIHRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMTZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDE2cHggc29saWQgI0MzQUM2RDtcbiAgYm9yZGVyLXJpZ2h0OiAxNnB4IHNvbGlkICNDM0FDNkQ7XG59XG5cbi5zcC1ibG9nLWJsb2NrLnN0aWNreSAuc3AtYmxvZy1pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiAnUyc7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE5cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBsZWZ0OiAzMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk7XG4gIHdpZHRoOiAzMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zcC1ibG9nLWJsb2NrLm5vLXRodW1ibmFpbC5zdGlja3kge1xuICBwYWRkaW5nOiAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xufVxuXG4uc3AtYmxvZy1ibG9jay5uby10aHVtYm5haWwuc3RpY2t5IC5zcC1ibG9nLW1ldGEtY2xhc3NpYyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJsb2dyb2xsIHBvc3QgZm9ybWF0cy4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc3AtYmxvZy1ibG9jayAuc3AtYmxvZy1xdW90ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNlZWU7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5zcC1ibG9nLWJsb2NrIC5zcC1ibG9nLXF1b3RlID4gLnF1b3RlLWljb24ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZm9udC1zaXplOiA3M3B4O1xuICBjb2xvcjogI0MzQUM2RDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLnNwLWJsb2ctYmxvY2sgLnNwLWJsb2ctcXVvdGUgPiAucXVvdGUtaW5uZXIge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uc3AtYmxvZy1ibG9jayAuc3AtYmxvZy1xdW90ZSA+IC5xdW90ZS1pbm5lciBwIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zcC1ibG9nLWJsb2NrIC5zcC1ibG9nLXF1b3RlID4gLnF1b3RlLWlubmVyIC5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbn1cblxuLnNwLWJsb2ctYmxvY2sgLnNwLWJsb2ctcXVvdGUgPiAucXVvdGUtaW5uZXIgLmJsb2NrcXVvdGUtZm9vdGVyIGNpdGUge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi5zcC1ibG9nLWJsb2NrIC5zcC1ibG9nLXF1b3RlID4gLnF1b3RlLWlubmVyIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuc3AtYmxvZy1ibG9jayAuc3AtYmxvZy1xdW90ZSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuc3AtYmxvZy1ibG9jayAuc3AtYmxvZy1xdW90ZSA+IC5xdW90ZS1pY29uIHtcbiAgICBwYWRkaW5nOiAwIDAgMXJlbTtcbiAgfVxuICAuc3AtYmxvZy1ibG9jayAuc3AtYmxvZy1xdW90ZSA+IC5xdW90ZS1pY29uLCAuc3AtYmxvZy1ibG9jayAuc3AtYmxvZy1xdW90ZSA+IC5xdW90ZS1pbm5lciB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gIH1cbiAgLnNwLWJsb2ctYmxvY2sgLnNwLWJsb2ctcXVvdGUgPiAucXVvdGUtaW5uZXIgcCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG5cbi5zcC1ibG9nLWJsb2NrIC5zcC1ibG9nLWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXI6IDRweCBzb2xpZCAjZWVlO1xuICBwYWRkaW5nOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB3aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNwLWJsb2ctYmxvY2sgLnNwLWJsb2ctbGluazpiZWZvcmUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgY29udGVudDogJ1xcZjNkOSc7XG4gIGZvbnQtZmFtaWx5OiBcInNwLXRoZW1lLWljb25zXCI7XG4gIGZvbnQtc2l6ZTogNzBweDtcbiAgY29sb3I6ICNDM0FDNkQ7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlZWU7XG59XG5cbi5zcC1ibG9nLWJsb2NrIC5zcC1ibG9nLWxpbmsgYSB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuc3AtYmxvZy1ibG9jayAuc3AtYmxvZy1saW5rIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG4gIC5zcC1ibG9nLWJsb2NrIC5zcC1ibG9nLWxpbms6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbiAgLnNwLWJsb2ctYmxvY2sgLnNwLWJsb2ctbGluayBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cblxuLnNwLWJsb2ctYmxvY2sgLnNwLWJsb2ctaW1hZ2UgLmNhcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uc3AtYmxvZy1ibG9jayAuc3Atc2xpY2stcG9zdC1nYWxsZXJ5IC5zbGljay1zbGlkZSAuY2FwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNXB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xufVxuXG4uc3AtYmxvZy1ibG9jayAuc3Atc2xpY2stcG9zdC1nYWxsZXJ5IC5zbGljay1zbGlkZS5zbGljay1hbmltYXRlZCAuY2FwdGlvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnNwLWJsb2ctYmxvY2sgLnNwLXNpbmdsZS1lbWJlZCB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCbG9nIHNpZGViYXIgZGVzaWduICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNwLXNpZGViYXIge1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbn1cblxuLnNwLXNpZGViYXIgYSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uc3Atc2lkZWJhciBhOmhvdmVyIHtcbiAgY29sb3I6ICNDM0FDNkQ7XG59XG5cbi5zcC1zaWRlYmFyIC5zcC13aWRnZXQtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiA1NXB4O1xufVxuXG4uc3Atc2lkZWJhciAuc3Atd2lkZ2V0LWJsb2NrOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnNwLXNpZGViYXIgLnNwLXdpZGdldC1ibG9jazpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNwLXNpZGViYXIgLnNwLXdpZGdldC1ibG9jayA+IC53aWRnZXQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4uc3Atc2lkZWJhciAuc3AtY2F0ZWdvcnkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnNwLXNpZGViYXIgLnNwLWNhdGVnb3J5IGxpIHtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnNwLXNpZGViYXIgLnNwLWNhdGVnb3J5IGxpIHNwYW4ge1xuICBmbG9hdDogcmlnaHQ7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIHdpZHRoOiAzMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDFweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zcC1zaWRlYmFyIC5zcC1wb3B1bGFyLXBvc3RzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5zcC1zaWRlYmFyIC5zcC1wb3B1bGFyLXBvc3RzID4gbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xufVxuXG4uc3Atc2lkZWJhciAuc3AtcG9wdWxhci1wb3N0cyA+IGxpOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uc3Atc2lkZWJhciAuc3AtcG9wdWxhci1wb3N0cyA+IGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc3Atc2lkZWJhciAuc3AtcG9wdWxhci1wb3N0cyA+IGxpID4gLnBvc3QtbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5zcC1zaWRlYmFyIC5zcC1wb3B1bGFyLXBvc3RzID4gbGkgPiAucG9zdC1saW5rID4gLmltYWdlIHtcbiAgZmxleDogMCAwIDEwMHB4O1xufVxuXG4uc3Atc2lkZWJhciAuc3AtcG9wdWxhci1wb3N0cyA+IGxpID4gLnBvc3QtbGluayA+IC5jb250ZW50IHtcbiAgZmxleDogMTtcbn1cblxuLnNwLXNpZGViYXIgLnNwLXBvcHVsYXItcG9zdHMgPiBsaSAuaW1hZ2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5zcC1zaWRlYmFyIC5zcC1wb3B1bGFyLXBvc3RzID4gbGkgLmltYWdlID4gaW1nIHtcbiAgLW8tb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBjb3ZlcjtcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjVweDtcbn1cblxuLnNwLXNpZGViYXIgLnNwLXBvcHVsYXItcG9zdHMgPiBsaSAuY29udGVudCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnNwLXNpZGViYXIgLnNwLXBvcHVsYXItcG9zdHMgPiBsaSAuY29udGVudCBoNSB7XG4gIGZvbnQtc2l6ZTogMC45MnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLnNwLXNpZGViYXIgLnNwLXBvcHVsYXItcG9zdHMgPiBsaSAuY29udGVudCBzcGFuIHtcbiAgY29sb3I6ICM5OTk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJsb2dyb2xsIHNpbmdsZSBwYWdlIHN0eWxlcy4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc3AtaW50cm8uc2luZ2xlLXBvc3Qge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zcC1pbnRyby5zaW5nbGUtcG9zdCAuaW50cm8tdGl0bGUge1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBmb250LXNpemU6IDNyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4uc3AtaW50cm8uc2luZ2xlLXBvc3QgLnNwLXNpbmdsZS1tZXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMDtcbn1cblxuLnNwLWludHJvLnNpbmdsZS1wb3N0IC5zcC1zaW5nbGUtbWV0YSB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uc3AtaW50cm8uc2luZ2xlLXBvc3QgLnNwLXNpbmdsZS1tZXRhIHVsIGxpIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4uc3AtaW50cm8uc2luZ2xlLXBvc3QgLnNwLXNpbmdsZS1tZXRhIHVsIGxpOmFmdGVyIHtcbiAgY29udGVudDogJy8nO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc3AtaW50cm8uc2luZ2xlLXBvc3QgLnNwLXNpbmdsZS1tZXRhIHVsIGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuXG4uc3AtaW50cm8uc2luZ2xlLXBvc3QgLnNwLXNpbmdsZS1tZXRhIHVsIGxpIGEge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnNwLWJsb2ctYmxvY2suc2luZ2xlIC5zcC1ibG9nLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLnNwLWJsb2ctYmxvY2suc2luZ2xlIC5zcC1ibG9nLWltYWdlOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwLWJsb2ctYmxvY2suc2luZ2xlIC5zcC1ibG9nLWltYWdlIC5jYXB0aW9uIHtcbiAgY29sb3I6ICM5OTk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zcC1ibG9nLWJsb2NrLnNpbmdsZSAuc3Atc2luZ2xlLXRhZ3Mge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5zcC1ibG9nLWJsb2NrLnNpbmdsZSAuc3Atc2luZ2xlLXRhZ3MgaSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICMzMzM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbi1yaWdodDogN3B4O1xufVxuXG4uc3AtYmxvZy1ibG9jay5zaW5nbGUgLnNwLXNpbmdsZS10YWdzIGEge1xuICBjb2xvcjogIzMzMztcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4uc3AtYmxvZy1ibG9jay5zaW5nbGUgLnNwLXNpbmdsZS10YWdzIGE6aG92ZXIge1xuICBjb2xvcjogI0MzQUM2RDtcbn1cblxuLnNwLWJsb2ctYmxvY2suc2luZ2xlIC5zcC1zaW5nbGUtc29jIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbWFyZ2luOiAtNXB4IC0xNXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4uc3AtYmxvZy1ibG9jay5zaW5nbGUgLnNwLXNpbmdsZS1zb2MgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5zcC1ibG9nLWJsb2NrLnNpbmdsZSAuc3Atc2luZ2xlLXNvYyB1bCBsaSBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjMjIyO1xuICBwYWRkaW5nOiA1cHggMTVweDtcbn1cblxuLnNwLWJsb2ctYmxvY2suc2luZ2xlIC5zcC1zaW5nbGUtc29jIHVsIGxpIGE6aG92ZXIge1xuICBjb2xvcjogI0MzQUM2RDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCYXNlIHN0eWxlcyBmb3IgY29tbW9uIGVsZW1lbnRzLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCB7IC13ZWJraXQtZm9udC1zbW9vdGhpbmcgOiBhbnRpYWxpYXNlZDsgfVxuXG5ib2R5IHtcbiAgcG9zaXRpb24gICAgICAgOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteCAgICAgOiBoaWRkZW47XG4gIGxldHRlci1zcGFjaW5nIDogMC4wNGVtO1xuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsgYmFja2dyb3VuZCA6ICNkZGQ7IH1cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aCA6IDZweDsgYmFja2dyb3VuZCA6ICNkZGQ7IH1cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgeyBiYWNrZ3JvdW5kIDogJGJyYW5kLXByaW1hcnk7IH1cblxuICAmLmRpc2FibGUtaG92ZXIgeyBwb2ludGVyLWV2ZW50cyA6IG5vbmU7IH1cbn1cblxucCB7IG1hcmdpbi1ib3R0b20gOiAycmVtOyB9XG5hIHsgdHJhbnNpdGlvbiA6IGFsbCAwLjI1czsgb3V0bGluZTogbm9uZTsgfVxuaHIgeyBib3JkZXItY29sb3IgOiAjZWVlOyBkaXNwbGF5IDogaW5saW5lLWJsb2NrOyB3aWR0aCA6IDEwMCU7IH1cbmJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHsgZm9udC1mYW1pbHkgOiAkZm9udC1mYW1pbHktYmFzZSB9XG5cbi8vIG1heC13aWR0aCByZXNldFxuLndwLWNhcHRpb24sXG4uc3Atd2lkZ2V0LWJsb2NrIGltZyxcbi5zcC1ibG9nLWJsb2NrIGltZyB7IG1heC13aWR0aCA6IDEwMCU7IGhlaWdodCA6IGF1dG87IH1cblxuYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7IG1heC13aWR0aCA6IDEwMCU7IH1cblxuI3NwLXdyYXBwZXIge2JhY2tncm91bmQ6ICNmZmY7cG9zaXRpb246IHJlbGF0aXZlO3otaW5kZXg6IDEwO31cbi5mb3JtLWNvbnRyb2wge2xldHRlci1zcGFjaW5nOiAwLjA0ZW07fVxuLnNwLW1hcmczMCB7bWFyZ2luLXRvcDogMzBweDt9XG4uc3AtbWFyZzUwIHttYXJnaW4tdG9wOiA1MHB4O31cblxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgLnRleHQtcmlnaHQge3RleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50fVxuICAudGV4dC1sZWZ0IHt0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudH1cbiAgW2NsYXNzKj0nY29sLSddIHtwYWRkaW5nLXRvcDogMTVweDsgcGFkZGluZy1ib3R0b206IDE1cHg7fVxuICAuc3AtbWFyZzMwLCAuc3AtbWFyZzUwIHttYXJnaW4tdG9wOiAzMHB4O31cbn1cblxuXG4uc3Atc2VjdGlvbiB7XG4gICAgJi5kZW1vIHtcbiAgICAgIC5jb250YWluZXIge3dpZHRoOjE1MDBweDt9XG4gICAgICAucm93IHttYXJnaW4tbGVmdDogLTIwcHg7IG1hcmdpbi1yaWdodDogLTIwcHg7fVxuICAgICAgW2NsYXNzKj0nY29sLSddIHtwYWRkaW5nLWxlZnQ6IDIwcHg7IHBhZGRpbmctcmlnaHQ6IDIwcHg7fVxuICAgIH0gXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5MjtcbiAgICBwYWRkaW5nLXRvcDogMTEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDExMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgJi5wdDAge3BhZGRpbmctdG9wOiAwcHg7fVxuICAgICYucGIwIHtwYWRkaW5nLWJvdHRvbTogMHB4O31cbiAgICAmLm5vbmUge3BhZGRpbmc6IDA7fVxuICAgICYuYm9yZGVyIHtcbiAgICBcdGJvcmRlci10b3A6MXB4IHNvbGlkICNlZWU7XG4gICAgfVxuICAgICYud2hpdGUge1xuICAgICAgY29sb3I6I2ZmZjtcbiAgICAgIGgxLGgyLGgzLGg0LGg1LGg2IHtjb2xvcjojZmZmO31cbiAgICB9XG4gICAgJi5saXR0bGUge1xuICAgIFx0cGFkZGluZy10b3A6IDgwcHg7XG4gICAgXHRwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge3BhZGRpbmctdG9wOiA1MHB4OyBwYWRkaW5nLWJvdHRvbTogNTBweDt9XG4gICAgfVxuICAgICYuYmctY29sb3ItbGlnaHQge1xuICAgIFx0YmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICBcdGJvcmRlci10b3A6MXB4IHNvbGlkICNlZWU7XG4gICAgXHRib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWVlO1xuICAgIH0gXG4gICAgJi5iZy1jb2xvci1kYXJrIHtcbiAgICBcdGJhY2tncm91bmQ6ICMzMzM7XG4gICAgXHRib3JkZXItdG9wOjFweCBzb2xpZCAjNDQ0O1xuICAgIFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzQ0NDtcbiAgICBcdGNvbG9yOiNmZmY7XG4gICAgfSBcbiAgICBpbWcge21heC13aWR0aDogMTAwJTt9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7cGFkZGluZy10b3A6IDgwcHg7IHBhZGRpbmctYm90dG9tOiA4MHB4O3RleHQtYWxpZ246IGNlbnRlcn1cbn1cblxuLnNwLXRpdGxlLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAmLmxpbmUgaDN7bWFyZ2luLWJvdHRvbTogMS40cmVtO31cbiAgJi5saW5lIHNwYW57bWFyZ2luLWJvdHRvbTogMS40cmVtO2Rpc3BsYXk6IGJsb2NrO31cbiAgJi5saW5lOmFmdGVyIHtcbiAgXHRjb250ZW50OiAnJztcbiAgXHRoZWlnaHQ6IDI1cHg7XG4gIFx0d2lkdGg6IDJweDtcbiAgXHRiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcbiAgXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIFx0dGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5zcC1vdmVybGF5IHtcbiAgQGluY2x1ZGUgb3ZlcmxheS1iYXNlKCk7XG4gIC8vei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLmphcmFsbGF4IHtcbiAgYmFja2dyb3VuZC1zaXplICAgICA6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdCAgIDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogNTAlIDUwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IGJ1dHRvbiB2YyBzY2hvcnRjb2RlICovXG4uc3AtYnRuLWNvbnRhaW5lci5hbGlnbl9jZW50ZXIgeyB0ZXh0LWFsaWduIDogY2VudGVyOyB9XG4uc3AtYnRuLWNvbnRhaW5lci5hbGlnbl9sZWZ0IHsgdGV4dC1hbGlnbiA6IGxlZnQ7IH1cbi5zcC1idG4tY29udGFpbmVyLmFsaWduX3JpZ2h0IHsgdGV4dC1hbGlnbiA6IHJpZ2h0OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSB0eXBlZC5qcyBpbnRlZ3JhdGlvbiAqL1xuLnR5cGVkLWN1cnNvciB7XG4gIGFuaW1hdGlvbiA6IHR5cGVkLWJsaW5rIDAuN3MgaW5maW5pdGU7XG4gIG9wYWNpdHkgICA6IDE7XG4gIGRpc3BsYXkgICA6IGlubGluZS1ibG9jaztcbn1cblxuQGtleWZyYW1lcyB0eXBlZC1ibGluayB7XG4gIDAlIHsgb3BhY2l0eSA6IDE7IH1cbiAgNTAlIHsgb3BhY2l0eSA6IDA7IH1cbiAgMTAwJSB7IG9wYWNpdHkgOiAxOyB9XG59IiwiLy8gR2VuZXJhbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRicmFuZC1wcmltYXJ5IDogI0MzQUM2RDtcbiRib2R5LWJnIDogI2ZmZjtcbiRib2R5LWNvbG9yIDogIzMzMztcblxuJGxpbmstY29sb3IgOiAkYnJhbmQtcHJpbWFyeTtcbiRsaW5rLWhvdmVyLWNvbG9yIDogbGlnaHRlbigkbGluay1jb2xvciwgMTUlKTtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb24gOiBub25lO1xuXG4kZW5hYmxlLXJvdW5kZWQgOiB0cnVlO1xuJGljb24tZm9udC1mYW1pbHkgOiBcInNwLXRoZW1lLWljb25zXCI7XG5cblxuLy8gU3BhY2luZ3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kc3BhY2VyOiAgIDFyZW07XG4kc3BhY2VyLXg6ICRzcGFjZXI7XG4kc3BhY2VyLXk6ICRzcGFjZXI7XG4kc3BhY2VycyA6IChcbiAgICAgICAgMDogKFxuICAgICAgICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgICAgICAgeTogMFxuICAgICAgICApLFxuICAgICAgICAxOiAoXG4gICAgICAgICAgICAgICAgeDogKCRzcGFjZXIteCAqIC4yNSksIC8vIDRweFxuICAgICAgICAgICAgICAgIHk6ICgkc3BhY2VyLXkgKiAuMjUpXG4gICAgICAgICksXG4gICAgICAgIDI6IChcbiAgICAgICAgICAgICAgICB4OiAoJHNwYWNlci14ICogLjUpLCAvLyA4cHhcbiAgICAgICAgICAgICAgICB5OiAoJHNwYWNlci15ICogLjUpXG4gICAgICAgICksXG4gICAgICAgIDM6IChcbiAgICAgICAgICAgICAgICB4OiAoJHNwYWNlci14ICogLjkzNzUpLCAvLyAxNXB4XG4gICAgICAgICAgICAgICAgeTogKCRzcGFjZXIteSAqIC45Mzc1KVxuICAgICAgICApLFxuICAgICAgICA0OiAoXG4gICAgICAgICAgICAgICAgeDogKCRzcGFjZXIteCAqIDEuMjUpLCAvLyAyMHB4XG4gICAgICAgICAgICAgICAgeTogKCRzcGFjZXIteSAqIDEuMjUpXG4gICAgICAgICksXG4gICAgICAgIDU6IChcbiAgICAgICAgICAgICAgICB4OiAoJHNwYWNlci14ICogMS44NzUpLCAvLyAzMHB4XG4gICAgICAgICAgICAgICAgeTogKCRzcGFjZXIteSAqIDEuODc1KVxuICAgICAgICApLFxuICAgICAgICA2OiAoXG4gICAgICAgICAgICAgICAgeDogKCRzcGFjZXIteCAqIDMpLCAvLyA0OHB4XG4gICAgICAgICAgICAgICAgeTogKCRzcGFjZXIteSAqIDMpXG4gICAgICAgICksXG4gICAgICAgIDc6IChcbiAgICAgICAgICAgICAgICB4OiAoJHNwYWNlci14ICogMy41KSwgLy8gNTZweFxuICAgICAgICAgICAgICAgIHk6ICgkc3BhY2VyLXkgKiAzLjUpXG4gICAgICAgIClcbik7XG5cblxuLy8gR3JpZCBvcHRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGdyaWQtY29sdW1ucyA6IDEyO1xuJGdyaWQtZ3V0dGVyLXdpZHRoLWJhc2UgOiAzMHB4O1xuLy8kZ3JpZC1icmVha3BvaW50cyA6ICh4czogMHB4LCBzbTogNTY4cHgsIG1kOiA3NjhweCwgbGc6IDEyMDBweCk7XG4vLyRjb250YWluZXItbWF4LXdpZHRocyA6ICh4czogMHB4LCBzbTogNTY4cHgsIG1kOiA3NjhweCwgbGc6IDEyMDBweCk7XG5cblxuLy8gVHlwb2dyYXBoeSBvcHRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGZvbnQtZmFtaWx5LWJhc2UgOiBcIlNvdXJjZSBTYW5zIFByb1wiLCBcIk1vbnRzZXJyYXRcIiwgQXJpYWwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiRmb250LXNpemUtYmFzZSA6IDFyZW07XG4kbGluZS1oZWlnaHQtYmFzZSA6IDEuNzU7XG4kZm9udC13ZWlnaHQtYmFzZSA6IDQwMDtcblxuJHBhcmFncmFwaHMtbWFyZ2luLWJvdHRvbSA6IDJyZW07XG5cblxuLy8gSGVhZGluZ3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGVhZGluZ3MtZm9udC1mYW1pbHkgOiBcIk1vbnRzZXJyYXRcIiwgXCJTb3VyY2UgU2FucyBQcm9cIiwgQXJpYWwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiRoZWFkaW5ncy1mb250LXdlaWdodCA6IDUwMDtcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tIDogMnJlbTtcbiRoZWFkaW5ncy1saW5lLWhlaWdodCA6IDEuNTtcbiRoZWFkaW5ncy1jb2xvciA6ICMxMTE7XG5cbiRkaXNwbGF5MS13ZWlnaHQgOiBpbmhlcml0O1xuJGRpc3BsYXkyLXdlaWdodCA6IGluaGVyaXQ7XG4kZGlzcGxheTMtd2VpZ2h0IDogaW5oZXJpdDtcbiRkaXNwbGF5NC13ZWlnaHQgOiBpbmhlcml0O1xuXG4kbGVhZC1mb250LXdlaWdodCA6IGluaGVyaXQ7XG5cblxuLy8gQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRidG4tbGluZS1oZWlnaHQgOiAxLjc1O1xuJGJ0bi1mb250LXdlaWdodCA6IDQwMDtcbiRidG4tcGFkZGluZy14IDogMS4zcmVtO1xuJGJ0bi1wYWRkaW5nLXkgOiAuNHJlbTtcblxuJGJ0bi1wcmltYXJ5LWJvcmRlciA6ICRicmFuZC1wcmltYXJ5O1xuJGJ0bi1wcmltYXJ5LWJnIDogJGJyYW5kLXByaW1hcnk7XG4kYnRuLXByaW1hcnktY29sb3IgOiAjZmZmO1xuXG4kYnRuLWJvcmRlci1yYWRpdXMgOiAzMHB4O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnIDogMzBweDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbSA6IDMwcHg7XG5cbiRidG4tcGFkZGluZy14LXNtIDogMC44cmVtO1xuJGJ0bi1wYWRkaW5nLXktc20gOiAwLjRyZW07XG5cbiRidG4tcGFkZGluZy14LWxnIDogMi41cmVtO1xuJGJ0bi1wYWRkaW5nLXktbGcgOiAxcmVtO1xuXG5cbi8vIEZvcm1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGlucHV0LWJnIDogI2ZmZjtcbiRpbnB1dC1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG4kaW5wdXQtYm9yZGVyLWNvbG9yIDogI2VlZTtcblxuJGlucHV0LWJvcmRlci1mb2N1cyA6ICNkZGQ7XG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIgOiByZ2JhKCMzMzMsIDAuNSk7XG5cbiRpbnB1dC1wYWRkaW5nLXggOiAxcmVtO1xuJGlucHV0LXBhZGRpbmcteSA6IDAuNjVyZW07XG4kaW5wdXQtcGFkZGluZy14LWxnIDogMS41cmVtO1xuJGlucHV0LXBhZGRpbmcteS1sZyA6IDFyZW07XG5cbiRpbnB1dC1saW5lLWhlaWdodCA6IDEuNDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXMgOiAwO1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGcgOiAwO1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc20gOiAwO1xuXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAyMHB4O1xuXG5cbi8vIENhcm91c2VsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aCA6IDFyZW07XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogMXJlbTtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyIDogMC40cmVtO1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXIgOiAwLjRyZW07XG5cblxuLy8gQm9vdHN0cmFwIGRlZmF1bHQgc2V0dGluZ3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0ICdhc3NldHMvYm9vdHN0cmFwL3ZhcmlhYmxlcyc7IiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjEuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgpKVxuLy8gICAgNzY3cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIDFweCwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW5mcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJG5hbWUsICRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJvb3RzdHJhcCBzdHlsZSBjdXN0b21pemF0aW9ucy4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBncmlkIHJvd3MgKi9cbi5yb3cgeyBtYXgtd2lkdGggOiBub25lICFpbXBvcnRhbnQ7IH1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gYnV0dG9ucyBhbmQgb3RoZXIgZm9ybSBjb250cm9scyAqL1xuLmJ0biB7XG4gIGN1cnNvciA6IHBvaW50ZXI7XG59XG5cbi5idG4tbGcge1xuICBmb250LXNpemUgICA6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0IDogNDAwO1xufVxuXG4uYnRuLXdoaXRlIHtcbiAgY29sb3IgICAgICAgICAgICA6ICMzMzM7XG4gIGJhY2tncm91bmQtY29sb3IgOiAjZmZmO1xuICBib3JkZXItY29sb3IgICAgIDogI2ZmZjtcbn1cblxuLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsIHsgLy8gcmVtb3ZlIHllbGxvdyBhdXRvZmlsbCBjaHJvbWUgaGlnaGxpZ2h0XG4gIC13ZWJraXQtdHJhbnNpdGlvbiA6IG5vbmU7XG4gIC13ZWJraXQtYm94LXNoYWRvdyA6IDAgMCAwIDMwcHggJGlucHV0LWJnIGluc2V0O1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBjYXJvdXNlbHMgKi9cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHsgbWFyZ2luLWJvdHRvbSA6IDJyZW07IH1cblxuLmNhcm91c2VsLWluZGljYXRvcnMgbGkge1xuICBib3JkZXItcmFkaXVzICAgIDogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yIDogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gIHRyYW5zaXRpb24gICAgICAgOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzO1xuXG4gICY6aG92ZXIsICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGJyYW5kLXByaW1hcnk7XG4gIH1cbn1cblxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWlubmVyIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cbiAgLmNhcm91c2VsLWl0ZW0sXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gcHJvZ3Jlc3MgYmFyICovXG4ucHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yIDogI2RkZDtcbiAgYm9yZGVyLXJhZGl1cyAgICA6IDA7XG5cbiAgLnByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvciA6ICMyMjI7XG4gICAgaGVpZ2h0ICAgICAgICAgICA6IDVweDtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBpbnB1dCBncm91cHMgKi9cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG5cbi5pbnB1dC1ncm91cCAuZm9udC1zaXplLFxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRuIHtcbiAgei1pbmRleCA6IDEwO1xufSIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIENvcHkgc2V0dGluZ3MgZnJvbSB0aGlzIGZpbGUgaW50byB0aGUgcHJvdmlkZWQgYF9jdXN0b20uc2Nzc2AgdG8gb3ZlcnJpZGVcbi8vIHRoZSBCb290c3RyYXAgZGVmYXVsdHMgd2l0aG91dCBtb2RpZnlpbmcga2V5LCB2ZXJzaW9uZWQgZmlsZXMuXG5cblxuLy8gVGFibGUgb2YgQ29udGVudHNcbi8vXG4vLyBDb2xvcnNcbi8vIE9wdGlvbnNcbi8vIFNwYWNpbmdcbi8vIEJvZHlcbi8vIExpbmtzXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vIEdyaWQgY29sdW1uc1xuLy8gRm9udHNcbi8vIENvbXBvbmVudHNcbi8vIFRhYmxlc1xuLy8gQnV0dG9uc1xuLy8gRm9ybXNcbi8vIERyb3Bkb3duc1xuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy8gTmF2YmFyXG4vLyBOYXZzXG4vLyBQYWdpbmF0aW9uXG4vLyBKdW1ib3Ryb25cbi8vIEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vIENhcmRzXG4vLyBUb29sdGlwc1xuLy8gUG9wb3ZlcnNcbi8vIEJhZGdlc1xuLy8gTW9kYWxzXG4vLyBBbGVydHNcbi8vIFByb2dyZXNzIGJhcnNcbi8vIExpc3QgZ3JvdXBcbi8vIEltYWdlIHRodW1ibmFpbHNcbi8vIEZpZ3VyZXNcbi8vIEJyZWFkY3J1bWJzXG4vLyBDYXJvdXNlbFxuLy8gQ2xvc2Vcbi8vIENvZGVcblxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwKSB7XG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiBgJGdyaWQtYnJlYWtwb2ludHNgIG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gIH1cbn1cblxuXG4vLyBHZW5lcmFsIHZhcmlhYmxlIHN0cnVjdHVyZVxuLy9cbi8vIFZhcmlhYmxlIGZvcm1hdCBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1tb2RpZmllci1zdGF0ZS1wcm9wZXJ0eWAgb3JkZXIuXG5cblxuLy8gQ29sb3JzXG4vL1xuLy8gR3JheXNjYWxlIGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxuXG4vLyBTdGFydCB3aXRoIGFzc2lnbmluZyBjb2xvciBuYW1lcyB0byBzcGVjaWZpYyBoZXggdmFsdWVzLlxuJHdoaXRlOiAgI2ZmZiAhZGVmYXVsdDtcbiRibGFjazogICMwMDAgIWRlZmF1bHQ7XG4kcmVkOiAgICAjZDk1MzRmICFkZWZhdWx0O1xuJG9yYW5nZTogI2YwYWQ0ZSAhZGVmYXVsdDtcbiR5ZWxsb3c6ICNmZmQ1MDAgIWRlZmF1bHQ7XG4kZ3JlZW46ICAjNWNiODVjICFkZWZhdWx0O1xuJGJsdWU6ICAgIzAyNzVkOCAhZGVmYXVsdDtcbiR0ZWFsOiAgICM1YmMwZGUgIWRlZmF1bHQ7XG4kcGluazogICAjZmY1Yjc3ICFkZWZhdWx0O1xuJHB1cnBsZTogIzYxM2Q3YyAhZGVmYXVsdDtcblxuLy8gQ3JlYXRlIGdyYXlzY2FsZVxuJGdyYXktZGFyazogICAgICAgICAgICAgICAgICMyOTJiMmMgIWRlZmF1bHQ7XG4kZ3JheTogICAgICAgICAgICAgICAgICAgICAgIzQ2NGE0YyAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICAgICAjNjM2YzcyICFkZWZhdWx0O1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgICAgICNlY2VlZWYgIWRlZmF1bHQ7XG4kZ3JheS1saWdodGVzdDogICAgICAgICAgICAgI2Y3ZjdmOSAhZGVmYXVsdDtcblxuLy8gUmVhc3NpZ24gY29sb3IgdmFycyB0byBzZW1hbnRpYyBjb2xvciBzY2hlbWVcbiRicmFuZC1wcmltYXJ5OiAgICAgICAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbzogICAgICAgICAgICAgICAgJHRlYWwgIWRlZmF1bHQ7XG4kYnJhbmQtd2FybmluZzogICAgICAgICAgICAgJG9yYW5nZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGJyYW5kLWludmVyc2U6ICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6ICAgMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXIteDogJHNwYWNlciAhZGVmYXVsdDtcbiRzcGFjZXIteTogJHNwYWNlciAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoXG4gIDA6IChcbiAgICB4OiAwLFxuICAgIHk6IDBcbiAgKSxcbiAgMTogKFxuICAgIHg6ICgkc3BhY2VyLXggKiAuMjUpLFxuICAgIHk6ICgkc3BhY2VyLXkgKiAuMjUpXG4gICksXG4gIDI6IChcbiAgICB4OiAoJHNwYWNlci14ICogLjUpLFxuICAgIHk6ICgkc3BhY2VyLXkgKiAuNSlcbiAgKSxcbiAgMzogKFxuICAgIHg6ICRzcGFjZXIteCxcbiAgICB5OiAkc3BhY2VyLXlcbiAgKSxcbiAgNDogKFxuICAgIHg6ICgkc3BhY2VyLXggKiAxLjUpLFxuICAgIHk6ICgkc3BhY2VyLXkgKiAxLjUpXG4gICksXG4gIDU6IChcbiAgICB4OiAoJHNwYWNlci14ICogMyksXG4gICAgeTogKCRzcGFjZXIteSAqIDMpXG4gIClcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRpbnZlcnNlLWJnOiAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGludmVyc2UtY29sb3I6ICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZTogICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGhzOiAoXG4gIHhzOiAkZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSxcbiAgc206ICRncmlkLWd1dHRlci13aWR0aC1iYXNlLFxuICBtZDogJGdyaWQtZ3V0dGVyLXdpZHRoLWJhc2UsXG4gIGxnOiAkZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSxcbiAgeGw6ICRncmlkLWd1dHRlci13aWR0aC1iYXNlXG4pICFkZWZhdWx0O1xuXG4vLyBGb250c1xuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtYmFzZTogMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzOiAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNSAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1oMTogMi41cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oMjogMnJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDM6IDEuNzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg1OiAxLjI1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogMXJlbSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6IDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJGFiYnItYm9yZGVyLWNvbG9yOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtYm9yZGVyLXdpZHRoOiAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6IC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICg0IC8gMykgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtc20tY2VsbC1wYWRkaW5nOiAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kdGFibGUtaW52ZXJzZS1iZzogICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kdGFibGUtaW52ZXJzZS1jb2xvcjogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYmctYWNjZW50OiAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgIDAgMCAwIDJweCByZ2JhKCRicmFuZC1wcmltYXJ5LCAuMjUpICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgICRidG4tcHJpbWFyeS1iZyAhZGVmYXVsdDtcblxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRidG4tc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbiRidG4taW5mby1jb2xvcjogICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgJGJ0bi1pbmZvLWJnICFkZWZhdWx0O1xuXG4kYnRuLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgICRidG4tc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJGJ0bi13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICAkYnRuLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICAkYnRuLWRhbmdlci1iZyAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJ0bi10b29sYmFyLW1hcmdpbjogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjE1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zXG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJnLWZvY3VzOiAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgbGlnaHRlbigkYnJhbmQtcHJpbWFyeSwgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93LWZvY3VzOiAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93LCByZ2JhKCRpbnB1dC1ib3JkZXItZm9jdXMsIC42KSAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1mb2N1czogICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1iYXNlICogJGlucHV0LWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtcGFkZGluZy15ICogMikpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLWxnICogJGxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtcGFkZGluZy15LWxnICogMikpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLXNtICogJGxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtcGFkZGluZy15LXNtICogMikpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b206ICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6IC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogLjc1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAkc3BhY2VyLXkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAxLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6IDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXk6IC4yNXJlbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1tYXJnaW4teTogICAoKCRsaW5lLWhlaWdodC1iYXNlICogMXJlbSkgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gLTIgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6IGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1kaXNhYmxlZC1jdXJzb3I6ICAgICAgICAgICAgICRjdXJzb3ItZGlzYWJsZWQgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtaW5kaWNhdG9yLWJnOiAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWRlc2NyaXB0aW9uLWNvbG9yOiAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1jaGVja2VkLWluZGljYXRvci1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY2hlY2tlZC1pbmRpY2F0b3ItYmc6ICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY2hlY2tlZC1pbmRpY2F0b3ItYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWZvY3VzLWluZGljYXRvci1ib3gtc2hhZG93OiAwIDAgMCAxcHggJGJvZHktYmcsIDAgMCAwIDNweCAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWFjdGl2ZS1pbmRpY2F0b3ItY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWFjdGl2ZS1pbmRpY2F0b3ItYmc6ICAgICAgICAgbGlnaHRlbigkYnJhbmQtcHJpbWFyeSwgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1hY3RpdmUtaW5kaWNhdG9yLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtY2hlY2tlZC1pY29uOiBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1jaGVja2VkLWluZGljYXRvci1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZzogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW5kaWNhdG9yLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtY2hlY2tlZC1pbmRpY2F0b3ItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaWNvbjogc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMCAyaDQnLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1jaGVja2VkLWljb246IHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1jaGVja2VkLWluZGljYXRvci1jb2xvcn0nLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRicmFuZC1wcmltYXJ5LCAyNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpLCAwIDAgNXB4IHJnYmEoJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yLCAuNSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXNtLXBhZGRpbmcteTogIC4ycmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3Qtc20tZm9udC1zaXplOiAgNzUlICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgMi41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXdpZHRoOiAgICAgICAgICAgIDE0cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwIC4wNzVyZW0gJHdoaXRlLCAwIDAgMCAuMnJlbSAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgMS41ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgaW5zZXQgMCAuMnJlbSAuNHJlbSByZ2JhKCRibGFjaywuMDUpICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgcGxhY2Vob2xkZXI6IChcbiAgICBlbjogXCJDaG9vc2UgZmlsZS4uLlwiXG4gICksXG4gIGJ1dHRvbi1sYWJlbDogKFxuICAgIGVuOiBcIkJyb3dzZVwiXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uIGljb25zXG4kZm9ybS1pY29uLXN1Y2Nlc3MtY29sb3I6ICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGZvcm0taWNvbi1zdWNjZXNzOiBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPScjeyRmb3JtLWljb24tc3VjY2Vzcy1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGZvcm0taWNvbi13YXJuaW5nLWNvbG9yOiAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRmb3JtLWljb24td2FybmluZzogc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nI3skZm9ybS1pY29uLXdhcm5pbmctY29sb3J9JyBkPSdNNC40IDUuMzI0aC0uOHYtMi40NmguOHptMCAxLjQyaC0uOFY1Ljg5aC44ek0zLjc2LjYzTC4wNCA3LjA3NWMtLjExNS4yLjAxNi40MjUuMjYuNDI2aDcuMzk3Yy4yNDIgMCAuMzcyLS4yMjYuMjU4LS40MjZDNi43MjYgNC45MjQgNS40NyAyLjc5IDQuMjUzLjYzYy0uMTEzLS4xNzQtLjM5LS4xNzQtLjQ5NCAweicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1pY29uLWRhbmdlci1jb2xvcjogJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbiRmb3JtLWljb24tZGFuZ2VyOiBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGZvcm0taWNvbi1kYW5nZXItY29sb3J9JyB2aWV3Qm94PSctMiAtMiA3IDcnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2Q5NTM0ZicgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNFJTNDY2lyY2xlIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1tYXJnaW4tdG9wOiAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgJGdyYXktbGlnaHRlc3QgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bi1iYWNrZHJvcDogIDk5MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyOiAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLC41KSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYWN0aXZlLWNvbG9yOiAgICAgICAgICByZ2JhKCR3aGl0ZSwxKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlci1iZzogc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMyIDMyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1pbnZlcnNlLWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgOGgyNE00IDE2aDI0TTQgMjRoMjQnLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGVyLWJvcmRlcjogICAgICAgIHJnYmEoJHdoaXRlLC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJnOiBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzIgMzInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgOGgyNE00IDE2aDI0TTQgMjRoMjQnLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXI6ICAgICAgIHJnYmEoJGJsYWNrLC4xKSAhZGVmYXVsdDtcblxuLy8gTmF2c1xuXG4kbmF2LWl0ZW0tbWFyZ2luOiAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJG5hdi1pdGVtLWlubGluZS1zcGFjZXI6ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAuNWVtIDFlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogJGJvZHktYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWJnOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAjM2M3NjNkICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkOCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbigkc3RhdGUtc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbigkc3RhdGUtaW5mby1iZywgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKCRzdGF0ZS13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjJkZWRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXI6IGNhbGMoI3skY2FyZC1ib3JkZXItcmFkaXVzfSAtICN7JGNhcmQtYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAkZ3JheS1saWdodGVzdCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgKCRncmlkLWd1dHRlci13aWR0aC1iYXNlIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgIDNweCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCA1cHggMTBweCByZ2JhKCRibGFjaywuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLXRpdGxlLWJnOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci10aXRsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci10aXRsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcblxuJHBvcG92ZXItY29udGVudC1wYWRkaW5nLXg6ICAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJHBvcG92ZXItY29udGVudC1wYWRkaW5nLXk6ICAgICAgICAgICA5cHggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOiAgICAgICAgICAgKCRwb3BvdmVyLWFycm93LXdpZHRoICsgMXB4KSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGJhZGdlLXByaW1hcnktYmc6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYmFkZ2Utc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRiYWRnZS1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJhZGdlLXdhcm5pbmctYmc6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYmFkZ2UtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtbGluay1ob3Zlci1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLXNtLXVwLW1hcmdpbi15OiAzMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgcmdiYSgkYmxhY2ssLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LXhzLWJveC1zaGFkb3c6ICAgIDAgM3B4IDlweCByZ2JhKCRibGFjaywuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1zbS11cC1ib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoJGJsYWNrLC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICRzcGFjZXIteSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1pbmZvLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktbGlnaHRlc3QgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDUwJSkgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1hY3RpdmUtY29sb3I6ICAgJGxpc3QtZ3JvdXAtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWFjdGl2ZS1iZzogICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgI2RkZCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLC4wNzUpICFkZWZhdWx0O1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6IDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6IHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNNCAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6IHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNMS41IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICB0cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kY29kZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRjb2RlLXBhZGRpbmcteTogICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgI2JkNDE0NyAhZGVmYXVsdDtcbiRjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXN0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG4kcHJlLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVzdCAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUHJpbWFyeSBzaXRlIHByZWxvYWRlci4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiNzcC1wcmVsb2FkZXIge1xuICAgIEBpbmNsdWRlIG92ZXJsYXktYmFzZShmaXhlZCk7XG4gICAgei1pbmRleCAgICA6IDE1MDAwO1xuICAgIGJhY2tncm91bmQgOiAjZmZmO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yNXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1cHhcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICBhbmltYXRpb246IDEuMTVzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc3Atc2l0ZS1sb2FkZXI7XG5cbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiAxLjE1cyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH0gICAgXG59XG5cbkBrZXlmcmFtZXMgc3Atc2l0ZS1sb2FkZXIge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgb3BhY2l0eTogMFxuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2Nyb2xsIHRvcCBidXR0b24uICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc3Atc2Nyb2xsLXRvcCB7XG4gIHBvc2l0aW9uICAgICAgICAgOiBmaXhlZDtcbiAgcGFkZGluZyAgICAgICAgICA6IDEwcHg7XG4gIHRleHQtYWxpZ24gICAgICAgOiBjZW50ZXI7XG4gIHJpZ2h0ICAgICAgICAgICAgOiAzMHB4O1xuICBib3R0b20gICAgICAgICAgIDogMzBweDtcbiAgY29sb3IgICAgICAgICAgICA6ICNmZmY7XG4gIHRyYW5zZm9ybSAgICAgICAgOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgdHJhbnNpdGlvbiAgICAgICA6IGFsbCAwLjU1cyBlYXNlO1xuICB6LWluZGV4ICAgICAgICAgIDogMTAwMDtcbiAgYm9yZGVyLXJhZGl1cyAgICA6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3IgOiAkYnJhbmQtcHJpbWFyeTtcbiAgb3BhY2l0eSAgICAgICAgICA6IDA7XG4gIGxpbmUtaGVpZ2h0ICAgICAgOiAxO1xuICB2aXNpYmlsaXR5ICAgICAgIDogaGlkZGVuO1xuICAmLnNjcm9sbC10b3AtdmlzaWJsZSB7XG4gICAgdHJhbnNmb3JtICA6IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHkgICAgOiAxO1xuICAgIHZpc2liaWxpdHkgOiB2aXNpYmxlO1xuICB9XG5cbiAgPiBpIHtcbiAgICB3aWR0aCAgICAgICAgICA6IDIwcHg7XG4gICAgaGVpZ2h0ICAgICAgICAgOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0ICAgIDogMjBweDtcbiAgICBjb2xvciAgICAgICAgICA6ICNmZmY7XG4gICAgZGlzcGxheSAgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgb3BhY2l0eSAgICAgICAgOiAxO1xuICAgIGZvbnQtc2l6ZSAgICAgIDogMjBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbiA6IG1pZGRsZTtcbiAgfVxuXG4gID4gLmFubm8tdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0ICAgOiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQgIDogNXB4O1xuICAgIHdoaXRlLXNwYWNlICAgIDogbm93cmFwO1xuICAgIGRpc3BsYXkgICAgICAgIDogbm9uZTtcbiAgICBmb250LXNpemUgICAgICA6IDE0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm0gOiB1cHBlcmNhc2U7XG4gICAgdmVydGljYWwtYWxpZ24gOiBtaWRkbGU7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kIDogIzIyMjtcbiAgICBjb2xvciAgICAgIDogI2ZmZjtcbiAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTaXRlIHBhZ2luYXRpb24uICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc3AtcGFnaW5hdGlvbiB7XG4gIHRleHQtYWxpZ24gOiBjZW50ZXI7XG4gIC8vbWFyZ2luLXRvcCA6IDU1cHg7XG4gIGZvbnQtc2l6ZSAgOiAwO1xuXG4gIHVsIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWwodHJ1ZSk7XG5cbiAgICBsaSB7XG4gICAgICBmb250LXdlaWdodCA6IGJvbGQ7XG4gICAgICBkaXNwbGF5ICAgICA6IGlubGluZTtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXkgICA6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplIDogMThweDtcbiAgICAgICAgcGFkZGluZyAgIDogMTBweCAyNXB4O1xuICAgICAgICBjb2xvciAgICAgOiAjMzMzO1xuICAgICAgfVxuXG4gICAgICAmLmN1cnJlbnQsICY6aG92ZXIge1xuICAgICAgICBhIHsgY29sb3IgOiAkYnJhbmQtcHJpbWFyeTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkgeyBtYXJnaW4tdG9wIDogMDsgfVxufSIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb24gICAgICAgICAgICAgICAgICAgIDogcmVsYXRpdmU7XG4gIGRpc3BsYXkgICAgICAgICAgICAgICAgICAgICA6IGJsb2NrO1xuICBib3gtc2l6aW5nICAgICAgICAgICAgICAgICAgOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQgICAgICAgOiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0ICAgICAgICAgOiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3QgICAgICAgICAgOiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0ICAgICAgICAgICAgOiBub25lO1xuICAtbXMtdXNlci1zZWxlY3QgICAgICAgICAgICAgOiBub25lO1xuICB1c2VyLXNlbGVjdCAgICAgICAgICAgICAgICAgOiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uICAgICAgICAgICAgOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uICAgICAgICAgICAgICAgIDogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciA6IHRyYW5zcGFyZW50O1xuXG4gICY6aG92ZXIgLnNsaWNrLWFycm93LmNpcmNsZSB7XG4gICAgJi5zbGljay1uZXh0IHtcbiAgICAgIHJpZ2h0ICAgOiAxNXB4O1xuICAgICAgb3BhY2l0eSA6IDE7XG4gICAgfVxuICAgICYuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0ICAgIDogMTVweDtcbiAgICAgIG9wYWNpdHkgOiAxO1xuICAgIH1cbiAgfVxufVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gIG92ZXJmbG93IDogaGlkZGVuO1xuICBkaXNwbGF5ICA6IGJsb2NrO1xuICBtYXJnaW4gICA6IDA7XG4gIHBhZGRpbmcgIDogMDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lIDogbm9uZTtcbiAgfVxuXG4gICYuZHJhZ2dpbmcge1xuICAgIGN1cnNvciA6IHBvaW50ZXI7XG4gICAgY3Vyc29yIDogaGFuZDtcbiAgfVxufVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybSAgICA6IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm0gICAgICAgICA6IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICBsZWZ0ICAgICA6IDA7XG4gIHRvcCAgICAgIDogMDtcbiAgZGlzcGxheSAgOiBibG9jaztcblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudCA6IFwiXCI7XG4gICAgZGlzcGxheSA6IHRhYmxlO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY2xlYXIgOiBib3RoO1xuICB9XG5cbiAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgdmlzaWJpbGl0eSA6IGhpZGRlbjtcbiAgfVxufVxuXG4uc2xpY2stc2xpZGUge1xuICBmbG9hdCAgICAgIDogbGVmdDtcbiAgaGVpZ2h0ICAgICA6IDEwMCU7XG4gIG1pbi1oZWlnaHQgOiAxcHg7XG4gIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgZmxvYXQgOiByaWdodDtcbiAgfVxuICBpbWcge1xuICAgIGRpc3BsYXkgICA6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGggOiAxMDAlOyBoZWlnaHQgOiBhdXRvO1xuICB9XG4gICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgIGRpc3BsYXkgOiBub25lO1xuICB9XG5cbiAgZGlzcGxheSAgICA6IG5vbmU7XG5cbiAgJi5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzIDogbm9uZTtcbiAgfVxuXG4gIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICBkaXNwbGF5IDogYmxvY2s7XG4gIH1cblxuICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICB2aXNpYmlsaXR5IDogaGlkZGVuO1xuICB9XG5cbiAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICBoZWlnaHQgIDogYXV0bztcbiAgICBib3JkZXIgIDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5IDogbm9uZTtcbn1cblxuLnNsaWNrLWFycm93IHtcbiAgcG9zaXRpb24gICAgICAgICAgIDogYWJzb2x1dGU7XG4gIGxlZnQgICAgICAgICAgICAgICA6IDA7IHRvcCA6IDA7IGJvdHRvbSA6IDA7XG4gIHdpZHRoICAgICAgICAgICAgICA6IDE1JTtcbiAgb3BhY2l0eSAgICAgICAgICAgIDogMC42O1xuICBjb2xvciAgICAgICAgICAgICAgOiBpbmhlcml0O1xuICBib3JkZXIgICAgICAgICAgICAgOiAwO1xuICBvdXRsaW5lICAgICAgICAgICAgOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQgICAgICAgICA6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWFwcGVhcmFuY2UgOiBub25lO1xuICBmb250LXNpemUgICAgICAgICAgOiAwO1xuICBkaXNwbGF5ICAgICAgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmcgICAgICAgICAgICA6IDA7XG4gIGxpbmUtaGVpZ2h0ICAgICAgICA6IDE7XG4gIHotaW5kZXggICAgICAgICAgICA6IDEwMDtcblxuICAmOmhvdmVyIHsgb3BhY2l0eSA6IDE7IH1cblxuICAmOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHkgOiAkaWNvbi1mb250LWZhbWlseTtcbiAgICBjb250ZW50ICAgICA6IFwiXFxmM2QyXCI7XG4gICAgZm9udC1zaXplICAgOiA0MHB4O1xuICB9XG5cbiAgJi5zbGljay1uZXh0IHtcbiAgICBsZWZ0ICA6IGF1dG87XG4gICAgcmlnaHQgOiAwO1xuXG4gICAgJjpiZWZvcmUgeyBjb250ZW50IDogJ1xcZjNkMycgfVxuICB9XG5cbiAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eSAgICAgICAgOiAwLjI7XG4gICAgLy92aXNpYmlsaXR5IDogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzIDogbm9uZTtcbiAgfVxuXG4gICYuY2lyY2xlIHtcbiAgICBmb250LXNpemUgICAgICAgOiAxOHB4O1xuICAgIGJhY2tncm91bmQgICAgICA6ICNmZmY7XG4gICAgY3Vyc29yICAgICAgICAgIDogcG9pbnRlcjtcbiAgICBwb3NpdGlvbiAgICAgICAgOiBhYnNvbHV0ZTtcbiAgICB0b3AgICAgICAgICAgICAgOiA1MCU7XG4gICAgdGV4dC1hbGlnbiAgICAgIDogY2VudGVyO1xuICAgIG1hcmdpbi10b3AgICAgICA6IC0xOHB4O1xuICAgIHRyYW5zaXRpb24gICAgICA6IGFsbCAwLjI1cztcbiAgICB0ZXh0LWRlY29yYXRpb24gOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXMgICA6IDUwJTtcbiAgICB3aWR0aCAgICAgICAgICAgOiAzNnB4O1xuICAgIGhlaWdodCAgICAgICAgICA6IDM2cHg7XG4gICAgbGluZS1oZWlnaHQgICAgIDogMzZweDtcblxuICAgICY6YmVmb3JlIHsgY29udGVudCA6IG5vbmU7IH1cblxuICAgID4gaSB7XG4gICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgICAgY29sb3IgICAgOiAjMzMzO1xuICAgIH1cblxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kIDogJGJyYW5kLXByaW1hcnk7IH1cbiAgICAmOmhvdmVyIGkgeyBjb2xvciA6ICNmZmY7IH1cblxuICAgICYuc2xpY2stbmV4dCB7XG4gICAgICByaWdodCAgIDogMDtcbiAgICAgIG9wYWNpdHkgOiAwO1xuICAgIH1cbiAgICAmLnNsaWNrLXByZXYge1xuICAgICAgbGVmdCAgICA6IDA7XG4gICAgICBvcGFjaXR5IDogMDtcbiAgICB9XG4gIH1cbn1cblxuLnNsaWNrLWRvdHMge1xuICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWwodHJ1ZSk7XG4gIG1hcmdpbi10b3AgIDogMzBweDtcbiAgbGVmdCAgICAgICAgOiAwOyB3aWR0aCA6IDEwMCU7XG4gIHRleHQtYWxpZ24gIDogY2VudGVyO1xuICB6LWluZGV4ICAgICA6IDE1MDtcbiAgbGluZS1oZWlnaHQgOiAxO1xuICBmb250LXNpemUgICA6IDA7XG5cbiAgPiBsaSB7IGRpc3BsYXkgOiBpbmxpbmUtYmxvY2s7IH1cblxuICBidXR0b24ge1xuICAgIGNvbG9yICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtaW5kZW50ICAgICAgICA6IC05OTk5cHg7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlIDogbm9uZTtcbiAgICBkaXNwbGF5ICAgICAgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0ICAgICAgICAgICAgIDogMWVtO1xuICAgIHdpZHRoICAgICAgICAgICAgICA6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQgICAgICAgOiAuNGVtO1xuICAgIG1hcmdpbi1sZWZ0ICAgICAgICA6IC40ZW07XG4gICAgcGFkZGluZyAgICAgICAgICAgIDogMDtcbiAgICBib3JkZXIgICAgICAgICAgICAgOiAwO1xuICAgIG91dGxpbmUgICAgICAgICAgICA6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzICAgICAgOiA1MCU7XG4gICAgYmFja2dyb3VuZCAgICAgICAgIDogI2RkZDtcbiAgICB0cmFuc2l0aW9uICAgICAgICAgOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzO1xuICAgIGZvbnQtc2l6ZSAgICAgICAgICA6IDAuOTM3NXJlbTtcbiAgfVxuXG4gID4gbGk6aG92ZXIgYnV0dG9uLCA+IGxpLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3IgOiAkYnJhbmQtcHJpbWFyeTtcbiAgfVxufVxuXG4uc2xpY2stZG90cy1pbnNpZGUgLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbiAgIDogYWJzb2x1dGU7XG4gIGJvdHRvbSAgICAgOiAyLjYyNXJlbTtcbiAgbWFyZ2luLXRvcCA6IDA7XG5cbiAgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kIDogI2ZmZjtcbiAgICBmb250LXNpemUgIDogMXJlbTtcbiAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTaXRlIGhlYWRlciBjb21tb25zLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNzcC1oZWFkZXIge1xuICBwb3NpdGlvbiAgICAgIDogYWJzb2x1dGU7XG4gIHRvcCAgICAgICAgICAgOiAwOyBsZWZ0IDogMDtcbiAgcmlnaHQgICAgICAgICA6IDA7XG4gIHdpZHRoICAgICAgICAgOiAxMDAlO1xuICB6LWluZGV4ICAgICAgIDogJHppbmRleC1maXhlZCArIDIwO1xuICBiYWNrZ3JvdW5kICAgIDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yICAgICAgICAgOiAjZmZmO1xuICBwYWRkaW5nICAgICAgIDogMjBweCAzMHB4O1xuICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4jc3AtaGVhZGVyLWlubmVyIHtcbiAgZGlzcGxheSAgICAgOiBmbGV4O1xuICBhbGlnbi1pdGVtcyA6IGNlbnRlcjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSGVhZGVyIGVsZW1lbnRzIChsb2dvLCBleHRyYXMsIGV0YykgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jc3AtaGVhZGVyLWlubmVyID4gLmJyYW5kLWxvZ28ge1xuICB1c2VyLXNlbGVjdCAgOiBub25lO1xuICBjb2xvciAgICAgICAgOiBpbmhlcml0O1xuICBmb250LXNpemUgICAgOiAyLjFyZW07XG4gIG1hcmdpbi1yaWdodCA6IGF1dG87XG4gIG1pbi13aWR0aCAgICA6IDA7XG4gIGxpbmUtaGVpZ2h0ICA6IDE7IFxuXG4gID4gaDEge1xuICAgIEBpbmNsdWRlIHJlc2V0LWJveC1tb2RlbCgpO1xuICAgIGZvbnQtc2l6ZSA6IGluaGVyaXQ7XG4gICAgY29sb3IgICAgIDogaW5oZXJpdDtcbiAgfVxuXG4gID4gaDEgPiBzcGFuIHsgY29sb3I6ICRicmFuZC1wcmltYXJ5OyB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGggOiAxMDAlO1xuICAgIGhlaWdodCAgICA6IGF1dG87XG4gICAgJi5sb2dvLWRhcmsgeyBkaXNwbGF5IDogbm9uZTsgfVxuICB9XG59XG5cbiNzcC1oZWFkZXItaW5uZXIgPiAuaGVhZGVyLWV4dHJhcyB7XG4gIGZvbnQtc2l6ZSAgICA6IDA7XG4gIGxpbmUtaGVpZ2h0ICA6IDE7XG4gIG1hcmdpbi1sZWZ0ICA6IDMwcHg7XG4gIG1hcmdpbi1yaWdodCA6IC0xMHB4O1xuICBib3JkZXItbGVmdCAgOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICBwYWRkaW5nLWxlZnQgOiAyMHB4O1xuXG4gID4gKiB7XG4gICAgdmVydGljYWwtYWxpZ24gOiBtaWRkbGU7XG4gIH1cblxuICA+IGEge1xuICAgIHBhZGRpbmcgICA6IDVweCAxMHB4O1xuICAgIGNvbG9yICAgICA6IGluaGVyaXQ7XG4gICAgZGlzcGxheSAgIDogaW5saW5lLWJsb2NrO1xuXG4gICAgPiBpIHsgZm9udC1zaXplIDogMjJweDsgfVxuICAgICY6aG92ZXIgeyBvcGFjaXR5IDogMC42OyB9XG4gIH1cblxuICA+IC52LXNlcGFyYXRvciB7XG4gICAgZGlzcGxheSAgICA6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aCAgICAgIDogMXB4O1xuICAgIGhlaWdodCAgICAgOiAyMnB4O1xuICAgIGJhY2tncm91bmQgOiBjdXJyZW50Q29sb3I7XG4gICAgbWFyZ2luICAgICA6IDAgMzBweDtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBIZWFkZXIgZGVza3RvcCBuYXZpZ2F0aW9uLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNzcC1wcmltYXJ5LW5hdiB7XG4gIHRleHQtYWxpZ24gIDogcmlnaHQ7XG4gIGxpbmUtaGVpZ2h0IDogMTtcbn1cblxuI3NwLXByaW1hcnktbmF2ID4gLm5hdl9tZW51IHtcbiAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsKHRydWUpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luICAgIDogMCAtMTdweDtcbiAgZm9udC1zaXplIDogMDtcblxuICAvLyByb290LWxldmVsIG1lbnUgaXRlbXNcbiAgPiBsaSB7XG4gICAgcG9zaXRpb24gIDogcmVsYXRpdmU7XG4gICAgZGlzcGxheSAgIDogaW5saW5lLWJsb2NrO1xuXG4gICAgPiBhIHtcbiAgICAgIGRpc3BsYXkgICAgICAgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemUgICAgICAgICAgIDogMTZweDtcbiAgICAgIHdoaXRlLXNwYWNlICAgICAgICAgOiBub3dyYXA7XG4gICAgICBwYWRkaW5nICAgICAgICAgICAgIDogMTVweCAxN3B4O1xuICAgICAgZm9udC13ZWlnaHQgICAgICAgICA6IDQwMDtcbiAgICAgIGNvbG9yICAgICAgICAgICAgICAgOiBpbmhlcml0O1xuICAgICAgdGV4dC10cmFuc2Zvcm0gICAgICA6IHVwcGVyY2FzZTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHkgOiBvcGFjaXR5LCBjb2xvciwgYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOmFmdGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdCA6IDdweDtcbiAgICAgIGNvbnRlbnQgICAgICA6ICdcXGU4MjEnO1xuICAgICAgZm9udC1zaXplICAgIDogMTRweDtcbiAgICAgIGZvbnQtZmFtaWx5ICA6ICRpY29uLWZvbnQtZmFtaWx5O1xuICAgIH1cblxuICAgICY6aG92ZXIgPiBhIHsgb3BhY2l0eTogMC42OyB9XG5cbiAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgPiBhIHtcbiAgICAgIG9wYWNpdHkgICAgOiAxO1xuICAgICAgYmFja2dyb3VuZCA6ICNmZmY7XG4gICAgICBjb2xvciAgICAgIDogIzMzMztcbiAgICB9XG4gIH1cblxuICAvLyBkcm9wLWRvd25zXG4gIC5zdWItbWVudSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsKHRydWUpO1xuICAgIHRyYW5zZm9ybSAgOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNpdGlvbiA6IHRyYW5zZm9ybSAwLjM1cywgb3BhY2l0eSAwLjI1cywgdmlzaWJpbGl0eSAwLjM1cztcbiAgICBvcGFjaXR5ICAgIDogMDtcbiAgICB2aXNpYmlsaXR5IDogaGlkZGVuO1xuICAgIHBvc2l0aW9uICAgOiBhYnNvbHV0ZTtcbiAgICB0b3AgICAgICAgIDogMTAwJTsgbGVmdCA6IDA7XG4gICAgYm94LXNoYWRvdyA6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG4gICAgYmFja2dyb3VuZCA6ICNmZmY7XG4gICAgdGV4dC1hbGlnbiA6IGxlZnQ7XG5cbiAgICAmLmludmVydC1hdHRhY2gtcG9pbnQge1xuICAgICAgbGVmdCAgOiBhdXRvO1xuICAgICAgcmlnaHQgOiAwO1xuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheSAgOiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuXG4gICAgICA+IGEge1xuICAgICAgICBwb3NpdGlvbiAgICAgICAgICAgIDogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXkgICAgICAgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmcgICAgICAgICAgICAgOiAxMHB4IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZSAgICAgICAgICAgOiAxNXB4O1xuICAgICAgICBjb2xvciAgICAgICAgICAgICAgIDogIzMzMztcbiAgICAgICAgd2lkdGggICAgICAgICAgICAgICA6IDIyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodCAgICAgICAgIDogMS43NTtcbiAgICAgICAgd2hpdGUtc3BhY2UgICAgICAgICA6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IGJhY2tncm91bmQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtICAgICAgOiBjYXBpdGFsaXplO1xuICAgICAgICBib3JkZXItdG9wICAgICAgICAgIDogMXB4IHNvbGlkICNlZWU7XG4gICAgICB9XG5cbiAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICAgICAgICByaWdodCAgICAgICAgOiAyMHB4O1xuICAgICAgICBwb3NpdGlvbiAgICAgOiBhYnNvbHV0ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0IDogN3B4O1xuICAgICAgICBjb250ZW50ICAgICAgOiAnXFxlODFmJztcbiAgICAgICAgZm9udC1zaXplICAgIDogMTRweDtcbiAgICAgICAgZm9udC1mYW1pbHkgIDogJGljb24tZm9udC1mYW1pbHk7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIgPiBhIHsgYmFja2dyb3VuZCA6ICNmNWY1ZjU7IH1cbiAgICB9XG5cbiAgICAvLyBkZWVwLWxldmVsIGRyb3AtZG93bnNcbiAgICAuc3ViLW1lbnUge1xuICAgICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgICAgbGVmdCAgICAgIDogMTAwJTtcbiAgICAgIHRvcCAgICAgICA6IDA7XG5cbiAgICAgICYuaW52ZXJ0LWF0dGFjaC1wb2ludCB7XG4gICAgICAgIHRyYW5zZm9ybSA6IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgICAgICByaWdodCAgICAgOiAxMDAlO1xuICAgICAgICBsZWZ0ICAgICAgOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIG11bHRpLWNvbHVtbiBtb2Rlc1xuICA+IGxpLnNwLW1lZ2EtbWVudSA+IHVsIHtcbiAgICBib3JkZXItdG9wIDogMXB4IHNvbGlkICNlZWU7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICB3aWR0aCAgICAgICAgIDogMjAwcHg7XG4gICAgICBib3JkZXItdG9wICAgIDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20gOiAxcHggc29saWQgI2VlZTtcbiAgICAgIGJvcmRlci1yaWdodCAgOiAxcHggc29saWQgI2VlZTtcbiAgICB9XG4gIH1cbiAgPiBsaS5zcC1tZWdhLW1lbnUubWVnYS0yLWNvbHVtbnMgPiB1bCB7IEBpbmNsdWRlIHByZWZpeChjb2x1bW5zLCAyLCB3ZWJraXQgbW96KTsgfVxuICA+IGxpLnNwLW1lZ2EtbWVudS5tZWdhLTMtY29sdW1ucyA+IHVsIHsgQGluY2x1ZGUgcHJlZml4KGNvbHVtbnMsIDMsIHdlYmtpdCBtb3opOyB9XG5cbiAgLy8gaG92ZXIgZWZmZWN0XG4gIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgPiAuc3ViLW1lbnUge1xuICAgIHRyYW5zZm9ybSAgOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5ICAgIDogMTtcbiAgICB2aXNpYmlsaXR5IDogdmlzaWJsZTtcbiAgfVxufSIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBGdWxsc2NyZWVuIG1vYmlsZSBuYXZpZ2F0aW9uLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI3NwLW1vYmlsZS1uYXYtYmcsICNzcC1tb2JpbGUtbmF2LWNvbnRhaW5lciB7XG4gIHRyYW5zaXRpb24gOiBvcGFjaXR5IDAuM3MsIHZpc2liaWxpdHkgMC4zcztcbiAgb3BhY2l0eSAgICA6IDA7XG4gIHZpc2liaWxpdHkgOiBoaWRkZW47XG59XG5cbiNzcC1tb2JpbGUtbmF2LWJnIHtcbiAgQGluY2x1ZGUgb3ZlcmxheS1iYXNlKCk7XG4gIHotaW5kZXggICAgOiAkemluZGV4LWZpeGVkO1xuICBiYWNrZ3JvdW5kIDogcmdiYSgjMDAwLCAwLjg1KTtcbn1cblxuI3NwLW1vYmlsZS1uYXYtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgb3ZlcmxheS1iYXNlKCk7XG4gIHotaW5kZXggICAgICAgOiAkemluZGV4LWZpeGVkICsgMTA7XG4gIGJvcmRlci10b3AgICAgOiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tIDogMjVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgb3ZlcmZsb3cgICAgICA6IGhpZGRlbjtcbn1cblxuI3NwLW1vYmlsZS1uYXYtY29udGFpbmVyID4gLm92ZXJsYXktaW5uZXItd3JhcCB7XG4gIHBvc2l0aW9uICAgIDogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybSAgIDogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdG9wICAgICAgICAgOiA1MCU7IGxlZnQgOiA1MCU7XG4gIG1hcmdpbi1sZWZ0IDogLTIwMHB4O1xuICB3aWR0aCAgICAgICA6IDQwMHB4O1xuICBtYXgtaGVpZ2h0ICA6IDEwMCU7XG4gIG92ZXJmbG93LXggIDogaGlkZGVuO1xuICBvdmVyZmxvdy15ICA6IGF1dG87XG4gIHRleHQtYWxpZ24gIDogY2VudGVyO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBmbiBtZW51IHRvZ2dsZSAqL1xuI3NwLXByaW1hcnktbmF2ICNzcC1tb2JpbGUtbmF2LXRyaWdnZXIge1xuICBkaXNwbGF5ICAgICAgICA6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ24gOiBtaWRkbGU7XG4gIHBvc2l0aW9uICAgICAgIDogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZSAgICAgIDogMThweDtcbiAgei1pbmRleCAgICAgICAgOiAkemluZGV4LWZpeGVkICsgMTA7XG4gIG1hcmdpbiAgICAgICAgIDogMTVweCAwO1xuICB3aWR0aCAgICAgICAgICA6IDEuNWVtO1xuICBoZWlnaHQgICAgICAgICA6IDFlbTtcbiAgY29sb3IgICAgICAgICAgOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uICAgICA6IG5vbmU7XG5cbiAgPiBzcGFuIHtcbiAgICBkaXNwbGF5ICAgIDogYmxvY2s7XG4gICAgcG9zaXRpb24gICA6IGFic29sdXRlO1xuICAgIGhlaWdodCAgICAgOiAycHg7XG4gICAgd2lkdGggICAgICA6IDEwMCU7XG4gICAgYmFja2dyb3VuZCA6IGN1cnJlbnRDb2xvcjtcbiAgICBvcGFjaXR5ICAgIDogMTtcbiAgICBsZWZ0ICAgICAgIDogMDtcbiAgICB0cmFuc2Zvcm0gIDogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zaXRpb24gOiBhbGwgLjNzIGVhc2UtaW4tb3V0LCBjb2xvciAwLjI1cztcblxuICAgICY6bnRoLWNoaWxkKDEpIHsgdG9wOiAwOyB9XG4gICAgJjpudGgtY2hpbGQoMiksICY6bnRoLWNoaWxkKDMpIHsgdG9wOiA1MCU7IG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgICAmOm50aC1jaGlsZCg0KSB7IGJvdHRvbTogMDsgfVxuICB9XG5cbiAgLnNwLWFjdGl2ZS1idXJnZXItbWVudSAmID4gc3BhbiB7XG4gICAgJjpudGgtY2hpbGQoMSkgeyB0b3A6IDUwJTsgd2lkdGg6IDA7IGxlZnQ6IDUwJTsgfVxuICAgICY6bnRoLWNoaWxkKDIpIHsgdHJhbnNmb3JtIDogcm90YXRlKDQ1ZGVnKTsgfVxuICAgICY6bnRoLWNoaWxkKDMpIHsgdHJhbnNmb3JtIDogcm90YXRlKC00NWRlZyk7IH1cbiAgICAmOm50aC1jaGlsZCg0KSB7IGJvdHRvbTogNTAlOyB3aWR0aDogMDsgbGVmdDogNTAlOyB9XG4gIH1cblxuICAvLyY6aG92ZXIgeyBvcGFjaXR5OiAwLjY7IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IHNvY2lhbCBpY29ucyAqL1xuI3NwLW1vYmlsZS1uYXYtY29udGFpbmVyIC5zcC1zb2MtaWNvbnMge1xuICBtYXJnaW4tdG9wIDogMTVweDtcbiAgZm9udC1zaXplICA6IDA7XG4gIG9wYWNpdHkgICAgOiAwO1xuXG4gID4gYSB7XG4gICAgZGlzcGxheSAgIDogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yICAgICA6ICRicmFuZC1wcmltYXJ5O1xuICAgIHBhZGRpbmcgICA6IDAgMTVweDtcbiAgICBvcGFjaXR5ICAgOiAxO1xuICAgIGZvbnQtc2l6ZSA6IDIzcHg7XG5cbiAgICAmOmhvdmVyIHsgY29sb3IgOiAjZmZmOyB9XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IGlubmVyIG5hdiBtZW51ICovXG4jc3AtbW9iaWxlLW5hdi1jb250YWluZXIgLm5hdl9tZW51IHtcbiAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsKHRydWUpO1xuXG4gIGxpID4gYS5zdWItYWN0aXZlIHsgY29sb3IgOiAkYnJhbmQtcHJpbWFyeTsgfVxuXG4gIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHsgcG9zaXRpb24gOiByZWxhdGl2ZTsgfVxuICBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYTphZnRlciB7XG4gICAgY29udGVudCAgICAgOiAnXFxmM2QwJztcbiAgICBmb250LWZhbWlseSA6ICRpY29uLWZvbnQtZmFtaWx5O1xuICAgIG1hcmdpbi1sZWZ0IDogNXB4O1xuICAgIGZvbnQtc2l6ZSAgIDogMTJweDtcbiAgICBwb3NpdGlvbiAgICA6IGFic29sdXRlO1xuICAgIHRvcCAgICAgICAgIDogNTAlO1xuICAgIG1hcmdpbi10b3AgIDogMnB4O1xuICAgIGxpbmUtaGVpZ2h0IDogMTtcbiAgICB0cmFuc2Zvcm0gICA6IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICA+IGxpIHtcbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgIG9wYWNpdHkgIDogMDtcblxuICAgID4gYSB7XG4gICAgICBmb250LXNpemUgICAgICA6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodCAgICA6IDM1cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybSA6IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1ib3R0b20gIDogMTVweDtcbiAgICAgIGRpc3BsYXkgICAgICAgIDogYmxvY2s7XG4gICAgICBjb2xvciAgICAgICAgICA6ICNmZmY7XG4gICAgICBmb250LXdlaWdodCAgICA6IDQwMDtcblxuICAgICAgJjpob3ZlciB7IGNvbG9yIDogJGJyYW5kLXByaW1hcnk7IH1cbiAgICB9XG4gIH1cblxuICAuc3ViLW1lbnUge1xuICAgIEBpbmNsdWRlIHJlc2V0LWJveC1tb2RlbCh0cnVlKTtcbiAgICBwYWRkaW5nICA6IDAgMCAxNXB4O1xuICAgIGRpc3BsYXkgOiBub25lO1xuXG4gICAgYSB7XG4gICAgICBmb250LXNpemUgICAgICA6IDE2cHg7XG4gICAgICBmb250LXdlaWdodCAgICA6IDQwMDtcbiAgICAgIHRleHQtYWxpZ24gICAgIDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbSAgOiAxMHB4O1xuICAgICAgY29sb3IgICAgICAgICAgOiAjZmZmO1xuICAgICAgdGV4dC10cmFuc2Zvcm0gOiBub25lO1xuICAgICAgZGlzcGxheSAgICAgICAgOiBibG9jaztcblxuICAgICAgJjpob3ZlciB7IGNvbG9yIDogJGJyYW5kLXByaW1hcnk7IH1cbiAgICB9XG5cbiAgICAuc3ViLW1lbnUgeyBwYWRkaW5nLXRvcCA6IDVweDsgfVxuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBhY3RpdmUgc3RhdGUgKi9cbmh0bWwuc3AtYWN0aXZlLWJ1cmdlci1tZW51IHtcbiAgJiwgPiBib2R5IHtcbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgIGhlaWdodCAgIDogMTAwJTtcbiAgICBvdmVyZmxvdyA6IGhpZGRlbjtcbiAgfVxuXG4gICNzcC1tb2JpbGUtbmF2LWJnLCAjc3AtbW9iaWxlLW5hdi1jb250YWluZXIge1xuICAgIG9wYWNpdHkgICAgOiAxO1xuICAgIHZpc2liaWxpdHkgOiB2aXNpYmxlO1xuICB9XG5cbiAgI3NwLW1vYmlsZS1uYXYtY29udGFpbmVyIHtcbiAgICAubmF2X21lbnUgPiBsaSwgLnNwLXNvYy1pY29ucyB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXgoYW5pbWF0aW9uLCBzcC1tZW51LWVmZmVjdCAwLjRzIGxpbmVhciBmb3J3YXJkcywgd2Via2l0KTtcbiAgICB9XG4gIH1cblxuICAjc3AtaGVhZGVyLmhlYWRlci1zdHVjayAuYnJhbmQtbG9nbyB7XG4gICAgLmxvZ28tZGFyayB7IGRpc3BsYXkgOiBub25lOyB9XG4gICAgLmxvZ28td2hpdGUgeyBkaXNwbGF5IDogYmxvY2s7IH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNwLW1lbnUtZWZmZWN0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eSAgICA6IDA7XG4gICAgdmlzaWJpbGl0eSA6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm0gIDogdHJhbnNsYXRlWSgxNXB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eSAgICA6IDE7XG4gICAgdmlzaWJpbGl0eSA6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtICA6IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRnVsbHNjcmVlbiBzZWFyY2guICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI3NwLXNlYXJjaC1ibG9jay1jb250YWluZXIge1xuICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWwoKTtcbiAgQGluY2x1ZGUgb3ZlcmxheS1iYXNlKGZpeGVkKTtcbiAgb3BhY2l0eSAgICAgICAgICAgICA6IDA7XG4gIGJhY2tncm91bmQgICAgICAgICAgOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICB2aXNpYmlsaXR5ICAgICAgICAgIDogaGlkZGVuO1xuICB0cmFuc2l0aW9uICAgICAgICAgIDogYWxsIDAuMjVzIGxpbmVhcjtcbiAgei1pbmRleCAgICAgICAgICAgICA6IDEwMDAwO1xuICBkaXNwbGF5ICAgICAgICAgICAgIDogZmxleDtcbiAganVzdGlmeS1jb250ZW50ICAgICA6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXMgICAgICAgICA6IGNlbnRlcjtcblxuICA+IC5zZWFyY2gtYmxvY2staW5uZXIge1xuICAgIHBhZGRpbmcgICAgICAgICAgOiAwICRncmlkLWd1dHRlci13aWR0aC1iYXNlO1xuICAgIHRyYW5zZm9ybSAgICAgICAgOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICB3aWR0aCAgICAgICAgICAgIDogNjAwcHg7XG4gICAgdHJhbnNpdGlvbiAgICAgICA6IG9wYWNpdHkgMC41cywgdHJhbnNmb3JtIDAuNXM7XG4gICAgdHJhbnNpdGlvbi1kZWxheSA6IDAuMjVzO1xuICAgIHRleHQtYWxpZ24gICAgICAgOiBjZW50ZXI7XG4gICAgb3BhY2l0eSAgICAgICAgICA6IDA7XG5cbiAgICA+IGZvcm0geyBwb3NpdGlvbiA6IHJlbGF0aXZlOyB9XG4gIH1cblxuICAuc2VhcmNoLWlucHV0IHtcbiAgICBwb3NpdGlvbiAgICAgICAgICAgOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4ICAgICAgICAgICAgOiAxMDAwNTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2UgOiBub25lO1xuICAgIGJhY2tncm91bmQgICAgICAgICA6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmcgICAgICAgICAgICA6IDE1cHggNDVweCAxNXB4IDA7XG4gICAgYm9yZGVyICAgICAgICAgICAgIDogbm9uZTtcbiAgICBmb250LXNpemUgICAgICAgICAgOiAzMHB4O1xuICAgIHdpZHRoICAgICAgICAgICAgICA6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbSAgICAgIDogMXB4IHNvbGlkICNmZmY7XG4gICAgb3V0bGluZSAgICAgICAgICAgIDogbm9uZTtcbiAgICBjb2xvciAgICAgICAgICAgICAgOiAjZmZmO1xuXG4gICAgQGluY2x1ZGUgcGxhY2Vob2xkZXItc3R5bGVzIHsgY29sb3I6ICNmZmY7IH1cbiAgfVxuXG4gIC5zZWFyY2gtYnRuIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2UgOiBub25lO1xuICAgIGJvcmRlciAgICAgICAgICAgICA6IG5vbmU7XG4gICAgYmFja2dyb3VuZCAgICAgICAgIDogdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZSAgICAgICAgICAgIDogMDtcbiAgICBjdXJzb3IgICAgICAgICAgICAgOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZSAgICAgICAgICA6IDM1cHg7XG4gICAgY29sb3IgICAgICAgICAgICAgIDogI2ZmZjtcbiAgICB0cmFuc2l0aW9uICAgICAgICAgOiBvcGFjaXR5IDAuMjVzO1xuICAgIG9wYWNpdHkgICAgICAgICAgICA6IDAuODU7XG4gICAgcGFkZGluZyAgICAgICAgICAgIDogMDtcbiAgICBwb3NpdGlvbiAgICAgICAgICAgOiBhYnNvbHV0ZTtcbiAgICB0b3AgICAgICAgICAgICAgICAgOiAwO1xuICAgIGJvdHRvbSAgICAgICAgICAgICA6IDA7XG4gICAgcmlnaHQgICAgICAgICAgICAgIDogMDtcbiAgICB3aWR0aCAgICAgICAgICAgICAgOiA0NXB4O1xuICAgIHRleHQtYWxpZ24gICAgICAgICA6IHJpZ2h0O1xuICAgIHotaW5kZXggICAgICAgICAgICA6IDEwMDEwO1xuXG4gICAgJjpob3ZlciB7IG9wYWNpdHk6IDE7IH1cbiAgfVxuXG4gIC5jbG9zZS1zZWFyY2gge1xuICAgIHBvc2l0aW9uICAgIDogYWJzb2x1dGU7XG4gICAgdG9wICAgICAgICAgOiAxMHB4O1xuICAgIHJpZ2h0ICAgICAgIDogMzBweDtcbiAgICBsaW5lLWhlaWdodCA6IDE7XG4gICAgdHJhbnNpdGlvbiAgOiBvcGFjaXR5IDAuMjVzO1xuXG4gICAgaSB7XG4gICAgICBmb250LXNpemUgOiA3MHB4O1xuICAgICAgY29sb3IgICAgIDogI2ZmZjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHkgOiAwLjY7XG4gICAgfVxuICB9XG5cbiAgJi5vcGVuIHtcbiAgICBvcGFjaXR5ICAgIDogMTtcbiAgICB2aXNpYmlsaXR5IDogdmlzaWJsZTtcblxuICAgID4gLnNlYXJjaC1ibG9jay1pbm5lciB7XG4gICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIG9wYWNpdHkgICA6IDE7XG4gICAgfVxuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEhlYWRlciBzdHVjayBzdGF0ZS4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jc3AtaGVhZGVyIHtcbiAgcG9zaXRpb24gICA6IGZpeGVkO1xuICB0cmFuc2l0aW9uIDogYWxsIDAuMjVzIGxpbmVhcjtcblxuICBhIHsgdHJhbnNpdGlvbi1kdXJhdGlvbiA6IDAuMjVzOyB9XG5cbiAgYm9keS5hZG1pbi1iYXIgJiB7IHRvcDogMzJweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzgycHgpIHsgYm9keS5hZG1pbi1iYXIgJiB7IHRvcDogNDZweDsgfSB9XG59XG5cbiNzcC1oZWFkZXIuaGVhZGVyLXN0dWNrIHtcbiAgcG9zaXRpb24gICAgICAgOiBmaXhlZDtcbiAgcGFkZGluZy10b3AgICAgOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbSA6IDE1cHg7XG5cbiAgLmJyYW5kLWxvZ28ge1xuICAgIGZvbnQtc2l6ZSA6IDJyZW07XG5cbiAgICAubG9nby1kYXJrIHsgZGlzcGxheSA6IGJsb2NrOyB9XG4gICAgLmxvZ28td2hpdGUgeyBkaXNwbGF5IDogbm9uZTsgfVxuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBzbGlkZS1pbiBzY3JvbGwgYW5pbWF0aW9uICovXG4jc3AtaGVhZGVyLnN0dWNrLXNsaWRlaW4ge1xuICBwb3NpdGlvbiAgIDogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb24gOiBub25lO1xuXG4gICY6bm90KC5oZWFkZXItc3R1Y2spIHtcbiAgICB0b3AgOiAwO1xuICB9XG5cbiAgJi5oZWFkZXItc3R1Y2sge1xuICAgIHBvc2l0aW9uICA6IGZpeGVkO1xuICAgIGFuaW1hdGlvbiA6IHNwLWhlYWRlci1zdHVjay1zbGlkZWluIDUwMG1zIDEgZm9yd2FyZHM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzcC1oZWFkZXItc3R1Y2stc2xpZGVpbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybSA6IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICBvcGFjaXR5ICAgOiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybSA6IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHkgICA6IDE7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IHNjcm9sbCBzdHlsZXMgKi9cbmJvZHk6bm90KC5zcC1hY3RpdmUtYnVyZ2VyLW1lbnUpICNzcC1oZWFkZXIuaGVhZGVyLXN0dWNrIHtcbiAgYmFja2dyb3VuZCAgICAgICAgICA6ICNmZmY7XG4gIGJvcmRlci1ib3R0b20tY29sb3IgOiAjZWVlO1xuICBjb2xvciAgICAgICAgICAgICAgIDogIzMzMztcbiAgYm94LXNoYWRvdyAgICAgICAgICA6IDAgM3B4IDIwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSGVhZGVyIHJlc3BvbnNpdmVuZXNzLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAjc3AtcHJpbWFyeS1uYXYgPiAubmF2X21lbnUgeyBkaXNwbGF5IDogbm9uZTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICNzcC1wcmltYXJ5LW5hdiA+ICNzcC1tb2JpbGUtbmF2LXRyaWdnZXIgeyBkaXNwbGF5IDogbm9uZTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgI3NwLWhlYWRlciB7IHBhZGRpbmcgOiAxMHB4IDE1cHggIWltcG9ydGFudDsgfVxuICAjc3AtaGVhZGVyLWlubmVyID4gLmJyYW5kLWxvZ28geyBmb250LXNpemUgOiAxLjZyZW0gIWltcG9ydGFudDsgcGFkZGluZy1yaWdodCA6ICRncmlkLWd1dHRlci13aWR0aC1iYXNlOyB9XG4gICNzcC1oZWFkZXItaW5uZXIgPiAuaGVhZGVyLWV4dHJhcyB7IGRpc3BsYXkgOiBub25lOyB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNpdGUgZm9vdGVyIHN0eWxlcy4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiNzcC1mb290ZXItc2l6aW5nLWhlbHBlciB7XG4gIGRpc3BsYXkgOiBub25lO1xufVxuXG4jc3AtZm9vdGVyIHtcbiAgYmFja2dyb3VuZCA6ICMyMjI7XG4gIHdpZHRoICAgICAgOiAxMDAlO1xuXG4gICYuc3AtZm9vdGVyLWZpeGVkIHtcbiAgICBwb3NpdGlvbiA6IGZpeGVkO1xuICAgIGJvdHRvbSAgIDogMDsgbGVmdCA6IDA7XG5cbiAgICAmICsgI3NwLWZvb3Rlci1zaXppbmctaGVscGVyIHtcbiAgICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQgIDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0IDogMjVweDtcbiAgICAucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0ICA6IC0yNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0IDogLTI1cHg7XG4gICAgICBbY2xhc3MqPSdjb2wtJ10ge1xuICAgICAgICBwYWRkaW5nLWxlZnQgIDogMjVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodCA6IDI1cHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkgeyBwYWRkaW5nLXRvcCA6IDI1cHg7IHBhZGRpbmctYm90dG9tIDogMjVweDsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jc3AtZm9vdGVyID4gLnNwLW1haW4tZm9vdGVyIHtcbiAgcG9zaXRpb24gICAgICAgOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3AgICAgOiAxMDBweDtcbiAgcGFkZGluZy1ib3R0b20gOiAxMDBweDtcbiAgYm9yZGVyLWJvdHRvbSAgOiAxcHggc29saWQgIzMzMztcbiAgY29sb3IgICAgICAgICAgOiAjZmZmO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkgeyBwYWRkaW5nLXRvcCA6IDgwcHg7IHBhZGRpbmctYm90dG9tIDogODBweDsgdGV4dC1hbGlnbiA6IGNlbnRlciB9XG5cbiAgLnRpdGxlLWJsb2NrIGg0IHsgY29sb3IgOiAjZmZmOyB9XG5cbiAgLnNvY2xpbmstYmxvY2sge1xuICAgIHVsIHtcbiAgICAgIHBhZGRpbmcgICAgICAgOiAwcHg7XG4gICAgICBtYXJnaW4tdG9wICAgIDogMnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b20gOiAwO1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5ICAgICAgIDogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaXN0LXN0eWxlICAgIDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1yaWdodCA6IDIwcHg7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yICAgICAgICAgOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzIDogNTAlO1xuICAgICAgICAgIGZvbnQtc2l6ZSAgICAgOiAyM3B4O1xuICAgICAgICAgIGRpc3BsYXkgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbiAgICA6IGNlbnRlcjtcbiAgICAgICAgICB0cmFuc2l0aW9uICAgIDogYWxsIC4zcyBsaW5lYXI7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvciAgICAgIDogI2ZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb24gOiBhbGwgLjNzIGxpbmVhcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudHdpdHRlci1ibG9jayB7XG4gICAgdWwgeyBwYWRkaW5nLWxlZnQgOiA1MHB4OyBtYXJnaW4gOiAwO1xuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlIDogbm9uZTsgcGFkZGluZy1ib3R0b20gOiAxLjNyZW07XG4gICAgICAgICY6bGFzdC1jaGlsZCB7IHBhZGRpbmctYm90dG9tIDogMDsgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudCAgICAgICAgICAgICAgICAgOiAnXFxmMjQyJztcbiAgICAgICAgICBmb250LWZhbWlseSAgICAgICAgICAgICA6ICdzcC10aGVtZS1pY29ucyc7XG4gICAgICAgICAgY29sb3IgICAgICAgICAgICAgICAgICAgOiAjYzNhYzZkO1xuICAgICAgICAgIGZvbnQtc2l6ZSAgICAgICAgICAgICAgIDogMzBweDtcbiAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nICA6IGFudGlhbGlhc2VkO1xuICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nIDogZ3JheXNjYWxlO1xuICAgICAgICAgIHRvcCAgICAgICAgICAgICAgICAgICAgIDogNXB4O1xuICAgICAgICAgIGRpc3BsYXkgICAgICAgICAgICAgICAgIDogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uICAgICAgICAgICAgICAgIDogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0ICAgICAgICAgICAgOiAyMnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0ICAgICAgICAgICAgIDogMTtcbiAgICAgICAgICBoZWlnaHQgICAgICAgICAgICAgICAgICA6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQgICAgICAgICAgICAgOiAtNTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnN0YWdyYW0tYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0IDogLTVweDtcblxuICAgIHVsIHsgcGFkZGluZyA6IDA7IG1hcmdpbiA6IDA7XG4gICAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUgOiBub25lO1xuICAgICAgICBmbG9hdCAgICAgIDogbGVmdDtcbiAgICAgICAgd2lkdGggICAgICA6IDI1JTtcbiAgICAgICAgcGFkZGluZyAgICA6IDVweDtcbiAgICAgICAgaW1nIHsgbWF4LXdpZHRoIDogMTAwJTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGEgeyBkaXNwbGF5IDogaW5saW5lLWJsb2NrOyB0cmFuc2l0aW9uLXByb3BlcnR5IDogb3BhY2l0eTsgfVxuICAgIGE6aG92ZXIgeyBvcGFjaXR5IDogMC42OyB9XG4gIH1cbn1cblxuI3NwLWZvb3RlciA+IC5zcC1lbmQtZm9vdGVyIHtcbiAgcG9zaXRpb24gICAgOiByZWxhdGl2ZTtcbiAgcGFkZGluZyAgICAgOiAyNXB4IDA7XG4gIGNvbG9yICAgICAgIDogI2ZmZjtcbiAgZm9udC1zaXplICAgOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0IDogMTtcblxuICA+IC5jb250YWluZXIge1xuICAgIGRpc3BsYXkgICAgIDogZmxleDtcbiAgICBhbGlnbi1pdGVtcyA6IGNlbnRlcjtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yIDogI2ZmZjtcbiAgICAmOmhvdmVyIHsgY29sb3IgOiAkYnJhbmQtcHJpbWFyeTsgfVxuICB9XG5cbiAgLm1lbnUtYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0IDogYXV0bztcblxuICAgIHVsIHsgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsKHRydWUpOyB9XG4gICAgdWwgbGkge1xuICAgICAgZGlzcGxheSA6IGlubGluZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQgOiAnfCc7XG4gICAgICAgIHBhZGRpbmcgOiAwIDEwcHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZDphZnRlciB7IGRpc3BsYXkgOiBub25lIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICB0ZXh0LWFsaWduIDogY2VudGVyO1xuICAgID4gLmNvbnRhaW5lciB7IGZsZXgtd3JhcCA6IHdyYXA7IH1cbiAgICAuZW5kLWZvb3Rlci1ibG9jayB7IGZsZXgtYmFzaXMgOiAxMDAlOyB9XG4gICAgLmVuZC1mb290ZXItYmxvY2sgKyAuZW5kLWZvb3Rlci1ibG9jayB7IHBhZGRpbmctdG9wIDogMjBweDsgfVxuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBhZ2UgaW50cm8gYmxvY2suICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gaW50cm8gY29tbW9ucyAqL1xuLnNwLWludHJvIHtcbiAgcG9zaXRpb24gICAgOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cgICAgOiBoaWRkZW47XG4gIHRleHQtYWxpZ24gIDogY2VudGVyO1xuICB3aWR0aCAgICAgICA6IDEwMCU7XG4gIGNvbG9yICAgICAgIDogI2ZmZjtcbiAgdGV4dC1zaGFkb3cgOiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB1c2VyLXNlbGVjdCA6IG5vbmU7XG5cbiAgLmludHJvLWJnIHtcbiAgICBAaW5jbHVkZSBvdmVybGF5LWJhc2UoKTtcbiAgICBAaW5jbHVkZSBjb3Zlci1iZy1iYXNlKCk7XG4gICAgei1pbmRleCA6IDEwO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgb3ZlcmxheS1iYXNlKCk7XG4gICAgICBiYWNrZ3JvdW5kIDogIzAwMDtcbiAgICAgIG9wYWNpdHkgICAgOiAwLjU1O1xuICAgICAgY29udGVudCAgICA6ICcnO1xuICAgICAgei1pbmRleCAgICA6IDE1O1xuICAgIH1cblxuICAgICYubm8tb3ZlcmxheTpiZWZvcmUge1xuICAgICAgZGlzcGxheSA6IG5vbmU7XG4gICAgfVxuXG4gICAgPiBpbWcge1xuICAgICAgQGluY2x1ZGUgb2JqZWN0LWZpdCgpO1xuICAgICAgd2lkdGggOiAxMDAlO1xuICAgICAgaGVpZ2h0IDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaW50cm8tZG90dGVkLWJnIHtcbiAgICBAaW5jbHVkZSBvdmVybGF5LWJhc2UoKTtcbiAgICBiYWNrZ3JvdW5kIDogdXJsKCcuLi9pbWFnZXMvZG90dGVkLWJnLXBhdHRlcm4ucG5nJyk7XG4gICAgei1pbmRleCAgICA6IDE3O1xuICB9XG5cbiAgLmludHJvLWJvZHkge1xuICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgei1pbmRleCAgOiAyMDtcbiAgICBwYWRkaW5nICA6IDUwcHggMjVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykgeyBwYWRkaW5nIDogNTBweCAxNXB4OyB9XG5cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBhIHsgY29sb3IgOiAjZmZmOyB9XG5cbiAgICAuYnRuLXdoaXRlIHtcbiAgICAgIGNvbG9yIDogIzMzMztcbiAgICB9XG5cbiAgICAuYnRuLWJvcmRlciB7XG4gICAgICBib3JkZXIgOiAycHggc29saWQgICNmZmY7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IzMzMztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdC1pbmxpbmUge1xuICAgICAgbWFyZ2luOiAwIC0xMHB4IC0yMHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIHdpZHRoICAgICAgICAgOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoICAgICA6IDcwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQgICA6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQgIDogYXV0bztcbiAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b20gOiAwOyB9XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICB0ZXh0LXNoYWRvdyAgIDogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXMgOiAzMHB4O1xuICAgICAgcGFkZGluZyAgICAgICA6IDhweCAyMnB4O1xuICAgICAgYm94LXNoYWRvdyAgICA6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgfVxuXG4gICAgLnNwLWludHJvLWltYWdlLWljb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIH1cblxuICAgIC5pY29uLWJpZyB7XG4gICAgICBmb250LXNpemU6IDkwcHg7XG4gICAgICBsaW5lLWhlaWdodDogOTBweDtcbiAgICB9XG4gIH1cblxuICAmLmZ1bGxzY3JlZW4ge1xuICAgIGhlaWdodCA6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgIC5pbnRyby1ib2R5IHtcbiAgICAgIHBhZGRpbmcgIDogNzVweCAyNXB4IDc1cHggMjVweDtcbiAgICB9XG4gIH1cblxuICAmLmtlbmJ1cm5zIC5pbnRyby1iZyB7XG4gICAgYW5pbWF0aW9uICAgICAgICAgICAgICAgICA6IHNwLWludHJvLWtlbmJ1cm5zIDMwcztcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50IDogMTtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlICAgICAgIDogZm9yd2FyZHM7XG4gIH1cblxuICAmOm5vdCguZnVsbHNjcmVlbik6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLXRvcDogNTBweDsgfVxufVxuXG5Aa2V5ZnJhbWVzIHNwLWludHJvLWtlbmJ1cm5zIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybSA6IHNjYWxlKDEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtIDogc2NhbGUoMS4xNSk7XG4gIH1cbn1cblxuLnNwLWludHJvIC5pbnRyby10aXRsZSB7XG4gIGxpbmUtaGVpZ2h0ICAgIDogMTtcbiAgZm9udC1mYW1pbHkgICAgOiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIC8vbWFyZ2luLWJvdHRvbSAgOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQgICAgOiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtIDogY2FwaXRhbGl6ZTtcbiAgbWFyZ2luLWJvdHRvbSAgOiAyLjVyZW07XG5cbiAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbSA6IDA7IH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICYuaW50cm8tdGl0bGUtI3skaX0geyBmb250LXNpemUgOiAoNC4zcmVtIC8gJGkpOyB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgJi5pbnRyby10aXRsZS0jeyRpfSB7IGZvbnQtc2l6ZSA6ICg0cmVtIC8gJGkgLyAxLjI1KTsgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAmLmludHJvLXRpdGxlLSN7JGl9IHsgZm9udC1zaXplIDogKDQuNXJlbSAvICRpIC8gMS41KTsgfVxuICAgIH1cbiAgfVxufVxuXG4uc3AtaW50cm8gLmludHJvLXJlZ3VsYXItdGV4dCB7XG4gIGxpbmUtaGVpZ2h0ICAgIDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtdHJhbnNmb3JtIDogaW5oZXJpdDtcbiAgbWFyZ2luLWJvdHRvbSAgOiAyLjVyZW07XG59XG5cbi5zcC1pbnRybyAuc3Atc2Nyb2xsLWRvd24tY3RhIHtcbiAgcG9zaXRpb24gICA6IHJlbGF0aXZlO1xuICBkaXNwbGF5ICAgIDogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQgICAgIDogNDBweDtcbiAgd2lkdGggICAgICA6IDMwcHg7XG4gIG1hcmdpbi10b3AgOiAycmVtO1xuXG4gIGkgeyBmb250LXNpemUgOiA0MHB4OyBsaW5lLWhlaWdodCA6IDE7IH1cblxuICA+IHNwYW4ge1xuICAgIHBvc2l0aW9uICAgOiBhYnNvbHV0ZTtcbiAgICB0b3AgICAgICAgIDogMDtcbiAgICBsZWZ0ICAgICAgIDogMDsgd2lkdGggOiAxMDAlO1xuICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG4gICAgYW5pbWF0aW9uICA6IHNwLXNjcm9sbGRvd24tYXJyb3cgMi41cyBpbmZpbml0ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgIG1hcmdpbi10b3AgOiAxcmVtO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3Atc2Nyb2xsZG93bi1hcnJvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAzMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IGltYWdlIGludHJvICovXG4uc3AtaW50cm8uc3AtaW50cm8taW1hZ2Uge1xuICBkaXNwbGF5ICAgICAgICAgOiBmbGV4O1xuICBhbGlnbi1pdGVtcyAgICAgOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudCA6IGNlbnRlcjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gY2Fyb3VzZWwgaW50cm8gKi9cbi5zcC1pbnRyby5zcC1pbnRyby1jYXJvdXNlbCB7XG4gIC5zbGlkZXItaXRlbSB7XG4gICAgcG9zaXRpb24gICAgICAgIDogcmVsYXRpdmU7XG4gICAgZGlzcGxheSAgICAgICAgIDogZmxleDtcbiAgICBhbGlnbi1pdGVtcyAgICAgOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50IDogY2VudGVyO1xuXG4gICAgLy8gZm9yIHRoZSBzbGlkZSB0cmFuc2l0aW9uOlxuICAgIC8vIG9wYWNpdHkgICAgICAgICA6IDA7XG4gICAgLy8gdHJhbnNpdGlvbiAgICAgIDogb3BhY2l0eSAxcztcbiAgICAvLyAmLnNsaWNrLWFjdGl2ZSB7IG9wYWNpdHkgOiAxIH1cbiAgfVxuXG4gICYuZnVsbHNjcmVlbiAuc2xpZGVyLWl0ZW0ge1xuICAgIGhlaWdodCA6IDEwMHZoOyBtaW4taGVpZ2h0IDogNDUwcHg7XG4gIH1cblxuICAuc2xpY2stYXJyb3cge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7IGRpc3BsYXkgOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gIC5zbGljay1kb3RzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtkaXNwbGF5IDogbm9uZSAhaW1wb3J0YW50O31cbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSB2aWRlbyBpbnRybyAqL1xuLnNwLWludHJvLnNwLWludHJvLXZpZGVvIHtcbiAgcG9zaXRpb24gICAgICAgIDogcmVsYXRpdmU7XG4gIGRpc3BsYXkgICAgICAgICA6IGZsZXg7XG4gIGFsaWduLWl0ZW1zICAgICA6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50IDogY2VudGVyO1xuXG4gID4gLmludHJvLWJvZHkgeyB6LWluZGV4IDogMzA7IH1cblxuICA+IC52aWRlby1jb250YWluZXIsID4gLnZpZGVvLWNvbnRhaW5lcjphZnRlciB7XG4gICAgQGluY2x1ZGUgb3ZlcmxheS1iYXNlKCk7XG4gIH1cblxuICA+IC52aWRlby1jb250YWluZXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQgOiAjMDAwO1xuICAgIG9wYWNpdHkgICAgOiAwLjU7XG4gICAgY29udGVudCAgICA6ICcnO1xuICAgIHotaW5kZXggICAgOiAxNTtcbiAgfVxuXG4gID4gLnZpZGVvLWNvbnRhaW5lciA+IC52aWRlby1wbGFjZWhvbGRlciB7XG4gICAgQGluY2x1ZGUgb2JqZWN0LWZpdCgpO1xuICAgIHdpZHRoICAgIDogMTAwJTtcbiAgICBoZWlnaHQgICA6IDEwMCU7XG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4ICA6IDEwO1xuICB9XG5cbiAgPiAudmlkZW8tY29udGFpbmVyID4gLnZpZGVvLWNvbnRyb2xzIHtcbiAgICBwb3NpdGlvbiAgICA6IGFic29sdXRlO1xuICAgIGJvdHRvbSAgICAgIDogMjVweDtcbiAgICByaWdodCAgICAgICA6IDMwcHg7XG4gICAgbWFyZ2luICAgICAgOiAwIC0xMHB4O1xuICAgIGxpbmUtaGVpZ2h0IDogMTtcbiAgICB6LWluZGV4ICAgICA6IDIwO1xuICAgIGRpc3BsYXkgICAgIDogbm9uZTtcblxuICAgID4gYSB7XG4gICAgICBkaXNwbGF5ICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgICBtaW4td2lkdGggOiA0NnB4O1xuICAgICAgY29sb3IgICAgIDogaW5oZXJpdDtcbiAgICAgIG9wYWNpdHkgICA6IDAuNTtcbiAgICAgIGZvbnQtc2l6ZSA6IDI4cHg7XG4gICAgICBwYWRkaW5nICAgOiA1cHggMTBweDtcblxuICAgICAgJjpob3ZlciB7IG9wYWNpdHkgOiAxOyB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7IGRpc3BsYXkgOiBub25lOyB9XG4gIH1cbn0iLCJcbi8qIEFib3V0IFVzICovXG4jc3AtYWJvdXQgcCB7bWFyZ2luLWJvdHRvbTogMHB4O31cbnNwYW4uc3Atc2lnbmF0dXJlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMjNweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiAnU2hhZG93cyBJbnRvIExpZ2h0JywgY3Vyc2l2ZTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZykgIWltcG9ydGFudDtcbn0iLCIvKiBTZXJ2aWNlcyAqL1xuXG4uc3Atc2VydmljZXMtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbSA6IC01MHB4O1xuXG4gIC5zcC1zZXJ2aWNlcy1ibG9jayB7IG1hcmdpbi1ib3R0b20gOiA1MHB4OyB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgbWFyZ2luLWJvdHRvbSA6IC0zMHB4O1xuICAgIC5zcC1zZXJ2aWNlcy1ibG9jayB7IG1hcmdpbi1ib3R0b20gOiAzMHB4OyB9XG4gIH1cbn1cblxuLnNwLXNlcnZpY2VzLWJsb2NrIHtcbiAgLmljb24geyBmb250LXNpemUgOiA2NXB4OyBtYXJnaW4tYm90dG9tIDogMXJlbTsgY29sb3IgOiAjMTExOyB9XG4gIC50aXRsZSBoNCB7IGZvbnQtc2l6ZSA6IDE5cHg7IG1hcmdpbi1ib3R0b20gOiAxcmVtIH1cbiAgLnRleHQgeyBtYXJnaW4tYm90dG9tIDogMDsgfVxufSIsIi8qIFRlYW0gKi9cblxuLnNwLXRlYW0tYmxvY2sge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHQuaW1hZ2Uge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMTUpO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHRvcDogMDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGxpbmVhcjtcblx0XHR9XG5cdFx0aW1nIHtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHR9XG5cdFx0LnNvYy1saW5rcyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRib3R0b206MDtcblx0XHRcdGxlZnQ6MDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0dWwge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0ICAgIHBhZGRpbmc6IDA7XG5cdFx0XHQgICAgbWFyZ2luOiAwO1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTsgXG5cdFx0XHRcdFx0bWFyZ2luOiAwIDEwcHg7XG4gICAgXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNXB4O1xuICAgIFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGxpbmVhcjtcbiAgICBcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwyMHB4LDApO1xuICAgIFx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMHM7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRjb2xvcjojZmZmO1xuXHRcdFx0XHRcdFx0Jjpob3ZlciB7b3BhY2l0eTogMC43NTt9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC50aXRsZSBoNCB7Zm9udC1zaXplOiAyMXB4O21hcmdpbi1ib3R0b206IDAuNXJlbX1cblx0LnR5cGUge2NvbG9yOiM5OTk7fVxuXHQmOmhvdmVyIC5pbWFnZSB7XG5cdFx0dWwgbGkge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgdHJhbnNmb3JtIDAuNXM7XG5cdFx0XHQmOmZpcnN0LWNoaWxkIHt0cmFuc2l0aW9uLWRlbGF5OiAwLjE1czt9XG5cdFx0XHQmOm50aC1jaGlsZCgyKSB7dHJhbnNpdGlvbi1kZWxheTogMC4yMHM7fVxuXHRcdFx0JjpudGgtY2hpbGQoMykge3RyYW5zaXRpb24tZGVsYXk6IDAuMjVzO31cblx0XHRcdCY6bnRoLWNoaWxkKDQpIHt0cmFuc2l0aW9uLWRlbGF5OiAwLjMwczt9XG5cdFx0fVxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjI1cyBsaW5lYXI7XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cbiAgICAgIFxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiIsIi8qIEZ1biBGYWN0ICovXG5cbi5zcC1hbmltYXRlLW51bWJlcnMge1xuXHQmLndoaXRlIHtcblx0XHRoMiB7Y29sb3I6I2ZmZjt9XG5cdFx0cCB7Y29sb3I6I2ZmZjt9XG5cdH1cbiAgXHRoMiB7XG4gIFx0XHRmb250LXNpemU6IDU1cHg7XG4gIFx0XHRsaW5lLWhlaWdodDogOTBweDtcbiAgXHRcdGxldHRlci1zcGFjaW5nOiA3cHg7XG4gIFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuICBcdH1cbiAgXHRwIHtcbiAgXHRcdGZvbnQtc2l6ZTogMjFweDtcbiAgXHRcdG1hcmdpbi1ib3R0b206IDA7XG4gIFx0fVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQb3J0Zm9saW8gbGlzdGluZy4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zcC1wb3J0Zm9saW8tYmxvY2sge1xuICBvdmVyZmxvdyA6IGhpZGRlbjtcbiAgd2lkdGggICAgOiAxMDAlO1xuXG4gIC5zcC1wb3J0Zm9saW8tc29ydGluZyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsKHRydWUpO1xuICAgIG1hcmdpbi1ib3R0b20gOiA1MHB4O1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQgICA6ICcvJztcbiAgICAgICAgcGFkZGluZyAgIDogMCAxcmVtO1xuICAgICAgICBmb250LXNpemUgOiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXIgeyBjb250ZW50IDogbm9uZTsgfVxuICAgICAgYSB7IGNvbG9yIDogIzMzMzsgfVxuICAgICAgJi5hY3RpdmUgPiBhIHsgY29sb3IgOiAkYnJhbmQtcHJpbWFyeTsgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgbWFyZ2luLWxlZnQgIDogLTFyZW07XG4gICAgICBtYXJnaW4tcmlnaHQgOiAtMXJlbTtcblxuICAgICAgbGk6YWZ0ZXIgeyBkaXNwbGF5IDogbm9uZTsgfVxuICAgICAgbGkgeyBwYWRkaW5nIDogMCAxcmVtOyB9XG4gICAgfVxuICB9XG5cbiAgJi5pbm5lciB7XG4gICAgLnNwLXBvcnRmb2xpby1zb3J0aW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b20gOiAxMDBweDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4gOiAwIDEwcHggMTBweCAxMHB4O1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgZGlzcGxheSAgICAgICA6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBib3JkZXItcmFkaXVzIDogNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQgICAgOiAjZWVlO1xuICAgICAgICAgIHRyYW5zaXRpb24gICAgOiBiYWNrZ3JvdW5kIDAuMjVzIGxpbmVhcjtcbiAgICAgICAgICBwYWRkaW5nICAgICAgIDogNnB4IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyID4gYSxcbiAgICAgICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7Y29udGVudDogbm9uZTt9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNwLXBvcnRmb2xpby1pdGVtcyB7XG4gICAgICBtYXJnaW4tbGVmdCAgOiAtMzBweDtcbiAgICAgIG1hcmdpbi1yaWdodCA6IC0zMHB4O1xuICAgICAgd2lkdGggICAgICAgIDogYXV0bztcblxuICAgICAgW2NsYXNzXj1cImNvbC1cIl0sIFtjbGFzcyo9XCIgY29sLVwiXSB7IHBhZGRpbmctbGVmdCA6IDE1cHg7IHBhZGRpbmctcmlnaHQgOiAxNXB4OyB9XG5cbiAgICAgIC5zcC1wb3J0Zm9saW8taXRlbSB7XG4gICAgICAgIHBhZGRpbmcgICAgICAgOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tIDogMzBweDtcbiAgICAgICAgJi54MiBhIHsgaGVpZ2h0IDogNzA4cHg7IH1cbiAgICAgICAgYSB7IGhlaWdodCA6IDM0MHB4OyB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zcC1wb3J0Zm9saW8taXRlbXMge1xuICBtYXJnaW4tbGVmdCAgOiAtMTdweDtcbiAgbWFyZ2luLXJpZ2h0IDogLTE3cHg7XG4gIHdpZHRoICAgICAgICA6IGF1dG87XG4gIFtjbGFzc149XCJjb2wtXCJdLCBbY2xhc3MqPVwiIGNvbC1cIl0geyBwYWRkaW5nIDogMDsgfVxufVxuXG4uc3AtcG9ydGZvbGlvLWl0ZW0ge1xuICBwYWRkaW5nIDogMnB4O1xuICAmLngyIGEgeyBoZWlnaHQgOiA3MDRweDsgfVxuICBhIHtcbiAgICBAaW5jbHVkZSBjb3Zlci1iZy1iYXNlO1xuICAgIHdpZHRoICAgICAgICAgICAgICAgOiAxMDAlO1xuICAgIGhlaWdodCAgICAgICAgICAgICAgOiAzNTBweDtcbiAgICBwb3NpdGlvbiAgICAgICAgICAgIDogcmVsYXRpdmU7XG4gICAgZGlzcGxheSAgICAgICAgICAgICA6IGJsb2NrO1xuICAgIGN1cnNvciAgICAgICAgICAgICAgOiBwb2ludGVyO1xuXG4gICAgLnBvcnRmb2xpby1ob3ZlciB7XG4gICAgICB3aWR0aCAgICAgIDogMTAwJTtcbiAgICAgIGhlaWdodCAgICAgOiAxMDAlO1xuICAgICAgcG9zaXRpb24gICA6IGFic29sdXRlO1xuICAgICAgei1pbmRleCAgICA6IDE7XG4gICAgICB0b3AgICAgICAgIDogMDsgbGVmdCA6IDA7IGJvdHRvbSA6IDA7IHJpZ2h0IDogMDtcbiAgICAgIGJhY2tncm91bmQgOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICB0cmFuc2l0aW9uIDogYWxsIDAuMjVzO1xuICAgICAgcGFkZGluZyAgICA6IDUwcHggNTBweCAwIDUwcHg7XG5cbiAgICAgIGg1IHtcbiAgICAgICAgY29sb3IgICAgICAgICA6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZSAgICAgOiAxLjRyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b20gOiAwO1xuICAgICAgICB0ZXh0LWFsaWduICAgIDogbGVmdDtcbiAgICAgICAgcG9zaXRpb24gICAgICA6IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2Zvcm0gICAgIDogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2l0aW9uICAgIDogYWxsIDAuNXM7XG4gICAgICAgIG9wYWNpdHkgICAgICAgOiAwO1xuICAgICAgfVxuXG4gICAgICBzcGFuLmRlc2Mge1xuICAgICAgICBjb2xvciAgICAgIDogI2ZmZjtcbiAgICAgICAgdGV4dC1hbGlnbiA6IGxlZnQ7XG4gICAgICAgIHBvc2l0aW9uICAgOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheSAgICA6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wIDogMjBweDtcbiAgICAgICAgd2lkdGggICAgICA6IDcwJTtcbiAgICAgICAgdHJhbnNmb3JtICA6IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNpdGlvbiA6IGFsbCAwLjY1cztcbiAgICAgICAgb3BhY2l0eSAgICA6IDA7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ubGluayB7XG4gICAgICAgIGNvbG9yICAgICAgIDogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplICAgOiAzLjNyZW07XG4gICAgICAgIHRleHQtYWxpZ24gIDogbGVmdDtcbiAgICAgICAgcG9zaXRpb24gICAgOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tICAgICAgOiAzMHB4O1xuICAgICAgICBsZWZ0ICAgICAgICA6IDUwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0IDogMTtcbiAgICAgICAgdHJhbnNmb3JtICAgOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zaXRpb24gIDogYWxsIDAuNzVzO1xuICAgICAgICBvcGFjaXR5ICAgICA6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciAucG9ydGZvbGlvLWhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kIDogcmdiYSgwLCAwLCAwLCAuNjUpO1xuXG4gICAgaDUge1xuICAgICAgb3BhY2l0eSAgICAgICAgICA6IDE7XG4gICAgICB0cmFuc2Zvcm0gICAgICAgIDogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5IDogMHM7XG4gICAgfVxuICAgIHNwYW4uZGVzYyB7XG4gICAgICBvcGFjaXR5ICAgICAgICAgIDogMTtcbiAgICAgIHRyYW5zZm9ybSAgICAgICAgOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXkgOiAwLjJzO1xuICAgIH1cbiAgICBzcGFuLmxpbmsge1xuICAgICAgb3BhY2l0eSAgICAgICAgICA6IDE7XG4gICAgICB0cmFuc2Zvcm0gICAgICAgIDogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5IDogMC40cztcbiAgICB9XG4gIH1cblxuICBpbWcgeyBtYXgtd2lkdGggOiAxMDAlOyBoZWlnaHQgOiBhdXRvOyB9XG59XG4uc3AtcG9ydGZvbGlvLWxpc3Qge1xuICAmLnVubGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMjBweDtcbiAgICAgICY6bGFzdC1jaGlsZCB7bWFyZ2luOiAwIDIwcHh9XG4gICAgfVxuICB9XG4gIHVsIHtwYWRkaW5nOiAwO21hcmdpbjogMDtcbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgJjpsYXN0LWNoaWxkIHttYXJnaW46IDA7fVxuICAgICAgaSB7Zm9udC1zaXplOiAzMHB4O3BhZGRpbmctcmlnaHQ6IDhweDtwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDo1cHg7fVxuICAgIH1cbiAgfVxufVxuLnNwLXBvcnRmb2xpby1iYXItbGVmdCB7XG4gIGEge1xuICAgIGNvbG9yOiMzMzM7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgbGluZWFyO31cbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdzcC10aGVtZS1pY29ucyc7XG4gICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICBjb2xvcjojMzMzO1xuICAgICAgY29udGVudDogJ1xcZjNkMic7XG4gICAgICB0b3A6MnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgbGluZWFyO1xuICAgIH1cbiAgfVxufVxuLnNwLXBvcnRmb2xpby1iYXItcmlnaHQge1xuICBhIHtcbiAgICBjb2xvcjojMzMzO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgbGluZWFyO31cbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBmb250LWZhbWlseTogJ3NwLXRoZW1lLWljb25zJztcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgIGNvbG9yOiMzMzM7XG4gICAgICBjb250ZW50OiAnXFxmM2QzJztcbiAgICAgIHRvcDoycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGxpbmVhcjtcbiAgICB9XG4gIH1cbn1cbi5zcC1wb3J0Zm9saW8tYmFyLWNlbnRlciB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGNvbG9yOiMzMzM7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgfVxuICB9XG59XG4jc3Atc2luZ2xlLXBvcnRmb2xpbyB7XG4gIC5zcC1zaW5nbGUtaGVhZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGgxIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDowO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBmb250LWZhbWlseTogJ3NwLXRoZW1lLWljb25zJztcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgY29udGVudDogJ1xcZjNkNic7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICB9XG4gICAgfVxuICB9ICBcbiAgaDMge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuICAuc3Atc2luZ2xlLXBvcnRmb2xpby1zb2Mge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgdWwge1xuICAgICAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsKHRydWUpO1xuICAgICAgZm9udC1zaXplICA6IDA7XG4gICAgICBtYXgtd2lkdGggIDogbm9uZTtcblxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5IDogaW5saW5lO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXkgICA6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LXNpemUgOiAxOHB4O1xuICAgICAgICAgIGNvbG9yICAgICA6ICMzMzM7XG4gICAgICAgICAgcGFkZGluZyAgIDogNXB4IDE0cHg7XG4gICAgICAgICAgJjpob3ZlciB7IGNvbG9yIDogJGJyYW5kLXByaW1hcnk7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiXG4vKiBBbmltYXRlZCBDaXJjbGUgKi9cbi5zcC1jaXJjbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDE1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEyNXB4O1xuICBwYWRkaW5nLXRvcDogNDJweDtcbiAgaGVpZ2h0OiAxMjVweDtcbiAgY2FudmFzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbiAgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gIH1cbiAgc3BhbjphZnRlciB7XG4gICAgY29udGVudDogJyUnO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjFlbTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHttYXJnaW4tdG9wOiAxNXB4O21hcmdpbi1ib3R0b206IDA7fVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHttYXJnaW4tYm90dG9tOiAxNXB4O31cbn1cbi5zcC1jaXJjbGUtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7I3NwLW1hZ2ljIC50ZXh0LXJpZ2h0IHt0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudH19XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGVzdGltb25pYWxzIHNsaWRlci4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zcC1zbGljay10ZXN0aW1vbmlhbHMgLnNsaWNrLWRvdHMge1xuICBtYXJnaW4tdG9wIDogMTVweDtcbn1cblxuLnNwLXRlc3RpbW9uaWFscy1ibG9jayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAudGV4dCB7IG1hcmdpbi1ib3R0b20gOiAwOyB9XG4gIC5waG90byBpbWcgeyBib3JkZXItcmFkaXVzIDogNTAlOyB3aWR0aCA6IDgwcHg7IGhlaWdodCA6IDgwcHg7IG1hcmdpbi10b3AgOiAycmVtOyB9XG4gIC5uYW1lIHsgbWFyZ2luLWJvdHRvbSA6IDFyZW07IG1hcmdpbi10b3AgOiAycmVtOyB9XG4gIC5uYW1lOmVtcHR5IHsgZGlzcGxheSA6IG5vbmU7IH1cbn0iLCIvKiBDb250YWN0cyAqL1xuXG4uc3AtY29udGFjdHMtbGlzdCB7XG4gIHVsIHtwYWRkaW5nOiAwO21hcmdpbjogMDtcbiAgICBsaSB7bGlzdC1zdHlsZTogbm9uZTttYXJnaW4tYm90dG9tOiAwLjQ1cmVtO1xuICAgICAgaSB7Zm9udC1zaXplOiAzMHB4O3BhZGRpbmctcmlnaHQ6IDhweDtwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDo1cHg7fVxuICAgIH1cbiAgfVxufSIsIi8qIE90aGVyIFN0eWxlcyAqL1xuXG4uc3Atc2xpY2stY2xpZW50cyAuaXRlbSB7XG4gIG9wYWNpdHkgICAgOiAwLjY1O1xuICB0cmFuc2l0aW9uIDogb3BhY2l0eSAwLjI1cyBsaW5lYXI7XG4gIHBhZGRpbmcgICAgOiAwIDE1cHg7XG4gIHRleHQtYWxpZ24gOiBjZW50ZXI7XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGggOiAxMDAlO1xuICAgIGhlaWdodCAgICA6IGF1dG87XG4gIH1cblxuICAmOmhvdmVyIHsgb3BhY2l0eSA6IDE7IH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHsgb3BhY2l0eTogMTsgfVxufSIsIi8qIFF1b3RlICovXG5cbiNzcC1xdW90ZSB7XG5cdC5zcC1zaWduYXR1cmUge2ZvbnQtc2l6ZTogMzBweDt9XG59XG4uc3AtcXVvdGUge1xuXHRmb250LXNpemU6IDE5cHg7XG5cdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0XHRmb250LWZhbWlseTogXCJzcC10aGVtZS1pY29uc1wiO1xuXHRcdGZvbnQtc2l6ZTogMjNweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJ1xcZTgwZic7XG5cdFx0bGVmdDogMTVweDtcblx0XHR0b3A6IDdweDtcblx0fVxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJ1xcZTgwZSc7XG5cdFx0cmlnaHQ6IDE1cHg7XG5cdH1cbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRoZW1lIHByb2dyZXNzIGJhcnMuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc3AtcHJvZ3Jlc3MtYmFyIHtcbiAgbWFyZ2luIDogMXJlbSAwIDJyZW0gMDtcblxuICAudGl0bGUge1xuICAgIGRpc3BsYXkgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGggICAgICAgICA6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbSA6IDAuNXJlbTtcblxuICAgIHNwYW4ge1xuICAgICAgZmxvYXQgICAgIDogcmlnaHQ7XG4gICAgICBmb250LXNpemUgOiAxNXB4O1xuICAgICAgcG9zaXRpb24gIDogcmVsYXRpdmU7XG4gICAgICB0b3AgICAgICAgOiAycHg7XG4gICAgfVxuICB9XG5cbiAgLnByb2dyZXNzLWJhciB7XG4gICAgdHJhbnNpdGlvbiA6IG5vbmU7XG4gIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUHJpY2luZyB0YWJsZXMuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJpY2luZ190YWJsZXNfd3JhcCB7XG4gIGJhY2tncm91bmQgOiAjZmZmO1xuICB0ZXh0LWFsaWduIDogY2VudGVyO1xuICBib3JkZXIgICAgIDogMXB4IHNvbGlkICNlZWU7XG4gIHBvc2l0aW9uICAgOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cgICA6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbiA6IGJveC1zaGFkb3cgMC41cyBlYXNlO1xuXG4gID4gLnByaWNpbmdfdGFibGVzX25hbWUge1xuICAgIHRleHQtYWxpZ24gICAgOiBjZW50ZXI7XG4gICAgZm9udC1zaXplICAgICA6IDI5cHg7XG4gICAgY29sb3IgICAgICAgICA6ICRicmFuZC1wcmltYXJ5O1xuICAgIHBhZGRpbmcgICAgICAgOiAxcmVtIDA7XG4gICAgZm9udC13ZWlnaHQgICA6IDYwMDtcbiAgICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICNlZWU7XG4gIH1cblxuICA+IC5wcmljaW5nX3RhYmxlc19wcmljZSB7XG4gICAgdGV4dC1hbGlnbiAgICA6IGNlbnRlcjtcbiAgICBmb250LXNpemUgICAgIDogNjVweDtcbiAgICBwYWRkaW5nICAgICAgIDogMXJlbSAwO1xuICAgIGJvcmRlci1ib3R0b20gOiAxcHggc29saWQgI2VlZTtcbiAgICBtYXJnaW4tYm90dG9tIDogMDtcblxuICAgIHNwYW4ge1xuICAgICAgY29sb3IgICAgIDogIzg4ODtcbiAgICAgIGZvbnQtc2l6ZSA6IDI3cHg7XG4gICAgICBwb3NpdGlvbiAgOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQgICAgICA6IC03cHg7XG4gICAgICB0b3AgICAgICAgOiAtMjlweDtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGNvbG9yICAgICAgIDogIzg4ODtcbiAgICAgIGZvbnQtc2l6ZSAgIDogMTRweDtcbiAgICAgIHBvc2l0aW9uICAgIDogcmVsYXRpdmU7XG4gICAgICB0b3AgICAgICAgICA6IDA7XG4gICAgICBmb250LXdlaWdodCA6IDMwMDtcbiAgICB9XG4gIH1cblxuICA+IC5wcmljaW5nX3RhYmxlc19kZXNjIHtcbiAgICBwYWRkaW5nICAgICAgIDogMjBweCAzMHB4O1xuICAgIGJvcmRlci1ib3R0b20gOiAxcHggc29saWQgI2VlZTtcbiAgICB0ZXh0LWFsaWduICAgIDogY2VudGVyO1xuXG4gICAgdWwge1xuICAgICAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsKHRydWUpO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICAgICAgcGFkZGluZyA6IDEwcHggMDtcbiAgICAgICAgY29sb3IgICA6ICM4ODg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAucHJpY2luZ190YWJsZXNfYnV0dG9ucyB7XG4gICAgdGV4dC1hbGlnbiA6IGNlbnRlcjtcbiAgICBwYWRkaW5nICAgIDogMjBweCAzMHB4O1xuICAgIG1hcmdpbiAgICAgOiAwIC0xMHB4O1xuXG4gICAgPiBhLCA+IC5idG4sID4gLmJ0bi1ncm91cCB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbiA6IG1pZGRsZTtcbiAgICAgIG1hcmdpbiAgICAgICAgIDogMTBweDtcbiAgICB9XG4gIH1cblxuICAvLyBibG9jayBzdGF0ZXNcbiAgJi5mZWF0dXJlZCB7XG4gICAgYm94LXNoYWRvdyA6IDAgMTVweCA1MHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcblxuICAgIC8vIGRpZmZlcmVudCBzaGFkb3c6XG4gICAgLy8gYm94LXNoYWRvdzogMCAyMHB4IDYwcHggcmdiYSgwLDAsMCwwLjE1KSwgMCAxMHB4IDEycHggcmdiYSgwLDAsMCwwLjEwKTtcblxuICAgID4gLnByaWNpbmdfdGFibGVzX25hbWUgeyBjb2xvciA6ICMzMzM7IH1cbiAgICA+IC5wcmljaW5nX3RhYmxlc19wcmljZSB7IGNvbG9yIDogJGJyYW5kLXByaW1hcnk7IH1cbiAgfVxuXG4gIC8vIHVuY29tbWVudCB0byBlbmFibGUgc2hhZG93IG9uIGhvdmVyXG4gIC8vICY6bm90KC5mZWF0dXJlZCk6aG92ZXIge1xuICAvLyAgICBib3gtc2hhZG93IDogMCAwIDMwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAvLyB9XG59XG4jc3AtcHJpY2luZy10YWJsZXMtZmFxIHtcbiAgaDQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBGQVEgcGFnZS4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jYXJkLnNwLWZhcS1jYXJkIHtcbiAgYm9yZGVyICAgICAgICA6IDFweCBzb2xpZCAjZWVlO1xuICBib3JkZXItcmFkaXVzIDogMDtcbiAgdGV4dC1hbGlnbiAgICA6IGxlZnQ7XG5cbiAgJiArIC5zcC1mYXEtY2FyZCB7XG4gICAgbWFyZ2luLXRvcCA6IDE1cHg7XG4gIH1cblxuICAvLyBxdWVzdGlvbiB0aXRsZVxuICA+IC5jYXJkLWhlYWRlciB7XG4gICAgcGFkZGluZyAgICAgICAgICA6IDAuNXJlbSAxLjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvciA6ICNmZmY7XG4gICAgY3Vyc29yICAgICAgICAgICA6IHBvaW50ZXI7XG4gICAgZGlzcGxheSAgICAgICAgICA6IGZsZXg7XG4gICAgYWxpZ24taXRlbXMgICAgICA6IGNlbnRlcjtcbiAgICBib3JkZXItYm90dG9tICAgIDogbm9uZTtcblxuICAgID4gLmNhcmQtdGl0bGUge1xuICAgICAgZm9udC1zaXplICA6IDEuMXJlbTtcbiAgICAgIGNvbG9yICAgICAgOiAjMzMzO1xuICAgICAgZmxleCAgICAgICA6IDEgMSBhdXRvO1xuICAgICAgbWluLXdpZHRoICA6IDA7XG4gICAgICB0cmFuc2l0aW9uIDogY29sb3IgMC4yNXM7XG4gICAgICBtYXJnaW4gICAgIDogMTBweCAwO1xuICAgIH1cblxuICAgID4gLnRvZ2dsZS1pY29uIHtcbiAgICAgIGZsZXggICAgICAgIDogMCAwIGF1dG87XG4gICAgICBtYXJnaW4tbGVmdCA6IDIwcHg7XG4gICAgICBjb2xvciAgICAgICA6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQgOiAxO1xuICAgICAgZm9udC1zaXplICAgOiA0MHB4O1xuICAgICAgd2lsbC1jaGFuZ2UgOiB0cmFuc2Zvcm07XG4gICAgICB0cmFuc2l0aW9uICA6IHRyYW5zZm9ybSAwLjI1cztcbiAgICB9XG5cbiAgICAmOmhvdmVyID4gLmNhcmQtdGl0bGUgeyBjb2xvciA6ICRicmFuZC1wcmltYXJ5OyB9XG4gIH1cblxuICAvLyBhbnN3ZXIgZm9yIHRoZSBjdXJyZW50IHF1ZXN0aW9uXG4gID4gLmNhcmQtY29udGVudHMge1xuICAgID4gLmNhcmQtY29udGVudHMtaW5uZXIge1xuICAgICAgYm9yZGVyLXRvcCA6IDFweCBzb2xpZCAjZWVlO1xuICAgICAgcGFkZGluZyAgICA6IDFyZW0gMS41cmVtO1xuICAgIH1cblxuICAgIHAgeyBtYXJnaW4tYm90dG9tIDogMXJlbTsgfVxuICAgIHA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b20gOiAwOyB9XG4gIH1cblxuICAvLyBvcGVuIGNhcmQgc3RhdGVcbiAgJi5jYXJkLW9wZW4ge1xuICAgID4gLmNhcmQtaGVhZGVyID4gLmNhcmQtdGl0bGUgeyBjb2xvciA6ICRicmFuZC1wcmltYXJ5OyB9XG4gICAgPiAuY2FyZC1oZWFkZXIgPiAudG9nZ2xlLWljb24ge1xuICAgICAgdHJhbnNmb3JtIDogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuLnNwLWZhcS1hcnRpY2xlcyB7XG4gIGJvcmRlci10b3AgIDogMXB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmctdG9wIDogMnJlbTtcblxuICB1bCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsKHRydWUpO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbSA6IDE1cHg7XG4gICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tIDogMDsgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQgICAgICAgOiAnXFxmM2QzJztcbiAgICAgICAgZm9udC1mYW1pbHkgICA6ICdzcC10aGVtZS1pY29ucyc7XG4gICAgICAgIGZvbnQtc2l6ZSAgICAgOiAxOHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0IDogMTBweDtcbiAgICAgICAgY29sb3IgICAgICAgICA6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3IgOiAjMzMzO1xuICAgICAgICAmOmhvdmVyIHsgY29sb3IgOiAkYnJhbmQtcHJpbWFyeTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDbGllbnRzIHBhZ2UuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc3AtY2xpZW50cy1ncmlkIC5zcC1jbGllbnRzLWJsb2NrIHtcbiAgYmFja2dyb3VuZCAgICA6ICNmZmY7XG4gIHBhZGRpbmcgICAgICAgOiAycmVtO1xuICBtYXJnaW4tYm90dG9tIDogMzBweDtcbiAgdHJhbnNpdGlvbiAgICA6IGJveC1zaGFkb3cgMC41cztcbiAgd2lsbC1jaGFuZ2UgICA6IGJveC1zaGFkb3c7XG5cbiAgPiAuY2xpZW50LWxvZ28ge1xuICAgIHBhZGRpbmctYm90dG9tIDogMS41cmVtO1xuICAgIGRpc3BsYXkgICAgICAgIDogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aCAgICAgIDogMTAwJTtcbiAgICBvcGFjaXR5ICAgICAgICA6IDAuODU7IFxuICAgIHRyYW5zaXRpb24gICAgIDogb3BhY2l0eSAwLjI1cztcbiAgICB3aWxsLWNoYW5nZSAgICA6IG9wYWNpdHk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93IDogMCAwIDI1cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAgID4gLmNsaWVudC1sb2dvIHsgb3BhY2l0eSA6IDE7IH1cbiAgfVxuXG4gID4gLmNsaWVudC10aXRsZSB7IG1hcmdpbi1ib3R0b20gOiAxLjVyZW07IH1cblxuICAuYnRuIHsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZCwgYm9yZGVyOyB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE1haWxjaGltcCBzdWJzY3JpYmUgYmxvY2suICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc3Atc3Vic2NyaWJlLWZvcm0ge1xuICBwb3NpdGlvbiAgIDogcmVsYXRpdmU7XG4gIG1heC13aWR0aCAgOiA1NDBweCArICRncmlkLWd1dHRlci13aWR0aC1iYXNlO1xuICBwYWRkaW5nICAgIDogMCAkZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZS8yO1xuICBtYXJnaW4gICAgIDogMCBhdXRvO1xuXG4gID4gLmZvcm0taW5uZXItd3JhcCB7XG4gICAgcG9zaXRpb24gICA6IHJlbGF0aXZlO1xuICAgIHotaW5kZXggICAgOiA1MDtcbiAgICB0cmFuc2l0aW9uIDogb3BhY2l0eSAwLjI1cywgdHJhbnNmb3JtIDAuMjVzO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aCAgOiAxMzBweDtcbiAgICAgIG9wYWNpdHkgICAgOiAwLjI7XG4gICAgICBtYXJnaW4tdG9wIDogMnJlbTtcbiAgICB9XG5cbiAgICBwLmFwcGVhci1tZXNzYWdlIHtcbiAgICAgIG1hcmdpbi10b3AgICAgOiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbSA6IDA7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIHdpZHRoICA6IDM1MHB4O1xuICAgICAgbWFyZ2luIDogYXV0bztcbiAgICB9XG4gIH1cblxuICA+IC5mb3JtLW91dHB1dCB7XG4gICAgcG9zaXRpb24gICAgOiBhYnNvbHV0ZTtcbiAgICB0b3AgICAgICAgICA6IDUwJTsgbGVmdCA6IDA7XG4gICAgcGFkZGluZyAgICAgOiAwICRncmlkLWd1dHRlci13aWR0aC1iYXNlLzI7XG4gICAgd2lkdGggICAgICAgOiAxMDAlOyBtaW4taGVpZ2h0OiAxMThweDtcbiAgICB6LWluZGV4ICAgICA6IDEwMDtcbiAgICB2aXNpYmlsaXR5ICA6IGhpZGRlbjtcbiAgICBvcGFjaXR5ICAgICA6IDA7XG4gICAgdHJhbnNmb3JtICAgOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDAuOCk7XG4gICAgYmFja2dyb3VuZCAgOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb24gIDogYWxsIDAuMjVzO1xuICAgIHRleHQtYWxpZ24gIDogY2VudGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHkgOiBcInNwLXRoZW1lLWljb25zXCI7XG4gICAgICBmb250LXNpemUgICA6IDcwcHg7XG4gICAgICBsaW5lLWhlaWdodCA6IDcwcHg7XG4gICAgICBkaXNwbGF5ICAgICA6IGJsb2NrO1xuICAgICAgbWFyZ2luICAgICAgOiAwIGF1dG8gMjBweDtcblxuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIH1cbiAgfVxuXG4gICYubWMtbG9hZGluZywgJi5tYy1pbnZhbGlkLCAmLm1jLXZhbGlkIHtcbiAgICA+IC5mb3JtLWlubmVyLXdyYXAge1xuICAgICAgb3BhY2l0eSAgIDogMDtcbiAgICAgIHRyYW5zZm9ybSA6IHNjYWxlKDAuOCk7XG4gICAgfVxuXG4gICAgPiAuZm9ybS1vdXRwdXQge1xuICAgICAgdmlzaWJpbGl0eSA6IHZpc2libGU7XG4gICAgICBvcGFjaXR5ICAgIDogMTtcbiAgICAgIHRyYW5zZm9ybSAgOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpO1xuXG4gICAgICAmOmJlZm9yZSB7IGFuaW1hdGlvbi1uYW1lOiBzcC1tYy1mb3JtLW91dHB1dC1pY29uOyB9XG4gICAgfVxuICB9XG5cbiAgPiAuZm9ybS1vdXRwdXQudmFsaWQ6YmVmb3JlIHsgY29udGVudDogJ1xcZjNmZCc7IGNvbG9yOiAkYnJhbmQtc3VjY2VzczsgfVxuICA+IC5mb3JtLW91dHB1dC5lcnJvcjpiZWZvcmUgeyBjb250ZW50OiAnXFxmNDA0JzsgY29sb3I6ICRicmFuZC1kYW5nZXI7IH1cblxuICAmLm1jLWxvYWRpbmcgPiAuZm9ybS1vdXRwdXQ6YmVmb3JlIHtcbiAgICBjb250ZW50ICAgOiAnXFxmNDVhJztcbiAgICBjb2xvciAgICAgOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZSA6IDU1cHg7XG4gICAgYW5pbWF0aW9uIDogc3AtbWMtbG9hZGluZy1pY29uIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNwLW1jLWxvYWRpbmctaWNvbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybSA6IHJvdGF0ZSgtMzYwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0gOiByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzcC1tYy1mb3JtLW91dHB1dC1pY29uIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtIDogcm90YXRlKC0zNjBkZWcpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eSAgIDogMC4zO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybSA6IHJvdGF0ZSgwZGVnKSBzY2FsZSgxKTtcbiAgICBvcGFjaXR5ICAgOiAxO1xuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDQwNCBwYWdlLiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI3NwLTQwNCB7XG4gID4gLmludHJvLWJvZHkgeyBwYWRkaW5nLXRvcCA6IDUwcHg7IHBhZGRpbmctYm90dG9tIDogNTBweDsgfVxuXG4gIGgxIHtcbiAgICBtYXJnaW4tYm90dG9tIDogMnJlbTtcbiAgICBmb250LXNpemUgICAgIDogNXJlbTtcbiAgICBsaW5lLWhlaWdodCAgIDogNXJlbTtcbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tIDogM3JlbTtcbiAgICBmb250LXNpemUgICAgIDogMy41cmVtO1xuICAgIGZvbnQtZmFtaWx5ICAgOiAnU2hhZG93cyBJbnRvIExpZ2h0JywgY3Vyc2l2ZTtcbiAgICB0cmFuc2Zvcm0gICAgIDogcm90YXRlKC0yZGVnKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNwLXNvYy1saW5rcyB7XG4gICAgbWFyZ2luLWJvdHRvbSA6IDJyZW07XG4gICAgZm9udC1zaXplICAgICA6IDA7XG5cbiAgICB1bCB7XG4gICAgICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWwodHJ1ZSk7XG4gICAgICBsaSB7IGRpc3BsYXkgOiBpbmxpbmU7IH1cblxuICAgICAgbGkgYSB7XG4gICAgICAgIGRpc3BsYXkgICA6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZyAgIDogMCAxMnB4O1xuICAgICAgICBmb250LXNpemUgOiAyNnB4O1xuXG4gICAgICAgICY6aG92ZXIgeyBjb2xvciA6ICRicmFuZC1wcmltYXJ5OyB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNwLTQwNC1tZW51IHVsIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWwodHJ1ZSk7XG4gICAgZm9udC1zaXplIDogMDtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXkgICAgIDogaW5saW5lO1xuICAgICAgd2hpdGUtc3BhY2UgOiBub3dyYXA7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50ICAgOiAnfCc7XG4gICAgICAgIGRpc3BsYXkgICA6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luICAgIDogMCAxMHB4O1xuICAgICAgICBmb250LXNpemUgOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZDphZnRlciB7IGNvbnRlbnQgOiAnJzsgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplIDogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICAmOmhvdmVyIHsgY29sb3IgOiAkYnJhbmQtcHJpbWFyeTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIGgxIHsgZm9udC1zaXplIDogMy44cmVtOyBsaW5lLWhlaWdodCA6IDMuOHJlbTsgcGFkZGluZyA6IDAgMTVweDsgfVxuICAgIGgzIHsgZm9udC1zaXplIDogM3JlbTsgcGFkZGluZyA6IDAgMTVweDsgbWFyZ2luLWJvdHRvbSA6IDJyZW07IH1cbiAgICAuc3AtNDA0LW1lbnUgdWwgeyBwYWRkaW5nIDogMCAxNXB4OyB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICBoMSB7IGZvbnQtc2l6ZSA6IDNyZW07IH1cbiAgICBoMyB7IGZvbnQtc2l6ZSA6IDJyZW07IH1cbiAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTaW1wbGUgdGV4dCByb3RhdG9yIHBsdWdpbiBzdHlsZXMuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc3AtdGV4dC1yb3RhdGUge1xuICBkaXNwbGF5ICAgICA6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2UgOiBub3dyYXA7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7IHdoaXRlLXNwYWNlIDogbm9ybWFsOyB9XG59XG5cbi5yb3RhdGluZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGluY2x1ZGUgcHJlZml4KHRyYW5zZm9ybS1zdHlsZSwgcHJlc2VydmUtM2QsIHdlYmtpdCBtb3opO1xuICBAaW5jbHVkZSBwcmVmaXgodHJhbnNmb3JtLCByb3RhdGVYKDApIHJvdGF0ZVkoMCkgcm90YXRlWigwKSwgd2Via2l0IG1veik7XG4gIEBpbmNsdWRlIHByZWZpeCh0cmFuc2l0aW9uLCAwLjVzLCB3ZWJraXQgbW96KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luLXg6IDUwJTtcbn1cblxuLnJvdGF0aW5nLmZsaXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5yb3RhdGluZyAuZnJvbnQsIC5yb3RhdGluZyAuYmFjayB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgQGluY2x1ZGUgcHJlZml4KGJhY2tmYWNlLXZpc2liaWxpdHksIGhpZGRlbiwgd2Via2l0IG1veiBtcyk7XG59XG5cbi5yb3RhdGluZyAuZnJvbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGluY2x1ZGUgcHJlZml4KHRyYW5zZm9ybSwgdHJhbnNsYXRlM2QoMCwwLDFweCksIHdlYmtpdCBtb3opO1xufVxuXG4ucm90YXRpbmcuZmxpcCAuZnJvbnQge1xuICB6LWluZGV4OiAxO1xufVxuXG4ucm90YXRpbmcgLmJhY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMDtcbn1cblxuLnJvdGF0aW5nLnNwaW4ge1xuICBAaW5jbHVkZSBwcmVmaXgodHJhbnNmb3JtLCByb3RhdGUoMzYwZGVnKSBzY2FsZSgwKSwgd2Via2l0IG1veik7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IGZsaXAgdHJhbnNpdGlvbnMgKi9cbi5yb3RhdGluZy5mbGlwIC5iYWNrIHtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG5cbiAgQGluY2x1ZGUgcHJlZml4KHRyYW5zZm9ybSwgcm90YXRlWSgxODBkZWcpIHRyYW5zbGF0ZTNkKDAsMCwwKSwgd2Via2l0IG1veik7XG59XG5cbi5yb3RhdGluZy5mbGlwLnVwIC5iYWNrIHtcbiAgQGluY2x1ZGUgcHJlZml4KHRyYW5zZm9ybSwgcm90YXRlWCgxODBkZWcpIHRyYW5zbGF0ZTNkKDAsMCwwKSwgd2Via2l0IG1veik7XG59XG5cbi5yb3RhdGluZy5mbGlwLmN1YmUgLmZyb250IHtcbiAgQGluY2x1ZGUgcHJlZml4KHRyYW5zZm9ybSwgdHJhbnNsYXRlM2QoMCwwLDEwMHB4KSBzY2FsZSgwLjg1LDAuODUpLCB3ZWJraXQgbW96KTtcbn1cblxuLnJvdGF0aW5nLmZsaXAuY3ViZSAuYmFjayB7XG4gIEBpbmNsdWRlIHByZWZpeCh0cmFuc2Zvcm0sIHJvdGF0ZVkoMTgwZGVnKSB0cmFuc2xhdGUzZCgwLDAsMTAwcHgpIHNjYWxlKDAuOSwwLjkpLCB3ZWJraXQgbW96KTtcbn1cblxuLnJvdGF0aW5nLmZsaXAuY3ViZS51cCAuYmFjayB7XG4gIEBpbmNsdWRlIHByZWZpeCh0cmFuc2Zvcm0sIHJvdGF0ZVgoMTgwZGVnKSB0cmFuc2xhdGUzZCgwLDAsMTAwcHgpIHNjYWxlKDAuOSwwLjkpLCB3ZWJraXQgbW96KTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVHlwZWQganMgaW50ZWdyYXRpb24uICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udHlwZWQtY3Vyc29yIHtcbiAgYW5pbWF0aW9uIDogdHlwZWQtYmxpbmsgMC43cyBpbmZpbml0ZTtcbiAgb3BhY2l0eSAgIDogMTtcbiAgZGlzcGxheSAgIDogaW5saW5lLWJsb2NrO1xufVxuXG5Aa2V5ZnJhbWVzIHR5cGVkLWJsaW5rIHtcbiAgMCUgeyBvcGFjaXR5IDogMTsgfVxuICA1MCUgeyBvcGFjaXR5IDogMDsgfVxuICAxMDAlIHsgb3BhY2l0eSA6IDE7IH1cbn0iLCIvKiEgU3dpcGVib3ggdjEuMy4wIHwgQ29uc3RhbnRpbiBTYWd1aW4gY3NhZy5jbyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9icnV0YWxkZXNpZ24vc3dpcGVib3ggKi9cblxuaHRtbC5zd2lwZWJveC1odG1sLnN3aXBlYm94LXRvdWNoIHtcbiAgb3ZlcmZsb3cgICA6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uIDogYWxsIDAuMjVzIGxpbmVhcjtcbn1cblxuI3N3aXBlYm94LW92ZXJsYXkge1xuICB3aWR0aCAgICAgICA6IDEwMCU7XG4gIGhlaWdodCAgICAgIDogMTAwJTtcbiAgcG9zaXRpb24gICAgOiBmaXhlZDtcbiAgdG9wICAgICAgICAgOiAwO1xuICBsZWZ0ICAgICAgICA6IDA7XG4gIHotaW5kZXggICAgIDogOTk5OTkgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cgICAgOiBoaWRkZW47XG4gIHVzZXItc2VsZWN0IDogbm9uZTtcbiAgYmFja2dyb3VuZCAgOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICB0cmFuc2l0aW9uICA6IGJhY2tncm91bmQgMC4yNXMgbGluZWFyO1xufVxuXG4jc3dpcGVib3gtY29udGFpbmVyIHtcbiAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgd2lkdGggICAgOiAxMDAlO1xuICBoZWlnaHQgICA6IDEwMCU7XG59XG5cbiNzd2lwZWJveC1zbGlkZXIge1xuICB0cmFuc2l0aW9uICA6IHRyYW5zZm9ybSAwLjRzIGVhc2U7XG4gIGhlaWdodCAgICAgIDogMTAwJTtcbiAgbGVmdCAgICAgICAgOiAwO1xuICB0b3AgICAgICAgICA6IDA7XG4gIHdpZHRoICAgICAgIDogMTAwJTtcbiAgd2hpdGUtc3BhY2UgOiBub3dyYXA7XG4gIHBvc2l0aW9uICAgIDogYWJzb2x1dGU7XG4gIGRpc3BsYXkgICAgIDogbm9uZTtcblxuICAuc2xpZGUge1xuICAgIGhlaWdodCAgICAgIDogMTAwJTtcbiAgICB3aWR0aCAgICAgICA6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQgOiAxcHg7XG4gICAgdGV4dC1hbGlnbiAgOiBjZW50ZXI7XG4gICAgZGlzcGxheSAgICAgOiBpbmxpbmUtYmxvY2s7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50ICAgICAgOiBcIlwiO1xuICAgICAgZGlzcGxheSAgICAgIDogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0ICAgICAgIDogNTAlO1xuICAgICAgd2lkdGggICAgICAgIDogMXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0IDogLTFweDtcbiAgICB9XG5cbiAgICAuc3dpcGVib3gtdmlkZW8tY29udGFpbmVyLFxuICAgIC5zd2lwZWJveC1pbmxpbmUtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXkgICAgICAgIDogaW5saW5lLWJsb2NrO1xuICAgICAgbWF4LWhlaWdodCAgICAgOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoICAgICAgOiAxMDAlO1xuICAgICAgbWFyZ2luICAgICAgICAgOiAwO1xuICAgICAgcGFkZGluZyAgICAgICAgOiAwO1xuICAgICAgd2lkdGggICAgICAgICAgOiBhdXRvO1xuICAgICAgaGVpZ2h0ICAgICAgICAgOiBhdXRvO1xuICAgICAgdmVydGljYWwtYWxpZ24gOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLnN3aXBlYm94LXZpZGVvLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kIDogbm9uZTtcbiAgICAgIG1heC13aWR0aCAgOiAxMTQwcHg7XG4gICAgICBtYXgtaGVpZ2h0IDogMTAwJTtcbiAgICAgIHdpZHRoICAgICAgOiAxMDAlO1xuICAgICAgcGFkZGluZyAgICA6IDIwcHggMTUwcHg7XG4gICAgICBib3gtc2l6aW5nIDogYm9yZGVyLWJveDtcblxuICAgICAgLnN3aXBlYm94LXZpZGVvIHtcbiAgICAgICAgd2lkdGggICAgICAgICAgOiAxMDAlO1xuICAgICAgICBoZWlnaHQgICAgICAgICA6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tIDogNTYuMjUlO1xuICAgICAgICBvdmVyZmxvdyAgICAgICA6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb24gICAgICAgOiByZWxhdGl2ZTtcblxuICAgICAgICBpZnJhbWUge1xuICAgICAgICAgIHdpZHRoICAgICAgOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0ICAgICA6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICBwb3NpdGlvbiAgIDogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wICAgICAgICA6IDA7IGxlZnQgOiAwO1xuICAgICAgICAgIG1heC1oZWlnaHQgOiAxMDB2aDtcbiAgICAgICAgICBtYXgtaGVpZ2h0IDogY2FsYygxMDB2aCAtIDQwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNsaWRlLWxvYWRpbmcge1xuICAgIGJhY2tncm91bmQgOiB1cmwoJy4uL2ltYWdlcy9sb2FkZXIuZ2lmJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIH1cblxufVxuXG4jc3dpcGVib3gtY2xvc2Uge1xuICBwb3NpdGlvbiAgICA6IGFic29sdXRlO1xuICB0b3AgICAgICAgICA6IDEwcHg7XG4gIHJpZ2h0ICAgICAgIDogMzBweDtcbiAgbGluZS1oZWlnaHQgOiAxO1xuICBjdXJzb3IgICAgICA6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24gIDogb3BhY2l0eSAwLjI1cztcblxuICAmOmJlZm9yZSB7XG4gICAgY29sb3IgICAgICAgICAgICAgICAgICAgOiAjZmZmO1xuICAgIGNvbnRlbnQgICAgICAgICAgICAgICAgIDogJ1xcZjQwNCc7XG4gICAgZGlzcGxheSAgICAgICAgICAgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHkgICAgICAgICAgICAgOiAkaWNvbi1mb250LWZhbWlseTtcbiAgICBmb250LXNpemUgICAgICAgICAgICAgICA6IDcwcHg7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZyAgOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZyA6IGdyYXlzY2FsZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHkgOiAwLjY7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDgwMHB4KSB7XG4gICNzd2lwZWJveC1jbG9zZSB7XG4gICAgcmlnaHQgOiAxNXB4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZSA6IDMwcHg7XG4gICAgfVxuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNpdGUgc29jaWFscyBWQyB3aWRnZXQuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc3Atc2l0ZS1zb2NpYWxzIHtcbiAgbWFyZ2luICAgIDogMCAtMTJweDtcbiAgZm9udC1zaXplIDogMDtcbiAgY29sb3IgICAgIDogJGJyYW5kLXByaW1hcnk7XG5cbiAgPiBhIHtcbiAgICB0cmFuc2l0aW9uICAgIDogb3BhY2l0eSAwLjI1cztcbiAgICBvcGFjaXR5ICAgICAgIDogMTtcbiAgICBkaXNwbGF5ICAgICAgIDogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yICAgICAgICAgOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZSAgICAgOiAyM3B4O1xuICAgIHBhZGRpbmcgICAgICAgOiAwIDEycHg7XG5cbiAgICAmOmhvdmVyIHsgb3BhY2l0eSA6IDAuNjsgfVxuICB9XG5cbiAgJi5hbGlnbl9jZW50ZXIgeyB0ZXh0LWFsaWduIDogY2VudGVyOyB9XG4gICYuYWxpZ25fbGVmdCB7IHRleHQtYWxpZ24gOiBsZWZ0OyB9XG4gICYuYWxpZ25fcmlnaHQgeyB0ZXh0LWFsaWduIDogcmlnaHQ7IH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHsgdGV4dC1hbGlnbiA6IGNlbnRlciAhaW1wb3J0YW50OyB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFZpc3VhbCBDb21wb3NlciBjdXN0b20gdGV4dCB3aWRnZXQuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc3AtdGV4dC13aWRnZXQge1xuICBsaW5lLWhlaWdodCA6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBmb250LXNpemUgICA6ICRmb250LXNpemUtYmFzZTtcbiAgZm9udC1mYW1pbHkgOiAkZm9udC1mYW1pbHktYmFzZTtcbiAgY29sb3IgICAgICAgOiAkYm9keS1jb2xvcjtcblxuICAmLnByaW1hcnktZm9udCB7IGZvbnQtZmFtaWx5IDogJGZvbnQtZmFtaWx5LWJhc2U7IH1cbiAgJi5oZWFkaW5ncy1mb250IHsgZm9udC1mYW1pbHkgOiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7IH1cblxuICA+IHAge1xuICAgIGxpbmUtaGVpZ2h0IDogaW5oZXJpdDtcbiAgICBmb250LXNpemUgICA6IGluaGVyaXQ7XG4gICAgY29sb3IgICAgICAgOiBpbmhlcml0O1xuICB9XG5cbiAgPiBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbSA6IDA7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aCA6IDEwMCU7XG4gICAgaGVpZ2h0ICAgIDogYXV0bztcbiAgfVxuXG4gID4gLnNwLXNpZ25hdHVyZSB7XG4gICAgd2lkdGggICAgICAgICAgOiAxMDAlO1xuICAgIGZvbnQtc2l6ZSAgICAgIDogMjNweDtcbiAgICBkaXNwbGF5ICAgICAgICA6IGJsb2NrO1xuICAgIG1hcmdpbi10b3AgICAgIDogMjBweDtcbiAgICBmb250LWZhbWlseSAgICA6ICdTaGFkb3dzIEludG8gTGlnaHQnLCBjdXJzaXZlO1xuICAgIGZvbnQtc3R5bGUgICAgIDogaXRhbGljO1xuICAgIGxldHRlci1zcGFjaW5nIDogMnB4O1xuICAgIEBpbmNsdWRlIHByZWZpeCh0cmFuc2Zvcm0sIHJvdGF0ZSgtM2RlZyksIHdlYmtpdCk7XG4gICAgJi53aGl0ZSB7XG4gICAgICBjb2xvcjojZmZmO1xuICAgIH1cbiAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCYXNpYyBibG9ncm9sbCBzdHlsZXMuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jc3AtYmxvZy1pbm5lciB7XG5cdGRpc3BsYXkgICA6IGZsZXg7XG5cdGZsZXgtd3JhcCA6IG5vd3JhcDtcblxuXHQ+IC5jb250ZW50LWNvbHVtbiB7XG5cdFx0ZmxleCAgICAgIDogMSAxIGF1dG87XG5cdFx0bWluLXdpZHRoIDogMDtcblx0fVxuXG5cdD4gLnNpZGViYXItY29sdW1uIHtcblx0XHRmbGV4ICAgICAgICAgIDogMCAwIDM2MHB4O1xuXHRcdG1pbi13aWR0aCAgICAgOiAwO1xuXHRcdG1hcmdpbi1ib3R0b20gOiAtNTBweDtcblxuXHRcdCYubGVmdCB7IHBhZGRpbmctcmlnaHQgOiA2MHB4OyB9XG5cdFx0Ji5yaWdodCB7IHBhZGRpbmctbGVmdCA6IDYwcHg7IH1cblx0XHQmOmVtcHR5IHsgZGlzcGxheSA6IG5vbmU7IH1cblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuXHRcdGZsZXgtd3JhcCA6IHdyYXA7XG5cblx0XHQ+IC5zaWRlYmFyLWNvbHVtbiwgPiAuY29udGVudC1jb2x1bW4geyBmbGV4LWJhc2lzIDogMTAwJTsgfVxuXG5cdFx0PiAuY29udGVudC1jb2x1bW4geyBvcmRlcjogMTsgfVxuXHRcdD4gLnNpZGViYXItY29sdW1uIHsgbWFyZ2luLXRvcCA6IDgwcHg7IG9yZGVyOiAyOyB9XG5cblx0XHQ+IC5zaWRlYmFyLWNvbHVtbi5sZWZ0IHsgcGFkZGluZy1yaWdodCA6IDA7IH1cblx0XHQ+IC5zaWRlYmFyLWNvbHVtbi5yaWdodCB7IHBhZGRpbmctbGVmdCA6IDA7IH1cblx0fVxufVxuXG4uc3AtYmxvZy1ibG9jayB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRtYXJnaW4tYm90dG9tOiA1NXB4O1xuXG5cdC8vIHN0eWxlcyByZXNldFxuXHRwIHsgbWFyZ2luLWJvdHRvbSA6IDEuNXJlbTsgfVxuXHRwOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tIDogMDsgfVxuXG5cdC5zcC1ibG9nLWltYWdlIHtcblx0XHRwb3NpdGlvbiAgICAgIDogcmVsYXRpdmU7XG5cdFx0bWFyZ2luLWJvdHRvbSA6IDEuNXJlbTtcblx0XHRvcGFjaXR5ICAgICAgIDogMTtcblx0XHR0cmFuc2l0aW9uICAgIDogb3BhY2l0eSAwLjJzIGxpbmVhcjtcblxuXHRcdGEge1xuXHRcdCAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdCAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0ICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0ICAgIHdpZHRoOiAxMDAlO1xuXHRcdCAgICBoZWlnaHQ6IDI0MHB4O1xuXHRcdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdCAgICBjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ICAgXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtoZWlnaHQ6IDI2MHB4O31cblx0XHR9XG5cblx0XHQmOmhvdmVyIHsgb3BhY2l0eTogMC43OyB9XG5cdH1cblxuXHQuZW50cnktdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWg0O1xuXHRcdGEge1xuXHRcdFx0Y29sb3I6IzMzMztcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjokYnJhbmQtcHJpbWFyeTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuc3AtYmxvZy1tZXRhIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dWwge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGxpIHtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcvJztcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdFx0XHRcdFx0Y29sb3I6Izk5OTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmxhc3QtY2hpbGQ6YWZ0ZXIge2NvbnRlbnQ6IG5vbmU7fVxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjojOTk5O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5jaGVzcyB7XG5cdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgICBkaXNwbGF5OiB0YWJsZTtcblx0ICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdCAgICB3aWR0aDogMTAwJTtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG5cdCAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7ZGlzcGxheTogYmxvY2s7fVxuXHQgICAgLm1ldGEtY29sdW1uIHtcbiAgICBcdFx0cGFkZGluZzogMHB4IDUwcHg7XG4gICAgXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge3BhZGRpbmc6IDUwcHggMzBweDt9XG4gICAgXHRcdCYuaW5uZXItY29sIHtcbiAgICBcdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIFx0XHRcdHdpZHRoOiA1MCU7XG4gICAgXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBcdFx0XHRcdHdpZHRoOiAxMDAlO1xuICAgIFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG4gICAgXHRcdFx0fVxuICAgIFx0XHR9XG4gICAgXHRcdGg0IHtmb250LXNpemU6IDEuNXJlbTt9XG5cdCAgICB9XG5cdFx0LmltYWdlLWNvbHVtbiB7XG5cdFx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBcdFx0Ji5pbm5lci1jb2wge1xuICAgIFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgXHRcdFx0d2lkdGg6IDUwJTtcbiAgICBcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIFx0XHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgXHRcdFx0XHRkaXNwbGF5OiBub25lOztcbiAgICBcdFx0XHR9XG4gICAgXHRcdH1cbiAgICBcdFx0LnNwLWJsb2ctaW1hZ2Uge1xuICAgIFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdCAgICBcdFx0YSB7IFxuXHQgICAgXHRcdFx0aGVpZ2h0OiA0MDBweDtcblx0ICAgIFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge2hlaWdodDogMzUwcHg7fVxuXHQgICAgXHRcdH1cbiAgICBcdFx0fVxuXHRcdH1cblx0XHQmLnN0aWNreTpudGgtY2hpbGQoZXZlbikge1xuXHRcdFx0LnNwLWJsb2ctaW1hZ2Uge1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0ICAgIHJpZ2h0OiAzMHB4O1x0XG5cdFx0XHRcdCAgICBsZWZ0OmF1dG87XG5cdFx0XHRcdH1cblx0XHRcdCAgXHQmOmJlZm9yZSB7XG5cdFx0XHRcdCAgICByaWdodDogMzBweDtcblx0XHRcdFx0ICAgIGxlZnQ6YXV0bztcblx0XHRcdFx0fSAgXHRcdFxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLmNsYXNzaWMge1xuXHRcdG1hcmdpbi1ib3R0b206IDgwcHg7XG5cdCAgICBkaXNwbGF5OiBmbGV4O1xuXHQgICAgZmxleC13cmFwOiBub3dyYXA7XG5cdFx0LnNwLWJsb2ctbWV0YS1jbGFzc2ljIHtcblx0XHQgICAgZmxleDogMCAwIDkwcHg7XG5cdFx0ICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cdFx0ICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdCAgICAuZGF0ZSB7XG5cdFx0ICAgIFx0Zm9udC1zaXplOjEuNHJlbTtcblx0XHQgICAgXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdFx0ICAgIH1cblx0XHRcdC55ZWFyIHtcblx0XHRcdFx0Y29sb3I6Izk5OTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnNwLWJsb2ctaW1hZ2Uge1xuXHQgICAgXHRhIHsgXG5cdCAgICBcdFx0aGVpZ2h0OiAzNzVweDtcblx0ICAgIFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtoZWlnaHQ6IDM1MHB4O31cblx0ICAgIFx0fVxuICAgIFx0fVxuXHR9XG5cdCYubWVkaXVtIHtcblx0XHRtYXJnaW4tYm90dG9tOiA4MHB4O1xuXHQgICAgZGlzcGxheTogZmxleDtcblx0ICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXHQgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7ZGlzcGxheTogYmxvY2t9XG5cdFx0LnNwLWJsb2ctaW1hZ2UtbWVkaXVtIHtcblx0XHQgICAgZmxleDogMCAwIDM2MHB4O1xuXHRcdCAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXHRcdCAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtwYWRkaW5nLXJpZ2h0OiAwO31cblx0XHRcdC5zcC1ibG9nLWltYWdlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHQgICAgXHRhIHsgXG5cdFx0ICAgIFx0XHRoZWlnaHQ6IDI3NXB4O1xuXHRcdCAgICBcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7aGVpZ2h0OiAzMDBweDt9XG5cdFx0ICAgIFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtoZWlnaHQ6IDI0MHB4O31cblx0XHQgICAgXHR9XG5cdCAgICBcdH1cblx0XHR9XG5cdFx0LnNwLWJsb2ctYmxvY2stbWVkaXVtIHtcblx0XHRcdGgzIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjNyZW07XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge21hcmdpbi10b3A6IDFyZW07fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLnN0aWNreXtcblx0XHQuc3AtYmxvZy1pbWFnZSB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0d2lkdGg6IDMycHg7XG5cdFx0XHRcdGhlaWdodDogNDhweDtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMzBweDtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXItbGVmdDogMTZweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxNnB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1x0XG5cdFx0XHR9XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICdTJztcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTlweDtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdGxlZnQ6IDMwcHg7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0ei1pbmRleDogOTtcblx0XHRcdFx0d2lkdGg6IDMycHg7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcdFx0XG5cdFx0XHR9ICBcdFx0XG5cdFx0fVxuXHR9XG5cdCYubm8tdGh1bWJuYWlsLnN0aWNreSB7XG5cdFx0LnNwLWJsb2ctbWV0YS1jbGFzc2ljIHt0ZXh0LWFsaWduOiBjZW50ZXJ9XG5cdFx0cGFkZGluZzogMzBweDtcblx0XHRiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJsb2dyb2xsIHBvc3QgZm9ybWF0cy4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zcC1ibG9nLWJsb2NrIC5zcC1ibG9nLXF1b3RlIHtcbiAgZGlzcGxheSAgICAgICA6IGZsZXg7XG4gIGJvcmRlciAgICAgICAgOiA0cHggc29saWQgI2VlZTtcbiAgcGFkZGluZyAgICAgICA6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b20gOiAycmVtO1xuXG4gID4gLnF1b3RlLWljb24ge1xuICAgIGZsZXggICAgICAgICAgOiAwIDAgYXV0bztcbiAgICBmb250LXNpemUgICAgIDogNzNweDtcbiAgICBjb2xvciAgICAgICAgIDogJGJyYW5kLXByaW1hcnk7XG4gICAgcGFkZGluZy1yaWdodCA6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQgICA6IDE7XG4gICAgbWluLXdpZHRoICAgICA6IDA7XG4gIH1cblxuICA+IC5xdW90ZS1pbm5lciB7XG4gICAgZmxleCAgICAgIDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoIDogMDtcblxuICAgIHAgeyBcbiAgICAgIGZvbnQtc2l6ZSA6IDEuMjVyZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgICAuYmxvY2txdW90ZS1mb290ZXIge1xuICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgICAgY2l0ZSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIH1cbiAgICB9XG4gICAgcDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbSA6IDA7IH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICA+IC5xdW90ZS1pY29uIHsgcGFkZGluZzogMCAwIDFyZW07IH1cbiAgICA+IC5xdW90ZS1pY29uLCA+IC5xdW90ZS1pbm5lciB7IGZsZXg6IDAgMCAxMDAlOyB9XG5cbiAgICA+IC5xdW90ZS1pbm5lciBwIHsgZm9udC1zaXplOiAxcmVtOyB9XG4gIH1cbn1cblxuLnNwLWJsb2ctYmxvY2sgLnNwLWJsb2ctbGluayB7XG4gIGRpc3BsYXkgICAgICAgOiBmbGV4O1xuICBib3JkZXIgICAgICAgIDogNHB4IHNvbGlkICNlZWU7XG4gIHBhZGRpbmcgICAgICAgOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tIDogMnJlbTtcbiAgd2lkdGggICAgICAgICA6IDEwMCU7XG4gIHdoaXRlLXNwYWNlICAgOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zICAgOiBjZW50ZXI7XG5cbiAgJjpiZWZvcmUge1xuICAgIGZsZXggICAgICAgICAgOiAwIDAgYXV0bztcbiAgICBjb250ZW50ICAgICAgIDogJ1xcZjNkOSc7XG4gICAgZm9udC1mYW1pbHkgICA6IFwic3AtdGhlbWUtaWNvbnNcIjtcbiAgICBmb250LXNpemUgICAgIDogNzBweDtcbiAgICBjb2xvciAgICAgICAgIDogJGJyYW5kLXByaW1hcnk7XG4gICAgbWFyZ2luLXJpZ2h0ICA6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodCA6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQgICA6IDE7XG4gICAgYm9yZGVyLXJpZ2h0ICA6IDFweCBzb2xpZCAjZWVlO1xuICB9XG5cbiAgYSB7XG4gICAgZmxleCAgICAgICAgICA6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aCAgICAgOiAwO1xuICAgIGZvbnQtc2l6ZSAgICAgOiAycmVtO1xuICAgIGNvbG9yICAgICAgICAgOiAjMzMzO1xuICAgIGRpc3BsYXkgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2UgICA6IG5vd3JhcDtcbiAgICBvdmVyZmxvdyAgICAgIDogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3cgOiBlbGxpcHNpcztcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIHBhZGRpbmcgOiAyMHB4O1xuICAgICY6YmVmb3JlIHsgZm9udC1zaXplIDogNTBweDsgcGFkZGluZy1yaWdodCA6IDE1cHg7IG1hcmdpbi1yaWdodCA6IDE1cHg7IH1cbiAgICBhIHsgZm9udC1zaXplIDogMXJlbTsgfVxuICB9XG59XG5cbi5zcC1ibG9nLWJsb2NrIC5zcC1ibG9nLWltYWdlIHtcbiAgLmNhcHRpb24ge1xuICAgIGRpc3BsYXkgICAgOiBibG9jaztcbiAgICBtYXJnaW4tdG9wIDogNXB4O1xuICB9XG59XG5cbi5zcC1ibG9nLWJsb2NrIC5zcC1zbGljay1wb3N0LWdhbGxlcnkge1xuICAuc2xpY2stc2xpZGUgLmNhcHRpb24ge1xuICAgIG1hcmdpbi10b3AgOiA1cHg7XG4gICAgZGlzcGxheSAgICA6IGJsb2NrO1xuICAgIG9wYWNpdHkgICAgOiAwO1xuICAgIHRyYW5zZm9ybSAgOiB0cmFuc2xhdGVYKDE1cHgpO1xuICAgIHRyYW5zaXRpb24gOiBhbGwgMC4yNXM7XG4gIH1cblxuICAuc2xpY2stc2xpZGUuc2xpY2stYW5pbWF0ZWQgLmNhcHRpb24ge1xuICAgIG9wYWNpdHkgICA6IDE7XG4gICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uc3AtYmxvZy1ibG9jayAuc3Atc2luZ2xlLWVtYmVkIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQmxvZyBzaWRlYmFyIGRlc2lnbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNwLXNpZGViYXIge1xuICBwYWRkaW5nLWJvdHRvbSA6IDUwcHg7XG5cbiAgYSB7XG4gICAgY29sb3IgOiAjMzMzO1xuICAgICY6aG92ZXIgeyBjb2xvciA6ICRicmFuZC1wcmltYXJ5OyB9XG4gIH1cblxuICAuc3Atd2lkZ2V0LWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXJnaW4tYm90dG9tIDogNTVweDtcblxuICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b20gOiAwOyB9XG5cbiAgICA+IC53aWRnZXQtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbSA6IDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZSAgICAgOiAxLjVyZW07XG4gICAgfVxuICB9XG59XG5cbi5zcC1zaWRlYmFyIC5zcC1jYXRlZ29yeSB7XG4gIEBpbmNsdWRlIHJlc2V0LWJveC1tb2RlbCh0cnVlKTtcblxuICBsaSB7XG4gICAgcGFkZGluZy1ib3R0b20gOiAxNXB4O1xuICAgIHRleHQtYWxpZ24gICAgIDogbGVmdCAhaW1wb3J0YW50O1xuXG4gICAgc3BhbiB7XG4gICAgICBmbG9hdCAgICAgIDogcmlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kIDogI2Y1ZjVmNTtcbiAgICAgIHdpZHRoICAgICAgOiAzMHB4O1xuICAgICAgZm9udC1zaXplICA6IDE0cHg7XG4gICAgICBwYWRkaW5nICAgIDogMXB4IDA7XG4gICAgICB0ZXh0LWFsaWduIDogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG4uc3Atc2lkZWJhciAuc3AtcG9wdWxhci1wb3N0cyB7XG4gIEBpbmNsdWRlIHJlc2V0LWJveC1tb2RlbCh0cnVlKTtcblxuICA+IGxpIHtcbiAgICBsaXN0LXN0eWxlICAgIDogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tIDogMjBweDtcbiAgICB0cmFuc2l0aW9uICAgIDogb3BhY2l0eSAwLjJzIGxpbmVhcjtcblxuICAgICY6aG92ZXIgeyBvcGFjaXR5IDogMC43OyB9XG4gICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbSA6IDA7IH1cblxuICAgID4gLnBvc3QtbGluayB7XG4gICAgICBkaXNwbGF5IDogZmxleDtcblxuICAgICAgPiAuaW1hZ2UgeyBmbGV4IDogMCAwIDEwMHB4OyB9XG4gICAgICA+IC5jb250ZW50IHsgZmxleCA6IDE7IH1cbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgcGFkZGluZy1yaWdodCA6IDE1cHg7XG4gICAgICBtaW4td2lkdGggICAgIDogMDtcblxuICAgICAgPiBpbWcge1xuICAgICAgICBAaW5jbHVkZSBvYmplY3QtZml0KCk7XG4gICAgICAgIHdpZHRoICA6IDEwMCU7XG4gICAgICAgIGhlaWdodCA6IDY1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgdGV4dC1hbGlnbiA6IGxlZnQgIWltcG9ydGFudDtcblxuICAgICAgaDUge1xuICAgICAgICBmb250LXNpemUgICAgIDogMC45MnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbSA6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0ICAgOiAxLjM7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvciAgICAgOiAjOTk5O1xuICAgICAgICBmb250LXNpemUgOiAxNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCbG9ncm9sbCBzaW5nbGUgcGFnZSBzdHlsZXMuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc3AtaW50cm8uc2luZ2xlLXBvc3Qge1xuICB0ZXh0LWFsaWduIDogY2VudGVyO1xuXG4gIC5pbnRyby10aXRsZSB7XG4gICAgbGluZS1oZWlnaHQgICAgOiAxLjM7XG4gICAgZm9udC1zaXplICAgICAgOiAzcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtIDogY2FwaXRhbGl6ZTtcbiAgfVxuXG4gIC5zcC1zaW5nbGUtbWV0YSB7XG4gICAgbWFyZ2luLWJvdHRvbSA6IDJyZW07XG4gICAgd2lkdGggICAgICAgICA6IDEwMCU7XG4gICAgZm9udC1zaXplICAgICA6IDA7XG5cbiAgICB1bCB7XG4gICAgICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWwodHJ1ZSk7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheSAgICAgICAgOiBpbmxpbmU7XG4gICAgICAgIGZvbnQtc2l6ZSAgICAgIDogMThweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm0gOiBjYXBpdGFsaXplO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQgOiAnLyc7XG4gICAgICAgICAgcGFkZGluZyA6IDAgMTBweDtcbiAgICAgICAgICBjb2xvciAgIDogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZDphZnRlciB7IGNvbnRlbnQgOiBub25lOyB9XG5cbiAgICAgICAgYSB7IGNvbG9yIDogI2ZmZjsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc3AtYmxvZy1ibG9jay5zaW5nbGUge1xuICAuc3AtYmxvZy1ibG9jayB7IG1hcmdpbi1ib3R0b20gOiA1MHB4OyB9XG5cbiAgLnNwLWJsb2ctaW1hZ2Uge1xuICAgICY6aG92ZXIgeyBvcGFjaXR5IDogMTsgfVxuICAgIC5jYXB0aW9uIHtcbiAgICAgIGNvbG9yICAgICA6ICM5OTk7XG4gICAgICBmb250LXNpemUgOiAxNHB4O1xuICAgICAgd2lkdGggICAgIDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuc3Atc2luZ2xlLXRhZ3Mge1xuICAgIGZvbnQtc2l6ZSA6IDE2cHg7XG4gICAgaSB7XG4gICAgICBmb250LXNpemUgICAgOiAyMnB4O1xuICAgICAgY29sb3IgICAgICAgIDogIzMzMztcbiAgICAgIHBvc2l0aW9uICAgICA6IHJlbGF0aXZlO1xuICAgICAgdG9wICAgICAgICAgIDogMXB4O1xuICAgICAgbGluZS1oZWlnaHQgIDogMS4xO1xuICAgICAgbWFyZ2luLXJpZ2h0IDogN3B4O1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yICAgICAgICAgOiAjMzMzO1xuICAgICAgcGFkZGluZy1yaWdodCA6IDVweDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvciA6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zcC1zaW5nbGUtc29jIHVsIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWwodHJ1ZSk7XG4gICAgZm9udC1zaXplICA6IDA7XG4gICAgbWFyZ2luICAgICA6IC01cHggLTE1cHg7XG4gICAgdGV4dC1hbGlnbiA6IHJpZ2h0O1xuICAgIG1heC13aWR0aCAgOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheSA6IGlubGluZTtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXkgICA6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplIDogMThweDtcbiAgICAgICAgY29sb3IgICAgIDogIzIyMjtcbiAgICAgICAgcGFkZGluZyAgIDogNXB4IDE1cHg7XG4gICAgICAgICY6aG92ZXIgeyBjb2xvciA6ICRicmFuZC1wcmltYXJ5OyB9XG4gICAgICB9XG4gICAgfVxuICB9XG59Il19 */
