/* COLORS ------------------------------------------------------------------------------------------------------------*/
@import url("//hello.myfonts.net/count/32f766");
@font-face {
  font-family: 'HelveticaNeueLTStd';
  font-weight: 500;
  src: url("fonts/Helvetica/32F766_0_0.eot");
  src: url("fonts/Helvetica/32F766_0_0.eot?#iefix") format("embedded-opentype"), url("fonts/Helvetica/32F766_0_0.woff2") format("woff2"), url("fonts/Helvetica/32F766_0_0.woff") format("woff"), url("fonts/Helvetica/32F766_0_0.ttf") format("truetype");
}

@font-face {
  font-family: 'HelveticaNeueLTStd';
  font-weight: bold;
  src: url("fonts/Helvetica/32F766_1_0.eot");
  src: url("fonts/Helvetica/32F766_1_0.eot?#iefix") format("embedded-opentype"), url("fonts/Helvetica/32F766_1_0.woff2") format("woff2"), url("fonts/Helvetica/32F766_1_0.woff") format("woff"), url("fonts/Helvetica/32F766_1_0.ttf") format("truetype");
}

@font-face {
  font-family: 'HelveticaNeueLTStd';
  font-weight: normal;
  src: url("fonts/Helvetica/32F766_2_0.eot");
  src: url("fonts/Helvetica/32F766_2_0.eot?#iefix") format("embedded-opentype"), url("fonts/Helvetica/32F766_2_0.woff2") format("woff2"), url("fonts/Helvetica/32F766_2_0.woff") format("woff"), url("fonts/Helvetica/32F766_2_0.ttf") format("truetype");
}

@font-face {
  font-family: 'HelveticaNeueLTStd';
  font-weight: 300;
  src: url("fonts/Helvetica/32F766_3_0.eot");
  src: url("fonts/Helvetica/32F766_3_0.eot?#iefix") format("embedded-opentype"), url("fonts/Helvetica/32F766_3_0.woff2") format("woff2"), url("fonts/Helvetica/32F766_3_0.woff") format("woff"), url("fonts/Helvetica/32F766_3_0.ttf") format("truetype");
}

.ie--object-fit {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  transition: all 300ms ease-out;
}

.ie--object-fit img {
  opacity: 0;
}

.widget--loading, .loading {
  background: url("../graphics/tail-spin-black.svg") 50% 50% no-repeat;
}

.widget--loading img, .loading img {
  opacity: 0;
  -moz-transition: opacity 0.8s linear;
  -o-transition: opacity 0.8s linear;
  -webkit-transition: opacity 0.8s linear;
  transition: opacity 0.8s linear;
}

.widget--loading.widget--loaded, .widget--loaded.loading {
  background: none !important;
}

.widget--loading.widget--loaded img, .widget--loaded.loading img {
  opacity: 1;
}

.widget__gallery.widget--loading, .widget__gallery.loading {
  background: url("../graphics/tail-spin-black.svg") 50% 50% no-repeat;
}

.loading {
  width: 50px;
  height: 50px;
  top: 50%;
  left: 50%;
  margin-left: -25px;
  position: fixed;
}

.font--bold {
  font-weight: bold;
}

.font--grey {
  opacity: 0.85;
}

.menu_row, #projects_menu__filters li > ul {
  line-height: 65px;
}

.menu_row a, #projects_menu__filters li > ul a, .menu_row span, #projects_menu__filters li > ul span {
  font-size: 1rem;
  padding: 15px 10px;
  color: white;
  text-transform: capitalize;
}

.menu_row a:hover, #projects_menu__filters li > ul a:hover, .menu_row span:hover, #projects_menu__filters li > ul span:hover {
  color: black;
}

.menu_row li, #projects_menu__filters li > ul li {
  float: left;
}

.content--centered--width {
  max-width: 1280px;
  margin: 0 auto;
}

.owl-stage {
  overflow: hidden;
}

.widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) {
  width: 100%;
  overflow: hidden;
  height: calc(100vh - 220px);
}

.widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) .owl-item {
  position: relative;
  z-index: 10;
  opacity: 0.2;
  -moz-transition: opacity 0.6s linear;
  -o-transition: opacity 0.6s linear;
  -webkit-transition: opacity 0.6s linear;
  transition: opacity 0.6s linear;
}

.widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) .owl-item.center {
  opacity: 1;
  z-index: 20;
}

.widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) .widget__image {
  position: relative;
  line-height: calc(100vh - 270px);
  width: auto;
}

.widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) .widget__image img {
  width: auto;
  vertical-align: middle;
  display: inline-block;
  max-width: calc(100vw - 150px);
  max-height: calc(100vh - 270px);
}

.widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) .widget__image .widget__caption {
  display: none;
}

.widget--gallery:after {
  content: '';
  clear: both;
  visibility: hidden;
  display: block;
}

.widget--gallery .owl-nav {
  top: 50%;
  width: 100%;
  position: absolute;
}

.widget--gallery .owl-nav > div {
  top: -25px;
  position: inherit;
  width: 50px;
  height: 50px;
  background: url("../graphics/arrow-left@2x.png") center center no-repeat;
  background-size: 23px 43px;
  text-indent: -50px;
  overflow: hidden;
  cursor: pointer;
}

.widget--gallery .owl-nav .owl-next {
  right: 0;
  background: url("../graphics/arrow-right@2x.png") center center no-repeat;
  background-size: 23px 43px;
}

.owl-dots {
  display: none;
  position: relative;
  top: 2px;
}

.owl-dots .owl-dot {
  width: 12px;
  height: 12px;
  background: #dedede;
  display: inline-block;
  margin-right: 8px;
  cursor: pointer;
}

.owl-dots .owl-dot.active {
  background: black;
}

/* Fade   ------------------------------------------------------------------------------------------------------------*/
.widget--gallery .widget__gallery--fade {
  position: relative;
  height: 100%;
  text-align: center;
}

.widget--gallery .widget__gallery--fade img {
  display: inline-block;
  vertical-align: middle;
  max-width: calc(100vw);
  max-height: calc(100vh - 130px);
  width: auto;
}

.widget--gallery .widget__gallery--fade div:not(.owl-controls) {
  height: 100%;
  width: 100%;
}

.widget--gallery .widget__gallery--fade .widget__image {
  line-height: calc(100vh - 130px);
  position: absolute;
  top: 0;
}

.widget--gallery .widget__gallery--fade .widget__caption {
  top: 0;
  height: 100%;
  position: absolute;
  font-size: 2.2rem;
  color: white;
  letter-spacing: 1px;
  max-width: 50%;
  padding: 0 25%;
  text-align: center;
  font-weight: 300;
}

.widget--gallery .widget__gallery--fade .widget__caption p {
  text-shadow: 2px 2px 2px black;
  position: relative;
  margin: 0;
  top: 50%;
  transform: translateY(-50%);
}

.widget--gallery .widget__gallery--fade .widget__caption:empty {
  display: none;
}

.widget--gallery .widget__gallery--fade + .owl-dots {
  bottom: 20px;
  top: auto;
}

.widget--gallery .widget__gallery--fade + .owl-dots .owl-dot.active {
  background: black;
}

.widget--gallery.widget--gallery--tabs + script + .widget {
  padding-top: 120px;
}

/* SINGLE ------------------------------------------------------------------------------------------------------------*/
.widget--gallery .widget__gallery--single .widget__image > div {
  -webkit-background-repeat: no-repeat;
  -ms-background-repeat: no-repeat;
  background-repeat: no-repeat;
  -webkit-background-attachment: fixed;
  -ms-background-attachment: fixed;
  background-attachment: fixed;
  -webkit-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  -webkit-background-position: center top;
  -ms-background-position: center top;
  background-position: center top;
  margin: 0;
}

.widget__gallery.widget__gallery--single .widget__image {
  height: 100%;
}

.widget__gallery.widget__gallery--single .widget__image > div {
  height: 100%;
}

.widget__more {
  height: 50px;
  width: 100%;
  background: rgba(255, 255, 255, 0.75);
  position: absolute;
  bottom: 0;
  text-align: center;
  z-index: 110;
}

.widget__more .more__arrow {
  height: 18px;
  width: 32px;
  display: inline-block;
  position: relative;
  top: 18px;
  left: 0;
}

.widget__more .more__arrow:after {
  content: '';
  display: block;
  height: 18px;
  width: 32px;
  background: url(../graphics/arrow-down-light@2x.png) center center no-repeat;
  background-size: 32px 18px;
  cursor: pointer;
}

/* MOBILE     --------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
  .widget--gallery .widget__gallery--single .widget__image > div {
    background-attachment: scroll;
  }
  .widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) {
    line-height: calc(100vh - 120px);
  }
  .widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) .widget__image {
    max-height: calc(100vh - 126px);
  }
  .widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) .widget__image img {
    max-height: calc(100vh - 170px);
  }
}

@media screen and (max-width: 768px) {
  .widget--gallery .widget__gallery--fade .widget__caption {
    max-width: 80%;
    padding: 0 10%;
  }
  .widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) .widget__image {
    line-height: calc(100vh - 160px);
  }
  .widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) .widget__image img {
    max-height: calc(100vh - 100px) !important;
  }
  .widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) .owl-height {
    height: calc(100vh - 100px) !important;
  }
  .widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) {
    height: calc(100vh - 120px);
  }
}

@media screen and (max-width: 480px) {
  .widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) {
    height: calc(50vh);
  }
  .widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) .widget__image {
    line-height: calc(50vh);
  }
  .widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) .widget__image img {
    max-height: calc(40vh) !important;
  }
  .widget--gallery .widget__gallery--carousel:not(.widget__gallery--single) .owl-height {
    height: calc(40vh) !important;
  }
  .widget--gallery .owl-nav .owl-next {
    background: url(../graphics/arrow-right@2x.png) center center no-repeat;
    background-size: 18px 31px;
  }
  .widget--gallery .owl-nav > div {
    background: url(../graphics/arrow-left@2x.png) center center no-repeat;
    background-size: 18px 31px;
  }
  body .widget__more .more__arrow {
    top: 4px;
  }
  body .widget__more .more__arrow:after {
    background-size: 16px 9px;
    -webkit-background-position: center center;
    -ms-background-position: center center;
    background-position: center center;
  }
  body #footer .footer__arrow {
    background-size: 16px 9px;
    -webkit-background-position: center center;
    -ms-background-position: center center;
    background-position: center center;
  }
  .widget__more {
    height: 25px;
  }
}

.widget--singleimage .widget__gallery--single {
  height: inherit;
}

.widget--singleimage .widget__gallery--single .widget__image img {
  padding-top: 60px;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.widget--singleimage .widget__gallery--single .widget__gallery--single_caption {
  height: inherit;
  overflow-y: scroll;
  position: relative;
  margin: 0 auto;
  width: 80%;
}

.widget--singleimage .widget__gallery--single .widget__gallery--single_caption p {
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: #333;
}

.widget--singleimage .widget__gallery--single .widget__gallery--single_caption p:first-child {
  padding-top: 140px;
}

.widget--singleimage .widget__gallery--single .widget__gallery--single_caption p:last-child {
  padding-bottom: 30px;
}

::-webkit-scrollbar {
  width: 0px;
  /* remove scrollbar space */
  background: transparent;
  /* optional: just make scrollbar invisible */
}

@media screen and (max-width: 1024px) {
  .widget--singleimage .widget__gallery--single .widget__gallery--single_caption p {
    font-size: 1.1rem;
    line-height: 1.4rem;
  }
  .widget--singleimage .widget__gallery--single .widget__gallery--single_caption p:first-child {
    padding-top: 90px;
  }
}

.widget--copy {
  position: relative;
  z-index: 10;
}

.widget--copy .widget__title.main h2 {
  margin: 0 0 25px 0 !important;
}

.widget--copy .widget__detail {
  max-width: 100%;
  position: relative;
  margin: 0 auto;
  font-weight: 500;
}

.widget--copy .widget__detail img {
  max-width: 100%;
  margin-bottom: 2px;
}

.widget--copy .widget__detail h3 {
  margin-bottom: 20px;
}

.widget--copy .widget__detail h2, .widget--copy .widget__detail h3 {
  font-size: 1.1rem;
}

.widget--copy .widget__detail h2:first-of-type, .widget--copy .widget__detail h3:first-of-type {
  margin-top: 0;
}

.widget--copy .widget__detail a {
  text-decoration: underline;
  color: black;
}

.widget--copy .widget__detail .col-xs-6 > p:first-child {
  margin-top: 25px;
}

.widget--copy .widget__detail .col-xs-4 *:last-child {
  margin-bottom: 0;
}

.widget--copy .widget__image p {
  margin: 0;
}

.widget--copy .widget__image img {
  max-height: 400px;
  object-fit: cover;
}

.widget--copy .header-spacer {
  margin-bottom: 25px;
}

.widget--copy.widget--first .widget__title {
  display: none;
}

.widget--copy .widget__detail ul {
  list-style: square;
  padding-left: 15px;
  margin-bottom: 14px;
}

.widget--copy .widget__detail ul li {
  padding-bottom: 5px;
}

.widget--copy:last-child {
  padding-bottom: 50px;
}

.widget--copy .widget--copy--person h1 {
  font-weight: 400;
}

.widget--copy.widget--full {
  padding: 0;
}

.widget--copy.widget--full .widget__detail {
  max-width: 100%;
}

.widget--copy.widget--right {
  min-height: 300px;
}

.widget--copy.widget--right .widget__image {
  float: right;
}

.widget--copy.widget--left {
  min-height: 300px;
}

.widget--copy.widget--left .widget__caption {
  left: 50%;
}

.widget--person .widget__title a {
  color: #ff0000;
  font-style: initial;
  font-size: 1rem;
}

.widget--person .widget__image {
  max-width: 150px;
  max-height: 150px;
}

.widget--person .widget__image img {
  height: 150px;
  max-width: 100%;
}

.widget--copy .widget__share {
  overflow: hidden;
}

.widget--copy .widget__share .widget__share--options {
  bottom: -3px;
}

@media screen and (max-width: 768px) {
  #mm-0 .widget--copy .col-xs-4 + .col-xs-4 h2 {
    margin-top: 40px;
  }
  #mm-0 .widget--copy .col-xs-4 + .col-xs-4 p:first-child {
    margin-top: 40px;
  }
  #mm-0 .widget--copy .col-xs-3:last-child *:last-child {
    margin-bottom: 0;
  }
}

.widget--summary .widget__detail {
  max-width: 1280px;
  position: relative;
  margin: 0 auto;
}

.widget--summary .widget__detail .col-xs-4 {
  margin-bottom: 45px;
}

.widget--summary h2 {
  margin: 45px 0;
}

.widget--summary .widget__item h3 {
  font-weight: normal;
  margin-bottom: 30px;
}

.widget--summary .widget__item img {
  float: left;
  margin-right: 20px;
}

.widget--buddywall .widget__detail .owl-nav {
  opacity: 1;
  top: 50%;
  left: 0;
  width: 100%;
  position: absolute;
}

.widget--buddywall .widget__detail .owl-nav > div {
  top: -25px;
  position: inherit;
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.5) url("../graphics/arrow-left@2x.png") center center no-repeat;
  background-size: 23px 43px;
  text-indent: -50px;
  overflow: hidden;
  cursor: pointer;
  left: 4px;
}

.widget--buddywall .widget__detail .owl-nav > div.disabled {
  opacity: 0;
}

.widget--buddywall .widget__detail .owl-nav .owl-next {
  left: auto;
  right: 3px;
  background: rgba(255, 255, 255, 0.5) url("../graphics/arrow-right@2x.png") center center no-repeat;
  background-size: 23px 43px;
}

.widget--buddywall .row {
  overflow: hidden;
}

.widget--buddywall .widget__item {
  padding: 0.2rem !important;
}

.widget--buddywall .widget__item > div {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.widget--buddywall .widget__item.col-xs-3 span {
  max-width: 150px;
}

.widget--buddywall .widget__item .widget__title {
  opacity: 0;
  font-size: 1.1rem;
  font-weight: 500;
  padding: 10px;
  height: 100%;
  position: absolute;
  width: 100%;
  top: 0;
  color: white;
  background: rgba(50, 50, 49, 0.74);
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.widget--buddywall .widget__item .widget__title b {
  font-weight: normal;
  display: block;
}

.widget--buddywall .widget__item .widget__title span {
  color: white;
  font-weight: 300;
  margin-top: 5px;
  font-size: 0.9rem;
  display: block;
}

.widget--buddywall .widget__item .widget__title:hover, .widget--buddywall .widget__item .widget__title.active {
  opacity: 1;
}

.widget--buddywall .widget__item .widget__title .more {
  position: relative;
  display: inline-block;
  margin-bottom: 5px;
}

.widget--buddywall .widget__item .widget__title .more span {
  position: relative;
  font-size: inherit;
  font-weight: inherit;
  display: inline;
}

.widget--buddywall .widget__item img {
  width: 100%;
  height: auto;
  max-height: 350px;
  object-fit: cover;
}

.widget--buddywall .widget__item.col-xs-12 > div a img {
  max-height: 100%;
}

.widget--buddywall .widget__panel {
  position: relative;
  overflow: hidden;
  margin-left: -0.2rem;
  margin-right: -0.2rem;
}

.widget--buddywall .widget__panel .row {
  margin-left: 0;
  margin-right: 0;
}

.widget--buddywall .widget__detail .widget__title {
  cursor: pointer;
}

.widget--buddywall .widget__detail .widget__title h2 {
  position: relative;
  display: inline-block;
  margin-bottom: 25px !important;
}

.widget--buddywall .widget__detail .widget__title h2:after {
  content: '';
  display: block;
  width: 21px;
  height: 21px;
  background: url(../graphics/icon-arrow-up@2x.png) no-repeat center center;
  background-size: 21px 21px;
  position: absolute;
  right: -37px;
  top: 1px;
}

.widget--buddywall.closed .widget__title h2:after {
  background: url(../graphics/icon-arrow-down@2x.png) no-repeat center center;
  background-size: 21px 21px;
}

.widget--buddywall .owl-stage .widget__item {
  max-width: 100% !important;
}

/* MOBILE     --------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
  .widget--buddywall .widget__item.col-xs-3 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .widget--buddywall .widget__item.col-xs-6 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin: 0;
  }
  .widget--buddywall .widget__item {
    padding: 0 1rem;
  }
  .widget--buddywall .widget__item {
    max-height: 300px;
  }
}

@media screen and (max-width: 480px) {
  .widget--buddywall .widget__item.col-xs-3 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin: 0;
  }
}

.widget--location .widget__detail {
  position: relative;
  max-width: 100%;
}

.widget--location .gmnoprint {
  bottom: 60px;
  top: auto !important;
}

.widget--location .widget__map > div {
  position: fixed !important;
}

.widget--map .widget__detail {
  height: 100%;
  max-width: 100%;
  overflow: hidden;
}

.gm-style-iw {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.gm-style-iw > div {
  overflow: visible !important;
}

.infoWindow {
  overflow: hidden !important;
}

.gm-style {
  z-index: 1 !important;
}

.custom-marker {
  position: absolute;
  margin-top: -50px;
  margin-left: -30px;
  width: 60px;
  background: black;
  border: 1px solid black;
  z-index: 5;
  cursor: pointer;
  overflow: hidden;
  -webkit-box-shadow: 10px 10px 7px -8px rgba(0, 0, 0, 0.47);
  -moz-box-shadow: 10px 10px 7px -8px rgba(0, 0, 0, 0.47);
  box-shadow: 10px 10px 7px -8px rgba(0, 0, 0, 0.47);
}

.custom-marker img {
  width: 100%;
}

.custom-marker.active {
  margin-top: -210px;
  margin-left: -112px;
  width: 220px;
  min-height: 200px;
  height: auto;
  background: white;
  border: 2px solid white;
  z-index: 100;
}

.custom-marker.active .map__detail {
  display: block;
}

.custom-marker .map__detail {
  padding: 10px 30px 10px 10px;
  color: black;
  font-family: "HelveticaNeueLTStd", Helvetica, Arial, sans-serif;
  font-size: 14px;
  display: none;
}

.custom-marker .map__detail .map__title {
  margin-bottom: 10px;
  position: relative;
  display: inline-block;
}

.custom-marker .map__detail .map__title span {
  position: relative;
}

.custom-marker .map__detail .map__title span:after {
  content: '';
  width: 23px;
  height: 23px;
  position: absolute;
  right: -27px;
  bottom: -4px;
  background: url(../graphics/icon-arrow-link-white@2x.png) no-repeat center center;
  background-size: 15px 15px;
}

.cluster0 {
  -webkit-box-shadow: 10px 10px 7px -8px rgba(0, 0, 0, 0.47);
  -moz-box-shadow: 10px 10px 7px -8px rgba(0, 0, 0, 0.47);
  box-shadow: 10px 10px 7px -8px rgba(0, 0, 0, 0.47);
}

.widget__map > div {
  overflow: hidden;
}

@media screen and (max-width: 1024px) {
  .widget--map .map__projects {
    top: 0;
  }
}

.widget--list {
  padding-bottom: 50px;
}

.widget--list .widget__detail {
  padding: 0 8px;
  height: 100%;
}

.widget--list .widget__detail a {
  padding: 8px 0;
}

.widget--list .widget__detail a span {
  padding: 5px 0;
  color: white;
}

.widget--list .widget__detail li {
  position: relative;
}

.widget--list .widget__detail li:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background: black;
}

.widget--list .list li :hover {
  font-weight: bold;
}

.widget--list .widget__detail .widget__title {
  font-weight: bold;
  padding: 30px 0;
  font-size: 1.1rem;
  width: auto;
}

.widget--list .widget__detail .widget__title .sort span {
  cursor: pointer;
  position: relative;
}

.widget--list .widget__detail .widget__title .sort.asc span:after {
  content: '';
  display: block;
  width: 21px;
  height: 21px;
  background: url(../graphics/icon-arrow-down@2x.png) no-repeat center center;
  background-size: 21px 21px;
  position: absolute;
  right: -37px;
  top: 1px;
}

.widget--list .widget__detail .widget__title .sort.desc span:after {
  content: '';
  display: block;
  width: 21px;
  height: 21px;
  background: url(../graphics/icon-arrow-up@2x.png) no-repeat center center;
  background-size: 21px 21px;
  position: absolute;
  right: -37px;
  top: 1px;
}

#widget__list .row > div:first-child {
  padding-left: 20px;
}

/* MOBILE HIGH DENSITY  ----------------------------------------------------------------------------------------------*/
@media screen and (max-width: 840px) {
  .widget--list .list {
    margin-top: 30px;
    margin-left: 100px;
  }
  .widget--list .list li a > div {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .widget--list .list li a .col-xs-2 {
    display: block !important;
  }
  #widget__list .row > div:first-child {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .widget--list .widget__detail li:after {
    left: 0;
  }
  .widget--list .widget__detail .list__name span {
    font-weight: bold;
  }
  .widget--list .widget__detail .widget__title {
    padding: 0;
    top: 100px;
    position: fixed;
    width: 100px;
    border-right: 1px solid #ebebeb;
    height: 100px;
  }
  .widget--list .widget__detail .widget__title .sort.desc span,
  .widget--list .widget__detail .widget__title .sort.asc span {
    font-weight: bold;
  }
  .widget--list .widget__detail .widget__title .sort.desc span:after,
  .widget--list .widget__detail .widget__title .sort.asc span:after {
    display: none;
  }
  .widget--list .widget__detail .widget__title > div {
    line-height: 15px;
    -ms-flex-preferred-size: 100px;
    flex-basis: 100px;
    max-width: 100px;
    display: block;
  }
  .widget--list .widget__detail .widget__title > div span {
    font-weight: normal;
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 1024px) {
  .widget--list #widget__list .col-xs-2 {
    display: block;
  }
  body .widget--list .col-xs-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
}

.widget--publications h2 {
  margin: 45px 0;
}

.widget--publications .widget__item h3 {
  font-weight: 600;
  margin-bottom: 30px;
  font-size: 0.84rem;
}

.widget--publications .widget__item img {
  width: 100%;
}

.widget--publications .col-xs-10 .col-xs-5 {
  padding-left: 2rem;
}

.widget--publications .widget__detail .row > .col-xs-8 > .row div[class^="col-xs"] {
  margin-bottom: 30px;
}

@media screen and (max-width: 1024px) {
  .widget--publications .col-xs-6 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  body .widget--publications .col-xs-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .widget--publications .widget__item img {
    max-width: 50%;
  }
  body #content .widget--publications .col-xs-5 {
    padding-left: 1rem;
  }
  #mm-0 .widget--publications .widget__item .col-xs-2 {
    display: block;
    -ms-flex-preferred-size: 33.33333333%;
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }
  #mm-0 .widget--publications .widget__item .col-xs-2 img {
    max-width: 100%;
  }
  #mm-0 .widget--publications .widget__item .col-xs-10 {
    -ms-flex-preferred-size: 66.66666667%;
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }
}

@media screen and (max-width: 840px) {
  .widget--publications .col-xs-9 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .widget--publications .col-xs-9 img {
    margin-bottom: 20px;
  }
  body .widget--publications .col-xs-3 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin-bottom: 6px;
  }
  body #content .widget--publications .col-xs-5 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  #mm-0 .widget--publications .col-xs-2 img {
    max-width: 50%;
  }
}

@media screen and (max-width: 480px) {
  .widget--publications h2 {
    margin-top: 0;
  }
  #mm-0 .widget--publications .widget__item .col-xs-2 {
    display: block;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  #mm-0 .widget--publications .widget__item .col-xs-10 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}

.widget--clients {
  padding: 0 20px;
}

.widget--clients .widget__detail {
  max-width: 100%;
  position: relative;
  margin: 0 auto;
}

.widget--clients .widget__detail img {
  height: 100%;
  width: 100%;
  max-width: 180px;
  object-fit: contain;
  display: block;
  margin: auto;
}

.widget--clients .widget__detail a {
  cursor: default;
  height: 100%;
  min-height: 140px;
  padding: 10px;
  width: 100%;
  float: left;
}

.widget--clients .widget__detail .widget__container {
  padding-bottom: 20px;
  height: 100%;
  margin-left: 20px;
}

/* MOBILE     --------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  .widget--clients .widget__container .row {
    margin-left: -4rem;
  }
}

.widget--careers h2 {
  font-size: 1.8em;
  font-weight: 400;
  margin-bottom: 35px;
  margin-top: 0;
}

.widget--careers input, .widget--careers textarea, .widget--careers .qq-upload-button > div {
  width: 100%;
  border: 1px solid #353535;
  padding: 12px;
  padding-right: 60px;
  margin: 0;
  margin-bottom: 20px;
  outline: none;
  background: white;
  color: black;
  font-size: 0.88rem;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.widget--careers input span, .widget--careers textarea span, .widget--careers .qq-upload-button > div span {
  color: #9e9e9e;
}

.widget--careers input.error, .widget--careers textarea.error, .widget--careers .qq-upload-button > div.error {
  border: 1px solid red;
}

.widget--careers input.valid, .widget--careers textarea.valid, .widget--careers .qq-upload-button > div.valid {
  border: 1px solid #ccecd1;
}

.widget--careers textarea {
  min-height: 80px;
}

.widget--careers input[type="submit"] {
  background: #353535 no-repeat center center;
  color: white;
  width: 75px;
  cursor: pointer;
}

.widget--careers input[type="submit"].active {
  background: url("/skins/default/graphics/fine-uploader/loading.gif") no-repeat center center;
  border: 1px solid black;
  text-indent: -100px;
  overflow: hidden;
}

.widget--careers #fine-uploader-validation {
  width: 100%;
  position: relative;
  max-width: 100%;
}

.widget--careers #fine-uploader-validation .qq-file-information {
  border-bottom: 1px solid black;
}

.widget--careers #fine-uploader-validation .qq-file-information * {
  color: black;
}

.widget--careers #fine-uploader-validation .qq-upload-cancel {
  color: black;
}

.widget--careers #fine-uploader-validation .qq-upload-cancel, .widget--careers #fine-uploader-validation .qq-upload-retry, .widget--careers #fine-uploader-validation .qq-upload-delete, .widget--careers #fine-uploader-validation .qq-upload-pause, .widget--careers #fine-uploader-validation .qq-upload-continue {
  border: 1px solid black;
  color: black;
}

.widget--careers #fine-uploader-validation .qq-upload-list {
  -moz-transition: all 0.6s linear;
  -o-transition: all 0.6s linear;
  -webkit-transition: all 0.6s linear;
  transition: all 0.6s linear;
}

.widget--careers #fine-uploader-validation .qq-upload-list li {
  margin-bottom: 20px;
}

.widget--careers ::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: black;
}

.widget--careers ::-moz-placeholder {
  /* Firefox 19+ */
  color: black;
}

.widget--careers :-ms-input-placeholder {
  /* IE 10+ */
  color: black;
}

.widget--careers :-moz-placeholder {
  /* Firefox 18- */
  color: black;
}

.sidebar__item {
  margin-top: 30px;
  border-bottom: 1px solid #b4b4b4;
}

.sidebar__item:first-child {
  margin-top: 0;
}

.sidebar__item a {
  color: black;
  font-weight: bold;
}

.sidebar__item .sidebar__title {
  margin-bottom: 20px;
}

.sidebar__item .sidebar__title span {
  font-weight: bold;
}

.widget--careers .form {
  position: relative;
}

.widget--careers .form__info {
  display: none;
}

.widget--careers .form__info.active {
  display: block;
  margin: 0 0 20px 0;
}

.widget--careers .qq-upload-button > div:after {
  content: '';
  position: absolute;
  right: 15px;
  top: 12px;
  width: 20px;
  height: 17px;
  background: url(../graphics/icon-upload@2x.png);
  background-size: 20px 17px;
}

.widget--careers form .row {
  margin-right: -4px;
  margin-left: -4px;
}

.widget--careers form .col-xs-6, .widget--careers form .col-xs-12 {
  padding-right: 4px;
  padding-left: 4px;
}

.hint {
  display: none;
  background: white;
  color: #555;
}

.hint ul {
  padding-left: 5px;
  margin-left: 0;
  list-style: none;
}

.hint ul li {
  top: -20px;
  position: relative;
  padding: 5px;
  padding-left: 30px;
}

.hint ul li.valid:before {
  background: #47d92f;
  padding: 2px;
  box-shadow: inset 0px 0px 0px 1px white;
  border-radius: 2px;
}

.hint ul li:before {
  content: '';
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 3px;
  background: url(../graphics/icon__info.png) no-repeat center center;
  background-size: 20px 20px;
}

@media screen and (max-width: 480px) {
  .widget--careers .qq-upload-button > div span {
    display: block;
    margin-top: 5px;
  }
}

.widget--featured .widget__detail .owl-nav {
  opacity: 1;
  top: 50%;
  left: 0;
  width: 100%;
  position: absolute;
}

.widget--featured .widget__detail .owl-nav > div {
  top: -25px;
  position: inherit;
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.5) url("../graphics/arrow-left@2x.png") center center no-repeat;
  background-size: 23px 43px;
  text-indent: -50px;
  overflow: hidden;
  cursor: pointer;
  left: 4px;
}

.widget--featured .widget__detail .owl-nav > div.disabled {
  opacity: 0;
}

.widget--featured .widget__detail .owl-nav .owl-next {
  left: auto;
  right: 3px;
  background: rgba(255, 255, 255, 0.5) url("../graphics/arrow-right@2x.png") center center no-repeat;
  background-size: 23px 43px;
}

.widget--featured .widget__detail .widget__panel {
  position: relative;
  overflow: hidden;
  margin-right: -0.2rem !important;
  margin-left: -0.2rem !important;
}

.widget--featured .widget__detail > .row {
  overflow: hidden;
}

.widget--featured .widget__title {
  cursor: pointer;
}

.widget--featured .widget__title h2 {
  position: relative;
  display: inline-block;
  margin-bottom: 25px !important;
}

.widget--featured .widget__title h2:after {
  content: '';
  display: block;
  width: 21px;
  height: 21px;
  background: url(../graphics/icon-arrow-up@2x.png) no-repeat center center;
  background-size: 21px 21px;
  position: absolute;
  right: -37px;
  top: 1px;
}

.widget--featured .widget__item {
  position: relative;
  padding: .2rem;
}

.widget--featured .widget__item .project__content {
  position: relative;
  display: block;
}

.widget--featured .widget__item .project__title {
  opacity: 0;
  font-size: 1.1rem;
  font-weight: 500;
  padding: 10px;
  height: 100%;
  position: absolute;
  width: 100%;
  top: 0;
  color: white;
  background: rgba(50, 50, 49, 0.74);
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.widget--featured .widget__item .project__title b {
  font-weight: normal;
  display: block;
}

.widget--featured .widget__item .project__title span {
  color: white;
  font-weight: 300;
  margin-top: 5px;
  font-size: 0.9rem;
  display: block;
}

.widget--featured .widget__item .project__title:hover, .widget--featured .widget__item .project__title.active {
  opacity: 1;
}

.widget--featured .widget__item .project__title .more {
  position: relative;
  display: inline-block;
  margin-bottom: 5px;
}

.widget--featured .widget__item .project__title .more span {
  position: relative;
  font-size: inherit;
  font-weight: inherit;
  display: inline;
}

.widget--featured .widget__item img {
  width: 100%;
}

.widget--featured.closed h2:after {
  background: url(../graphics/icon-arrow-down@2x.png) no-repeat center center;
  background-size: 21px 21px;
}

.widget--featured.closed .owl-nav {
  opacity: 0;
}

.widget--featured .owl-stage .widget__item {
  max-width: 100% !important;
}

.widget--featured.background--grey {
  padding-top: 20px !important;
}

.widget--spacer {
  height: 100px;
}

@media screen and (max-width: 480px) {
  .widget--spacer {
    height: 50px;
  }
}

.widget {
  background: white;
}

.widget__item__readmore {
  text-align: center;
  margin-top: 10%;
}

.two--column--copy {
  margin-top: 5%;
  -webkit-column-count: 2;
  /* Chrome, Safari, Opera */
  -moz-column-count: 2;
  /* Firefox */
  column-count: 2;
  -webkit-column-gap: 30px;
  /* Chrome, Safari, Opera */
  -moz-column-gap: 30px;
  /* Firefox */
  column-gap: 30px;
}

.widget:not(.last):last-of-type {
  padding-bottom: 5px;
}

.widget {
  position: relative;
}

.widget:not(.widget--gallery):not(.widget--location):not(.widget--list):not(.widget--map):not(.widget--singleimage) {
  padding: 40px 20px 0 20px;
}

.widget .widget__title {
  width: 100%;
}

.widget .widget__title h1, .widget .widget__title h2, .widget .widget__title h3 {
  font-size: 1.1rem;
  margin-bottom: 0;
}

.widget.background--white {
  color: #616060;
}

.background--grey {
  background: #dedede;
}

/* MOBILE     --------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
  .widget .col-xs-2 {
    display: none;
  }
  .widget .col-xs-3 {
    -ms-flex-preferred-size: 33.33333333%;
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }
  .widget .col-xs-4 img {
    width: 100%;
  }
  .widget .col-xs-7 {
    flex-basis: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .widget .col-xs-8 {
    flex-basis: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .widget .col-xs-10 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .widget .col-xs-4 {
    flex-basis: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

@media screen and (max-width: 480px) {
  .widget .col-xs-3 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
    margin: 0;
  }
  .widget .col-xs-4 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin: 0;
  }
  .widget .col-xs-5 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin: 0;
  }
  .widget .col-xs-7 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin: 0 !important;
  }
  .widget .col-xs-8 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin: 0;
  }
  .widget .col-xs-10 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin: 0 !important;
  }
}

.container-fluid,
.container {
  margin-right: auto;
  margin-left: auto;
}

.container-fluid {
  padding-right: 2rem;
  padding-left: 2rem;
}

.row {
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -1rem;
  margin-left: -1rem;
}

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

.col.reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

.col-xs,
.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-xs-offset-0,
.col-xs-offset-1,
.col-xs-offset-2,
.col-xs-offset-3,
.col-xs-offset-4,
.col-xs-offset-5,
.col-xs-offset-6,
.col-xs-offset-7,
.col-xs-offset-8,
.col-xs-offset-9,
.col-xs-offset-10,
.col-xs-offset-11,
.col-xs-offset-12 {
  box-sizing: border-box;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  padding-right: 1rem;
  padding-left: 1rem;
}

.col-xs {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  max-width: 100%;
}

.col-xs-1 {
  -ms-flex-preferred-size: 8.33333333%;
  flex-basis: 8.33333333%;
  max-width: 8.33333333%;
}

.col-xs-2 {
  -ms-flex-preferred-size: 16.66666667%;
  flex-basis: 16.66666667%;
  max-width: 16.66666667%;
}

.col-xs-3 {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  max-width: 25%;
}

.col-xs-4 {
  -ms-flex-preferred-size: 33.33333333%;
  flex-basis: 33.33333333%;
  max-width: 33.33333333%;
}

.col-xs-5 {
  -ms-flex-preferred-size: 41.66666667%;
  flex-basis: 41.66666667%;
  max-width: 41.66666667%;
}

.col-xs-6 {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  max-width: 50%;
}

.col-xs-7 {
  -ms-flex-preferred-size: 58.33333333%;
  flex-basis: 58.33333333%;
  max-width: 58.33333333%;
}

.col-xs-8 {
  -ms-flex-preferred-size: 66.66666667%;
  flex-basis: 66.66666667%;
  max-width: 66.66666667%;
}

.col-xs-9 {
  -ms-flex-preferred-size: 75%;
  flex-basis: 75%;
  max-width: 75%;
}

.col-xs-10 {
  -ms-flex-preferred-size: 83.33333333%;
  flex-basis: 83.33333333%;
  max-width: 83.33333333%;
}

.col-xs-11 {
  -ms-flex-preferred-size: 91.66666667%;
  flex-basis: 91.66666667%;
  max-width: 91.66666667%;
}

.col-xs-12 {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%;
}

.col-xs-offset-0 {
  margin-left: 0;
}

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

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

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

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

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

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

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

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

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

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

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

.start-xs {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  text-align: start;
}

.center-xs {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}

.end-xs {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  text-align: end;
}

.top-xs {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.middle-xs {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.bottom-xs {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.around-xs {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.between-xs {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

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

.last-xs {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

@media only screen and (min-width: 48em) {
  .container {
    width: 49rem;
  }
  .col-sm,
  .col-sm-1,
  .col-sm-2,
  .col-sm-3,
  .col-sm-4,
  .col-sm-5,
  .col-sm-6,
  .col-sm-7,
  .col-sm-8,
  .col-sm-9,
  .col-sm-10,
  .col-sm-11,
  .col-sm-12,
  .col-sm-offset-0,
  .col-sm-offset-1,
  .col-sm-offset-2,
  .col-sm-offset-3,
  .col-sm-offset-4,
  .col-sm-offset-5,
  .col-sm-offset-6,
  .col-sm-offset-7,
  .col-sm-offset-8,
  .col-sm-offset-9,
  .col-sm-offset-10,
  .col-sm-offset-11,
  .col-sm-offset-12 {
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .col-sm {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    max-width: 100%;
  }
  .col-sm-1 {
    -ms-flex-preferred-size: 8.33333333%;
    flex-basis: 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-sm-2 {
    -ms-flex-preferred-size: 16.66666667%;
    flex-basis: 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-sm-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    -ms-flex-preferred-size: 33.33333333%;
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-sm-5 {
    -ms-flex-preferred-size: 41.66666667%;
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-sm-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    -ms-flex-preferred-size: 58.33333333%;
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-sm-8 {
    -ms-flex-preferred-size: 66.66666667%;
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-sm-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    -ms-flex-preferred-size: 83.33333333%;
    flex-basis: 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-sm-11 {
    -ms-flex-preferred-size: 91.66666667%;
    flex-basis: 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-sm-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-sm-offset-0 {
    margin-left: 0;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .start-sm {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    text-align: start;
  }
  .center-sm {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
  }
  .end-sm {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-align: end;
  }
  .top-sm {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .middle-sm {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .bottom-sm {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .around-sm {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  .between-sm {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .first-sm {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .last-sm {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

@media only screen and (min-width: 64em) {
  .container {
    width: 65rem;
  }
  .col-md,
  .col-md-1,
  .col-md-2,
  .col-md-3,
  .col-md-4,
  .col-md-5,
  .col-md-6,
  .col-md-7,
  .col-md-8,
  .col-md-9,
  .col-md-10,
  .col-md-11,
  .col-md-12,
  .col-md-offset-0,
  .col-md-offset-1,
  .col-md-offset-2,
  .col-md-offset-3,
  .col-md-offset-4,
  .col-md-offset-5,
  .col-md-offset-6,
  .col-md-offset-7,
  .col-md-offset-8,
  .col-md-offset-9,
  .col-md-offset-10,
  .col-md-offset-11,
  .col-md-offset-12 {
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .col-md {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    max-width: 100%;
  }
  .col-md-1 {
    -ms-flex-preferred-size: 8.33333333%;
    flex-basis: 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-md-2 {
    -ms-flex-preferred-size: 16.66666667%;
    flex-basis: 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-md-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-md-4 {
    -ms-flex-preferred-size: 33.33333333%;
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-md-5 {
    -ms-flex-preferred-size: 41.66666667%;
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-md-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-md-7 {
    -ms-flex-preferred-size: 58.33333333%;
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-md-8 {
    -ms-flex-preferred-size: 66.66666667%;
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-md-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-md-10 {
    -ms-flex-preferred-size: 83.33333333%;
    flex-basis: 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-md-11 {
    -ms-flex-preferred-size: 91.66666667%;
    flex-basis: 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-md-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-md-offset-0 {
    margin-left: 0;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .start-md {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    text-align: start;
  }
  .center-md {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
  }
  .end-md {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-align: end;
  }
  .top-md {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .middle-md {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .bottom-md {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .around-md {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  .between-md {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .first-md {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .last-md {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

@media only screen and (min-width: 75em) {
  .container {
    width: 76rem;
  }
  .col-lg,
  .col-lg-1,
  .col-lg-2,
  .col-lg-3,
  .col-lg-4,
  .col-lg-5,
  .col-lg-6,
  .col-lg-7,
  .col-lg-8,
  .col-lg-9,
  .col-lg-10,
  .col-lg-11,
  .col-lg-12,
  .col-lg-offset-0,
  .col-lg-offset-1,
  .col-lg-offset-2,
  .col-lg-offset-3,
  .col-lg-offset-4,
  .col-lg-offset-5,
  .col-lg-offset-6,
  .col-lg-offset-7,
  .col-lg-offset-8,
  .col-lg-offset-9,
  .col-lg-offset-10,
  .col-lg-offset-11,
  .col-lg-offset-12 {
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .col-lg {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    max-width: 100%;
  }
  .col-lg-1 {
    -ms-flex-preferred-size: 8.33333333%;
    flex-basis: 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-lg-2 {
    -ms-flex-preferred-size: 16.66666667%;
    flex-basis: 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-lg-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    -ms-flex-preferred-size: 33.33333333%;
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-lg-5 {
    -ms-flex-preferred-size: 41.66666667%;
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-lg-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    -ms-flex-preferred-size: 58.33333333%;
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-lg-8 {
    -ms-flex-preferred-size: 66.66666667%;
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-lg-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    -ms-flex-preferred-size: 83.33333333%;
    flex-basis: 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-lg-11 {
    -ms-flex-preferred-size: 91.66666667%;
    flex-basis: 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-lg-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-lg-offset-0 {
    margin-left: 0;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .start-lg {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    text-align: start;
  }
  .center-lg {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
  }
  .end-lg {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-align: end;
  }
  .top-lg {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .middle-lg {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .bottom-lg {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .around-lg {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  .between-lg {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .first-lg {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .last-lg {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

#project {
  overflow: hidden;
}

#projects, #journals {
  width: 100%;
  overflow: hidden;
  margin-bottom: 4px;
}

#projects .projects__list, #journals .projects__list {
  overflow: hidden;
  background: white;
}

#projects .projects__list .row, #journals .projects__list .row {
  margin-left: -2px;
  margin-right: -2px;
}

#projects .projects__item, #journals .projects__item {
  position: relative;
  padding: 0;
  float: left;
  height: auto;
  left: initial;
  top: initial;
  overflow: hidden;
}

#projects .projects__item .project__content, #journals .projects__item .project__content {
  margin: 32px 64px;
}

#projects .projects__item .project__content .project__image, #journals .projects__item .project__content .project__image {
  display: table;
  width: 100%;
  text-align: center;
}

#projects .projects__item .project__content .project__image > div, #journals .projects__item .project__content .project__image > div {
  display: inline-block;
  display: table-cell;
  vertical-align: middle;
}

#projects .projects__item .project__content .project__image > div img, #journals .projects__item .project__content .project__image > div img {
  height: auto;
  width: 100%;
  margin: 0 auto;
}

#projects .projects__item .project__content .project__image > div .project__title, #journals .projects__item .project__content .project__image > div .project__title {
  text-align: left;
  padding-top: 10px;
  margin-bottom: 0;
  margin: 0 auto;
}

#projects .projects__item .project__content .project__email img, #journals .projects__item .project__content .project__email img {
  width: 15px;
  height: 30px;
  z-index: 100;
  margin-top: -22px;
  margin-right: 1%;
  float: right;
}

#projects .projects__item .project__content .project__email img:hover, #journals .projects__item .project__content .project__email img:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.page--projectspage #mm-0 .widget__title,
.page--journalpage #mm-0 .widget__title {
  padding-top: 5px;
  border-top: 1px solid #b4b4b4;
}

.page--projectspage #mm-0 .widget__title h2,
.page--journalpage #mm-0 .widget__title h2 {
  margin: 25px 0 25px 0 !important;
}

.page--projectspage #mm-0 .widget--copy h3,
.page--journalpage #mm-0 .widget--copy h3 {
  margin: 25px 0 25px 0 !important;
}

/* PROJECT -----------------------------------------------------------------------------------------------------------*/
.projects_menu {
  position: relative;
  background: white;
}

.project__info strong {
  display: inline-block;
  width: 170px;
}

#projects_menu__filters {
  text-transform: uppercase;
}

#projects_menu__filters span {
  padding-left: 30px;
  float: left;
  line-height: 54px;
  font-weight: 600;
  font-size: 1rem;
  margin-right: 10px;
}

#projects_menu__filters > li {
  border-bottom: 1px solid #ff0000;
}

#projects_menu__filters .projects_menu__filter {
  float: left;
  color: #bebebe;
  font-weight: 500;
}

#projects_menu__filters .projects_menu__filter:hover {
  color: black;
}

#projects_menu__filters .projects_menu__filter.clear a {
  color: black;
}

#projects_menu__filters .projects_menu__filter.disabled {
  color: #f2f2f2;
}

#projects_menu__filters .projects_menu__filter.active {
  color: #ff0000;
}

#projects_menu__filters .projects_menu__filter a {
  color: inherit;
}

#project .project__detail .project__share {
  color: #ff0000;
}

#project .project__header {
  height: 66px;
  line-height: 66px;
  margin-top: -20px;
  position: relative;
}

#project .project__header:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: -20px;
  width: 110%;
  height: 1px;
  background: #b4b4b4;
}

#project .project__header--detail {
  overflow: hidden;
  position: relative;
}

#project .project__header--detail > div {
  overflow: hidden;
}

#project .project__header--detail h1 {
  font-size: 1.1rem;
  margin: 0;
}

body #projects_menu__filters li > ul li:first-child {
  padding-left: 0;
}

#project .widget--copy table p {
  margin: 4px;
  height: 21px;
}

#project .widget--copy table td {
  vertical-align: top;
  padding: 0;
}

#project .widget--copy table td:nth-child(1) p {
  font-weight: bold;
  margin-left: 0;
}

.project__title {
  font-size: 1em;
  font-weight: 500;
  padding-top: 5px;
  width: 100%;
  color: black;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.project__title b {
  font-weight: normal;
  display: block;
}

.project__title .more {
  position: relative;
  display: inline-block;
  margin-bottom: 5px;
}

.project__title .more span {
  position: relative;
  font-size: inherit;
  font-weight: inherit;
  display: inline;
}

#project .col-xs-2 {
  display: none;
}

#project .col-xs-8 {
  flex-basis: 100%;
  max-width: 100%;
}

/* Submenu -----------------------------------------------------------------------------------------------------------*/
.submenu__breadcrumbs {
  padding-bottom: 20px;
}

.submenu__breadcrumbs a {
  padding-top: 20px;
  color: black;
  display: inline-block;
  font-size: 1.1em;
  font-weight: 500;
}

.submenu__breadcrumbs a:first-child {
  font-weight: bold;
}

.submenu__menu {
  margin-top: 20px;
  padding-left: 20px;
  position: relative;
}

.submenu__menu p {
  margin: 0;
  color: white;
  font-weight: 500;
}

.submenu__menu ul {
  padding-left: 20px;
  font-size: 0.8rem;
  float: left;
  min-width: 120px;
}

.submenu__menu li {
  padding-bottom: 5px;
}

.submenu__menu li.active a {
  font-weight: 500;
}

.submenu__menu li a {
  font-size: 1.1em;
  opacity: 0.85;
  padding: 2px 25px 2px 0;
  color: black;
  font-weight: 300;
}

.submenu__menu li a:hover {
  opacity: 1;
}

.submenu__menu li.active a {
  opacity: 1;
}

.submenu__menu li.on a {
  opacity: 1;
}

/* ADD This ----------------------------------------------------------------------------------------------------------*/
.addthis_inline_share_toolbox {
  position: absolute;
  bottom: -36px;
  right: 100px;
  opacity: 0;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.addthis_inline_share_toolbox.active {
  opacity: 1;
  bottom: 14px;
}

/* MOBILE     --------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
  .page--projectspage #content .header__submenu {
    display: block !important;
  }
  .journal {
    margin-top: 30px !important;
  }
  #project .owl-dots {
    display: none;
  }
  body.page--projectspage.detail #content .header__submenu .header__detail,
  body.page--journalpage.detail #content .header__submenu .header__detail {
    padding-bottom: 0;
  }
  .page--projectspage.detail .footer__share {
    display: block;
  }
  .page--projectspage.detail .widget--copy h2 {
    margin-top: 12px;
  }
  .project__title {
    opacity: 1;
    height: auto;
    top: auto;
    bottom: 0;
  }
  .project__title span {
    display: none;
  }
}

@media screen and (max-width: 840px) {
  #project .project__detail-title.col-xs-10,
  #project .col-xs-8,
  #project .widget.widget--copy div[class^="col-xs-"],
  .page--journalpage .widget.widget--copy div[class^="col-xs-"] {
    flex-basis: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .page--projectspage .col-xs-3 {
    -ms-flex-preferred-size: 50% !important;
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
  .submenu__menu {
    margin-top: 0;
  }
  .page--projectspage.detail .project__detail-title {
    margin-bottom: 7px !important;
  }
  .page--projectspage .header__detail .col-xs-2 {
    -ms-flex-preferred-size: 30%;
    flex-basis: 30%;
    max-width: 30%;
  }
  #projects .col-xs-3, #journals .col-xs-3 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .submenu__menu ul {
    padding-left: 0;
  }
  .project__detail-title.col-xs-10 {
    -ms-flex-preferred-size: 80%;
    flex-basis: 80%;
    max-width: 80%;
    margin-left: 10%;
    margin-right: 10%;
  }
  #project .project__header--detail h1 {
    height: 100%;
    line-height: 26px;
    margin-top: 7px;
  }
  .page--projectspage .col-xs-9 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .page--projectspage .header__detail .col-xs-2 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .header__menu {
    padding-left: 0;
  }
  .submenu__menu {
    margin-left: -5px;
  }
  .submenu__menu ul {
    position: static !important;
  }
  .submenu__menu ul li {
    display: inline-block;
    margin-right: 5px;
  }
  .submenu__menu ul li a {
    display: block;
    padding: 5px;
    background: white;
    border: 2px solid #646464;
    font-weight: 400;
  }
  #project .project__header {
    height: auto;
    line-height: inherit;
  }
}

@media screen and (max-width: 480px) {
  #project .project__detail-title.col-xs-10 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin: 0;
  }
  .page--projectspage .col-xs-3 {
    -ms-flex-preferred-size: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}

@media screen and (max-width: 1280px) {
  body * {
    -webkit-appearance: none;
  }
}

/* MOBILE HIGH DENSITY  ----------------------------------------------------------------------------------------------*/
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
  .widget__share:before {
    background: url(../graphics/icon_share-2x.png);
    background-size: contain;
  }
  .decorator__button--project:after {
    background: url(../graphics/icon_projects-2x.png);
    background-size: contain;
  }
  .decorator__button--more:after {
    background: url(../graphics/icon_right-arrow-small-2x.png);
    background-size: contain;
  }
  .decorator__button--who:after {
    background: url(../graphics/icon_team-member-2x.png);
    background-size: contain;
  }
}

@media screen and (max-width: 1024px) {
  .footer__updates {
    display: none;
  }
  #header .header__menu {
    flex-basis: 100%;
    max-width: 100%;
  }
  .header__detail #search {
    display: none;
  }
  .main_menu__arrow {
    display: none;
  }
  #main_menu, #sub_menu {
    display: none;
  }
  #content .header__submenu {
    display: none;
  }
  #header .header__detail .col-xs-9 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .header__logo.col-xs-2 {
    flex-basis: 50%;
    max-width: 50%;
  }
}

@media screen and (max-width: 840px) {
  body #header #search.active {
    right: 90%;
  }
  body #header #search.active:before {
    background: #353535 url(../graphics/icon-search@2x.png) no-repeat 13px 23px;
    background-size: 23px 24px;
  }
  .page--search .widget__detail .col-xs-2 {
    display: none;
  }
  .page--search .widget__detail .col-xs-8 {
    -ms-flex-preferred-size: 80%;
    flex-basis: 80%;
    max-width: 80%;
    margin-left: 10%;
    margin-right: 10%;
  }
}

@media screen and (max-width: 480px) {
  .page--search .widget__detail .col-xs-8 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin: 0;
  }
}

.page--journalpage .header__submenu {
  display: block !important;
}

.page--journalpage .header__submenu .submenu__menu {
  padding-left: 20px;
  position: relative;
  width: 100%;
  height: 70px;
}

.page--journalpage .header__submenu .submenu__menu ul {
  font-size: 0.8rem;
  min-width: 120px;
  position: absolute;
  right: 0;
  margin-right: 142px;
}

.page--journalpage.detail .header__submenu.inactive {
  display: none !important;
}

#journals .projects__item {
  height: auto !important;
}

#journals .project__content {
  margin: 2px !important;
  position: relative;
  overflow: hidden;
}

#journals .project__content img {
  width: 100%;
}

#journals .project__title {
  opacity: 0;
  font-size: 1.1rem;
  font-weight: 500;
  padding: 10px;
  height: 100%;
  position: absolute;
  width: 100%;
  top: 0;
  color: white;
  background: rgba(50, 50, 49, 0.74);
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

#journals .project__title:hover, #journals .project__title.active {
  opacity: 1;
}

#journals .project__title a {
  color: black;
}

#journals .project__title p {
  font-weight: 300;
  font-size: 0.9rem;
}

#journals .project__title .project__short-desc p {
  display: inline;
}

#journals .project__title span {
  font-size: 0.9rem;
  font-weight: normal;
  color: inherit;
  display: inline-block;
}

#journals .project__title .project__short-desc {
  margin-top: 15px;
}

.journal h3 {
  font-weight: normal;
  margin-bottom: 15px;
}

.journal .journal__item {
  padding-bottom: 10px;
  border-bottom: 1px solid #b4b4b4;
}

.journal .journal__item:last-child {
  border-bottom: 0;
  margin-bottom: -20px;
}

.journal .journal__item a {
  margin-top: 15px;
  margin-bottom: 10px;
  color: black;
  font-weight: bold;
  display: block;
  text-decoration: none;
}

.journal .journal__item .journal__title {
  margin-top: 21px;
  margin-bottom: 20px;
}

.journal .journal__item .journal__title span {
  font-weight: bold;
}

@media screen and (max-width: 820px) {
  .page--journalpage .project__title {
    position: static;
  }
  .page--journalpage .projects__item {
    min-height: 500px;
  }
}

@media screen and (max-width: 480px) {
  #journals .project__title {
    opacity: 1;
    background: none;
    position: relative;
    color: black;
  }
}

.page--search {
  background: white;
}

#search .widget__detail {
  padding: 50px 16px 50px 16px;
}

#search h1 {
  text-align: center;
  font-weight: normal;
}

#search h1 span {
  position: relative;
}

#search h1 span:before {
  content: '';
  display: block;
  width: 36px;
  height: 38px;
  background: url(/skins/default/graphics/icon-search@2x.png) center center no-repeat;
  background-size: 50% 50%;
  position: absolute;
  left: -38px;
  top: -2px;
}

#search h2 {
  margin: 30px 0;
  font-weight: normal;
}

#search ul li {
  border-bottom: 1px solid #dedede;
}

#search ul li a {
  display: inline-block;
  padding: 8px 0;
  color: black;
  width: 100%;
}

#search ul li:hover a {
  font-weight: bold;
}

.widget--list .widget__detail a span {
  color: black !important;
}

body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-family: "HelveticaNeueLTStd", Helvetica, Arial, sans-serif;
  font-size: 14px;
  background: white;
  color: #616060;
  letter-spacing: 0.5px;
}

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

a {
  text-decoration: none;
}

h1, h2, h3, h4, p {
  margin-top: 0;
}

h1, h2, h3, h4 {
  margin: 0;
}

h2 {
  margin: 20px 0;
}

img {
  display: block;
}

.owl-stage-outer {
  overflow: hidden;
}

.owl-item {
  float: left;
}

.owl-dots {
  display: block;
  position: absolute;
  width: 40%;
  margin-left: 30%;
  text-align: center;
}

.hardwareAccel {
  -webkit-transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  -webkit-perspective: 1000;
}

.animate400 {
  -moz-transition: all 400ms ease-out;
  -webkit-transition: all 400ms ease-out;
  -o-transition: all 400ms ease-out;
  transition: all 400ms ease-out;
}

.animate300 {
  -moz-transition: all 300ms ease-out;
  -webkit-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}

.animate200 {
  -moz-transition: all 200ms ease-out;
  -webkit-transition: all 200ms ease-out;
  -o-transition: all 200ms ease-out;
  transition: all 200ms ease-out;
}

.ie--object-fit {
  background-size: cover;
  background-position: center center;
  transition: all 300ms ease-out;
  height: 100%;
}

.ie--object-fit img {
  opacity: 0 !important;
}

/* FONTS      --------------------------------------------------------------------------------------------------------*/
.font--wieght-500 {
  font-weight: 500;
}

.font--wieght-400 {
  font-weight: 400;
}

.font--wieght-300 {
  font-weight: 300;
}

/* DECORATORS --------------------------------------------------------------------------------------------------------*/
.decorator__button, .decorator__button--red, .decorator__button--white {
  margin-top: 5px;
  display: inline-block;
  position: relative;
}

.decorator__button a, .decorator__button--red a, .decorator__button--white a {
  display: block;
  padding: 15px 22px;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.decorator__button--red a {
  font-size: 1.125rem;
  color: white;
  background: #ff0000;
}

.decorator__button--red a:hover {
  color: #ff0000;
  background: white;
}

.decorator__button--white a {
  color: black;
  background: white;
}

.decorator__button--small a {
  padding: 2px 0;
  background: none;
  color: #ff0000;
}

.decorator__icon, .decorator__button--project:after, .decorator__button--more:after, .decorator__button--who:after {
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
  display: block;
  position: absolute;
  content: '';
  width: 16px;
  height: 16px;
  right: 11px;
  top: 7px;
}

.decorator__share {
  font-size: 0.82rem;
  text-transform: uppercase;
  font-weight: 500;
  position: relative;
}

.decorator__share > a {
  padding: 10px;
  color: black;
  text-align: right;
}

.decorator__share > a:before {
  content: '';
  position: absolute;
  top: 22px;
  right: 74px;
  display: block;
  width: 20px;
  height: 22px;
  background: url(../graphics/icon-share@2x.png) no-repeat center center;
  background-size: 20px 22px;
}

.footer__share {
  display: none;
}

.footer__share .decorator__share > a {
  color: white;
  height: 66px;
  display: block;
  width: 40px;
  margin-top: 10px;
  padding-left: 25px;
}

.footer__share .decorator__share > a:before {
  top: 8px;
  left: 0;
  right: auto;
  background: url(../graphics/icon-share-white@2x.png) no-repeat center center;
  background-size: 20px 22px;
}

.footer__share .addthis_inline_share_toolbox {
  bottom: 96px;
  left: -2px;
  width: 35px;
}

/* ROUND BUTTON ------------------------------------------------------------------------------------------------------*/
.round__button a {
  display: block;
  width: 20px;
  height: 20px;
  background-color: white;
  border: 2px solid #ff0000;
  border-radius: 50%;
  background-size: 16px 16px;
  background-repeat: no-repeat;
  background-position: center;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.round__button a:hover {
  background-color: #ff0000;
  border: 2px solid white;
}

.round__button.round__button__leftbutton a {
  background-image: url(../graphics/arrow-left-red.svg);
}

.round__button.round__button__rightbutton a {
  background-image: url(../graphics/arrow-right-red.svg);
}

.round__button.round__button__leftbutton a:hover {
  background-image: url(../graphics/arrow-left-white.svg);
}

.round__button.round__button__rightbutton a:hover {
  background-image: url(../graphics/arrow-right-white.svg);
}

.round__button.round__button--black a {
  border: 2px solid #000;
}

.round__button.round__button--black a:hover {
  background-color: white;
  border: 2px solid #ff0000;
}

.round__button__leftbutton.round__button--black a {
  background-image: url(../graphics/arrow-left-black.svg);
}

.round__button__rightbutton.round__button--black a {
  background-image: url(../graphics/arrow-right-black.svg);
}

.decorator__button--project:after {
  background: url(../graphics/icon_projects.png);
}

.decorator__button--more:after {
  background: url(../graphics/icon_right-arrow-small.png);
}

.decorator__button--who:after {
  background: url(../graphics/icon_team-member.png);
}

/* HEADER ------------------------------------------------------------------------------------------------------------*/
#content {
  opacity: 0;
  overflow: hidden;
  margin-top: 64px;
  margin-bottom: 55px;
  background: white;
  -moz-transition: opacity 0.5s ease-out;
  -o-transition: opacity 0.5s ease-out;
  -webkit-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}

#content .header__submenu {
  padding: 0 20px;
  background: white;
  overflow: hidden;
  z-index: 11;
  position: relative;
}

#content .header__submenu .header__detail {
  max-width: 100%;
  margin: 0 auto;
  padding-bottom: 17px;
}

#content .header__submenu .header__detail #sub_menu > li {
  display: none;
}

#content .header__submenu .header__detail #sub_menu > li.on {
  display: block;
}

#content .header__submenu .header__detail .header__menu.col-xs-9 {
  flex-basis: 83.33333333%;
  max-width: 83.33333333%;
}

#content .header__submenu.inactive {
  display: none;
}

#content .header__submenu.inactive .header__detail {
  padding-bottom: 0;
}

#content.content--submenu {
  margin-top: 108px;
}

#content.active {
  opacity: 1;
}

#header {
  position: fixed;
  top: 0;
  width: 100%;
  background: white;
  z-index: 15;
}

#header .header__detail {
  padding: 0 20px;
}

#header .header__detail .row {
  position: relative;
}

#header > .header__detail:after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  background: #dedede;
  left: 0;
}

#header .header__menu {
  z-index: 10;
  position: relative;
}

#header .header__menu.col-xs-10 {
  padding-right: 40px;
}

#header .header__logo {
  width: 182px;
  height: 63px;
  overflow: hidden;
}

#header .header__logo a {
  background: url(../graphics/hcl-logo.svg) no-repeat -7px 10px;
  background-size: 150px;
  width: 100%;
  display: block;
  height: 100%;
  text-indent: -100px;
  position: relative;
  top: 1px;
}

#main_menu, #sub_menu {
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

#main_menu.active--search, .active--search#sub_menu {
  margin-right: 140px;
}

#main_menu > li, #sub_menu > li {
  margin-top: 18px;
}

#main_menu > li > a, #sub_menu > li > a {
  line-height: 30px;
  font-size: 1.2rem;
  font-weight: 300;
  padding: 17px 0 21px 0 !important;
}

#main_menu > li:hover > a, #sub_menu > li:hover > a {
  opacity: 1;
  font-weight: 500;
}

#main_menu > li:first-child, #sub_menu > li:first-child {
  padding-left: 0;
}

#main_menu > li:first-child:before, #sub_menu > li:first-child:before {
  content: '';
  width: 1px;
  height: 100%;
  position: absolute;
  left: -20px;
  background: #dedede;
  display: block;
}

#main_menu > li.on.current > a, #sub_menu > li.on.current > a {
  opacity: 1;
  font-weight: 500;
}

#main_menu li, #sub_menu li {
  padding: 0 20px;
  height: 30px;
  width: 80px;
  float: left;
  position: relative;
  text-align: left;
}

#main_menu li:hover ul, #sub_menu li:hover ul {
  height: initial;
}

#main_menu li.end-xs, #sub_menu li.end-xs {
  float: right;
}

#main_menu li a, #sub_menu li a {
  opacity: 0.85;
  color: #353535;
  padding: 0;
  font-weight: 300;
}

#main_menu li ul, #sub_menu li ul {
  border-right: 1px solid #dedede;
  padding-right: 20px;
  display: none;
  position: absolute;
  top: 66px;
  z-index: 10;
}

#main_menu li ul li, #sub_menu li ul li {
  height: 17px;
  white-space: nowrap;
  line-height: normal;
  float: none;
  padding: 2px 0;
  font-size: 1.1em;
}

#main_menu li ul li.on a, #sub_menu li ul li.on a {
  opacity: 1;
  font-weight: 500;
}

#main_menu li ul li:first-child, #sub_menu li ul li:first-child {
  margin-top: 0;
  padding-top: 0;
}

#main_menu li ul li:hover a, #sub_menu li ul li:hover a {
  opacity: 1;
}

#sub_menu > li {
  margin-top: 20px;
  border-left: 0 !important;
  height: 100%;
  overflow: hidden;
}

#sub_menu > li.on {
  border-right: 1px solid #646464;
}

#sub_menu > li > a {
  display: none;
}

#sub_menu > li > ul {
  position: static;
  border-right: none;
}

#sub_menu > li > ul.on {
  display: block;
  top: 0;
}

#sub_menu > li.on > ul {
  display: block;
  top: 0;
}

#header .main_menu__submenu {
  height: 0;
  position: absolute;
  width: 100%;
  background: white;
  left: 0;
  top: 64px;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

#header .main_menu__arrow {
  opacity: 0;
  height: 2px;
  width: 20px;
  background: #353535;
  position: absolute;
  bottom: -2px;
  left: 0;
  -moz-transition: all 0.4s linear;
  -o-transition: all 0.4s linear;
  -webkit-transition: all 0.4s linear;
  transition: all 0.4s linear;
}

#header #search {
  position: absolute;
  right: -5px;
  margin: 0;
  height: 100%;
  width: 60px;
  cursor: pointer;
  z-index: 20;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

#header #search:before {
  content: '';
  width: 50px;
  height: 100%;
  background: white url(../graphics/icon-search-black@2x.png) no-repeat center 23px;
  background-size: 18px 19px;
  position: absolute;
  left: 3px;
}

#header #search.active {
  right: -50%;
  width: 100%;
}

#header #search.active input {
  opacity: 1;
}

#header #search.active:before {
  left: 10px;
  top: 4px;
  height: 59px;
  background: white url(../graphics/icon-search-black@2x.png) no-repeat 15px 19px;
  background-size: 18px 19px;
}

#header #search.active form:before {
  display: none;
}

#header #search form {
  height: 100%;
}

#header #search form ::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: black;
}

#header #search form ::-moz-placeholder {
  /* Firefox 19+ */
  color: black;
}

#header #search form :-ms-input-placeholder {
  /* IE 10+ */
  color: black;
}

#header #search form :-moz-placeholder {
  /* Firefox 18- */
  color: black;
}

#header #search form * {
  height: 100%;
}

#header #search form:before {
  content: '';
  width: 1px;
  height: 30px;
  position: absolute;
  left: 0;
  top: 18px;
  border-left: 1px solid #dedede;
}

#header #search input {
  margin-left: 60px;
  width: 100%;
  font-size: 0.8rem;
  opacity: 0;
  color: black;
  padding: 0 0 0 25px;
  height: 100%;
  border: 0;
  outline: none;
  background: #dedede;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

#mobile__search {
  margin: 0 10px;
}

#mobile__search #sInput input {
  margin: 0;
  border: 0;
  padding: 5px;
  width: 100%;
  outline: none;
}

/* FOOTER ------------------------------------------------------------------------------------------------------------*/
#footer {
  height: 55px;
  background: white;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 100;
}

#footer .footer__detail {
  padding: 0 20px;
}

#footer ul {
  text-align: right;
  position: relative;
  line-height: 56px;
  display: block;
  color: #353535;
}

#footer ul li {
  font-weight: 500;
  font-size: 0.8rem;
  display: inline-block;
  margin-right: 5px;
}

#footer ul li a {
  font-style: italic;
  padding: 10px;
  color: inherit;
  text-transform: uppercase;
}

#footer ul li:last-child {
  margin-right: 0;
}

#footer .footer__updates p {
  color: #353535;
  line-height: 56px;
}

#footer .footer__updates .updates__container {
  overflow: hidden;
  width: 30%;
  max-width: 350px;
  position: absolute;
  left: 90px;
  top: 0;
}

#footer .footer__updates ul {
  position: relative;
  width: 900px;
  opacity: 0;
}

#footer .footer__updates ul li {
  position: relative;
  top: 0;
  text-align: left;
  height: auto;
  float: left;
  opacity: 1;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

#footer .footer__updates ul li a {
  text-transform: capitalize;
  font-size: 14px;
}

#footer .footer__updates ul li.inactive {
  height: 0;
}

#footer .footer__arrow {
  opacity: 0;
  position: absolute;
  left: 50%;
  background: url(../graphics/arrow-up-light-grey@2x.png) no-repeat;
  background-size: 36px 22px;
  bottom: 18px;
  width: 32px;
  margin-left: -18px;
  height: 18px;
  -moz-transition: all 0.6s linear;
  -o-transition: all 0.6s linear;
  -webkit-transition: all 0.6s linear;
  transition: all 0.6s linear;
  cursor: pointer;
}

#footer .footer__arrow.active {
  opacity: 1;
}

#footer .row .social li {
  overflow: hidden;
  margin-top: 15px;
  margin-right: -4px;
  width: 24px;
  height: 24px;
  background-size: 24px 24px !important;
}

#footer .row .social li.social__icon--facebook {
  background: url(../graphics/social/icon-facebook-2x.png) no-repeat center center;
}

#footer .row .social li.social__icon--in {
  background: url(../graphics/social/icon-linkedin-2x.png) no-repeat center center;
}

#footer .row .social li.social__icon--instagram {
  background: url(../graphics/social/icon-instagram-2x.png) no-repeat center center;
}

#footer .row .social li.social__icon--twitter {
  background: url(../graphics/social/icon-twitter-2x.png) no-repeat center center;
}

#footer .row .social li.social__icon--you-tube {
  background: url(../graphics/social/icon-youtube-2x.png) no-repeat center center;
}

#footer .row .social li a {
  padding: 0;
  width: 24px;
  height: 24px;
  display: block;
  text-indent: 28px;
}

/* MOBILE MENU -------------------------------------------------------------------------------------------------------*/
#mm-0 {
  background: white;
}

#mobile__menu {
  display: none;
}

#mobile__menu.mm-opened {
  display: block;
}

#mobile__menu li a {
  color: black;
}

.mm-page {
  overflow: hidden;
}

body .mm-menu {
  background: white !important;
}

#mm-blocker {
  -webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.75);
  overflow: hidden;
}

body .mm-listview > li:not(.mm-divider):after {
  left: 0;
}

.mobile__button {
  display: none;
  width: 32px;
  height: 32px;
  position: absolute;
  top: -48px;
  right: 8px;
  font-size: 23px;
  color: black;
  text-align: center;
  cursor: pointer;
}

#slide__menu {
  background: #f7f7f7;
}

/* Tables          ---------------------------------------------------------------------------------------------------*/
.table--2col, .table--3col {
  margin-bottom: 9px;
}

.table--2col table, .table--3col table {
  margin-top: -2px;
  width: 100% !important;
}

.table--2col table tr, .table--3col table tr {
  vertical-align: 100%;
}

.table--2col table td, .table--3col table td {
  padding: 5px 0 !important;
}

.table--2col table td:first-of-type, .table--3col table td:first-of-type {
  padding-right: 25px !important;
}

.table--2col tr td:nth-child(1), .table--3col tr td:nth-child(1) {
  width: 25% !important;
}

.table--2col tr td:nth-child(2), .table--3col tr td:nth-child(2) {
  width: 75% !important;
}

.table--3col tr td:nth-child(1) {
  width: 33% !important;
}

.table--3col tr td:nth-child(2) {
  width: 33% !important;
}

.table--3col tr td:nth-child(3) {
  width: 33% !important;
}

/* PAGE NOT FOUND  ---------------------------------------------------------------------------------------------------*/
.page--pagenotfound {
  background: white;
}

.page--pagenotfound .widget__detail {
  padding-left: 16px;
  position: relative;
}

.page--pagenotfound .widget__detail .col-xs-8 {
  position: relative;
}

.page--pagenotfound .widget__detail .col-xs-8 > div {
  position: fixed;
  left: 0;
  right: 0;
  top: 50%;
  margin-top: -57px;
  bottom: 0;
}

.page--pagenotfound .widget__detail .col-xs-8 > div h1 {
  text-align: center;
  font-size: 3rem;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX3dpZGdldHMuc2NzcyIsIndpZGdldHMvX2dhbGxlcnkuc2NzcyIsIndpZGdldHMvX3NpbmdsZWltYWdlLnNjc3MiLCJ3aWRnZXRzL19jb3B5LnNjc3MiLCJ3aWRnZXRzL19zdW1tYXJ5LnNjc3MiLCJ3aWRnZXRzL19idWRkeXdhbGwuc2NzcyIsIndpZGdldHMvX2xvY2F0aW9uLnNjc3MiLCJ3aWRnZXRzL19tYXAuc2NzcyIsIndpZGdldHMvX2xpc3Quc2NzcyIsIndpZGdldHMvX3B1YmxpY2F0aW9ucy5zY3NzIiwid2lkZ2V0cy9fY2xpZW50cy5zY3NzIiwid2lkZ2V0cy9fY2FyZWVycy5zY3NzIiwid2lkZ2V0cy9fZmVhdHVyZWRfcHJvamVjdHMuc2NzcyIsIndpZGdldHMvX3NwYWNlci5zY3NzIiwiX2NvbHVtbnMuc2NzcyIsIl9wcm9qZWN0cy5zY3NzIiwiX21vYmlsZS5zY3NzIiwiX2pvdXJuYWxzLnNjc3MiLCJfc2VhcmNoLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogQ09MT1JTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiRyZWQ6ICNmZjAwMDA7XHJcblxyXG4kZ3JleTogIzM1MzUzNTtcclxuJGdyZXktd2hpdGU6ICNkZWRlZGU7XHJcbiRibHVlOiAjMDRmZmZmO1xyXG4kbGlnaHRfZ3JleTogIzY0NjQ2NDtcclxuJG1heF93aWR0aDogMTAwJTtcclxuJGdsb2JhbF9wYWRkaW5nOiAwIDIwcHg7XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xyXG4gIC1tb3otdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XHJcbiAgLW8tdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcclxuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBib3gtc2l6aW5nKCkge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuQG1peGluIGZsZXgtY2VudGVyKCkge1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuQG1peGluIHByZWZpeCgkcHJvcGVydHksICR2YWx1ZSwgJHByZWZpeGVzOiAoKSkge1xyXG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcclxuICAgICN7Jy0nICsgJHByZWZpeCArICctJyArICRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8vIE91dHB1dCBzdGFuZGFyZCBub24tcHJlZml4ZWQgZGVjbGFyYXRpb25cclxuICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxufVxyXG5cclxuXHJcbkBpbXBvcnQgdXJsKFwiLy9oZWxsby5teWZvbnRzLm5ldC9jb3VudC8zMmY3NjZcIik7XHJcbkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhTmV1ZUxUU3RkJzsgIGZvbnQtd2VpZ2h0OiA1MDA7IHNyYzogdXJsKCdmb250cy9IZWx2ZXRpY2EvMzJGNzY2XzBfMC5lb3QnKTtzcmM6IHVybCgnZm9udHMvSGVsdmV0aWNhLzMyRjc2Nl8wXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJ2ZvbnRzL0hlbHZldGljYS8zMkY3NjZfMF8wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLHVybCgnZm9udHMvSGVsdmV0aWNhLzMyRjc2Nl8wXzAud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnZm9udHMvSGVsdmV0aWNhLzMyRjc2Nl8wXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO31cclxuQGZvbnQtZmFjZSB7Zm9udC1mYW1pbHk6ICdIZWx2ZXRpY2FOZXVlTFRTdGQnOyBmb250LXdlaWdodDogYm9sZDsgc3JjOiB1cmwoJ2ZvbnRzL0hlbHZldGljYS8zMkY3NjZfMV8wLmVvdCcpO3NyYzogdXJsKCdmb250cy9IZWx2ZXRpY2EvMzJGNzY2XzFfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnZm9udHMvSGVsdmV0aWNhLzMyRjc2Nl8xXzAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksdXJsKCdmb250cy9IZWx2ZXRpY2EvMzJGNzY2XzFfMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCdmb250cy9IZWx2ZXRpY2EvMzJGNzY2XzFfMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7fVxyXG5AZm9udC1mYWNlIHtmb250LWZhbWlseTogJ0hlbHZldGljYU5ldWVMVFN0ZCc7ICBmb250LXdlaWdodDogbm9ybWFsOyBzcmM6IHVybCgnZm9udHMvSGVsdmV0aWNhLzMyRjc2Nl8yXzAuZW90Jyk7c3JjOiB1cmwoJ2ZvbnRzL0hlbHZldGljYS8zMkY3NjZfMl8wLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCdmb250cy9IZWx2ZXRpY2EvMzJGNzY2XzJfMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSx1cmwoJ2ZvbnRzL0hlbHZldGljYS8zMkY3NjZfMl8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJ2ZvbnRzL0hlbHZldGljYS8zMkY3NjZfMl8wLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTt9XHJcbkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhTmV1ZUxUU3RkJzsgIGZvbnQtd2VpZ2h0OiAzMDA7IHNyYzogdXJsKCdmb250cy9IZWx2ZXRpY2EvMzJGNzY2XzNfMC5lb3QnKTtzcmM6IHVybCgnZm9udHMvSGVsdmV0aWNhLzMyRjc2Nl8zXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJ2ZvbnRzL0hlbHZldGljYS8zMkY3NjZfM18wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLHVybCgnZm9udHMvSGVsdmV0aWNhLzMyRjc2Nl8zXzAud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnZm9udHMvSGVsdmV0aWNhLzMyRjc2Nl8zXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO31cclxuXHJcbi5pZS0tb2JqZWN0LWZpdCB7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbi5pZS0tb2JqZWN0LWZpdCBpbWcge1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi53aWRnZXQtLWxvYWRpbmcge1xyXG4gIGJhY2tncm91bmQ6IHVybCgnLi4vZ3JhcGhpY3MvdGFpbC1zcGluLWJsYWNrLnN2ZycpIDUwJSA1MCUgbm8tcmVwZWF0O1xyXG4gIGltZyB7XHJcbiAgICBvcGFjaXR5OjA7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC44cyBsaW5lYXIpO1xyXG4gIH1cclxuICAmLndpZGdldC0tbG9hZGVkIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgaW1nIHsgb3BhY2l0eToxIH07XHJcbiAgfVxyXG59XHJcblxyXG4ud2lkZ2V0X19nYWxsZXJ5LndpZGdldC0tbG9hZGluZyB7XHJcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9ncmFwaGljcy90YWlsLXNwaW4tYmxhY2suc3ZnJykgNTAlIDUwJSBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbi5sb2FkaW5nIHtcclxuICBAZXh0ZW5kIC53aWRnZXQtLWxvYWRpbmc7XHJcbiAgd2lkdGg6NTBweDtcclxuICBoZWlnaHQ6NTBweDtcclxuICB0b3A6NTAlO1xyXG4gIGxlZnQ6NTAlO1xyXG4gIG1hcmdpbi1sZWZ0Oi0yNXB4O1xyXG4gIHBvc2l0aW9uOmZpeGVkO1xyXG59XHJcblxyXG4uZm9udC0tYm9sZCB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5mb250LS1ncmV5IHtcclxuICBvcGFjaXR5OjAuODU7XHJcbn1cclxuXHJcbi5tZW51X3JvdyB7XHJcbiAgbGluZS1oZWlnaHQ6IDY1cHg7XHJcbiAgYSwgc3BhbiB7XHJcbiAgICBmb250LXNpemU6MXJlbTtcclxuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICAgIGNvbG9yOiB3aGl0ZTsgIFxyXG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAmOmhvdmVyIHsgY29sb3I6YmxhY2s7IH1cclxuICB9XHJcbiAgbGkgeyBmbG9hdDogbGVmdDsgfVxyXG4gID4gbGkub24gPiBhIHsgfVxyXG59XHJcblxyXG4uY29udGVudC0tY2VudGVyZWQtLXdpZHRoe1xyXG4gIG1heC13aWR0aDoxMjgwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbkBpbXBvcnQgJ3dpZGdldHMnO1xyXG5AaW1wb3J0ICdjb2x1bW5zJztcclxuQGltcG9ydCAncHJvamVjdHMnO1xyXG5AaW1wb3J0ICdtb2JpbGUnO1xyXG5AaW1wb3J0ICdqb3VybmFscyc7XHJcbkBpbXBvcnQgJ3NlYXJjaCc7XHJcblxyXG4ud2lkZ2V0LS1saXN0IC53aWRnZXRfX2RldGFpbCBhIHNwYW4ge1xyXG4gIGNvbG9yOmJsYWNrIWltcG9ydGFudDtcclxufVxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbmJvZHkge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlTFRTdGRcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgY29sb3I6IzYxNjA2MDtcclxuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcbn1cclxuXHJcbnVsIHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuYSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5oMSwgaDIsIGgzLCBoNCwgcCB7XHJcbiAgbWFyZ2luLXRvcDowO1xyXG59XHJcblxyXG5oMSwgaDIsIGgzLCBoNCB7XHJcbiAgbWFyZ2luOjA7XHJcbn1cclxuXHJcbmgyIHtcclxuICBtYXJnaW46IDIwcHggMDtcclxufVxyXG5cclxuaW1nIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLm93bC1zdGFnZS1vdXRlciB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm93bC1pdGVtIHtcclxuICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLm93bC1kb3RzIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDQwJTtcclxuICBtYXJnaW4tbGVmdDogMzAlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmhhcmR3YXJlQWNjZWwge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwO1xyXG59XHJcblxyXG4uYW5pbWF0ZTQwMCB7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1vdXQ7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1vdXQ7XHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLW91dDtcclxufVxyXG5cclxuLmFuaW1hdGUzMDAge1xyXG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2Utb3V0O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2Utb3V0O1xyXG4gIC1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLW91dDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcblxyXG4uYW5pbWF0ZTIwMCB7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQ7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQ7XHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLW91dDtcclxufVxyXG5cclxuLmllLS1vYmplY3QtZml0IHtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2Utb3V0O1xyXG4gIGhlaWdodDoxMDAlO1xyXG5cclxuICBpbWcge1xyXG4gICAgb3BhY2l0eTogMCFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBGT05UUyAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLmZvbnQtLXdpZWdodC01MDAge1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5mb250LS13aWVnaHQtNDAwIHtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG4uZm9udC0td2llZ2h0LTMwMCB7XHJcbiAgZm9udC13ZWlnaHQ6IDMwMDtcclxufVxyXG5cclxuXHJcbi8qIERFQ09SQVRPUlMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4uZGVjb3JhdG9yX19idXR0b24ge1xyXG4gIG1hcmdpbi10b3A6IDVweDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDE1cHggMjJweDtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4zcyBsaW5lYXIpO1xyXG4gIH1cclxufVxyXG5cclxuLmRlY29yYXRvcl9fYnV0dG9uLS1yZWQge1xyXG4gIEBleHRlbmQgLmRlY29yYXRvcl9fYnV0dG9uO1xyXG4gIGEge1xyXG4gICAgZm9udC1zaXplOjEuMTI1cmVtO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZDogJHJlZDtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZGVjb3JhdG9yX19idXR0b24tLXdoaXRlIHtcclxuICBAZXh0ZW5kIC5kZWNvcmF0b3JfX2J1dHRvbjtcclxuICBhIHtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIH1cclxufVxyXG5cclxuLmRlY29yYXRvcl9fYnV0dG9uLS1zbWFsbCB7XHJcbiAgYSB7IFxyXG4gICAgcGFkZGluZzoycHggMDtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBjb2xvcjokcmVkO1xyXG4gIH1cclxufVxyXG5cclxuLmRlY29yYXRvcl9faWNvbiB7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjNzIGxpbmVhcik7XHJcbiAgZGlzcGxheTpibG9jaztcclxuICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICBjb250ZW50OicnO1xyXG4gIHdpZHRoOjE2cHg7XHJcbiAgaGVpZ2h0OjE2cHg7XHJcbiAgcmlnaHQ6IDExcHg7XHJcbiAgdG9wOiA3cHg7XHJcbn1cclxuXHJcbi5kZWNvcmF0b3JfX3NoYXJlIHtcclxuICBmb250LXNpemU6IDAuODJyZW07XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXdlaWdodDo1MDA7XHJcbiAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgPiBhIHtcclxuICAgIHBhZGRpbmc6MTBweDtcclxuICAgIGNvbG9yOmJsYWNrO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgdG9wOiAyMnB4O1xyXG4gICAgICByaWdodDogNzRweDtcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgd2lkdGg6MjBweDtcclxuICAgICAgaGVpZ2h0OjIycHg7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9ncmFwaGljcy9pY29uLXNoYXJlQDJ4LnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMnB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZvb3Rlcl9fc2hhcmUge1xyXG4gIGRpc3BsYXk6bm9uZTtcclxuICAuZGVjb3JhdG9yX19zaGFyZSA+IGEge1xyXG4gICAgY29sb3I6d2hpdGU7XHJcbiAgICBoZWlnaHQ6IDY2cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgdG9wOiA4cHg7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OmF1dG87XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9ncmFwaGljcy9pY29uLXNoYXJlLXdoaXRlQDJ4LnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMnB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuYWRkdGhpc19pbmxpbmVfc2hhcmVfdG9vbGJveCB7XHJcbiAgICBib3R0b206IDk2cHg7XHJcbiAgICBsZWZ0OiAtMnB4O1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBST1VORCBCVVRUT04gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLnJvdW5kX19idXR0b24ge1xyXG4gIGEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDoyMHB4O1xyXG4gICAgaGVpZ2h0OjIwcHg7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkcmVkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTZweCAxNnB4O1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuM3MgbGluZWFyKTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5yb3VuZF9fYnV0dG9uLnJvdW5kX19idXR0b25fX2xlZnRidXR0b24gYXtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vZ3JhcGhpY3MvYXJyb3ctbGVmdC1yZWQuc3ZnKTtcclxufVxyXG5cclxuLnJvdW5kX19idXR0b24ucm91bmRfX2J1dHRvbl9fcmlnaHRidXR0b24gYXtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vZ3JhcGhpY3MvYXJyb3ctcmlnaHQtcmVkLnN2Zyk7XHJcbn1cclxuXHJcbi5yb3VuZF9fYnV0dG9uLnJvdW5kX19idXR0b25fX2xlZnRidXR0b24gYTpob3ZlcntcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vZ3JhcGhpY3MvYXJyb3ctbGVmdC13aGl0ZS5zdmcpO1xyXG59XHJcblxyXG4ucm91bmRfX2J1dHRvbi5yb3VuZF9fYnV0dG9uX19yaWdodGJ1dHRvbiBhOmhvdmVye1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9ncmFwaGljcy9hcnJvdy1yaWdodC13aGl0ZS5zdmcpO1xyXG59XHJcblxyXG4ucm91bmRfX2J1dHRvbi5yb3VuZF9fYnV0dG9uLS1ibGFja3tcclxuICBhIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRyZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLnJvdW5kX19idXR0b25fX2xlZnRidXR0b24ucm91bmRfX2J1dHRvbi0tYmxhY2sgYXtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vZ3JhcGhpY3MvYXJyb3ctbGVmdC1ibGFjay5zdmcpO1xyXG59XHJcblxyXG4ucm91bmRfX2J1dHRvbl9fcmlnaHRidXR0b24ucm91bmRfX2J1dHRvbi0tYmxhY2sgYXtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vZ3JhcGhpY3MvYXJyb3ctcmlnaHQtYmxhY2suc3ZnKTtcclxufVxyXG5cclxuXHJcbi5kZWNvcmF0b3JfX2J1dHRvbi0tcHJvamVjdDphZnRlciB7XHJcbiAgQGV4dGVuZCAuZGVjb3JhdG9yX19pY29uO1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi9ncmFwaGljcy9pY29uX3Byb2plY3RzLnBuZyk7XHJcbn1cclxuXHJcbi5kZWNvcmF0b3JfX2J1dHRvbi0tbW9yZTphZnRlciB7XHJcbiAgQGV4dGVuZCAuZGVjb3JhdG9yX19pY29uO1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi9ncmFwaGljcy9pY29uX3JpZ2h0LWFycm93LXNtYWxsLnBuZyk7XHJcbn1cclxuXHJcbi5kZWNvcmF0b3JfX2J1dHRvbi0td2hvOmFmdGVyIHtcclxuICBAZXh0ZW5kIC5kZWNvcmF0b3JfX2ljb247XHJcbiAgYmFja2dyb3VuZDogdXJsKC4uL2dyYXBoaWNzL2ljb25fdGVhbS1tZW1iZXIucG5nKTtcclxufVxyXG5cclxuLyogSEVBREVSIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNjb250ZW50IHtcclxuICBvcGFjaXR5OjA7XHJcbiAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gIG1hcmdpbi10b3A6NjRweDtcclxuICBtYXJnaW4tYm90dG9tOjU1cHg7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgXHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC41cyBlYXNlLW91dCk7XHJcbiAgLmhlYWRlcl9fc3VibWVudSB7XHJcbiAgICBwYWRkaW5nOiRnbG9iYWxfcGFkZGluZztcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHotaW5kZXg6IDExO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLmhlYWRlcl9fZGV0YWlsIHtcclxuICAgICAgbWF4LXdpZHRoOiAkbWF4X3dpZHRoO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgcGFkZGluZy1ib3R0b206MTdweDtcclxuICAgICAgI3N1Yl9tZW51IHtcclxuICAgICAgICA+IGxpIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICAgID4gbGkub24geyBkaXNwbGF5OmJsb2NrOyB9XHJcbiAgICAgIH1cclxuICAgICAgLmhlYWRlcl9fbWVudS5jb2wteHMtOSB7XHJcbiAgICAgICAgZmxleC1iYXNpczogODMuMzMzMzMzMzMlO1xyXG4gICAgICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmluYWN0aXZlIHtcclxuICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAuaGVhZGVyX19kZXRhaWwge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOjA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5jb250ZW50LS1zdWJtZW51IHtcclxuICAgIG1hcmdpbi10b3A6MTA4cHg7XHJcbiAgfVxyXG4gICYuYWN0aXZlIHtcclxuICAgIG9wYWNpdHk6MTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4jaGVhZGVyIHtcclxuICBwb3NpdGlvbjpmaXhlZDtcclxuICB0b3A6MDtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICB6LWluZGV4OjE1O1xyXG4gIC5oZWFkZXJfX2RldGFpbCB7XHJcbiAgIHBhZGRpbmc6JGdsb2JhbF9wYWRkaW5nO1xyXG4gICAgLnJvdyB7IHBvc2l0aW9uOnJlbGF0aXZlOyB9XHJcbiAgfVxyXG4gID4gLmhlYWRlcl9fZGV0YWlsOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAgYmFja2dyb3VuZDogJGdyZXktd2hpdGU7XHJcbiAgICBsZWZ0OjA7XHJcbiAgfVxyXG4gIC5oZWFkZXJfX21lbnUge1xyXG4gICAgei1pbmRleDoxMDtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgJi5jb2wteHMtMTAge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG4gIC5oZWFkZXJfX2xvZ28ge1xyXG4gICAgd2lkdGg6IDE4MnB4O1xyXG4gICAgaGVpZ2h0OiA2M3B4O1xyXG4gICBcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBhIHtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2dyYXBoaWNzL2hjbC1sb2dvLnN2Zykgbm8tcmVwZWF0IC03cHggMTBweDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTBweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHRleHQtaW5kZW50OiAtMTAwcHg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgdG9wOiAxcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4jbWFpbl9tZW51IHtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuM3MgbGluZWFyKTtcclxuICAmLmFjdGl2ZS0tc2VhcmNoIHsgbWFyZ2luLXJpZ2h0OiAxNDBweDsgfVxyXG4gID4gbGkge1xyXG4gICAgbWFyZ2luLXRvcDogMThweDtcclxuICAgID4gYSB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICBmb250LXNpemU6IDEuMnJlbTsgXHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgIHBhZGRpbmc6IDE3cHggMCAyMXB4IDAhaW1wb3J0YW50OyBcclxuICAgIH1cclxuICAgICY6aG92ZXIgPiBhIHtcclxuICAgICAgICBvcGFjaXR5OjE7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6MDtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6Jyc7XHJcbiAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICBoZWlnaHQ6MTAwJTtcclxuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0Oi0yMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5LXdoaXRlO1xyXG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgPiBsaS5vbi5jdXJyZW50IHtcclxuICAgID4gYSB7XHJcbiAgICAgIG9wYWNpdHk6MTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuICB9XHJcbiAgbGkge1xyXG4gICAgcGFkZGluZzowIDIwcHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICB3aWR0aDo4MHB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAmOmhvdmVyIHVsIHsgaGVpZ2h0OmluaXRpYWwgfVxyXG4gICAgJi5lbmQteHMgeyBmbG9hdDpyaWdodDsgfVxyXG4gICAgYSB7XHJcbiAgICAgIG9wYWNpdHk6MC44NTtcclxuICAgICAgY29sb3I6JGdyZXk7XHJcbiAgICAgIHBhZGRpbmc6MDtcclxuICAgICAgZm9udC13ZWlnaHQ6MzAwO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JleS13aGl0ZTtcclxuICAgICAgcGFkZGluZy1yaWdodDoyMHB4O1xyXG4gICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOjY2cHg7XHJcbiAgICAgIHotaW5kZXg6MTA7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAgICAgJi5vbiBhIHsgXHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciBhIHsgb3BhY2l0eToxIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuI3N1Yl9tZW51IHtcclxuICBAZXh0ZW5kICNtYWluX21lbnU7XHJcbiAgPiBsaSB7XHJcbiAgICBtYXJnaW4tdG9wOjIwcHg7XHJcbiAgICBib3JkZXItbGVmdDowIWltcG9ydGFudDtcclxuICAgIGhlaWdodDoxMDAlO1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgJi5vbiB7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM2NDY0NjQ7IH1cclxuICB9XHJcbiAgPiBsaSA+IGEge1xyXG4gICAgZGlzcGxheTpub25lO1xyXG4gIH1cclxuICA+IGxpID4gdWwge1xyXG4gICAgcG9zaXRpb246c3RhdGljO1xyXG4gICAgYm9yZGVyLXJpZ2h0Om5vbmU7XHJcbiAgfVxyXG4gID4gbGkgPiB1bC5vbiB7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgdG9wOiAwO1xyXG4gIH1cclxuICA+IGxpLm9uID4gdWwge1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHRvcDogMDtcclxuICB9XHJcbn1cclxuXHJcbiNoZWFkZXIgLm1haW5fbWVudV9fc3VibWVudSB7XHJcbiAgaGVpZ2h0OjA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGxlZnQ6MDtcclxuICB0b3A6IDY0cHg7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjNzIGxpbmVhcik7XHJcbn1cclxuXHJcbiNoZWFkZXIgLm1haW5fbWVudV9fYXJyb3cge1xyXG4gIG9wYWNpdHk6MDtcclxuICBoZWlnaHQ6MnB4O1xyXG4gIHdpZHRoOjIwcHg7XHJcbiAgYmFja2dyb3VuZDokZ3JleTtcclxuICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICBib3R0b206LTJweDtcclxuICBsZWZ0OjA7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjRzIGxpbmVhcik7XHJcbn1cclxuXHJcbiNoZWFkZXIgI3NlYXJjaCB7XHJcbiAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgcmlnaHQ6LTVweDtcclxuICBtYXJnaW46IDA7XHJcbiAgaGVpZ2h0OjEwMCU7XHJcbiAgd2lkdGg6NjBweDtcclxuICBjdXJzb3I6cG9pbnRlcjtcclxuICB6LWluZGV4OjIwO1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4zcyBsaW5lYXIpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6Jyc7XHJcbiAgICB3aWR0aDo1MHB4O1xyXG4gICAgaGVpZ2h0OjEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZSB1cmwoLi4vZ3JhcGhpY3MvaWNvbi1zZWFyY2gtYmxhY2tAMngucG5nKSBuby1yZXBlYXQgY2VudGVyIDIzcHg7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMTlweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6M3B4O1xyXG4gIH1cclxuICAmLmFjdGl2ZSB7XHJcbiAgICByaWdodDogLTUwJTtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBpbnB1dCB7IG9wYWNpdHk6MTsgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBsZWZ0OjEwcHg7XHJcbiAgICAgIHRvcDogNHB4O1xyXG4gICAgICBoZWlnaHQ6IDU5cHg7XHJcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlIHVybCguLi9ncmFwaGljcy9pY29uLXNlYXJjaC1ibGFja0AyeC5wbmcpIG5vLXJlcGVhdCAxNXB4IDE5cHg7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMThweCAxOXB4O1xyXG4gICAgfVxyXG4gICAgZm9ybTpiZWZvcmUgeyBkaXNwbGF5Om5vbmU7IH1cclxuICB9XHJcbiAgZm9ybSB7XHJcbiAgICBoZWlnaHQ6MTAwJTtcclxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cclxuICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgfVxyXG4gICAgOjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOSsgKi9cclxuICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgfVxyXG4gICAgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqL1xyXG4gICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICB9XHJcbiAgICA6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXHJcbiAgICAgIGNvbG9yOiBibGFjaztcclxuICAgIH1cclxuICAgICoge1xyXG4gICAgIGhlaWdodDoxMDAlOyBcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB0b3A6IDE4cHg7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyZXktd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGlucHV0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LXNpemU6MC44cmVtO1xyXG4gICAgb3BhY2l0eTowO1xyXG4gICAgY29sb3I6YmxhY2s7XHJcbiAgICBwYWRkaW5nOjAgMCAwIDI1cHg7XHJcbiAgICBoZWlnaHQ6MTAwJTtcclxuICAgIGJvcmRlcjowO1xyXG4gICAgb3V0bGluZTpub25lO1xyXG4gICAgYmFja2dyb3VuZDogJGdyZXktd2hpdGU7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuM3MgbGluZWFyKTtcclxuICB9XHJcbn1cclxuXHJcbiNtb2JpbGVfX3NlYXJjaCB7XHJcbiAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgI3NJbnB1dCB7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogRk9PVEVSIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNmb290ZXIge1xyXG4gIGhlaWdodDogNTVweDtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHotaW5kZXg6MTAwO1xyXG4gIC5mb290ZXJfX2RldGFpbCB7XHJcbiAgIHBhZGRpbmc6JGdsb2JhbF9wYWRkaW5nO1xyXG4gIH1cclxuICB1bCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDU2cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbG9yOiRncmV5O1xyXG4gICAgbGkge1xyXG4gICAgICBmb250LXdlaWdodDo1MDA7XHJcbiAgICAgIGZvbnQtc2l6ZTowLjhyZW07XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgIFxyXG4gICAgICBhIHtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICB9XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMDsgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuI2Zvb3RlciB7XHJcbiAgLmZvb3Rlcl9fdXBkYXRlcyB7XHJcbiAgICBwIHtcclxuICAgICAgY29sb3I6ICRncmV5O1xyXG4gICAgICBsaW5lLWhlaWdodDogNTZweDtcclxuICAgIH1cclxuICAgIC51cGRhdGVzX19jb250YWluZXIge1xyXG4gICAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICAgIHdpZHRoOjMwJTtcclxuICAgICAgbWF4LXdpZHRoOiAzNTBweDtcclxuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6OTBweDtcclxuICAgICAgdG9wOjA7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICB3aWR0aDo5MDBweDtcclxuICAgICAgb3BhY2l0eTowO1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOjA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBoZWlnaHQ6YXV0bztcclxuICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgIG9wYWNpdHk6MTtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjVzIGVhc2Utb3V0KTtcclxuICAgICAgICBhIHsgIFxyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmluYWN0aXZlIHtcclxuICAgICAgICAgIGhlaWdodDowO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuI2Zvb3RlciAuZm9vdGVyX19hcnJvdyB7XHJcbiAgb3BhY2l0eTowO1xyXG4gIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gIGxlZnQ6NTAlO1xyXG4gIGJhY2tncm91bmQ6dXJsKC4uL2dyYXBoaWNzL2Fycm93LXVwLWxpZ2h0LWdyZXlAMngucG5nKSBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAzNnB4IDIycHg7XHJcbiAgYm90dG9tOiAxOHB4O1xyXG4gIHdpZHRoOjMycHg7XHJcbiAgbWFyZ2luLWxlZnQ6LTE4cHg7XHJcbiAgaGVpZ2h0OjE4cHg7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjZzIGxpbmVhcik7XHJcbiAgY3Vyc29yOnBvaW50ZXI7XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgb3BhY2l0eToxO1xyXG4gIH1cclxufVxyXG5cclxuI2Zvb3RlciAucm93IC5zb2NpYWwgbGkge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxuICBtYXJnaW4tcmlnaHQ6LTRweDtcclxuICB3aWR0aDogMjRweDtcclxuICBoZWlnaHQ6IDI0cHg7XHJcbiAgJi5zb2NpYWxfX2ljb24tLWZhY2Vib29rIHsgYmFja2dyb3VuZDogdXJsKC4uL2dyYXBoaWNzL3NvY2lhbC9pY29uLWZhY2Vib29rLTJ4LnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7IH1cclxuICAmLnNvY2lhbF9faWNvbi0taW4geyBiYWNrZ3JvdW5kOiB1cmwoLi4vZ3JhcGhpY3Mvc29jaWFsL2ljb24tbGlua2VkaW4tMngucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgfVxyXG4gICYuc29jaWFsX19pY29uLS1pbnN0YWdyYW0geyBiYWNrZ3JvdW5kOiB1cmwoLi4vZ3JhcGhpY3Mvc29jaWFsL2ljb24taW5zdGFncmFtLTJ4LnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7IH1cclxuICAmLnNvY2lhbF9faWNvbi0tdHdpdHRlciB7IGJhY2tncm91bmQ6IHVybCguLi9ncmFwaGljcy9zb2NpYWwvaWNvbi10d2l0dGVyLTJ4LnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7IH1cclxuICAmLnNvY2lhbF9faWNvbi0teW91LXR1YmUgeyBiYWNrZ3JvdW5kOiB1cmwoLi4vZ3JhcGhpY3Mvc29jaWFsL2ljb24teW91dHViZS0yeC5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB9XHJcbiAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHggIWltcG9ydGFudDtcclxuICBhIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1pbmRlbnQ6IDI4cHg7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBNT0JJTEUgTUVOVSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLy9odG1sLm1tLW9wZW5lZCB7XHJcbi8vICAjbW9iaWxlX19tZW51IHtcclxuLy8gICAgei1pbmRleDoyO1xyXG4vLyAgfVxyXG4vL31cclxuXHJcbiNtbS0wIHtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxufVxyXG5cclxuI21vYmlsZV9fbWVudSB7XHJcbiAgZGlzcGxheTpub25lO1xyXG4gIFxyXG4gICYubW0tb3BlbmVkIHtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgfVxyXG4gXHJcbiAgXHJcbiAgbGkgYSB7XHJcbiAgICBjb2xvcjpibGFjaztcclxuICB9XHJcbn1cclxuXHJcbi5tbS1wYWdlIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5ib2R5IC5tbS1tZW51IHtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNtbS1ibG9ja2VyIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMzBweCAwcHggcmdiYSgwLDAsMCwwLjc1KTtcclxuICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMzBweCAwcHggcmdiYSgwLDAsMCwwLjc1KTtcclxuICBib3gtc2hhZG93OiAwcHggMHB4IDMwcHggMHB4IHJnYmEoMCwwLDAsMC43NSk7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuYm9keSAubW0tbGlzdHZpZXc+bGk6bm90KC5tbS1kaXZpZGVyKTphZnRlciB7XHJcbiAgbGVmdDowO1xyXG59XHJcblxyXG4ubW9iaWxlX19idXR0b24ge1xyXG4gIGRpc3BsYXk6bm9uZTtcclxuICB3aWR0aDozMnB4O1xyXG4gIGhlaWdodDozMnB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC00OHB4O1xyXG4gIHJpZ2h0OiA4cHg7XHJcbiAgZm9udC1zaXplOjIzcHg7XHJcbiAgY29sb3I6YmxhY2s7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGN1cnNvcjpwb2ludGVyO1xyXG59XHJcbiAgXHJcbiNzbGlkZV9fbWVudSB7XHJcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcclxufVxyXG5cclxuLyogVGFibGVzICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi50YWJsZS0tMmNvbCB7XHJcbiAgbWFyZ2luLWJvdHRvbTo5cHg7XHJcbiAgdGFibGUge1xyXG4gICAgbWFyZ2luLXRvcDotMnB4O1xyXG4gICAgd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XHJcbiAgICB0ciB7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgdGQge1xyXG4gICAgICBwYWRkaW5nOjVweCAwIWltcG9ydGFudDtcclxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OjI1cHghaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRyIHRkOm50aC1jaGlsZCgxKSB7XHJcbiAgICB3aWR0aDoyNSUhaW1wb3J0YW50O1xyXG4gIH1cclxuICB0ciB0ZDpudGgtY2hpbGQoMikge1xyXG4gICAgd2lkdGg6NzUlIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi50YWJsZS0tM2NvbCB7XHJcbiAgQGV4dGVuZCAudGFibGUtLTJjb2w7XHJcbiAgdHIgdGQ6bnRoLWNoaWxkKDEpIHtcclxuICAgIHdpZHRoOjMzJSFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIHRyIHRkOm50aC1jaGlsZCgyKSB7XHJcbiAgICB3aWR0aDozMyUhaW1wb3J0YW50O1xyXG4gIH1cclxuICB0ciB0ZDpudGgtY2hpbGQoMykge1xyXG4gICAgd2lkdGg6MzMlIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8qIFBBR0UgTk9UIEZPVU5EICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4ucGFnZS0tcGFnZW5vdGZvdW5kIHtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAud2lkZ2V0X19kZXRhaWwge1xyXG4gICAgcGFkZGluZy1sZWZ0OjE2cHg7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIC5jb2wteHMtOCB7XHJcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICA+IGRpdiB7XHJcbiAgICAgICAgcG9zaXRpb246Zml4ZWQ7XHJcbiAgICAgICAgbGVmdDowO1xyXG4gICAgICAgIHJpZ2h0OjA7XHJcbiAgICAgICAgdG9wOjUwJTtcclxuICAgICAgICBtYXJnaW4tdG9wOi01N3B4O1xyXG4gICAgICAgIGJvdHRvbTowO1xyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIGZvbnQtc2l6ZTozcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIkBpbXBvcnQgJ3dpZGdldHMvX2dhbGxlcnkuc2Nzcyc7XHJcbkBpbXBvcnQgJ3dpZGdldHMvX3NpbmdsZWltYWdlLnNjc3MnO1xyXG5AaW1wb3J0ICd3aWRnZXRzL19jb3B5LnNjc3MnO1xyXG5AaW1wb3J0ICd3aWRnZXRzL19zdW1tYXJ5LnNjc3MnO1xyXG5AaW1wb3J0ICd3aWRnZXRzL19idWRkeXdhbGwuc2Nzcyc7XHJcbkBpbXBvcnQgJ3dpZGdldHMvX2xvY2F0aW9uLnNjc3MnO1xyXG5AaW1wb3J0ICd3aWRnZXRzL19tYXAuc2Nzcyc7XHJcbkBpbXBvcnQgJ3dpZGdldHMvX2xpc3Quc2Nzcyc7XHJcbkBpbXBvcnQgJ3dpZGdldHMvX3B1YmxpY2F0aW9ucy5zY3NzJztcclxuQGltcG9ydCAnd2lkZ2V0cy9fY2xpZW50cy5zY3NzJztcclxuQGltcG9ydCAnd2lkZ2V0cy9fY2FyZWVycy5zY3NzJztcclxuQGltcG9ydCAnd2lkZ2V0cy9fZmVhdHVyZWRfcHJvamVjdHMuc2Nzcyc7XHJcbkBpbXBvcnQgJ3dpZGdldHMvX3NwYWNlci5zY3NzJztcclxuXHJcbi53aWRnZXQge1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG59XHJcblxyXG4ud2lkZ2V0X19pdGVtX19yZWFkbW9yZXtcclxuICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICBtYXJnaW4tdG9wOjEwJTtcclxufVxyXG5cclxuLnR3by0tY29sdW1uLS1jb3B5e1xyXG4gIG1hcmdpbi10b3A6NSU7XHJcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xyXG4gIC1tb3otY29sdW1uLWNvdW50OiAyOyAvKiBGaXJlZm94ICovXHJcbiAgY29sdW1uLWNvdW50OiAyO1xyXG5cclxuICAtd2Via2l0LWNvbHVtbi1nYXA6IDMwcHg7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xyXG4gIC1tb3otY29sdW1uLWdhcDogMzBweDsgLyogRmlyZWZveCAqL1xyXG4gIGNvbHVtbi1nYXA6IDMwcHg7XHJcbn1cclxuXHJcbi53aWRnZXQ6bm90KC5sYXN0KTpsYXN0LW9mLXR5cGUge1xyXG4gIHBhZGRpbmctYm90dG9tOjVweDtcclxufVxyXG5cclxuLndpZGdldCB7XHJcbiAgcG9zaXRpb246cmVsYXRpdmU7XHJcbn1cclxuXHJcbi53aWRnZXQ6bm90KC53aWRnZXQtLWdhbGxlcnksIC53aWRnZXQtLWxvY2F0aW9uLCAud2lkZ2V0LS1saXN0LCAud2lkZ2V0LS1tYXAsIC53aWRnZXQtLXNpbmdsZWltYWdlKSB7XHJcbiAgcGFkZGluZzogNDBweCAyMHB4IDAgMjBweDtcclxufVxyXG5cclxuLndpZGdldCAud2lkZ2V0X190aXRsZSB7XHJcbiAgd2lkdGg6MTAwJTtcclxuICBoMSxoMixoMyB7XHJcbiAgICBmb250LXNpemU6MS4xcmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTowO1xyXG4gIH1cclxufVxyXG5cclxuLndpZGdldC5jbG9zZWQge1xyXG4gIC8vbWFyZ2luLWJvdHRvbTotMjBweDtcclxufVxyXG5cclxuLndpZGdldC5iYWNrZ3JvdW5kLS13aGl0ZSB7XHJcbiAgY29sb3I6IzYxNjA2MDtcclxufVxyXG5cclxuLmJhY2tncm91bmQtLWdyZXkge1xyXG4gIGJhY2tncm91bmQ6ICRncmV5LXdoaXRlO1xyXG59XHJcblxyXG4vKiBNT0JJTEUgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgLndpZGdldCAuY29sLXhzLTIge1xyXG4gICAgZGlzcGxheTpub25lO1xyXG4gIH1cclxuXHJcbiAgLndpZGdldCAuY29sLXhzLTMge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDMzLjMzMzMzMzMzJTtcclxuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzJTtcclxuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLndpZGdldCAuY29sLXhzLTQge1xyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53aWRnZXQgLmNvbC14cy03IHtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcblxyXG4gIC53aWRnZXQgLmNvbC14cy04IHtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcbiAgXHJcbiAgLndpZGdldCAuY29sLXhzLTEwIHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlO1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gIC53aWRnZXQgLmNvbC14cy00IHtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgLndpZGdldCAuY29sLXhzLTMge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDUwJTtcclxuICAgIGZsZXgtYmFzaXM6IDUwJTtcclxuICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgbWFyZ2luOjA7XHJcbiAgfVxyXG5cclxuICAud2lkZ2V0IC5jb2wteHMtNCB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcclxuICAgIGZsZXgtYmFzaXM6MTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjowO1xyXG4gIH1cclxuXHJcbiAgLndpZGdldCAuY29sLXhzLTUge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEwMCU7XHJcbiAgICBmbGV4LWJhc2lzOjEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46MDtcclxuICB9XHJcblxyXG4gIC53aWRnZXQgLmNvbC14cy03IHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlO1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjowIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC53aWRnZXQgLmNvbC14cy04IHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlO1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjowO1xyXG4gIH1cclxuICBcclxuICAud2lkZ2V0IC5jb2wteHMtMTAge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEwMCU7XHJcbiAgICBmbGV4LWJhc2lzOjEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46MCFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59IiwiLm93bC1zdGFnZXtcclxuICBvdmVyZmxvdzpoaWRkZW47XHJcbn1cclxuXHJcbi53aWRnZXQtLWdhbGxlcnkge1xyXG4gIC53aWRnZXRfX2dhbGxlcnktLWNhcm91c2VsOm5vdCgud2lkZ2V0X19nYWxsZXJ5LS1zaW5nbGUpIHtcclxuICAgIC8vcG9zaXRpb246IGZpeGVkOyAvL3RvZG86IGNoZWNrIHdpdGggZGVzaWduIHRlYW1cclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgaGVpZ2h0OmNhbGMoMTAwdmggLSAyMjBweCk7XHJcbiAgICBcclxuICAgIC5vd2wtaXRlbSB7XHJcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICB6LWluZGV4OjEwO1xyXG4gICAgICBvcGFjaXR5OjAuMjtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC42cyBsaW5lYXIpO1xyXG4gICAgfVxyXG4gICAgLm93bC1pdGVtLmNlbnRlciB7XHJcbiAgICAgIG9wYWNpdHk6MTtcclxuICAgICAgei1pbmRleDoyMDtcclxuICAgIH1cclxuICAgIC53aWRnZXRfX2ltYWdlIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBsaW5lLWhlaWdodDogY2FsYygxMDB2aCAtIDI3MHB4KTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDE1MHB4KTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjcwcHgpO1xyXG4gICAgICB9XHJcbiAgICAgIC53aWRnZXRfX2NhcHRpb24geyBkaXNwbGF5OiBub25lOyB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBjbGVhcjpib3RoO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4ud2lkZ2V0LS1nYWxsZXJ5IC5vd2wtbmF2IHtcclxuICB0b3A6IDUwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgJiA+IGRpdiB7XHJcbiAgICB0b3A6IC0yNXB4O1xyXG4gICAgcG9zaXRpb246IGluaGVyaXQ7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vZ3JhcGhpY3MvYXJyb3ctbGVmdEAyeC5wbmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMjNweCA0M3B4O1xyXG4gICAgdGV4dC1pbmRlbnQ6IC01MHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgLm93bC1uZXh0IHtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9ncmFwaGljcy9hcnJvdy1yaWdodEAyeC5wbmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMjNweCA0M3B4O1xyXG4gIH1cclxufVxyXG5cclxuLm93bC1kb3RzIHtcclxuICBkaXNwbGF5Om5vbmU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogMnB4O1xyXG4gIC5vd2wtZG90IHtcclxuICAgIHdpZHRoOjEycHg7XHJcbiAgICBoZWlnaHQ6MTJweDtcclxuICAgIGJhY2tncm91bmQ6ICRncmV5LXdoaXRlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLXJpZ2h0OjhweDtcclxuICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgJi5hY3RpdmUgeyBiYWNrZ3JvdW5kOiBibGFjazsgfVxyXG4gIH1cclxufVxyXG5cclxuLyogRmFkZSAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi53aWRnZXQtLWdhbGxlcnkge1xyXG4gIC53aWRnZXRfX2dhbGxlcnktLWZhZGUge1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIFxyXG4gICAgaW1nIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICBtYXgtd2lkdGg6Y2FsYygxMDB2dyk7XHJcbiAgICAgIG1heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDEzMHB4KTtcclxuICAgICAgd2lkdGg6YXV0bztcclxuICAgIH1cclxuICAgXHJcbiAgICBkaXY6bm90KC5vd2wtY29udHJvbHMpIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLndpZGdldF9faW1hZ2Uge1xyXG4gICAgICBsaW5lLWhlaWdodDogY2FsYygxMDB2aCAtIDEzMHB4KTtcclxuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgIHRvcDowO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAud2lkZ2V0X19jYXB0aW9uIHtcclxuICAgICAgdG9wOjA7XHJcbiAgICAgIGhlaWdodDoxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xyXG4gICAgICBjb2xvcjp3aGl0ZTtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgIHBhZGRpbmc6MCAyNSU7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgcCB7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMSk7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOjA7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB9XHJcbiAgICAgICY6ZW1wdHkge1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICsgLm93bC1kb3RzIHtcclxuICAgICAgYm90dG9tOjIwcHg7XHJcbiAgICAgIHRvcDphdXRvO1xyXG4gICAgICAub3dsLWRvdC5hY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6YmxhY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi53aWRnZXQtLWdhbGxlcnkud2lkZ2V0LS1nYWxsZXJ5LS10YWJzICsgc2NyaXB0ICsgLndpZGdldCB7XHJcbiAgcGFkZGluZy10b3A6MTIwcHg7XHJcbn1cclxuXHJcbi8qIFNJTkdMRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLndpZGdldC0tZ2FsbGVyeSAud2lkZ2V0X19nYWxsZXJ5LS1zaW5nbGUge1xyXG4gIC53aWRnZXRfX2ltYWdlID4gZGl2IHtcclxuICAgIEBpbmNsdWRlIHByZWZpeChiYWNrZ3JvdW5kLXJlcGVhdCwgbm8tcmVwZWF0LCB3ZWJraXQgbXMpO1xyXG4gICAgQGluY2x1ZGUgcHJlZml4KGJhY2tncm91bmQtYXR0YWNobWVudCwgZml4ZWQsIHdlYmtpdCBtcyk7XHJcbiAgICBAaW5jbHVkZSBwcmVmaXgoYmFja2dyb3VuZC1zaXplLCBjb3Zlciwgd2Via2l0IG1zKTtcclxuICAgIEBpbmNsdWRlIHByZWZpeChiYWNrZ3JvdW5kLXBvc2l0aW9uLCBjZW50ZXIgdG9wLCB3ZWJraXQgbXMpO1xyXG4gICAgbWFyZ2luOjA7XHJcbiAgfVxyXG59XHJcblxyXG4ud2lkZ2V0X19nYWxsZXJ5LndpZGdldF9fZ2FsbGVyeS0tc2luZ2xlIHtcclxuICAud2lkZ2V0X19pbWFnZSB7XHJcbiAgICBoZWlnaHQ6MTAwJTtcclxuICAgID4gZGl2IHtcclxuICAgICAgaGVpZ2h0OjEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ud2lkZ2V0X19tb3JlIHtcclxuICBoZWlnaHQ6NTBweDtcclxuICB3aWR0aDoxMDAlO1xyXG4gIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjc1KTtcclxuICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICBib3R0b206MDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgei1pbmRleDoxMTA7XHJcbiAgLm1vcmVfX2Fycm93IHtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIHRvcDogMThweDtcclxuICAgIGxlZnQ6MDtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICB3aWR0aDogMzJweDtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2dyYXBoaWNzL2Fycm93LWRvd24tbGlnaHRAMngucG5nKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiAzMnB4IDE4cHg7XHJcbiAgICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogTU9CSUxFICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi8vdGhpcyB3aWxsIHNob3cgd2hvbGUgaW1hZ2Ugb24gbW9iaWxlXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gIC53aWRnZXQtLWdhbGxlcnkgLndpZGdldF9fZ2FsbGVyeS0tc2luZ2xlIC53aWRnZXRfX2ltYWdlID4gZGl2IHtcclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xyXG4gIH1cclxuXHJcbiAgLndpZGdldC0tZ2FsbGVyeSB7XHJcbiAgICAud2lkZ2V0X19nYWxsZXJ5LS1jYXJvdXNlbDpub3QoLndpZGdldF9fZ2FsbGVyeS0tc2luZ2xlKSB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OmNhbGMoMTAwdmggLSAxMjBweCk7XHJcblxyXG4gICAgICAud2lkZ2V0X19pbWFnZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gMTI2cHgpO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBtYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSAxNzBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL3RvZG86IGNoZWNrIGl0IG91dFxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gIC53aWRnZXQtLWdhbGxlcnkgLndpZGdldF9fZ2FsbGVyeS0tZmFkZSAud2lkZ2V0X19jYXB0aW9uIHtcclxuICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgcGFkZGluZzowIDEwJTtcclxuICB9XHJcblxyXG4gIC53aWRnZXQtLWdhbGxlcnkge1xyXG4gICAgLndpZGdldF9fZ2FsbGVyeS0tY2Fyb3VzZWw6bm90KC53aWRnZXRfX2dhbGxlcnktLXNpbmdsZSkge1xyXG4gICAgICAud2lkZ2V0X19pbWFnZSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxNjBweCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIG1heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDEwMHB4KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5vd2wtaGVpZ2h0IHtcclxuICAgICAgICBoZWlnaHQ6Y2FsYygxMDB2aCAtIDEwMHB4KSFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53aWRnZXQtLWdhbGxlcnkgLndpZGdldF9fZ2FsbGVyeS0tY2Fyb3VzZWw6bm90KC53aWRnZXRfX2dhbGxlcnktLXNpbmdsZSkge1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTIwcHgpO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAud2lkZ2V0LS1nYWxsZXJ5IHtcclxuICAgIC53aWRnZXRfX2dhbGxlcnktLWNhcm91c2VsOm5vdCgud2lkZ2V0X19nYWxsZXJ5LS1zaW5nbGUpIHtcclxuICAgICAgaGVpZ2h0OiBjYWxjKDUwdmgpO1xyXG4gICAgICAud2lkZ2V0X19pbWFnZSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGMoNTB2aCk7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBtYXgtaGVpZ2h0OmNhbGMoNDB2aCkhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAub3dsLWhlaWdodCB7XHJcbiAgICAgICAgaGVpZ2h0OmNhbGMoNDB2aCkhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC53aWRnZXQtLWdhbGxlcnkgLm93bC1uYXYgLm93bC1uZXh0IHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9ncmFwaGljcy9hcnJvdy1yaWdodEAyeC5wbmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxOHB4IDMxcHg7XHJcbiAgfVxyXG5cclxuICAud2lkZ2V0LS1nYWxsZXJ5IC5vd2wtbmF2ID4gZGl2IHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9ncmFwaGljcy9hcnJvdy1sZWZ0QDJ4LnBuZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMzFweDtcclxuICB9XHJcbiAgXHJcbiAgYm9keSAud2lkZ2V0X19tb3JlIC5tb3JlX19hcnJvdyB7XHJcbiAgICB0b3A6IDRweDtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggOXB4O1xyXG4gICAgICBAaW5jbHVkZSBwcmVmaXgoYmFja2dyb3VuZC1wb3NpdGlvbiwgY2VudGVyIGNlbnRlciwgd2Via2l0IG1zKTtcclxuICAgIH1cclxuICBcclxuICB9XHJcbiAgXHJcbiAgYm9keSAjZm9vdGVyIC5mb290ZXJfX2Fycm93IHtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTZweCA5cHg7XHJcbiAgICBAaW5jbHVkZSBwcmVmaXgoYmFja2dyb3VuZC1wb3NpdGlvbiwgY2VudGVyIGNlbnRlciwgd2Via2l0IG1zKTtcclxuICB9XHJcblxyXG4gIC53aWRnZXRfX21vcmUge1xyXG4gICAgaGVpZ2h0OjI1cHg7XHJcbiAgfVxyXG59IiwiLndpZGdldC0tc2luZ2xlaW1hZ2V7XHJcblxyXG4gIC53aWRnZXRfX2dhbGxlcnktLXNpbmdsZSB7XHJcblxyXG4gICAgaGVpZ2h0OmluaGVyaXQ7XHJcblxyXG4gICAgLndpZGdldF9faW1hZ2Uge1xyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC53aWRnZXRfX2dhbGxlcnktLXNpbmdsZV9jYXB0aW9uIHtcclxuICAgICAgaGVpZ2h0OmluaGVyaXQ7XHJcbiAgICAgIG92ZXJmbG93LXk6c2Nyb2xsO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICB3aWR0aDogODAlO1xyXG5cclxuICAgICAgcHtcclxuXHJcbiAgICAgICAgZm9udC1zaXplOjEuNHJlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDoyLjJyZW07XHJcblxyXG4gICAgICAgIGNvbG9yOiMzMzM7XHJcblxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDoxNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOjMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICB3aWR0aDogMHB4OyAgLyogcmVtb3ZlIHNjcm9sbGJhciBzcGFjZSAqL1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAgLyogb3B0aW9uYWw6IGp1c3QgbWFrZSBzY3JvbGxiYXIgaW52aXNpYmxlICovXHJcbn1cclxuXHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAud2lkZ2V0LS1zaW5nbGVpbWFnZSB7XHJcbiAgICAud2lkZ2V0X19nYWxsZXJ5LS1zaW5nbGUge1xyXG4gICAgICAud2lkZ2V0X19nYWxsZXJ5LS1zaW5nbGVfY2FwdGlvbiB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICBmb250LXNpemU6MS4xcmVtO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6MS40cmVtO1xyXG5cclxuICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjkwcHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIud2lkZ2V0LS1jb3B5IHtcclxuICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICB6LWluZGV4OjEwO1xyXG4gIFxyXG4gIC53aWRnZXRfX3RpdGxlLm1haW4ge1xyXG4gICAgaDIge1xyXG4gICAgICBtYXJnaW46MCAwIDI1cHggMCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC53aWRnZXRfX2RldGFpbCB7XHJcbiAgICBtYXgtd2lkdGg6ICRtYXhfd2lkdGg7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIG1hcmdpbjowIGF1dG87XHJcbiAgICBmb250LXdlaWdodDo1MDA7XHJcbiAgICBcclxuICAgIGltZyB7IFxyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IFxyXG4gICAgICBtYXJnaW4tYm90dG9tOjJweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaDMge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOjIwcHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGgyLCBoMyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6MDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBhIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIGNvbG9yOmJsYWNrO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY29sLXhzLTYgPiBwOmZpcnN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXRvcDoyNXB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY29sLXhzLTQge1xyXG4gICAgICAqOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAud2lkZ2V0X19pbWFnZSBwIHsgbWFyZ2luOjA7IH1cclxuICAud2lkZ2V0X19pbWFnZSBpbWcge1xyXG4gICAgbWF4LWhlaWdodDogNDAwcHg7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICB9XHJcbiAgXHJcbiAgLmhlYWRlci1zcGFjZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbToyNXB4O1xyXG4gIH1cclxuICBcclxuICAmLndpZGdldC0tZmlyc3Qge1xyXG4gICAgLndpZGdldF9fdGl0bGUge1xyXG4gICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ud2lkZ2V0LS1jb3B5IC53aWRnZXRfX2RldGFpbCB7XHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZTogc3F1YXJlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbToxNHB4O1xyXG4gICAgbGkge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTo1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ud2lkZ2V0LS1jb3B5Omxhc3QtY2hpbGQge1xyXG4gIHBhZGRpbmctYm90dG9tOjUwcHg7XHJcbn1cclxuXHJcbi53aWRnZXQtLWNvcHkgLndpZGdldC0tY29weS0tcGVyc29uIHtcclxuICBoMSB7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cclxufVxyXG5cclxuLndpZGdldC0tY29weS53aWRnZXQtLWZ1bGwge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgLndpZGdldF9fZGV0YWlsIHsgbWF4LXdpZHRoOiAxMDAlOyB9XHJcbn1cclxuXHJcbi53aWRnZXQtLWNvcHkud2lkZ2V0LS1yaWdodCB7XHJcbiAgbWluLWhlaWdodDogMzAwcHg7XHJcbiAgLndpZGdldF9faW1hZ2UgeyBmbG9hdDpyaWdodDsgfVxyXG59XHJcblxyXG4ud2lkZ2V0LS1jb3B5LndpZGdldC0tbGVmdCB7XHJcbiAgbWluLWhlaWdodDogMzAwcHg7XHJcbiAgLndpZGdldF9fY2FwdGlvbiB7IGxlZnQ6NTAlOyB9XHJcbn1cclxuXHJcbi53aWRnZXQtLXBlcnNvbiB7XHJcbiAgLndpZGdldF9fdGl0bGUgYSB7XHJcbiAgICBjb2xvcjokcmVkO1xyXG4gICAgZm9udC1zdHlsZTppbml0aWFsO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gIH1cclxuICAud2lkZ2V0X19pbWFnZSB7XHJcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG4gICAgbWF4LWhlaWdodDogMTUwcHg7XHJcbiAgICBpbWcgeyAgICAgXHJcbiAgICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTsgXHJcbiAgICB9XHJcbiAgfVxyXG4gXHJcbn1cclxuXHJcbi53aWRnZXQtLWNvcHkgLndpZGdldF9fc2hhcmUge1xyXG4gIG92ZXJmbG93OmhpZGRlbjtcclxuICAud2lkZ2V0X19zaGFyZS0tb3B0aW9ucyB7XHJcbiAgICBib3R0b206IC0zcHg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICNtbS0wIC53aWRnZXQtLWNvcHkge1xyXG4gICAgLmNvbC14cy00ICsgLmNvbC14cy00IHtcclxuICAgICAgaDIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6NDBweDtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgcDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDo0MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jb2wteHMtMzpsYXN0LWNoaWxkIHtcclxuICAgICAgKjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIud2lkZ2V0LS1zdW1tYXJ5IHtcclxuICAud2lkZ2V0X19kZXRhaWwge1xyXG4gICAgbWF4LXdpZHRoOiAxMjgwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIC5jb2wteHMtNCB7ICBtYXJnaW4tYm90dG9tOjQ1cHg7IH1cclxuICB9XHJcbiAgaDIge1xyXG4gICAgbWFyZ2luOjQ1cHggMDtcclxuICB9XHJcbn1cclxuXHJcbi53aWRnZXQtLXN1bW1hcnkge1xyXG4gIC53aWRnZXRfX2l0ZW0ge1xyXG4gICAgaDMge1xyXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOjMwcHg7XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6MjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cclxufSIsIi53aWRnZXQtLWJ1ZGR5d2FsbCB7XHJcbiAgLndpZGdldF9fZGV0YWlsIHtcclxuICAgIC5vd2wtbmF2IHtcclxuICAgICAgb3BhY2l0eToxO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDowO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAmID4gZGl2IHtcclxuICAgICAgICB0b3A6IC0yNXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgdXJsKCcuLi9ncmFwaGljcy9hcnJvdy1sZWZ0QDJ4LnBuZycpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjNweCA0M3B4O1xyXG4gICAgICAgIHRleHQtaW5kZW50OiAtNTBweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBsZWZ0OiA0cHg7XHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICBvcGFjaXR5OjA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5vd2wtbmV4dCB7XHJcbiAgICAgICAgbGVmdDphdXRvO1xyXG4gICAgICAgIHJpZ2h0OiAzcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjUpIHVybCgnLi4vZ3JhcGhpY3MvYXJyb3ctcmlnaHRAMngucG5nJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyM3B4IDQzcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnJvdyB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuICAud2lkZ2V0X19pdGVtIHtcclxuICAgIHBhZGRpbmc6LjJyZW0haW1wb3J0YW50O1xyXG4gICAgPiBkaXYge1xyXG4gICAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAmLmNvbC14cy0zIHNwYW4ge1xyXG4gICAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG4gICAgfVxyXG4gICAgLndpZGdldF9fdGl0bGUge1xyXG4gICAgICBvcGFjaXR5OjA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICBmb250LXdlaWdodDo1MDA7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgIHRvcDowO1xyXG4gICAgICBjb2xvcjp3aGl0ZTtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSg1MCwgNTAsIDQ5LCAwLjc0KTtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjNzIGVhc2Utb3V0KTtcclxuICAgICAgQGluY2x1ZGUgYm94LXNpemluZygpO1xyXG4gICAgICBiIHtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIH1cclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG9wYWNpdHk6MTtcclxuICAgICAgfVxyXG4gICAgICAubW9yZSB7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5tb3JlIHNwYW4ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmb250LXNpemU6aW5oZXJpdDtcclxuICAgICAgICBmb250LXdlaWdodDppbmhlcml0O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgbWF4LWhlaWdodDogMzUwcHg7XHJcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgfVxyXG4gICAgJi5jb2wteHMtMTIgPiBkaXYgYSBpbWcge1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICAud2lkZ2V0X19wYW5lbCB7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgIG1hcmdpbi1sZWZ0Oi0wLjJyZW07XHJcbiAgICBtYXJnaW4tcmlnaHQ6LTAuMnJlbTtcclxuICAgIC5yb3cge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLndpZGdldC0tYnVkZHl3YWxsIC53aWRnZXRfX2RldGFpbCAud2lkZ2V0X190aXRsZSB7XHJcbiAgY3Vyc29yOnBvaW50ZXI7XHJcbiAgaDIge1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206MjVweCFpbXBvcnRhbnQ7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDonJztcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgd2lkdGg6MjFweDtcclxuICAgICAgaGVpZ2h0OjIxcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9ncmFwaGljcy9pY29uLWFycm93LXVwQDJ4LnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjFweCAyMXB4O1xyXG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6LTM3cHg7XHJcbiAgICAgIHRvcDogMXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLndpZGdldC0tYnVkZHl3YWxsLmNsb3NlZCB7XHJcbiAgLndpZGdldF9fdGl0bGUgaDIge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9ncmFwaGljcy9pY29uLWFycm93LWRvd25AMngucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMXB4IDIxcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ud2lkZ2V0LS1idWRkeXdhbGwgLm93bC1zdGFnZSAud2lkZ2V0X19pdGVtIHtcclxuICBtYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIE1PQklMRSAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAud2lkZ2V0LS1idWRkeXdhbGwgLndpZGdldF9faXRlbS5jb2wteHMtMyB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTAlO1xyXG4gICAgZmxleC1iYXNpczogNTAlO1xyXG4gICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgfVxyXG5cclxuICAud2lkZ2V0LS1idWRkeXdhbGwgLndpZGdldF9faXRlbS5jb2wteHMtNiB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICAud2lkZ2V0LS1idWRkeXdhbGwgLndpZGdldF9faXRlbSB7XHJcbiAgICBwYWRkaW5nOjAgMXJlbTtcclxuICB9XHJcblxyXG4gIC53aWRnZXQtLWJ1ZGR5d2FsbCAud2lkZ2V0X19pdGVtIHtcclxuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAud2lkZ2V0LS1idWRkeXdhbGwgLndpZGdldF9faXRlbS5jb2wteHMtMyB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG59IiwiLndpZGdldC0tbG9jYXRpb24ge1xyXG4gIC53aWRnZXRfX2RldGFpbCB7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbiAgXHJcbiAgLmdtbm9wcmludCB7XHJcbiAgICBib3R0b206IDYwcHg7XHJcbiAgICB0b3A6YXV0byFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIC53aWRnZXRfX21hcCA+IGRpdiB7XHJcbiAgICBwb3NpdGlvbjpmaXhlZCFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gXHJcbn1cclxuXHJcbiIsIi53aWRnZXQtLW1hcCB7XHJcbiAgLndpZGdldF9fZGV0YWlsIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG59XHJcblxyXG4uZ20tc3R5bGUtaXcge1xyXG4gIG92ZXJmbG93LXk6IGF1dG8gIWltcG9ydGFudDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG4uZ20tc3R5bGUtaXcgPiBkaXYge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbn1cclxuLmluZm9XaW5kb3cge1xyXG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLmdtLXN0eWxlIHtcclxuICB6LWluZGV4OjEhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY3VzdG9tLW1hcmtlciB7XHJcbiAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgbWFyZ2luLXRvcDogLTUwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xyXG4gIHdpZHRoOjYwcHg7XHJcbiAgYmFja2dyb3VuZDogYmxhY2s7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XHJcbiAgei1pbmRleDogNTtcclxuICBjdXJzb3I6cG9pbnRlcjtcclxuICBvdmVyZmxvdzpoaWRkZW47XHJcblxyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMTBweCAxMHB4IDdweCAtOHB4IHJnYmEoMCwwLDAsMC40Nyk7XHJcbiAgLW1vei1ib3gtc2hhZG93OiAxMHB4IDEwcHggN3B4IC04cHggcmdiYSgwLDAsMCwwLjQ3KTtcclxuICBib3gtc2hhZG93OiAxMHB4IDEwcHggN3B4IC04cHggcmdiYSgwLDAsMCwwLjQ3KTtcclxuICBpbWcgeyB3aWR0aDoxMDAlOyB9XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgbWFyZ2luLXRvcDogLTIxMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xMTJweDtcclxuICAgIHdpZHRoOiAyMjBweDtcclxuICAgIG1pbi1oZWlnaHQ6MjAwcHg7XHJcbiAgICBoZWlnaHQ6YXV0bztcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XHJcbiAgICB6LWluZGV4OjEwMDtcclxuICAgIC5tYXBfX2RldGFpbCB7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5tYXBfX2RldGFpbCB7XHJcbiAgICBwYWRkaW5nOjEwcHggMzBweCAxMHB4IDEwcHg7XHJcbiAgICBjb2xvcjpibGFjaztcclxuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVMVFN0ZFwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZGlzcGxheTpub25lO1xyXG4gICAgLm1hcF9fdGl0bGUge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOjEwcHg7XHJcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgIH1cclxuICAgICAgc3BhbjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6IDIzcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyM3B4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogLTI3cHg7XHJcbiAgICAgICAgYm90dG9tOiAtNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9ncmFwaGljcy9pY29uLWFycm93LWxpbmstd2hpdGVAMngucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggMTVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNsdXN0ZXIwIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDEwcHggMTBweCA3cHggLThweCByZ2JhKDAsMCwwLDAuNDcpO1xyXG4gIC1tb3otYm94LXNoYWRvdzogMTBweCAxMHB4IDdweCAtOHB4IHJnYmEoMCwwLDAsMC40Nyk7XHJcbiAgYm94LXNoYWRvdzogMTBweCAxMHB4IDdweCAtOHB4IHJnYmEoMCwwLDAsMC40Nyk7XHJcbn1cclxuXHJcbi53aWRnZXRfX21hcCB7XHJcbiAgPiBkaXYge1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgLndpZGdldC0tbWFwICAubWFwX19wcm9qZWN0cyB7XHJcbiAgICB0b3A6MDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg0MHB4KSB7XHJcbiAgXHJcbn1cclxuXHJcbiIsIi53aWRnZXQtLWxpc3Qge1xyXG4gIHBhZGRpbmctYm90dG9tOjUwcHg7XHJcbiAgXHJcbiAgLndpZGdldF9fZGV0YWlsIHtcclxuICAgIHBhZGRpbmc6IDAgOHB4O1xyXG4gICAgaGVpZ2h0OjEwMCU7XHJcbiAgICBhIHtcclxuICAgICAgcGFkZGluZzo4cHggMDtcclxuICAgIH1cclxuICAgIGEgc3BhbiB7XHJcbiAgICAgIHBhZGRpbmc6NXB4IDA7XHJcbiAgICAgIGNvbG9yOndoaXRlO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIH1cclxuICAgIGxpOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICBib3R0b206MDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgaGVpZ2h0OjFweDtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgYmFja2dyb3VuZDogYmxhY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ud2lkZ2V0LS1saXN0IC5saXN0IHtcclxuICBsaSB7XHJcbiAgICA6aG92ZXIge1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi53aWRnZXQtLWxpc3Qge1xyXG4gIC53aWRnZXRfX2RldGFpbCAud2lkZ2V0X190aXRsZSB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6MzBweCAwO1xyXG4gICAgZm9udC1zaXplOjEuMXJlbTtcclxuICAgIHdpZHRoOmF1dG87XHJcbiAgIC5zb3J0IHNwYW4geyAgXHJcbiAgICAgY3Vyc29yOnBvaW50ZXI7XHJcbiAgICAgcG9zaXRpb246cmVsYXRpdmU7IFxyXG4gICB9XHJcbiAgICAuc29ydC5hc2Mgc3BhbjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6Jyc7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIHdpZHRoOjIxcHg7XHJcbiAgICAgIGhlaWdodDoyMXB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vZ3JhcGhpY3MvaWNvbi1hcnJvdy1kb3duQDJ4LnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjFweCAyMXB4O1xyXG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6LTM3cHg7XHJcbiAgICAgIHRvcDogMXB4O1xyXG4gICAgfVxyXG4gICAgLnNvcnQuZGVzYyBzcGFuOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6Jyc7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgd2lkdGg6MjFweDtcclxuICAgIGhlaWdodDoyMXB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2dyYXBoaWNzL2ljb24tYXJyb3ctdXBAMngucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMjFweCAyMXB4O1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICByaWdodDotMzdweDtcclxuICAgICAgdG9wOiAxcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4jd2lkZ2V0X19saXN0IC5yb3cgPiBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gIHBhZGRpbmctbGVmdDoyMHB4O1xyXG59XHJcblxyXG4vKiBNT0JJTEUgSElHSCBERU5TSVRZICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODQwcHgpIHtcclxuICAud2lkZ2V0LS1saXN0IC5saXN0IHtcclxuICAgIG1hcmdpbi10b3A6MzBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcclxuICB9XHJcbiAgXHJcbiAgLndpZGdldC0tbGlzdCAubGlzdCBsaSBhID4gZGl2IHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlO1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC53aWRnZXQtLWxpc3QgLmxpc3QgbGkgYSAuY29sLXhzLTIge1xyXG4gICAgZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAjd2lkZ2V0X19saXN0IC5yb3cgPiBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcclxuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcclxuICB9XHJcblxyXG4gIC53aWRnZXQtLWxpc3QgLndpZGdldF9fZGV0YWlsIHtcclxuICAgIGxpOmFmdGVyIHtcclxuICAgICAgbGVmdDowO1xyXG4gICAgfVxyXG4gICAgLmxpc3RfX25hbWUgc3BhbiB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG4gICAgLndpZGdldF9fdGl0bGUge1xyXG4gICAgICBwYWRkaW5nOjA7XHJcbiAgICAgIHRvcDogMTAwcHg7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNlYmViZWI7XHJcbiAgICAgIGhlaWdodDoxMDBweDtcclxuICAgICAgLnNvcnQuZGVzYyBzcGFuLCAgXHJcbiAgICAgIC5zb3J0LmFzYyBzcGFuICB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcclxuICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwcHg7XHJcbiAgICAgICAgZmxleC1iYXNpczogMTAwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgLndpZGdldC0tbGlzdCAjd2lkZ2V0X19saXN0IC5jb2wteHMtMiB7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gIH1cclxuXHJcbiAgYm9keSAud2lkZ2V0LS1saXN0IC5jb2wteHMtMyB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjUlO1xyXG4gICAgZmxleC1iYXNpczogMjUlO1xyXG4gICAgbWF4LXdpZHRoOiAyNSU7XHJcbiAgfVxyXG59IiwiLndpZGdldC0tcHVibGljYXRpb25zIHtcclxuICBoMiB7XHJcbiAgICBtYXJnaW46NDVweCAwO1xyXG4gIH1cclxufVxyXG5cclxuLndpZGdldC0tcHVibGljYXRpb25zIHtcclxuICAud2lkZ2V0X19pdGVtIHtcclxuICAgIGgzIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgZm9udC1zaXplOiAwLjg0cmVtO1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLmNvbC14cy0xMCAuY29sLXhzLTUge1xyXG4gICAgcGFkZGluZy1sZWZ0OjJyZW07XHJcbiAgfVxyXG5cclxuICAud2lkZ2V0X19kZXRhaWwgLnJvdyA+IC5jb2wteHMtOCA+IC5yb3cgZGl2W2NsYXNzXj1cImNvbC14c1wiXSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOjMwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgLndpZGdldC0tcHVibGljYXRpb25zIC5jb2wteHMtNiB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICBib2R5IC53aWRnZXQtLXB1YmxpY2F0aW9ucyAuY29sLXhzLTMge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDI1JTtcclxuICAgIGZsZXgtYmFzaXM6IDI1JTtcclxuICAgIG1heC13aWR0aDogMjUlO1xyXG4gIH1cclxuXHJcbiAgLndpZGdldC0tcHVibGljYXRpb25zIC53aWRnZXRfX2l0ZW0gaW1nIHtcclxuICAgIG1heC13aWR0aDogNTAlO1xyXG4gIH1cclxuXHJcbiAgYm9keSAjY29udGVudCAud2lkZ2V0LS1wdWJsaWNhdGlvbnMgLmNvbC14cy01IHtcclxuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcclxuICB9XHJcblxyXG4gICNtbS0wIC53aWRnZXQtLXB1YmxpY2F0aW9ucyB7XHJcbiAgICAud2lkZ2V0X19pdGVtIHtcclxuICAgICAgLmNvbC14cy0yIHtcclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzMy4zMzMzMzMzMyU7XHJcbiAgICAgICAgZmxleC1iYXNpczogMzMuMzMzMzMzMzMlO1xyXG4gICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMlO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmNvbC14cy0xMCB7XHJcbiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDY2LjY2NjY2NjY3JTtcclxuICAgICAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NjY2NyU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NyU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg0MHB4KSB7XHJcbiAgLndpZGdldC0tcHVibGljYXRpb25zIC5jb2wteHMtOSB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBpbWcge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYm9keSAud2lkZ2V0LS1wdWJsaWNhdGlvbnMgLmNvbC14cy0zIHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlO1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDZweDtcclxuICB9XHJcblxyXG4gIGJvZHkgI2NvbnRlbnQgLndpZGdldC0tcHVibGljYXRpb25zIC5jb2wteHMtNSB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAjbW0tMCAud2lkZ2V0LS1wdWJsaWNhdGlvbnMge1xyXG4gICAgLmNvbC14cy0yIHtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAud2lkZ2V0LS1wdWJsaWNhdGlvbnMgaDIge1xyXG4gICAgbWFyZ2luLXRvcDowO1xyXG4gIH1cclxuXHJcbiAgI21tLTAgLndpZGdldC0tcHVibGljYXRpb25zIHtcclxuICAgIC53aWRnZXRfX2l0ZW0ge1xyXG4gICAgICAuY29sLXhzLTIge1xyXG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEwMCU7XHJcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jb2wteHMtMTAge1xyXG4gICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlO1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLndpZGdldC0tY2xpZW50cyB7XHJcbiAgcGFkZGluZzogJGdsb2JhbF9wYWRkaW5nO1xyXG4gIC53aWRnZXRfX2RldGFpbCB7XHJcbiAgICBtYXgtd2lkdGg6ICRtYXhfd2lkdGg7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIG1hcmdpbjowIGF1dG87XHJcbiAgICBpbWcge1xyXG4gICAgICBoZWlnaHQ6MTAwJTtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxODBweDtcclxuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgXHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgY3Vyc29yOmRlZmF1bHQ7XHJcbiAgICAgIGhlaWdodDoxMDAlO1xyXG4gICAgICBtaW4taGVpZ2h0OjE0MHB4O1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgfVxyXG4gICAgLndpZGdldF9fY29udGFpbmVyIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206MjBweDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qIE1PQklMRSAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gIC53aWRnZXQtLWNsaWVudHMgLndpZGdldF9fY29udGFpbmVyIC5yb3cge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC00cmVtO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICBcclxufSIsIi53aWRnZXQtLWNhcmVlcnMge1xyXG4gIGgyIHtcclxuICAgIGZvbnQtc2l6ZTogMS44ZW07XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTozNXB4O1xyXG4gICAgbWFyZ2luLXRvcDowO1xyXG4gIH1cclxuICBpbnB1dCwgdGV4dGFyZWEsIC5xcS11cGxvYWQtYnV0dG9uID4gZGl2IHtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICRncmV5O1xyXG4gICAgcGFkZGluZzoxMnB4O1xyXG4gICAgcGFkZGluZy1yaWdodDo2MHB4O1xyXG4gICAgbWFyZ2luOjA7XHJcbiAgICBtYXJnaW4tYm90dG9tOjIwcHg7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDp3aGl0ZTtcclxuICAgIGNvbG9yOmJsYWNrO1xyXG4gICAgZm9udC1zaXplOiAwLjg4cmVtO1xyXG4gICAgQGluY2x1ZGUgYm94LXNpemluZygpO1xyXG4gICAgc3BhbiB7XHJcbiAgICAgIGNvbG9yOiM5ZTllOWU7XHJcbiAgICB9XHJcbiAgICAmLmVycm9yIHtcclxuICAgICAgYm9yZGVyOjFweCBzb2xpZCByZWQ7XHJcbiAgICB9XHJcbiAgICAmLnZhbGlkIHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjZWNkMTtcclxuICAgIH1cclxuICB9XHJcbiAgdGV4dGFyZWEge1xyXG4gICAgbWluLWhlaWdodDogODBweDtcclxuICB9XHJcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kOiRncmV5IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgY29sb3I6d2hpdGU7XHJcbiAgICB3aWR0aDo3NXB4O1xyXG4gICAgY3Vyc29yOnBvaW50ZXI7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnL3NraW5zL2RlZmF1bHQvZ3JhcGhpY3MvZmluZS11cGxvYWRlci9sb2FkaW5nLmdpZicpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcclxuICAgICAgdGV4dC1pbmRlbnQ6LTEwMHB4O1xyXG4gICAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICB9XHJcbiAgfVxyXG4gICNmaW5lLXVwbG9hZGVyLXZhbGlkYXRpb24ge1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgbWF4LXdpZHRoOjEwMCU7XHJcbiAgICAucXEtZmlsZS1pbmZvcm1hdGlvbiB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcclxuICAgICAgKiB7IGNvbG9yOmJsYWNrOyB9XHJcbiAgICB9XHJcbiAgICAucXEtdXBsb2FkLWNhbmNlbCB7XHJcbiAgICAgIGNvbG9yOmJsYWNrO1xyXG4gICAgfVxyXG4gICAgLnFxLXVwbG9hZC1jYW5jZWwsIC5xcS11cGxvYWQtcmV0cnksIC5xcS11cGxvYWQtZGVsZXRlLCAucXEtdXBsb2FkLXBhdXNlLCAucXEtdXBsb2FkLWNvbnRpbnVlIHtcclxuICAgICAgYm9yZGVyOjFweCBzb2xpZCBibGFjaztcclxuICAgICAgY29sb3I6YmxhY2s7XHJcbiAgICB9XHJcbiAgICAucXEtdXBsb2FkLWxpc3Qge1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuNnMgbGluZWFyKTtcclxuICAgICAgbGkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gIH1cclxuICA6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gIH1cclxuICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSUUgMTArICovXHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgfVxyXG4gIDotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cclxuICAgIGNvbG9yOiBibGFjaztcclxuICB9XHJcbn1cclxuXHJcbi5zaWRlYmFyX19pdGVtIHtcclxuICBtYXJnaW4tdG9wOjMwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiNGI0YjQ7XHJcbiAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tdG9wOjA7XHJcbiAgfVxyXG4gIGEge1xyXG4gICAgY29sb3I6YmxhY2s7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcbiAgLnNpZGViYXJfX3RpdGxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206MjBweDtcclxuICAgIHNwYW4ge1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi53aWRnZXQtLWNhcmVlcnMge1xyXG4gIC5mb3JtIHtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlOyAgXHJcbiAgfVxyXG4gIFxyXG4gIC5mb3JtX19pbmZvIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIG1hcmdpbjowIDAgMjBweCAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnFxLXVwbG9hZC1idXR0b24gPiBkaXY6YWZ0ZXIge1xyXG4gICAgY29udGVudDonJztcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDE1cHg7XHJcbiAgICB0b3A6IDEycHg7XHJcbiAgICB3aWR0aDoyMHB4O1xyXG4gICAgaGVpZ2h0OjE3cHg7XHJcbiAgICBiYWNrZ3JvdW5kOnVybCguLi9ncmFwaGljcy9pY29uLXVwbG9hZEAyeC5wbmcpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOjIwcHggMTdweDtcclxuICB9XHJcbn1cclxuXHJcbi53aWRnZXQtLWNhcmVlcnMge1xyXG4gIGZvcm0ge1xyXG4gICAgLnJvdyB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLTRweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XHJcbiAgICB9XHJcbiAgICAuY29sLXhzLTYsIC5jb2wteHMtMTIge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmhpbnQge1xyXG4gIGRpc3BsYXk6bm9uZTtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBjb2xvcjogIzU1NTtcclxuICB1bCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6NXB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6MDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBsaSB7XHJcbiAgICAgIHRvcDogLTIwcHg7XHJcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICBwYWRkaW5nOjVweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OjMwcHg7XHJcbiAgICAgICYudmFsaWQ6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjNDdkOTJmO1xyXG4gICAgICAgIHBhZGRpbmc6MnB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMHB4IDFweCByZ2JhKDI1NSwyNTUsMjU1LDEpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgfVxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDonJztcclxuICAgICAgICB3aWR0aDoyMHB4O1xyXG4gICAgICAgIGhlaWdodDoyMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6MDtcclxuICAgICAgICB0b3A6M3B4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6dXJsKC4uL2dyYXBoaWNzL2ljb25fX2luZm8ucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6MjBweCAyMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gIC53aWRnZXQtLWNhcmVlcnMgLnFxLXVwbG9hZC1idXR0b24gPiBkaXYgc3BhbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuICB9XHJcbn0iLCIud2lkZ2V0LS1mZWF0dXJlZCB7XHJcbiAgLndpZGdldF9fZGV0YWlsIHtcclxuICAgIC5vd2wtbmF2IHtcclxuICAgICAgb3BhY2l0eToxO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDowO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAmID4gZGl2IHtcclxuICAgICAgICB0b3A6IC0yNXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgdXJsKCcuLi9ncmFwaGljcy9hcnJvdy1sZWZ0QDJ4LnBuZycpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjNweCA0M3B4O1xyXG4gICAgICAgIHRleHQtaW5kZW50OiAtNTBweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBsZWZ0OiA0cHg7XHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICBvcGFjaXR5OjA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5vd2wtbmV4dCB7XHJcbiAgICAgICAgbGVmdDphdXRvO1xyXG4gICAgICAgIHJpZ2h0OiAzcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjUpIHVybCgnLi4vZ3JhcGhpY3MvYXJyb3ctcmlnaHRAMngucG5nJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyM3B4IDQzcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC53aWRnZXRfX3BhbmVsIHtcclxuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAtLjJyZW0haW1wb3J0YW50O1xyXG4gICAgICBtYXJnaW4tbGVmdDogLS4ycmVtIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgLndpZGdldF9fZGV0YWlsID4gLnJvdyB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuICAud2lkZ2V0X190aXRsZSB7XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgIGgyIHtcclxuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOjI1cHghaW1wb3J0YW50O1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OicnO1xyXG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgd2lkdGg6MjFweDtcclxuICAgICAgICBoZWlnaHQ6MjFweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vZ3JhcGhpY3MvaWNvbi1hcnJvdy11cEAyeC5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjFweCAyMXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0Oi0zN3B4O1xyXG4gICAgICAgIHRvcDogMXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC53aWRnZXRfX2l0ZW0ge1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOi4ycmVtO1xyXG4gICAgLnByb2plY3RfX2NvbnRlbnQge1xyXG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICAgIH1cclxuICAgIC5wcm9qZWN0X190aXRsZSB7XHJcbiAgICAgIG9wYWNpdHk6MDtcclxuICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgdG9wOjA7XHJcbiAgICAgIGNvbG9yOndoaXRlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDUwLCA1MCwgNDksIDAuNzQpO1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuM3MgZWFzZS1vdXQpO1xyXG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKCk7XHJcbiAgICAgIGIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgfVxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgb3BhY2l0eToxO1xyXG4gICAgICB9XHJcbiAgICAgIC5tb3JlIHtcclxuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgIH1cclxuICAgICAgLm1vcmUgc3BhbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTppbmhlcml0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OmluaGVyaXQ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLndpZGdldC0tZmVhdHVyZWQuY2xvc2VkIHtcclxuICBoMiB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2dyYXBoaWNzL2ljb24tYXJyb3ctZG93bkAyeC5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIxcHggMjFweDtcclxuICAgIH1cclxuICB9XHJcbiAgLm93bC1uYXYge1xyXG4gICAgb3BhY2l0eTowO1xyXG4gIH1cclxufVxyXG5cclxuLndpZGdldC0tZmVhdHVyZWQgLm93bC1zdGFnZSAud2lkZ2V0X19pdGVtIHtcclxuICBtYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi53aWRnZXQtLWZlYXR1cmVkLmJhY2tncm91bmQtLWdyZXkge1xyXG4gIHBhZGRpbmctdG9wOiAyMHB4IWltcG9ydGFudDtcclxufVxyXG5cclxuIiwiLndpZGdldC0tc3BhY2VyIHtcclxuICBoZWlnaHQ6MTAwcHg7XHJcbn1cclxuXHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICBcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODQwcHgpIHtcclxuIFxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gIC53aWRnZXQtLXNwYWNlciB7XHJcbiAgICBoZWlnaHQ6NTBweDtcclxuICB9XHJcbn0iLCIvL2NoZWNrb3V0IGh0dHA6Ly9mbGV4Ym94Z3JpZC5jb20vXHJcblxyXG4uY29udGFpbmVyLWZsdWlkLFxyXG4uY29udGFpbmVyIHtcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuXHJcbi5jb250YWluZXItZmx1aWQge1xyXG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07XHJcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xyXG59XHJcblxyXG4ucm93IHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcclxuICAtbXMtZmxleDogMCAxIGF1dG87XHJcbiAgZmxleDogMCAxIGF1dG87XHJcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xyXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xyXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcclxuICBtYXJnaW4tbGVmdDogLTFyZW07XHJcbn1cclxuXHJcbi5yb3cucmV2ZXJzZSB7XHJcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xyXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcclxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxufVxyXG5cclxuLmNvbC5yZXZlcnNlIHtcclxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcclxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxufVxyXG5cclxuLmNvbC14cyxcclxuLmNvbC14cy0xLFxyXG4uY29sLXhzLTIsXHJcbi5jb2wteHMtMyxcclxuLmNvbC14cy00LFxyXG4uY29sLXhzLTUsXHJcbi5jb2wteHMtNixcclxuLmNvbC14cy03LFxyXG4uY29sLXhzLTgsXHJcbi5jb2wteHMtOSxcclxuLmNvbC14cy0xMCxcclxuLmNvbC14cy0xMSxcclxuLmNvbC14cy0xMixcclxuLmNvbC14cy1vZmZzZXQtMCxcclxuLmNvbC14cy1vZmZzZXQtMSxcclxuLmNvbC14cy1vZmZzZXQtMixcclxuLmNvbC14cy1vZmZzZXQtMyxcclxuLmNvbC14cy1vZmZzZXQtNCxcclxuLmNvbC14cy1vZmZzZXQtNSxcclxuLmNvbC14cy1vZmZzZXQtNixcclxuLmNvbC14cy1vZmZzZXQtNyxcclxuLmNvbC14cy1vZmZzZXQtOCxcclxuLmNvbC14cy1vZmZzZXQtOSxcclxuLmNvbC14cy1vZmZzZXQtMTAsXHJcbi5jb2wteHMtb2Zmc2V0LTExLFxyXG4uY29sLXhzLW9mZnNldC0xMiB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xyXG4gIC1tcy1mbGV4OiAwIDAgYXV0bztcclxuICBmbGV4OiAwIDAgYXV0bztcclxuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcclxufVxyXG5cclxuLmNvbC14cyB7XHJcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcclxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7XHJcbiAgZmxleC1iYXNpczogMDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jb2wteHMtMSB7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDguMzMzMzMzMzMlO1xyXG4gIGZsZXgtYmFzaXM6IDguMzMzMzMzMzMlO1xyXG4gIG1heC13aWR0aDogOC4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtMiB7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDE2LjY2NjY2NjY3JTtcclxuICBmbGV4LWJhc2lzOiAxNi42NjY2NjY2NyU7XHJcbiAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5jb2wteHMtMyB7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDI1JTtcclxuICBmbGV4LWJhc2lzOiAyNSU7XHJcbiAgbWF4LXdpZHRoOiAyNSU7XHJcbn1cclxuXHJcbi5jb2wteHMtNCB7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDMzLjMzMzMzMzMzJTtcclxuICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMzMyU7XHJcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtNSB7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDQxLjY2NjY2NjY3JTtcclxuICBmbGV4LWJhc2lzOiA0MS42NjY2NjY2NyU7XHJcbiAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5jb2wteHMtNiB7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDUwJTtcclxuICBmbGV4LWJhc2lzOiA1MCU7XHJcbiAgbWF4LXdpZHRoOiA1MCU7XHJcbn1cclxuXHJcbi5jb2wteHMtNyB7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDU4LjMzMzMzMzMzJTtcclxuICBmbGV4LWJhc2lzOiA1OC4zMzMzMzMzMyU7XHJcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtOCB7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDY2LjY2NjY2NjY3JTtcclxuICBmbGV4LWJhc2lzOiA2Ni42NjY2NjY2NyU7XHJcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5jb2wteHMtOSB7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDc1JTtcclxuICBmbGV4LWJhc2lzOiA3NSU7XHJcbiAgbWF4LXdpZHRoOiA3NSU7XHJcbn1cclxuXHJcbi5jb2wteHMtMTAge1xyXG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA4My4zMzMzMzMzMyU7XHJcbiAgZmxleC1iYXNpczogODMuMzMzMzMzMzMlO1xyXG4gIG1heC13aWR0aDogODMuMzMzMzMzMzMlO1xyXG59XHJcblxyXG4uY29sLXhzLTExIHtcclxuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogOTEuNjY2NjY2NjclO1xyXG4gIGZsZXgtYmFzaXM6IDkxLjY2NjY2NjY3JTtcclxuICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY3JTtcclxufVxyXG5cclxuLmNvbC14cy0xMiB7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEwMCU7XHJcbiAgZmxleC1iYXNpczogMTAwJTtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jb2wteHMtb2Zmc2V0LTAge1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG4uY29sLXhzLW9mZnNldC0xIHtcclxuICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtb2Zmc2V0LTIge1xyXG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5jb2wteHMtb2Zmc2V0LTMge1xyXG4gIG1hcmdpbi1sZWZ0OiAyNSU7XHJcbn1cclxuXHJcbi5jb2wteHMtb2Zmc2V0LTQge1xyXG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtb2Zmc2V0LTUge1xyXG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5jb2wteHMtb2Zmc2V0LTYge1xyXG4gIG1hcmdpbi1sZWZ0OiA1MCU7XHJcbn1cclxuXHJcbi5jb2wteHMtb2Zmc2V0LTcge1xyXG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtb2Zmc2V0LTgge1xyXG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5jb2wteHMtb2Zmc2V0LTkge1xyXG4gIG1hcmdpbi1sZWZ0OiA3NSU7XHJcbn1cclxuXHJcbi5jb2wteHMtb2Zmc2V0LTEwIHtcclxuICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xyXG59XHJcblxyXG4uY29sLXhzLW9mZnNldC0xMSB7XHJcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTtcclxufVxyXG5cclxuLnN0YXJ0LXhzIHtcclxuICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcclxuICAtbXMtZmxleC1wYWNrOiBzdGFydDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbn1cclxuXHJcbi5jZW50ZXIteHMge1xyXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcclxuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZW5kLXhzIHtcclxuICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XHJcbiAgLW1zLWZsZXgtcGFjazogZW5kO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgdGV4dC1hbGlnbjogZW5kO1xyXG59XHJcblxyXG4udG9wLXhzIHtcclxuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XHJcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG59XHJcblxyXG4ubWlkZGxlLXhzIHtcclxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmJvdHRvbS14cyB7XHJcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcclxuICAtbXMtZmxleC1hbGlnbjogZW5kO1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxufVxyXG5cclxuLmFyb3VuZC14cyB7XHJcbiAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxufVxyXG5cclxuLmJldHdlZW4teHMge1xyXG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XHJcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi5maXJzdC14cyB7XHJcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMDtcclxuICAtbXMtZmxleC1vcmRlcjogLTE7XHJcbiAgb3JkZXI6IC0xO1xyXG59XHJcblxyXG4ubGFzdC14cyB7XHJcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcclxuICAtbXMtZmxleC1vcmRlcjogMTtcclxuICBvcmRlcjogMTtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogNDlyZW07XHJcbiAgfVxyXG5cclxuICAuY29sLXNtLFxyXG4gIC5jb2wtc20tMSxcclxuICAuY29sLXNtLTIsXHJcbiAgLmNvbC1zbS0zLFxyXG4gIC5jb2wtc20tNCxcclxuICAuY29sLXNtLTUsXHJcbiAgLmNvbC1zbS02LFxyXG4gIC5jb2wtc20tNyxcclxuICAuY29sLXNtLTgsXHJcbiAgLmNvbC1zbS05LFxyXG4gIC5jb2wtc20tMTAsXHJcbiAgLmNvbC1zbS0xMSxcclxuICAuY29sLXNtLTEyLFxyXG4gIC5jb2wtc20tb2Zmc2V0LTAsXHJcbiAgLmNvbC1zbS1vZmZzZXQtMSxcclxuICAuY29sLXNtLW9mZnNldC0yLFxyXG4gIC5jb2wtc20tb2Zmc2V0LTMsXHJcbiAgLmNvbC1zbS1vZmZzZXQtNCxcclxuICAuY29sLXNtLW9mZnNldC01LFxyXG4gIC5jb2wtc20tb2Zmc2V0LTYsXHJcbiAgLmNvbC1zbS1vZmZzZXQtNyxcclxuICAuY29sLXNtLW9mZnNldC04LFxyXG4gIC5jb2wtc20tb2Zmc2V0LTksXHJcbiAgLmNvbC1zbS1vZmZzZXQtMTAsXHJcbiAgLmNvbC1zbS1vZmZzZXQtMTEsXHJcbiAgLmNvbC1zbS1vZmZzZXQtMTIge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XHJcbiAgICAtbXMtZmxleDogMCAwIGF1dG87XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbiAgfVxyXG5cclxuICAuY29sLXNtIHtcclxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XHJcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwO1xyXG4gICAgZmxleC1iYXNpczogMDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tMSB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogOC4zMzMzMzMzMyU7XHJcbiAgICBmbGV4LWJhc2lzOiA4LjMzMzMzMzMzJTtcclxuICAgIG1heC13aWR0aDogOC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAuY29sLXNtLTIge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDE2LjY2NjY2NjY3JTtcclxuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY2NjY3JTtcclxuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1zbS0zIHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyNSU7XHJcbiAgICBmbGV4LWJhc2lzOiAyNSU7XHJcbiAgICBtYXgtd2lkdGg6IDI1JTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tNCB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMzMuMzMzMzMzMzMlO1xyXG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMzMzMlO1xyXG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAuY29sLXNtLTUge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDQxLjY2NjY2NjY3JTtcclxuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY2NjY3JTtcclxuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1zbS02IHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA1MCU7XHJcbiAgICBmbGV4LWJhc2lzOiA1MCU7XHJcbiAgICBtYXgtd2lkdGg6IDUwJTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tNyB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTguMzMzMzMzMzMlO1xyXG4gICAgZmxleC1iYXNpczogNTguMzMzMzMzMzMlO1xyXG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAuY29sLXNtLTgge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDY2LjY2NjY2NjY3JTtcclxuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY2NjY3JTtcclxuICAgIG1heC13aWR0aDogNjYuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1zbS05IHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA3NSU7XHJcbiAgICBmbGV4LWJhc2lzOiA3NSU7XHJcbiAgICBtYXgtd2lkdGg6IDc1JTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tMTAge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDgzLjMzMzMzMzMzJTtcclxuICAgIGZsZXgtYmFzaXM6IDgzLjMzMzMzMzMzJTtcclxuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1zbS0xMSB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogOTEuNjY2NjY2NjclO1xyXG4gICAgZmxleC1iYXNpczogOTEuNjY2NjY2NjclO1xyXG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NyU7XHJcbiAgfVxyXG5cclxuICAuY29sLXNtLTEyIHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlO1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tb2Zmc2V0LTAge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICAuY29sLXNtLW9mZnNldC0xIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tb2Zmc2V0LTIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tb2Zmc2V0LTMge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tb2Zmc2V0LTQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tb2Zmc2V0LTUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tb2Zmc2V0LTYge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tb2Zmc2V0LTcge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tb2Zmc2V0LTgge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tb2Zmc2V0LTkge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcclxuICB9XHJcblxyXG4gIC5jb2wtc20tb2Zmc2V0LTEwIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAuY29sLXNtLW9mZnNldC0xMSB7XHJcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLnN0YXJ0LXNtIHtcclxuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xyXG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcclxuICB9XHJcblxyXG4gIC5jZW50ZXItc20ge1xyXG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xyXG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAuZW5kLXNtIHtcclxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcclxuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICB0ZXh0LWFsaWduOiBlbmQ7XHJcbiAgfVxyXG5cclxuICAudG9wLXNtIHtcclxuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcclxuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgLm1pZGRsZS1zbSB7XHJcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAuYm90dG9tLXNtIHtcclxuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XHJcbiAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gIH1cclxuXHJcbiAgLmFyb3VuZC1zbSB7XHJcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgfVxyXG5cclxuICAuYmV0d2Vlbi1zbSB7XHJcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xyXG4gICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB9XHJcblxyXG4gIC5maXJzdC1zbSB7XHJcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAwO1xyXG4gICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xyXG4gICAgb3JkZXI6IC0xO1xyXG4gIH1cclxuXHJcbiAgLmxhc3Qtc20ge1xyXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcclxuICAgIC1tcy1mbGV4LW9yZGVyOiAxO1xyXG4gICAgb3JkZXI6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcclxuICAuY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiA2NXJlbTtcclxuICB9XHJcblxyXG4gIC5jb2wtbWQsXHJcbiAgLmNvbC1tZC0xLFxyXG4gIC5jb2wtbWQtMixcclxuICAuY29sLW1kLTMsXHJcbiAgLmNvbC1tZC00LFxyXG4gIC5jb2wtbWQtNSxcclxuICAuY29sLW1kLTYsXHJcbiAgLmNvbC1tZC03LFxyXG4gIC5jb2wtbWQtOCxcclxuICAuY29sLW1kLTksXHJcbiAgLmNvbC1tZC0xMCxcclxuICAuY29sLW1kLTExLFxyXG4gIC5jb2wtbWQtMTIsXHJcbiAgLmNvbC1tZC1vZmZzZXQtMCxcclxuICAuY29sLW1kLW9mZnNldC0xLFxyXG4gIC5jb2wtbWQtb2Zmc2V0LTIsXHJcbiAgLmNvbC1tZC1vZmZzZXQtMyxcclxuICAuY29sLW1kLW9mZnNldC00LFxyXG4gIC5jb2wtbWQtb2Zmc2V0LTUsXHJcbiAgLmNvbC1tZC1vZmZzZXQtNixcclxuICAuY29sLW1kLW9mZnNldC03LFxyXG4gIC5jb2wtbWQtb2Zmc2V0LTgsXHJcbiAgLmNvbC1tZC1vZmZzZXQtOSxcclxuICAuY29sLW1kLW9mZnNldC0xMCxcclxuICAuY29sLW1kLW9mZnNldC0xMSxcclxuICAuY29sLW1kLW9mZnNldC0xMiB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcclxuICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcclxuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcclxuICB9XHJcblxyXG4gIC5jb2wtbWQge1xyXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcclxuICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7XHJcbiAgICBmbGV4LWJhc2lzOiAwO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC0xIHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA4LjMzMzMzMzMzJTtcclxuICAgIGZsZXgtYmFzaXM6IDguMzMzMzMzMzMlO1xyXG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzJTtcclxuICB9XHJcblxyXG4gIC5jb2wtbWQtMiB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTYuNjY2NjY2NjclO1xyXG4gICAgZmxleC1iYXNpczogMTYuNjY2NjY2NjclO1xyXG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NyU7XHJcbiAgfVxyXG5cclxuICAuY29sLW1kLTMge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDI1JTtcclxuICAgIGZsZXgtYmFzaXM6IDI1JTtcclxuICAgIG1heC13aWR0aDogMjUlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC00IHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzMy4zMzMzMzMzMyU7XHJcbiAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMzMyU7XHJcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzJTtcclxuICB9XHJcblxyXG4gIC5jb2wtbWQtNSB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNDEuNjY2NjY2NjclO1xyXG4gICAgZmxleC1iYXNpczogNDEuNjY2NjY2NjclO1xyXG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NyU7XHJcbiAgfVxyXG5cclxuICAuY29sLW1kLTYge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDUwJTtcclxuICAgIGZsZXgtYmFzaXM6IDUwJTtcclxuICAgIG1heC13aWR0aDogNTAlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC03IHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA1OC4zMzMzMzMzMyU7XHJcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMzMzMyU7XHJcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzJTtcclxuICB9XHJcblxyXG4gIC5jb2wtbWQtOCB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNjYuNjY2NjY2NjclO1xyXG4gICAgZmxleC1iYXNpczogNjYuNjY2NjY2NjclO1xyXG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NyU7XHJcbiAgfVxyXG5cclxuICAuY29sLW1kLTkge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDc1JTtcclxuICAgIGZsZXgtYmFzaXM6IDc1JTtcclxuICAgIG1heC13aWR0aDogNzUlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC0xMCB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogODMuMzMzMzMzMzMlO1xyXG4gICAgZmxleC1iYXNpczogODMuMzMzMzMzMzMlO1xyXG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAuY29sLW1kLTExIHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA5MS42NjY2NjY2NyU7XHJcbiAgICBmbGV4LWJhc2lzOiA5MS42NjY2NjY2NyU7XHJcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5jb2wtbWQtMTIge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEwMCU7XHJcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC1vZmZzZXQtMCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcblxyXG4gIC5jb2wtbWQtb2Zmc2V0LTEge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC1vZmZzZXQtMiB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC1vZmZzZXQtMyB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC1vZmZzZXQtNCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC1vZmZzZXQtNSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC1vZmZzZXQtNiB7XHJcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC1vZmZzZXQtNyB7XHJcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC1vZmZzZXQtOCB7XHJcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC1vZmZzZXQtOSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1tZC1vZmZzZXQtMTAge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTtcclxuICB9XHJcblxyXG4gIC5jb2wtbWQtb2Zmc2V0LTExIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NyU7XHJcbiAgfVxyXG5cclxuICAuc3RhcnQtbWQge1xyXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XHJcbiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgLmNlbnRlci1tZCB7XHJcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XHJcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5lbmQtbWQge1xyXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xyXG4gICAgLW1zLWZsZXgtcGFjazogZW5kO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIHRleHQtYWxpZ246IGVuZDtcclxuICB9XHJcblxyXG4gIC50b3AtbWQge1xyXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xyXG4gICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgfVxyXG5cclxuICAubWlkZGxlLW1kIHtcclxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XHJcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5ib3R0b20tbWQge1xyXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcclxuICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgfVxyXG5cclxuICAuYXJvdW5kLW1kIHtcclxuICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICB9XHJcblxyXG4gIC5iZXR3ZWVuLW1kIHtcclxuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XHJcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIH1cclxuXHJcbiAgLmZpcnN0LW1kIHtcclxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDA7XHJcbiAgICAtbXMtZmxleC1vcmRlcjogLTE7XHJcbiAgICBvcmRlcjogLTE7XHJcbiAgfVxyXG5cclxuICAubGFzdC1tZCB7XHJcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyO1xyXG4gICAgLW1zLWZsZXgtb3JkZXI6IDE7XHJcbiAgICBvcmRlcjogMTtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xyXG4gIC5jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDc2cmVtO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1sZyxcclxuICAuY29sLWxnLTEsXHJcbiAgLmNvbC1sZy0yLFxyXG4gIC5jb2wtbGctMyxcclxuICAuY29sLWxnLTQsXHJcbiAgLmNvbC1sZy01LFxyXG4gIC5jb2wtbGctNixcclxuICAuY29sLWxnLTcsXHJcbiAgLmNvbC1sZy04LFxyXG4gIC5jb2wtbGctOSxcclxuICAuY29sLWxnLTEwLFxyXG4gIC5jb2wtbGctMTEsXHJcbiAgLmNvbC1sZy0xMixcclxuICAuY29sLWxnLW9mZnNldC0wLFxyXG4gIC5jb2wtbGctb2Zmc2V0LTEsXHJcbiAgLmNvbC1sZy1vZmZzZXQtMixcclxuICAuY29sLWxnLW9mZnNldC0zLFxyXG4gIC5jb2wtbGctb2Zmc2V0LTQsXHJcbiAgLmNvbC1sZy1vZmZzZXQtNSxcclxuICAuY29sLWxnLW9mZnNldC02LFxyXG4gIC5jb2wtbGctb2Zmc2V0LTcsXHJcbiAgLmNvbC1sZy1vZmZzZXQtOCxcclxuICAuY29sLWxnLW9mZnNldC05LFxyXG4gIC5jb2wtbGctb2Zmc2V0LTEwLFxyXG4gIC5jb2wtbGctb2Zmc2V0LTExLFxyXG4gIC5jb2wtbGctb2Zmc2V0LTEyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xyXG4gICAgLW1zLWZsZXg6IDAgMCBhdXRvO1xyXG4gICAgZmxleDogMCAwIGF1dG87XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1sZyB7XHJcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xyXG4gICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDtcclxuICAgIGZsZXgtYmFzaXM6IDA7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLTEge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDguMzMzMzMzMzMlO1xyXG4gICAgZmxleC1iYXNpczogOC4zMzMzMzMzMyU7XHJcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1sZy0yIHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxNi42NjY2NjY2NyU7XHJcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NjY2NyU7XHJcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5jb2wtbGctMyB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjUlO1xyXG4gICAgZmxleC1iYXNpczogMjUlO1xyXG4gICAgbWF4LXdpZHRoOiAyNSU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLTQge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDMzLjMzMzMzMzMzJTtcclxuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzJTtcclxuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1sZy01IHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA0MS42NjY2NjY2NyU7XHJcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NjY2NyU7XHJcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5jb2wtbGctNiB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTAlO1xyXG4gICAgZmxleC1iYXNpczogNTAlO1xyXG4gICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLTcge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDU4LjMzMzMzMzMzJTtcclxuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzMzMzJTtcclxuICAgIG1heC13aWR0aDogNTguMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1sZy04IHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA2Ni42NjY2NjY2NyU7XHJcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NjY2NyU7XHJcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5jb2wtbGctOSB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNzUlO1xyXG4gICAgZmxleC1iYXNpczogNzUlO1xyXG4gICAgbWF4LXdpZHRoOiA3NSU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLTEwIHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA4My4zMzMzMzMzMyU7XHJcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMzMzMyU7XHJcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzJTtcclxuICB9XHJcblxyXG4gIC5jb2wtbGctMTEge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDkxLjY2NjY2NjY3JTtcclxuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY2NjY3JTtcclxuICAgIG1heC13aWR0aDogOTEuNjY2NjY2NjclO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1sZy0xMiB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLW9mZnNldC0wIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1sZy1vZmZzZXQtMSB7XHJcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLW9mZnNldC0yIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLW9mZnNldC0zIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLW9mZnNldC00IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLW9mZnNldC01IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLW9mZnNldC02IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLW9mZnNldC03IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLW9mZnNldC04IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLW9mZnNldC05IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLW9mZnNldC0xMCB7XHJcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xyXG4gIH1cclxuXHJcbiAgLmNvbC1sZy1vZmZzZXQtMTEge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTtcclxuICB9XHJcblxyXG4gIC5zdGFydC1sZyB7XHJcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcclxuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbiAgfVxyXG5cclxuICAuY2VudGVyLWxnIHtcclxuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcclxuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLmVuZC1sZyB7XHJcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XHJcbiAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgdGV4dC1hbGlnbjogZW5kO1xyXG4gIH1cclxuXHJcbiAgLnRvcC1sZyB7XHJcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XHJcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICB9XHJcblxyXG4gIC5taWRkbGUtbGcge1xyXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLmJvdHRvbS1sZyB7XHJcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xyXG4gICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICB9XHJcblxyXG4gIC5hcm91bmQtbGcge1xyXG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIH1cclxuXHJcbiAgLmJldHdlZW4tbGcge1xyXG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcclxuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG5cclxuICAuZmlyc3QtbGcge1xyXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMDtcclxuICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcclxuICAgIG9yZGVyOiAtMTtcclxuICB9XHJcblxyXG4gIC5sYXN0LWxnIHtcclxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7XHJcbiAgICAtbXMtZmxleC1vcmRlcjogMTtcclxuICAgIG9yZGVyOiAxO1xyXG4gIH1cclxufSIsIiNwcm9qZWN0IHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4jcHJvamVjdHMge1xyXG4gIHdpZHRoOjEwMCU7XHJcbiAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAucHJvamVjdHNfX2xpc3Qge1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICBcclxuICAgIC5yb3cge1xyXG4gICAgICBtYXJnaW4tbGVmdDotMnB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6LTJweDtcclxuICAgIH1cclxuICB9XHJcbiAgLnByb2plY3RzX19pdGVtIHtcclxuXHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6MDtcclxuICAgIGZsb2F0OmxlZnQ7XHJcbiAgICBoZWlnaHQ6YXV0bztcclxuICAgIGxlZnQ6IGluaXRpYWw7XHJcbiAgICB0b3A6aW5pdGlhbDtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuXHJcbiAgICAucHJvamVjdF9fY29udGVudCB7XHJcblxyXG4gICAgICBtYXJnaW46IDMycHggNjRweDtcclxuXHJcbiAgICAgIC5wcm9qZWN0X19pbWFnZSB7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6dGFibGU7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG5cclxuICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG5cclxuICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgaGVpZ2h0OmF1dG87XHJcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjowIGF1dG87XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnByb2plY3RfX3RpdGxle1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcclxuICAgICAgICAgICAgbWFyZ2luOjAgYXV0bztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5wcm9qZWN0X19lbWFpbHtcclxuXHJcbiAgICAgICAgaW1ne1xyXG4gICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMjJweDtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMSU7XHJcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnZS0tcHJvamVjdHNwYWdlICNtbS0wLFxyXG4ucGFnZS0tam91cm5hbHBhZ2UgI21tLTAge1xyXG4gIC53aWRnZXRfX3RpdGxlIHtcclxuICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2I0YjRiNDtcclxuICAgIFxyXG4gICAgaDIge1xyXG4gICAgICBtYXJnaW46IDI1cHggMCAyNXB4IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLndpZGdldC0tY29weSB7XHJcbiAgICBoMyB7XHJcbiAgICAgIG1hcmdpbjogMjVweCAwIDI1cHggMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogUFJPSkVDVCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi5wcm9qZWN0c19tZW51IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbn1cclxuXHJcbi5wcm9qZWN0X19pbmZvIHtcclxuICBzdHJvbmcge1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDoxNzBweDtcclxuICB9XHJcbn1cclxuXHJcbiNwcm9qZWN0c19tZW51X19maWx0ZXJzIHtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIHNwYW4ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgZmxvYXQ6bGVmdDtcclxuICAgIGxpbmUtaGVpZ2h0OjU0cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgbWFyZ2luLXJpZ2h0OjEwcHg7XHJcbiAgfVxyXG4gID4gbGkgeyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkcmVkOyB9XHJcbiAgbGkgPiB1bCB7XHJcbiAgICBAZXh0ZW5kIC5tZW51X3JvdztcclxuICB9XHJcbiAgLnByb2plY3RzX21lbnVfX2ZpbHRlciB7XHJcbiAgICBmbG9hdDpsZWZ0O1xyXG4gICAgY29sb3I6I2JlYmViZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAmOmhvdmVyIHsgY29sb3I6YmxhY2s7IH1cclxuICAgICYuY2xlYXIgYSB7IGNvbG9yOmJsYWNrOyB9XHJcbiAgICAmLmRpc2FibGVkIHsgY29sb3I6I2YyZjJmMjsgfVxyXG4gICAgJi5hY3RpdmUgeyBjb2xvcjokcmVkOyB9XHJcbiAgICBhIHsgY29sb3I6aW5oZXJpdDsgfVxyXG4gIH1cclxufVxyXG5cclxuI3Byb2plY3Qge1xyXG4gIC5wcm9qZWN0X19kZXRhaWwgIC5wcm9qZWN0X19zaGFyZSB7IGNvbG9yOiRyZWQ7IH1cclxuICAucHJvamVjdF9faGVhZGVyIHtcclxuICAgIGhlaWdodDo2NnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDY2cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6Jyc7XHJcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICBib3R0b206MDtcclxuICAgICAgbGVmdDotMjBweDtcclxuICAgICAgd2lkdGg6MTEwJTtcclxuICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNiNGI0YjQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5wcm9qZWN0X19oZWFkZXItLWRldGFpbCB7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgID4gZGl2IHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gICAgaDEge1xyXG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgICAgbWFyZ2luOjA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5ICNwcm9qZWN0c19tZW51X19maWx0ZXJzIGxpID4gdWwgbGk6Zmlyc3QtY2hpbGQge1xyXG4gIHBhZGRpbmctbGVmdDowO1xyXG59XHJcblxyXG4jcHJvamVjdCB7XHJcbiAgLndpZGdldC0tY29weSB7XHJcbiAgICB0YWJsZXtcclxuICAgICAgcHtcclxuICAgICAgICBtYXJnaW46NHB4O1xyXG4gICAgICAgIGhlaWdodDogMjFweDtcclxuICAgICAgfVxyXG4gICAgICB0ZCB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHAge1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDowO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnByb2plY3RfX3RpdGxlIHtcclxuICBmb250LXNpemU6IDFlbTtcclxuICBmb250LXdlaWdodDo1MDA7XHJcbiAgcGFkZGluZy10b3A6NXB4O1xyXG4gIHdpZHRoOjEwMCU7XHJcbiAgY29sb3I6YmxhY2s7XHJcbiBcclxuICBAaW5jbHVkZSBib3gtc2l6aW5nKCk7XHJcbiAgYiB7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICB9XHJcbiAgLm1vcmUge1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICB9XHJcbiAgLm1vcmUgc3BhbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmb250LXNpemU6aW5oZXJpdDtcclxuICAgIGZvbnQtd2VpZ2h0OmluaGVyaXQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgfVxyXG59XHJcblxyXG4jcHJvamVjdCB7XHJcbiAgLmNvbC14cy0yIHtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxuICB9XHJcbiAgLmNvbC14cy04IHtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIC53aWRnZXQtLWJ1ZGR5d2FsbCB7XHJcbiAgICBcclxuICB9XHJcbn1cclxuXHJcbi8qIFN1Ym1lbnUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4uc3VibWVudV9fYnJlYWRjcnVtYnMge1xyXG4gIHBhZGRpbmctYm90dG9tOjIwcHg7XHJcbiAgYSB7XHJcbiAgICBwYWRkaW5nLXRvcDoyMHB4O1xyXG4gICAgY29sb3I6YmxhY2s7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXNpemU6MS4xZW07XHJcbiAgICBmb250LXdlaWdodDo1MDA7XHJcbiAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zdWJtZW51X19tZW51IHtcclxuICBtYXJnaW4tdG9wOjIwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OjIwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHAge1xyXG4gICAgbWFyZ2luOjA7XHJcbiAgICBjb2xvcjp3aGl0ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgfVxyXG4gIHVsIHtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgZmxvYXQ6bGVmdDtcclxuICAgIG1pbi13aWR0aDoxMjBweDtcclxuICB9XHJcbiAgbGkge1xyXG4gICAgcGFkZGluZy1ib3R0b206NXB4O1xyXG4gICAgXHJcbiAgICAmLmFjdGl2ZSBhIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgICBvcGFjaXR5OiAwLjg1O1xyXG4gICAgICBwYWRkaW5nOiAycHggMjVweCAycHggMDtcclxuICAgICAgY29sb3I6YmxhY2s7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcclxuICAgICAgJjpob3ZlciB7IG9wYWNpdHk6MTsgfVxyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUgYSB7IG9wYWNpdHk6IDE7IH1cclxuICAgICYub24gYSB7IG9wYWNpdHk6IDE7IH1cclxuICB9XHJcbn1cclxuXHJcbi8qIEFERCBUaGlzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4uYWRkdGhpc19pbmxpbmVfc2hhcmVfdG9vbGJveCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogLTM2cHg7XHJcbiAgcmlnaHQ6IDEwMHB4O1xyXG4gIG9wYWNpdHk6MDtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuM3MgZWFzZS1vdXQpO1xyXG4gICYuYWN0aXZlIHtcclxuICAgIG9wYWNpdHk6MTtcclxuICAgIGJvdHRvbToxNHB4O1xyXG4gIH1cclxufVxyXG5cclxuLyogTU9CSUxFICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gIC5wYWdlLS1wcm9qZWN0c3BhZ2UgI2NvbnRlbnQgLmhlYWRlcl9fc3VibWVudSB7XHJcbiAgICBkaXNwbGF5OmJsb2NrIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5qb3VybmFsIHtcclxuICAgIG1hcmdpbi10b3A6MzBweCFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gICNwcm9qZWN0IC5vd2wtZG90cyB7XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbiAgfVxyXG5cclxuICBib2R5LnBhZ2UtLXByb2plY3RzcGFnZS5kZXRhaWwgI2NvbnRlbnQgLmhlYWRlcl9fc3VibWVudSAuaGVhZGVyX19kZXRhaWwsXHJcbiAgYm9keS5wYWdlLS1qb3VybmFscGFnZS5kZXRhaWwgI2NvbnRlbnQgLmhlYWRlcl9fc3VibWVudSAuaGVhZGVyX19kZXRhaWwge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgfVxyXG5cclxuICAucGFnZS0tcHJvamVjdHNwYWdlLmRldGFpbCAuZm9vdGVyX19zaGFyZSB7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLnBhZ2UtLXByb2plY3RzcGFnZS5kZXRhaWwgLndpZGdldC0tY29weSB7XHJcbiAgICBoMiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHJvamVjdF9fdGl0bGUge1xyXG4gICAgb3BhY2l0eToxO1xyXG4gICAgaGVpZ2h0OmF1dG87XHJcbiAgICB0b3A6YXV0bztcclxuICAgIGJvdHRvbTowO1xyXG4gIH1cclxuXHJcbiAgLnByb2plY3RfX3RpdGxlIHNwYW4ge1xyXG4gICAgZGlzcGxheTpub25lO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODQwcHgpIHtcclxuICAjcHJvamVjdCAucHJvamVjdF9fZGV0YWlsLXRpdGxlLmNvbC14cy0xMCxcclxuICAjcHJvamVjdCAuY29sLXhzLTgsXHJcbiAgI3Byb2plY3QgLndpZGdldC53aWRnZXQtLWNvcHkgZGl2W2NsYXNzXj1cImNvbC14cy1cIl0sXHJcbiAgLnBhZ2UtLWpvdXJuYWxwYWdlIC53aWRnZXQud2lkZ2V0LS1jb3B5IGRpdltjbGFzc149XCJjb2wteHMtXCJdIHtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tbGVmdDowO1xyXG4gICAgbWFyZ2luLXJpZ2h0OjA7XHJcbiAgfVxyXG5cclxuICAucGFnZS0tcHJvamVjdHNwYWdlIC5jb2wteHMtMyB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTAlIWltcG9ydGFudDtcclxuICAgIGZsZXgtYmFzaXM6IDUwJSFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IDUwJSFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5zdWJtZW51X19tZW51IHtcclxuICAgIG1hcmdpbi10b3A6MDtcclxuICB9XHJcbiAgXHJcbiAgLnBhZ2UtLXByb2plY3RzcGFnZS5kZXRhaWwgLnByb2plY3RfX2RldGFpbC10aXRsZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOjdweCFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5wYWdlLS1wcm9qZWN0c3BhZ2UgLmhlYWRlcl9fZGV0YWlsIC5jb2wteHMtMiB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMzAlO1xyXG4gICAgZmxleC1iYXNpczogMzAlO1xyXG4gICAgbWF4LXdpZHRoOiAzMCU7XHJcbiAgfVxyXG5cclxuICAjcHJvamVjdHMgLmNvbC14cy0zIHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA1MCU7XHJcbiAgICBmbGV4LWJhc2lzOiA1MCU7XHJcbiAgICBtYXgtd2lkdGg6IDUwJTtcclxuICB9XHJcblxyXG4gIC5zdWJtZW51X19tZW51IHVsIHtcclxuICAgIHBhZGRpbmctbGVmdDowO1xyXG4gIH1cclxuXHJcbiAgLnByb2plY3RfX2RldGFpbC10aXRsZS5jb2wteHMtMTAge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDgwJTtcclxuICAgIGZsZXgtYmFzaXM6IDgwJTtcclxuICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6MTAlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OjEwJTtcclxuICB9XHJcblxyXG4gICNwcm9qZWN0IC5wcm9qZWN0X19oZWFkZXItLWRldGFpbCBoMSB7XHJcbiAgICBoZWlnaHQ6MTAwJTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgbWFyZ2luLXRvcDogN3B4O1xyXG4gIH1cclxuXHJcbiAgLnBhZ2UtLXByb2plY3RzcGFnZSAuY29sLXhzLTkge1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEwMCU7XHJcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLnBhZ2UtLXByb2plY3RzcGFnZSAuaGVhZGVyX19kZXRhaWwgLmNvbC14cy0yIHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA1MCU7XHJcbiAgICBmbGV4LWJhc2lzOiA1MCU7XHJcbiAgICBtYXgtd2lkdGg6IDUwJTtcclxuICB9XHJcbiAgXHJcbiAgLmhlYWRlcl9fbWVudSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6MDtcclxuICB9XHJcblxyXG4gIC5zdWJtZW51X19tZW51IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG4gICAgdWwge1xyXG4gICAgICBwb3NpdGlvbjpzdGF0aWMhaW1wb3J0YW50O1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM2NDY0NjQ7XHJcbiAgICAgICAgICBmb250LXdlaWdodDo0MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjcHJvamVjdCAucHJvamVjdF9faGVhZGVyIHtcclxuICAgIGhlaWdodDphdXRvO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICNwcm9qZWN0IC5wcm9qZWN0X19kZXRhaWwtdGl0bGUuY29sLXhzLTEwIHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlO1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC5wYWdlLS1wcm9qZWN0c3BhZ2UgLmNvbC14cy0zIHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlIWltcG9ydGFudDtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCUhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICB9XHJcbn0iLCJAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcclxuICBib2R5ICoge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgxcHgpIHtcclxuXHJcbn1cclxuXHJcbi8qIE1PQklMRSBISUdIIERFTlNJVFkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxyXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpIHtcclxuICAud2lkZ2V0X19zaGFyZTpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2dyYXBoaWNzL2ljb25fc2hhcmUtMngucG5nKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICB9XHJcblxyXG4gIC5kZWNvcmF0b3JfX2J1dHRvbi0tcHJvamVjdDphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vZ3JhcGhpY3MvaWNvbl9wcm9qZWN0cy0yeC5wbmcpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gIH1cclxuXHJcbiAgLmRlY29yYXRvcl9fYnV0dG9uLS1tb3JlOmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9ncmFwaGljcy9pY29uX3JpZ2h0LWFycm93LXNtYWxsLTJ4LnBuZyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgfVxyXG5cclxuICAuZGVjb3JhdG9yX19idXR0b24tLXdobzphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vZ3JhcGhpY3MvaWNvbl90ZWFtLW1lbWJlci0yeC5wbmcpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgLmZvb3Rlcl9fdXBkYXRlcyB7XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gICNoZWFkZXIgLmhlYWRlcl9fbWVudSB7XHJcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICBcclxuICAuaGVhZGVyX19kZXRhaWwgI3NlYXJjaCB7XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC5tYWluX21lbnVfX2Fycm93IHtcclxuICAgIGRpc3BsYXk6bm9uZTsgIFxyXG4gIH1cclxuICBcclxuICAjbWFpbl9tZW51IHtcclxuICAgIGRpc3BsYXk6bm9uZTsgIFxyXG4gIH1cclxuXHJcbiAgI2NvbnRlbnQgLmhlYWRlcl9fc3VibWVudSB7XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gICNoZWFkZXIgLmhlYWRlcl9fZGV0YWlsIC5jb2wteHMtOSB7XHJcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcclxuICAgIGZsZXgtYmFzaXM6MTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbiAgXHJcbiAgLmhlYWRlcl9fbG9nby5jb2wteHMtMiB7XHJcbiAgICBmbGV4LWJhc2lzOiA1MCU7XHJcbiAgICBtYXgtd2lkdGg6IDUwJTtcclxuICB9XHJcbiAgXHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg0MHB4KSB7XHJcbiAgYm9keSAjaGVhZGVyICNzZWFyY2guYWN0aXZlIHtcclxuICAgIHJpZ2h0OjkwJTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZDogIzM1MzUzNSB1cmwoLi4vZ3JhcGhpY3MvaWNvbi1zZWFyY2hAMngucG5nKSBuby1yZXBlYXQgMTNweCAyM3B4O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIzcHggMjRweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wYWdlLS1zZWFyY2ggLndpZGdldF9fZGV0YWlsIHtcclxuICAgIC5jb2wteHMtMiB7XHJcbiAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIH1cclxuICAgIC5jb2wteHMtOCB7XHJcbiAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA4MCU7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDgwJTtcclxuICAgICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMCU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAucGFnZS0tc2VhcmNoIC53aWRnZXRfX2RldGFpbCB7XHJcbiAgICAuY29sLXhzLTgge1xyXG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcclxuICAgICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLnBhZ2UtLWpvdXJuYWxwYWdlIC5oZWFkZXJfX3N1Ym1lbnUge1xyXG4gIGRpc3BsYXk6YmxvY2shaW1wb3J0YW50O1xyXG4gIC5zdWJtZW51X19tZW51IHtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgdWwge1xyXG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgICAgbWluLXdpZHRoOiAxMjBweDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxNDJweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYWdlLS1qb3VybmFscGFnZS5kZXRhaWwge1xyXG4gIC5oZWFkZXJfX3N1Ym1lbnUuaW5hY3RpdmUge1xyXG4gICAgZGlzcGxheTpub25lIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbiNqb3VybmFscyB7XHJcbiAgQGV4dGVuZCAjcHJvamVjdHM7XHJcblxyXG4gIC5wcm9qZWN0c19faXRlbSB7XHJcbiAgICBoZWlnaHQ6YXV0byFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5wcm9qZWN0X19jb250ZW50IHtcclxuICAgIG1hcmdpbjoycHghaW1wb3J0YW50OyAgXHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgIFxyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLnByb2plY3RfX3RpdGxlIHtcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6NTAwO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIHRvcDowO1xyXG4gICAgY29sb3I6d2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDUwLCA1MCwgNDksIDAuNzQpO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjNzIGVhc2Utb3V0KTtcclxuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoKTtcclxuICAgXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBvcGFjaXR5OjE7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6YmxhY2s7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICB9XHJcbiAgICAucHJvamVjdF9fc2hvcnQtZGVzYyBwIHtcclxuICAgICAgZGlzcGxheTppbmxpbmU7XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgIGNvbG9yOmluaGVyaXQ7XHJcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gICAgLnByb2plY3RfX3Nob3J0LWRlc2Mge1xyXG4gICAgICBtYXJnaW4tdG9wOjE1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uam91cm5hbCB7XHJcbiAgaDMge1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIG1hcmdpbi1ib3R0b206MTVweDtcclxuICB9XHJcbiAgLmpvdXJuYWxfX2l0ZW0ge1xyXG4gICAgcGFkZGluZy1ib3R0b206MTBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjRiNGI0O1xyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTowO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAtMjBweDtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgLmpvdXJuYWxfX3RpdGxlIHtcclxuICAgICAgbWFyZ2luLXRvcDoyMXB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICBzcGFuIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgyMHB4KSB7XHJcbiAgLnBhZ2UtLWpvdXJuYWxwYWdlIHtcclxuICAgIC5wcm9qZWN0X190aXRsZSB7XHJcbiAgICAgIHBvc2l0aW9uOnN0YXRpYztcclxuICAgIH1cclxuICAgIC5wcm9qZWN0c19faXRlbSB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAjam91cm5hbHMgLnByb2plY3RfX3RpdGxlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY29sb3I6YmxhY2s7XHJcbiAgfVxyXG59XHJcblxyXG4iLCIucGFnZS0tc2VhcmNoIHtcclxuICBiYWNrZ3JvdW5kOndoaXRlO1xyXG59XHJcblxyXG4jc2VhcmNoIHtcclxuICAud2lkZ2V0X19kZXRhaWwge1xyXG4gICAgcGFkZGluZzo1MHB4IDE2cHggNTBweCAxNnB4O1xyXG4gIH1cclxuICBoMSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgc3BhbiB7XHJcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgc3BhbjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OicnO1xyXG4gICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICB3aWR0aDozNnB4O1xyXG4gICAgICBoZWlnaHQ6MzhweDtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC9za2lucy9kZWZhdWx0L2dyYXBoaWNzL2ljb24tc2VhcmNoQDJ4LnBuZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTo1MCUgNTAlO1xyXG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgbGVmdDogLTM4cHg7XHJcbiAgICAgIHRvcDogLTJweDtcclxuICAgIH1cclxuICB9XHJcbiAgaDIge1xyXG4gICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIH1cclxuICB1bCB7XHJcbiAgICBsaSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS13aGl0ZTtcclxuICAgICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDA7XHJcbiAgICAgICAgY29sb3I6YmxhY2s7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIGEge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59Il0sIm5hbWVzIjpbXSwi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 */
