/* --------------------
 @@ Mixins
-------------------- */
/* ----------
 @ Maintain Aspect Ratio
	- *** requires that the element has an inner container element if there is inner content
	- $x => x portion of ratio
	- $y => y portion of ratio
    - $c => set to 'false' to skip :first-child styling
---------- */
/* ----------
 @ Background Image
	- Shortcut for linking images in the configured images folder
	- $i => image file name (relative to images folder)
	- $rest => any additional 'background' property shortcut declarations (ie: no-repeat)
---------- */
/* --------------------
 @@ Functions
-------------------- */
/* ----------
 @ Color Get
 	- get value from the $theme-colors map
---------- */
/* ----------
 @ Breakpoint Get
 	- get value from the $grid-breakpoints map
 	- $type => 'max' | 'min', depending on media query type
---------- */
/* ----------
 @ Ems
	- convert pixels to ems
	- $p => pixel value
	- $b => base size (to use in formula) - defaults to $font-sizes root variable
---------- */
/* ----------
 @ Rems
	- convert pixels to rems
	- $p => pixel value
	- $b => base size (to use in formula) - defaults to $font-sizes root variable
---------- */
/* ----------
 @ Map Deep Get
 	- get value from nested maps
---------- */
/* ----------
 @ Weight Get
 	- get value from the $font-weights map
---------- */
/* ----------------------------------------------------------------------------

 @@@ Global Extensions

---------------------------------------------------------------------------- */
/* --------------------------------------
 @@ Generic Styles
-------------------------------------- */
/* ----------
 @ Display
---------- */
/* ----------
 @ Positioning
---------- */
/* ----------
 @ Layout
---------- */
/* ----------
 @ Colors
---------- */
/* ----------
 @ Typography
---------- */
/* ----------
 @ Overflow
---------- */
/* ----------
 @ Misc Visuals
---------- */
/* --------------------------------------
 @@ Components
-------------------------------------- */
/* ----------
 @ Pagination
---------- */
/* ----------
 @ Sliders
---------- */
/* ----------
 @ Text Fields
---------- */
/* ----------
 @ Dropdowns
---------- */
/* ----------
 @ Checkboxes
---------- */
/* ----------
 @ Radio Buttons
---------- */
/* ----------
 @ Dialogs
---------- */
/* ----------
 @ Tooltips
---------- */
/* --------------------
 @@ Project Specific Variables
-------------------- */
/* ----------
 @ Options
---------- */
/* ----------
 @ Colors
---------- */
/* ----------
 @ Layout
---------- */
/* ----------
 @ Typography
---------- */
/* ----------
 @ Misc
---------- */
#news {
  margin: 6.75rem 0;
}

#news .no-results {
  width: 100%;
  margin: 4rem 0 2rem;
}

#news .no-results::before, #news .no-results::after {
  background: rgba(150, 150, 150, 0.25);
}

#news .no-results .no-results-text {
  opacity: 0.3;
  text-align: center;
  margin: 0 5rem;
  font-family: azo-sans-web, "Avenir", "Tw Cen MT", "Helvetica", Arial, sans-serif;
  font-size: 2.5rem;
}

#news .card .card-content p {
  margin: 0.5rem 0;
}

#news .pagination-area {
  margin-top: 2rem;
}

@media only screen and (max-width: 991px) {
  #news .card {
    padding: 1.75rem;
  }
  #news .card .card-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #news .card .fa-chevron-circle-right {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 768px) and (min-width: 576px) {
  #news .card-content, #news .card-image {
    margin-top: 0;
  }
  #news .news-posting {
    margin: 1rem 0;
  }
}

@media only screen and (max-width: 768px) {
  #news .card .card-bottom {
    position: relative;
  }
}

@media only screen and (max-width: 575px) {
  #news {
    margin: 4rem 0;
  }
  #news div.card {
    padding: 2rem;
  }
  #news div.card .card-image img {
    width: 100%;
  }
}

.l-people-grid {
  width: 100vw;
  max-width: 100vw;
  padding: 3rem 0 6.5rem;
  overflow: hidden;
}

.l-people-grid h3 {
  margin-left: 0;
}

.l-people-grid + .l-people-grid {
  margin-top: 0;
}

.l-people-grid--blue {
  background-color: #007AF8;
}

.l-people-grid--blue h3 {
  color: #fff;
}

.l-people-grid--grey {
  background-color: #e9e9e9;
}

.l-people-grid--molecules {
  background: #e9e9e9 url("../img/ui-assets/radon-chemical-structure-tile.svg") repeat center/700px auto;
}

.l-people-grid--radiation {
  background: #e9e9e9 url("../img/ui-assets/nuclear-background-tile.svg") repeat center/700px auto;
}

.l-people-grid__staff.l-people-grid__staff {
  margin-top: 0 !important;
}

@media only screen and (min-width: 1344px) {
  .layout-block--people-grid {
    margin-left: calc(((1344px - 100% - 3.25rem) + ((100vw - 1344px) / 2) + 1.75rem) * -1);
    margin-right: calc(((100vw - 1344px) / 2 + 2rem) * -1);
  }
}

@media only screen and (max-width: 1344px) and (min-width: 992px) {
  .layout-block--people-grid {
    margin-left: calc((100vw - 100% - 2rem) * -1);
  }
}

@media only screen and (max-width: 991px) {
  .layout-block--people-grid {
    margin-left: -2.5rem;
    margin-right: 0;
    max-width: calc(100vw - 0.75rem);
  }
}

.c-accordions {
  --accordion-toggle-bg-color: var(--brand-grey);
  --accordion-toggle-icon-bg-color-active: #fff;
  --accordion-toggle-icon-line-color-active: var(--brand-charcoal);
  padding: 0;
}

.c-accordions__section-heading + .c-accordions__section-content {
  margin-top: 1rem;
}

.c-accordions__section-heading + .c-accordions__list {
  margin-top: 1.75rem;
}

.c-accordions__section-content + .c-accordions__list {
  margin-top: 2.4rem;
}

.c-accordion {
  --x-padding: 1.85rem;
  --y-padding: 1.5rem;
  display: block;
  position: relative;
  margin-top: 1rem;
  overflow: hidden;
  -webkit-transition: all 250ms ease;
  transition: all 250ms ease;
}

.has-open-accordion.c-accordion .c-accordion__toggle-button {
  --toggle-bg: var(--accordion-toggle-icon-bg-color-active);
  --icon-color: var(--accordion-toggle-icon-line-color-active);
}

.c-accordion__title {
  color: var(--accordion-title-color, var(--brand-blue));
  font-size: 1.65rem;
  font-weight: 700;
  padding-right: 0.5rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.c-accordion__content {
  background-color: var(--brand-grey);
  height: 0;
  overflow: hidden;
}

.has-open-accordion .c-accordion__content {
  height: auto;
}

.c-accordion__icon-wrapper {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 1.67rem 0 3.11rem;
}

.c-accordion__toggle {
  position: relative;
  background: var(--accordion-toggle-bg-color);
  padding: var(--y-padding) 0 var(--y-padding) var(--x-padding);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  text-align: left;
}

.c-accordion__toggle-button {
  position: relative;
}

.has-open-accordion .c-accordion__toggle,
.c-accordion__toggle:hover {
  --accordion-title-color: #fff;
  background-color: var(--accordion-toggle-bg-color-active, var(--brand-royal-blue));
}

.has-open-accordion.c-accordion .c-toggle-button__line--y {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.c-accordion__content {
  margin-top: 0;
  -webkit-transform: translateY(calc(var(--y-padding) / 2 * -1));
          transform: translateY(calc(var(--y-padding) / 2 * -1));
}

.c-accordion__inner {
  padding: var(--vertical-margin-base) var(--x-padding) var(--y-padding);
}

@media only screen and (max-width: 800px) {
  .c-accordions__section-content + .c-accordions__list {
    margin-top: 1.75rem;
  }
  .c-accordions__section-content {
    padding: 0;
  }
  .c-accordion {
    --x-padding: var(--grid-padding);
  }
  .c-accordion .c-button {
    width: 100%;
  }
  .c-accordion__icon-wrapper {
    padding: 0 0.63rem;
  }
}

.c-toggle-button {
  margin: 0;
  --icon-size: 1.1em;
  --toggle-size: 50px;
  --toggle-bg: var(--toggle-button-bg-color, var(--brand-blue));
  --toggle-bg-active: #fff;
  --icon-color: #fff;
  --icon-color-active: var(--brand-charcoal);
  position: relative;
  background: var(--toggle-bg, var(--brand-blue));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: var(--toggle-size, 54px);
  height: var(--toggle-size, 54px);
  inset: var(--toggle-inset);
  z-index: 200;
  -webkit-transition: all 250ms ease;
  transition: all 250ms ease;
}

.c-toggle-button__content {
  -webkit-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
}

.c-toggle-button:hover,
.c-toggle-button:focus {
  background: var(--toggle-bg-active, #fff);
}

.c-toggle-button__icon {
  color: var(--icon-color);
}

.c-toggle-button:hover .c-toggle-button__icon,
.c-toggle-button:focus .c-toggle-button__icon {
  color: var(--icon-color-active);
}

.c-toggle-button__tray {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  z-index: 100;
  -webkit-transition: all 250ms ease;
  transition: all 250ms ease;
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}

.c-toggle-button__icon {
  height: var(--icon-size);
}

.c-toggle-button__line {
  -webkit-transition: 250ms all ease;
  transition: 250ms all ease;
  -webkit-transform-origin: center;
          transform-origin: center;
}

.is-active-tooltip .c-toggle-button__line--y {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

@media only screen and (max-width: 800px) {
  .c-toggle-button {
    --icon-size: 0.75em;
    --toggle-size: 40px;
  }
}

.block-content {
  margin: 4.75rem 0;
}

.block-content .row:first-of-type.block-text-content, .block-content .row:first-of-type.image-text-block,
.block-content .row:first-of-type .block-text-content, .block-content .row:first-of-type .image-text-block,
.block-content .row:first-of-type .block-accordions {
  padding-top: 1rem;
}

.block-content .block-text {
  margin-top: 0;
  width: 100%;
}

.block-content .block-text-fullwidth {
  padding-left: 0.25rem;
  line-height: 35px;
  font-size: 1.5625rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-weight: 500;
}

.block-content .block-text-fullwidth .black-button-outline {
  font-size: 1rem;
}

.block-content .layout-block--text:first-child h3:first-child, .block-content .layout-block--text:first-child h4:first-child, .block-content .layout-block--text:first-child h5:first-child {
  margin-top: 0;
}

.block-content .block-text-content {
  padding: 2rem 0 1rem;
  overflow-wrap: break-word;
}

.block-content .block-text-content p:not(:first-child) {
  margin-top: 2.1rem;
}

.block-content .block-text-content h3 {
  margin-top: 2rem;
}

.block-content .block-text-content li {
  margin: 1rem 0;
}

.block-content .block-text-content li:last-of-type {
  margin-bottom: 0;
}

.block-content .block-text-content li li {
  list-style-type: circle;
}

.block-content .block-text-content li li::before {
  content: '';
  display: none;
}

.block-content .block-text-content blockquote {
  font-size: 20px;
  font-weight: bold;
  border-left: 7px solid #007AF8;
  padding-left: 1rem;
}

.block-content .block-text-content blockquote p {
  display: inline;
}

.block-content .block-buttons {
  padding: 1rem 0;
}

.block-content .block-buttons .block-buttons__button {
  margin-top: 0.75rem;
}

.block-content .layout-block--text + .layout-block--buttons .block-buttons {
  margin-top: -2rem;
  padding: 0 0 1rem;
}

.block-content .layout-block--text--grey {
  background-color: var(--brand-light);
  padding-top: 2rem;
  padding-right: 8.333%;
  padding-bottom: 4rem;
}

.block-content .layout-block--text--grey + .layout-block--text--grey {
  margin-top: -5.9rem;
  padding-top: 0;
}

.block-content .layout-block--text--grey + .layout-block--text--grey .block-text-content:has(h1:first-child, h2:first-child, h3:first-child, h4:first-child) {
  margin-top: 2.5rem;
}

.block-content .layout-block--text--white + .layout-block--text--white {
  margin-top: 0;
}

.block-content .layout-block--text--white + .layout-block--text--white .block-text-content {
  padding-top: 1.1rem;
}

.block-content .block-video {
  width: 100%;
}

.block-content .block-video .iframe-container {
  position: relative;
}

.block-content .block-video .iframe-container:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.block-content .block-video .iframe-container > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.block-content .block-video .iframe-container iframe {
  width: 100%;
  height: 100%;
  vertical-align: top;
}

.block-content .block-video figure {
  width: 100%;
}

.block-content .block-video figure video {
  width: 100% !important;
  height: auto !important;
  display: block;
}

.block-content .full-width-image img {
  width: 100%;
  -webkit-transition: -webkit-box-shadow 0.25s ease, -webkit-transform 0.2s ease;
  transition: -webkit-box-shadow 0.25s ease, -webkit-transform 0.2s ease;
  transition: box-shadow 0.25s ease, transform 0.2s ease;
  transition: box-shadow 0.25s ease, transform 0.2s ease, -webkit-box-shadow 0.25s ease, -webkit-transform 0.2s ease;
}

.block-content .full-width-image--has-link {
  position: relative;
}

.block-content .full-width-image--has-link:hover img {
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  -webkit-box-shadow: 0 0.5rem 1.5rem 2px rgba(0, 0, 0, 0.35);
          box-shadow: 0 0.5rem 1.5rem 2px rgba(0, 0, 0, 0.35);
}

.block-content .full-width-image__link {
  margin-top: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.block-content .image-text-block {
  padding-top: 2rem;
}

.block-content .image-text-block p {
  margin-top: 2rem;
}

.block-content h4 {
  font-weight: 500;
}

.block-content h3 + * {
  margin-top: 3rem !important;
}

.block-content h4 + * {
  margin-top: 1rem !important;
}

.block-content p, .block-content ul, .block-content ol {
  font-size: 18px;
  line-height: 1.5;
}

.block-content img {
  max-width: 100%;
  height: auto;
}

.block-content table tr:first-of-type {
  background-color: #007af8 !important;
  color: #fff;
}

.block-content table tr:not(:first-of-type) {
  border-bottom: 1px solid #808080;
}

.block-content table tr:last-of-type {
  border-bottom: none;
}

.block-content table tr:nth-child(odd) {
  background-color: #f7f7f7;
}

.block-content table td {
  padding: 0.75rem 1.25rem;
}

.block-content .custom-checkbox .input-bg {
  visibility: hidden;
}

.block-content figcaption {
  line-height: 1.5;
  text-align: right;
  margin-top: 0.75rem;
  font-size: 0.75rem;
  color: #1a1a1a;
  font-weight: 400;
}

.contact .block-content .block-text-fullwidth {
  margin-top: 1rem;
}

.layout-block--accordions {
  margin-top: 4rem;
}

@media screen and (max-width: 991px) {
  .block-content {
    margin: 4rem 0 1rem;
  }
  .block-content ul:not(.pagination):not(.no-list-style):not([class^="gfield"]):not([class^="gform_fields"]) {
    padding-left: 1.5rem;
  }
  .block-content ul:not(.pagination):not(.no-list-style):not([class^="gfield"]):not([class^="gform_fields"]) li::before {
    left: 0;
  }
  .block-content .image-text-block img {
    margin: 0;
    width: 100%;
    margin-top: 2rem;
  }
  .block-content .layout-block--text--grey {
    padding: 2rem 1.5rem 3rem;
    margin-left: -2rem;
    margin-right: -2rem;
  }
}

@media screen and (max-width: 768px) {
  .block-content {
    margin: 2rem 0 1rem;
  }
}

.page-banner {
  background: #007AF8;
  position: relative;
  margin: 0;
  padding-top: 3.125rem;
}

.page-banner.home-banner {
  padding-top: 3.125rem;
}

.page-banner .hidden {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  visibility: hidden;
  opacity: 0;
}

.page-banner .banner-cityscape {
  margin: 0;
  height: 9.375rem;
  width: 100%;
  position: relative;
}

.page-banner .banner-cityscape.line {
  background: url("../../img/ui-assets/city-line-title.svg") repeat-x center/contain;
}

.page-banner .banner-cityscape.silhouette {
  background: url("../../img/ui-assets/city-silhouette-title.svg") repeat-x bottom center/contain;
  position: relative;
}

.page-banner .banner-cityscape.silhouette::after {
  position: absolute;
  top: 99%;
  right: 0;
  bottom: 0;
  left: 0;
  background: #1a1a1a;
  content: '';
}

.page-banner .banner-cityscape .silhouette-inner-layer {
  background: url("../../img/ui-assets/city-silhouette-title.svg") repeat-x bottom center/contain;
  opacity: 0.4;
  position: absolute;
  top: 0.8rem;
  right: 0;
  bottom: -5rem;
  left: 0;
  height: 5rem;
}

.page-banner .banner-wrapper {
  margin-top: 0;
}

.page-banner .banner-wrapper .page-heading {
  padding: 4.375rem 0;
}

.page-banner .banner-wrapper .page-heading .h3 {
  color: #fff;
  margin-left: 0;
}

.page-banner .banner-wrapper .page-heading .h3::after {
  display: none;
}

.page-banner .banner-wrapper .page-heading .h3 .black-button-outline:hover, .page-banner .banner-wrapper .page-heading .h3 .black-button-outline:focus {
  background: #1a1a1a;
  border-color: #1a1a1a;
  color: #007AF8;
}

.page-banner .carousel {
  margin: 0;
  background: #1a1a1a;
  padding: 4rem 0 6rem;
  min-height: 500px;
}

.page-banner .carousel--blue {
  background: #007AF8;
}

.page-banner .carousel .slider .previous {
  position: absolute;
  top: 25%;
  bottom: 25%;
  left: 28px;
  color: #fff;
}

.page-banner .carousel .slider .next {
  position: absolute;
  top: 25%;
  right: 28px;
  bottom: 25%;
  color: #fff;
}

.page-banner .carousel .slider .previous,
.page-banner .carousel .slider .next {
  font-size: 1.5rem;
  z-index: 5;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
  padding: 1.50rem;
  border: 2px solid #fff;
  width: 42px;
  height: 42px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto 0;
  line-height: 0;
  opacity: 0.5;
}

.page-banner .carousel .slider .previous span,
.page-banner .carousel .slider .next span {
  line-height: 0;
}

.page-banner .carousel .slider .previous:hover, .page-banner .carousel .slider .previous:focus,
.page-banner .carousel .slider .next:hover,
.page-banner .carousel .slider .next:focus {
  opacity: 1;
}

.page-banner .carousel .slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.page-banner .carousel .slide .image-holder {
  overflow: hidden;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.page-banner .carousel .slide figcaption {
  font-size: 2.25rem;
  color: #fff;
  line-height: 1.4;
}

.page-banner .carousel .slide figcaption i, .page-banner .carousel .slide figcaption em, .page-banner .carousel .slide figcaption strong, .page-banner .carousel .slide figcaption b {
  color: #eee047;
}

.page-banner .carousel .slide .image-holder__content {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.page-banner .carousel .slide .image-holder__btn {
  margin-top: 1rem;
  padding: 0.4rem 1.25rem;
}

.page-banner .cta-boxes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100%;
  position: relative;
}

.page-banner .cta-boxes .cta-box {
  width: 50%;
  text-align: center;
  padding: 1.35rem 0;
  color: #fff;
  font-size: 1.25rem;
  text-decoration: none;
  border: 5px solid #007AF8;
}

.page-banner .cta-boxes .cta-box:hover {
  -webkit-filter: brightness(115%);
          filter: brightness(115%);
}

.page-banner .cta-boxes .cta-box:first-of-type {
  padding-left: calc((100vw - 1270px) / 2 + 1px);
  color: #000;
  background-color: #eee047;
  border-color: #eee047;
}

.page-banner .cta-boxes .cta-box:first-of-type .link {
  color: #000;
}

.page-banner .cta-boxes .cta-box.second {
  padding-right: calc((100vw - 1270px) / 2 + 1px);
  background-color: #007AF8;
}

.page-banner .cta-boxes .cta-box.second .cta-box__link {
  color: #fff;
}

.page-banner .cta-boxes .cta-box.third {
  width: 100%;
  padding: 1.35rem 2rem;
  background-color: #e9e9e9;
  border-color: #e9e9e9;
  color: #000;
}

.page-banner .cta-boxes .cta-box.third .cta-box__link {
  color: #000;
}

.page-banner .cta-boxes .cta-box .cta-box__links a {
  text-decoration: none;
}

.page-banner .cta-boxes .cta-box .cta-box__links a:hover .cta-box__link {
  color: #000;
}

.page-banner .cta-boxes .cta-box .cta-box__links a:hover .cta-box__link u {
  text-decoration: none;
}

.page-banner .cta-boxes .cta-box .link {
  color: #fff;
  text-decoration: underline;
  padding-left: 1rem;
}

.page-banner .cta-boxes .cta-box .cta-box__linked-text {
  text-decoration: none !important;
}

.page-banner .cta-boxes .cta-box .cta-box__link {
  color: #000;
  white-space: nowrap;
  margin: 0 1rem;
}

.page-banner .cta-boxes .cta-box .cta-box__link .fa-angle-right {
  margin-left: 0.75rem;
}

.page-banner .cta-boxes .cta-box.full-width {
  width: 100% !important;
  padding-left: unset;
}

@media only screen and (max-width: 1279px) {
  .page-banner .cta-boxes .cta-box {
    font-size: 1.125rem;
  }
  .page-banner .cta-boxes .cta-box:first-of-type::before {
    width: 100%;
  }
}

@media only screen and (max-width: 991px) {
  .page-banner .cta-container {
    padding: 0;
  }
  .page-banner .cta-boxes {
    max-height: unset;
  }
  .page-banner .cta-boxes .cta-box {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) {
  .page-banner .banner-cityscape.line, .page-banner .banner-cityscape.silhouette {
    background-size: cover;
  }
  .page-banner .banner-wrapper .page-heading h3 {
    font-size: 2rem;
  }
  .page-banner .carousel .slide .image-holder img {
    max-width: 250px;
    margin: 0 auto;
    text-align: center;
    display: block;
    padding: 0 2.5rem;
  }
  .page-banner .carousel .slide figcaption p {
    text-align: center;
    padding: 0 2.5rem;
    margin-top: 2.5rem;
    font-size: 2rem;
  }
  .page-banner .carousel .slide .image-holder__content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .page-banner .carousel .slider .previous {
    position: absolute;
    top: 25%;
    bottom: 25%;
    left: 12px;
  }
  .page-banner .carousel .slider .next {
    position: absolute;
    top: 25%;
    right: 12px;
    bottom: 25%;
  }
  .page-banner .carousel .slider .previous,
  .page-banner .carousel .slider .next {
    font-size: 1.25rem;
    padding: 1.25rem;
    width: 25px;
    height: 25px;
  }
  .page-banner .cta-boxes .cta-box:first-of-type {
    padding: 1.35rem 0.5rem;
  }
}

#leadership .leadership-container {
  background: #e9e9e9 url("../img/ui-assets/radon-chemical-structure-tile.svg") repeat center/700px auto;
  padding-bottom: 6.5rem;
  margin-top: 0;
}

#leadership .executive-staff-repeaters .staff-member, #leadership .staff-repeaters .staff-member {
  position: relative;
  margin-top: 1.5rem;
  background: #fff;
  padding: 1rem 2rem;
  overflow: hidden;
  -webkit-transition: all ease 0.2s;
  transition: all ease 0.2s;
}

#leadership .executive-staff-repeaters .staff-member .photo-container, #leadership .staff-repeaters .staff-member .photo-container {
  text-align: center;
  -webkit-transition: all ease 0.2s;
  transition: all ease 0.2s;
}

#leadership .executive-staff-repeaters .staff-member .staff-photo, #leadership .staff-repeaters .staff-member .staff-photo {
  max-height: 420px;
}

#leadership .executive-staff-repeaters .staff-member .staff-bio, #leadership .staff-repeaters .staff-member .staff-bio {
  position: absolute;
  top: 0;
  left: 2rem;
  right: 2rem;
  font-size: 0.9rem;
  line-height: 1.4;
  opacity: 0;
  padding: 1rem 2rem 1rem 1rem;
  -webkit-transition: all ease-in 0.2s;
  transition: all ease-in 0.2s;
  z-index: 100 !important;
  overflow: auto;
  max-height: 80%;
}

#leadership .executive-staff-repeaters .staff-member .staff-meta .name, #leadership .staff-repeaters .staff-member .staff-meta .name {
  color: var(--brand-royal-blue);
  font-weight: 700;
}

#leadership .executive-staff-repeaters .staff-member .staff-meta2, #leadership .staff-repeaters .staff-member .staff-meta2 {
  position: relative;
  margin-top: 0;
}

#leadership .executive-staff-repeaters .staff-member .staff-meta2 .position, #leadership .staff-repeaters .staff-member .staff-meta2 .position {
  margin-top: 0;
  font-weight: 500;
}

#leadership .executive-staff-repeaters .staff-member .staff-meta2 .social-icon, #leadership .staff-repeaters .staff-member .staff-meta2 .social-icon {
  position: absolute;
  right: 2rem;
  bottom: 1rem;
  background-color: #007AF8;
  color: #fff;
  border: 1px solid transparent;
  border-radius: 20px;
  padding: 4px 5px;
  -webkit-transition: all ease 0.2s;
  transition: all ease 0.2s;
}

#leadership .executive-staff-repeaters .staff-member .staff-meta2 .social-icon:hover, #leadership .staff-repeaters .staff-member .staff-meta2 .social-icon:hover {
  color: #007AF8;
  background-color: #fff;
  border: 1px solid #007AF8;
}

#leadership .executive-staff-repeaters .staff-member.rollover:hover, #leadership .staff-repeaters .staff-member.rollover:hover {
  -webkit-box-shadow: 0 3px 20px rgba(0, 0, 0, 0.2);
          box-shadow: 0 3px 20px rgba(0, 0, 0, 0.2);
}

#leadership .executive-staff-repeaters .staff-member.rollover:hover .photo-container, #leadership .staff-repeaters .staff-member.rollover:hover .photo-container {
  background-color: white;
  opacity: 0.1;
}

#leadership .executive-staff-repeaters .staff-member.rollover:hover .staff-bio, #leadership .staff-repeaters .staff-member.rollover:hover .staff-bio {
  opacity: 1;
}

#leadership .executive-staff-repeaters .mobile-bio, #leadership .executive-staff-repeaters .mobile-staff-bio, #leadership .staff-repeaters .mobile-bio, #leadership .staff-repeaters .mobile-staff-bio {
  display: none;
}

#leadership .executive-staff-repeaters {
  padding-top: 6.5rem;
}

#leadership .staff-repeaters {
  margin-top: 0;
  padding-top: 3.5rem;
}

#leadership .staff-repeaters .staff-member {
  height: auto;
  max-height: unset;
}

@media only screen and (max-width: 991px) {
  #leadership .leadership-container .executive-staff-repeaters .staff-member, #leadership .leadership-container .staff-repeaters .staff-member {
    margin-top: 1rem;
  }
}

@media only screen and (max-width: 768px) {
  #leadership .leadership-container {
    padding-bottom: 2rem;
  }
  #leadership .leadership-container .executive-staff-repeaters {
    padding-top: 1rem;
  }
  #leadership .leadership-container .staff-repeaters {
    padding-top: 0;
  }
  #leadership .leadership-container .executive-staff-repeaters .staff-member, #leadership .leadership-container .staff-repeaters .staff-member {
    height: auto;
    margin-top: 2rem;
  }
  #leadership .leadership-container .executive-staff-repeaters .staff-member .staff-meta2 .social-icon, #leadership .leadership-container .staff-repeaters .staff-member .staff-meta2 .social-icon {
    right: 0;
  }
  #leadership .leadership-container .executive-staff-repeaters .staff-member:hover .staff-bio, #leadership .leadership-container .staff-repeaters .staff-member:hover .staff-bio {
    display: none;
  }
  #leadership .leadership-container .executive-staff-repeaters .staff-member:hover .photo-container, #leadership .leadership-container .staff-repeaters .staff-member:hover .photo-container {
    opacity: 1;
    background-color: unset;
  }
  #leadership .leadership-container .executive-staff-repeaters .mobile-staff-bio, #leadership .leadership-container .staff-repeaters .mobile-staff-bio {
    display: block;
    margin-top: 1.5rem;
    -webkit-transition: all ease 0.2s;
    transition: all ease 0.2s;
    text-align: center;
  }
  #leadership .leadership-container .executive-staff-repeaters .mobile-staff-bio .toggle, #leadership .leadership-container .staff-repeaters .mobile-staff-bio .toggle {
    color: #f00;
    font-size: 1.25rem;
  }
  #leadership .leadership-container .executive-staff-repeaters .mobile-bio, #leadership .leadership-container .staff-repeaters .mobile-bio {
    margin-top: 0;
    padding: 0.75rem 0 1rem;
    text-align: left;
  }
}

#page .university-section {
  padding: 2rem 0 10rem;
  background: #e9e9e9 url("../img/ui-assets/radon-chemical-structure-tile.svg") repeat center/700px auto;
}

#page .university-section li {
  margin-left: 2rem;
  position: relative;
}

#page .university-section li a {
  text-decoration: none;
  border-bottom: 1px solid #f4aaa5;
}

#page .university-section li::before {
  top: 0;
  position: absolute;
  color: #e92a0e;
}

#page .university-section h3, #page .university-section h4, #page .university-section a {
  color: #e92a0e;
}

#page .university-section a:hover, #page .university-section a:focus {
  -webkit-filter: brightness(50%);
          filter: brightness(50%);
}

#page .university-section a.black-button-outline {
  color: #1a1a1a;
}

#page .university-section a.black-button-outline:hover, #page .university-section a.black-button-outline:focus {
  -webkit-filter: none;
          filter: none;
  border: 2px solid #e92a0e;
  background: #e92a0e;
  color: #fff;
}

#page .university-section .block-content {
  margin: 6rem 0 -2rem;
}

#page .university-section .block-content h4 {
  margin-top: 0;
}

#page .university-section .university-box {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 83.3%;
          flex: 0 0 83.3%;
  max-width: 83.3%;
  background-color: #fff;
  padding: 2rem;
  -webkit-box-shadow: 0 3px 20px rgba(0, 0, 0, 0.2);
          box-shadow: 0 3px 20px rgba(0, 0, 0, 0.2);
}

#page .university-section .university-box.video, #page .university-section .university-box.image {
  padding: 0;
}

#page .university-section .university-box .block-text-content {
  margin: 2rem 14.777%;
  padding-right: 1.75rem;
}

#page .university-section .university-box .block-text-content h3 {
  margin-top: 0;
}

#page .university-section .university-box .block-text-content p {
  margin-top: 2.1rem;
}

#page .university-section .university-box .image-text-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding-top: 0;
}

#page .university-section .university-box .image-text-block p {
  margin-top: 0.4rem;
}

#page .university-section .university-box .video-container {
  position: relative;
}

#page .university-section .university-box .video-container:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

#page .university-section .university-box .video-container > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

#page .university-section .university-box .video-container > :first-child {
  height: 100%;
}

#page .university-section .uofc-link {
  height: 2.5rem;
  display: block;
  margin: 0 15.25%;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

#page .university-section .uofc-link img {
  height: 100%;
  width: auto;
  margin-top: 2.3rem;
  display: block;
}

@media only screen and (max-width: 991px) {
  #page .university-section .university-box {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  #page .university-section a.uofc-link {
    margin-left: 0;
  }
  #page .university-section li::before {
    padding-right: 0;
    margin-left: 0;
  }
  #page .university-section .uofc-link {
    left: unset;
    width: 100%;
  }
  #page .university-section .uofc-link img {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) {
  #page .university-section ul:not(.pagination) {
    padding-left: 0;
  }
  #page .university-section ul:not(.pagination) li::before {
    left: -1.2rem;
  }
  #page .university-section .block-content {
    margin: 0 0 -2rem;
  }
  #page .university-section .university-box .block-text-content {
    margin: 0;
    padding-right: 0;
  }
}

@media only screen and (min-width: 992px) {
  #page .university-section .university-box {
    margin-left: 8.33333%;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Jhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL19taXhpbnMuc2NzcyIsInBhZ2UtdGVtcGxhdGVzL3BhZ2UtYmFzaWMuY3NzIiwiLi4vLi4vLi4vYmFzZS10aGVtZS9hc3NldHMvc2Nzcy91dGlsaXRpZXMvX2V4dGVuc2lvbnMuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsIl9hcmNoaXZlLW5ld3Muc2NzcyIsIl9sYXlvdXQtYmxvY2stcGVvcGxlLWdyaWQuc2NzcyIsIl9hY2NvcmRpb24uc2NzcyIsIl90b2dnbGUtYnV0dG9uLnNjc3MiLCJfYmxvY2stY29udGVudC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL2xpYnJhcnkvX3Bvc2l0aW9uLnNjc3MiLCJfcGFnZS1iYW5uZXIuc2NzcyIsIl9sZWFkZXJzaGlwLnNjc3MiLCJfdW5pdmVyc2l0eS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztzQkNFc0I7QURFdEI7Ozs7OztZQ0tZO0FEa0JaOzs7OztZQ1pZO0FEdUJaOztzQkNwQnNCO0FEd0J0Qjs7O1lDcEJZO0FEOEJaOzs7O1lDekJZO0FEd0NaOzs7OztZQ2xDWTtBRDZDWjs7Ozs7WUN2Q1k7QURrRFo7OztZQzlDWTtBRDBEWjs7O1lDdERZO0FDL0NaOzs7OzhFRG9EOEU7QUM5QzlFOzt3Q0RpRHdDO0FDN0N4Qzs7WURnRFk7QUNsQlo7O1lEcUJZO0FDRVo7O1lEQ1k7QUNvRFo7O1lEakRZO0FDa0VaOztZRC9EWTtBQ2lHWjs7WUQ5Rlk7QUMrR1o7O1lENUdZO0FDdUhaOzt3Q0RwSHdDO0FDd0h4Qzs7WURySFk7QUNxSVo7O1lEbElZO0FDK0xaOztZRDVMWTtBQ2tOWjs7WUQvTVk7QUNvUVo7O1lEalFZO0FDMFZaOztZRHZWWTtBQ21XWjs7WURoV1k7QUM2YVo7O1lEMWFZO0FFdkdaOztzQkYwR3NCO0FFdEd0Qjs7WUZ5R1k7QUVqR1o7O1lGb0dZO0FF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QjtFQUFsQixrQkFBa0I7QVgwckM5Qjs7QVdueENBO0VBNEZnQixZQUFZO0VBQ1osV0FBVztFQUNYLGtCQUFrQjtFQUNsQixjQUFjO0FYMnJDOUI7O0FXcnJDQTtFQXJHQTtJQXlHZ0IsbUJBQWM7UUFBZCxrQkFBYztZQUFkLGNBQWM7SUFDZCxlQUFlO0VYc3JDN0I7RVcxckNFO0lBT1ksY0FBYztFWHNyQzVCO0VXbnlDRjtJQWdIZ0IsZ0JBQWdCO0lBQ2hCLGNBQWM7RVhzckM1QjtFV3Z5Q0Y7SUFvSGdCLFdBQVc7SUFDWCxXQUFXO0VYc3JDekI7RVczeUNGO0lBd0hvQixXQUFXO0VYc3JDN0I7QUFDRjs7QVdockNBO0VBQ0k7SUFHWSxlQUFlO0VYaXJDN0I7RVdwckNFO0lBTWdCLGFBQWE7RVhpckMvQjtFV3Z6Q0Y7SUEwSWdCLGlCQUFpQjtFWGdyQy9CO0VXMXpDRjtJQTZJZ0IsU0FBUztJQUNULGdCQUFnQjtFWGdyQzlCO0FBQ0Y7O0FXM3FDQTtFQXBKQTtJQXNKUSxxQkFBcUI7RVg4cUMzQjtBQUNGIiwiZmlsZSI6InBhZ2UtdGVtcGxhdGVzL3BhZ2UtYmFzaWMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBNaXhpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS1cbiBAIE1haW50YWluIEFzcGVjdCBSYXRpb1xuXHQtICoqKiByZXF1aXJlcyB0aGF0IHRoZSBlbGVtZW50IGhhcyBhbiBpbm5lciBjb250YWluZXIgZWxlbWVudCBpZiB0aGVyZSBpcyBpbm5lciBjb250ZW50XG5cdC0gJHggPT4geCBwb3J0aW9uIG9mIHJhdGlvXG5cdC0gJHkgPT4geSBwb3J0aW9uIG9mIHJhdGlvXG4gICAgLSAkYyA9PiBzZXQgdG8gJ2ZhbHNlJyB0byBza2lwIDpmaXJzdC1jaGlsZCBzdHlsaW5nXG4tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHg6IDEsICR5OiAxLCAkYzogdHJ1ZSkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoJHkgLyAkeCk7XG5cdH1cblx0QGlmICgkYyA9PSB0cnVlKSB7XG5cdFx0JiA+IDpmaXJzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG5cdFx0fVxuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEJhY2tncm91bmQgSW1hZ2Vcblx0LSBTaG9ydGN1dCBmb3IgbGlua2luZyBpbWFnZXMgaW4gdGhlIGNvbmZpZ3VyZWQgaW1hZ2VzIGZvbGRlclxuXHQtICRpID0+IGltYWdlIGZpbGUgbmFtZSAocmVsYXRpdmUgdG8gaW1hZ2VzIGZvbGRlcilcblx0LSAkcmVzdCA9PiBhbnkgYWRkaXRpb25hbCAnYmFja2dyb3VuZCcgcHJvcGVydHkgc2hvcnRjdXQgZGVjbGFyYXRpb25zIChpZTogbm8tcmVwZWF0KVxuLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gYmctaW1hZ2UoJGksICRyZXN0Li4uKSB7XG5cdGJhY2tncm91bmQ6IHVybChcIiN7JGltYWdlcy1mb2xkZXJ9LyN7JGl9XCIpICRyZXN0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIEZ1bmN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3IgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkdGhlbWUtY29sb3JzIG1hcFxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gY29sb3ItZ2V0KCRrZXlzKSB7XG5cdCRjb2xvcjogbWFwLWRlZXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXlzKTtcblx0QHJldHVybiAkY29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEJyZWFrcG9pbnQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZ3JpZC1icmVha3BvaW50cyBtYXBcbiBcdC0gJHR5cGUgPT4gJ21heCcgfCAnbWluJywgZGVwZW5kaW5nIG9uIG1lZGlhIHF1ZXJ5IHR5cGVcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0KCR0eXBlLCAka2V5cykge1xuXHQkYnJlYWtwb2ludDogbWFwLWRlZXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAka2V5cyk7XG5cdEBpZiAoJHR5cGUgPT0gJ21heCcpe1xuXHRcdEByZXR1cm4gJGJyZWFrcG9pbnQgLSAxO1xuXHR9IEBlbHNlIHtcblx0XHRAcmV0dXJuICRicmVha3BvaW50O1xuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEVtc1xuXHQtIGNvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuXHQtICRwID0+IHBpeGVsIHZhbHVlXG5cdC0gJGIgPT4gYmFzZSBzaXplICh0byB1c2UgaW4gZm9ybXVsYSkgLSBkZWZhdWx0cyB0byAkZm9udC1zaXplcyByb290IHZhcmlhYmxlXG4tLS0tLS0tLS0tICovXG5cbkBmdW5jdGlvbiBlbXMoJHAsICRiOiBtYXAtZ2V0KCRmb250LXNpemVzLCByb290KSkge1xuXHRAcmV0dXJuIChzdHJpcC11bml0KCRwKSAvIHN0cmlwLXVuaXQoJGIpKSArIDBlbTtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgUmVtc1xuXHQtIGNvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcblx0LSAkcCA9PiBwaXhlbCB2YWx1ZVxuXHQtICRiID0+IGJhc2Ugc2l6ZSAodG8gdXNlIGluIGZvcm11bGEpIC0gZGVmYXVsdHMgdG8gJGZvbnQtc2l6ZXMgcm9vdCB2YXJpYWJsZVxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gcmVtcygkcCwgJGI6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIHJvb3QpKSB7XG4gICAgQHJldHVybiAoc3RyaXAtdW5pdCgkcCkgLyBzdHJpcC11bml0KCRiKSkgKyAwcmVtO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBNYXAgRGVlcCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gbmVzdGVkIG1hcHNcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuXHRAZWFjaCAka2V5IGluICRrZXlzIHtcblx0XHQkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuXHR9XG5cdEByZXR1cm4gJG1hcDtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgV2VpZ2h0IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGZvbnQtd2VpZ2h0cyBtYXBcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIHdlaWdodC1nZXQoJGtleXMpIHtcblx0JHdlaWdodDogbWFwLWRlZXAtZ2V0KCRmb250LXdlaWdodHMsICRrZXlzKTtcblx0QHJldHVybiAkd2VpZ2h0O1xufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgTWl4aW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTWFpbnRhaW4gQXNwZWN0IFJhdGlvXG5cdC0gKioqIHJlcXVpcmVzIHRoYXQgdGhlIGVsZW1lbnQgaGFzIGFuIGlubmVyIGNvbnRhaW5lciBlbGVtZW50IGlmIHRoZXJlIGlzIGlubmVyIGNvbnRlbnRcblx0LSAkeCA9PiB4IHBvcnRpb24gb2YgcmF0aW9cblx0LSAkeSA9PiB5IHBvcnRpb24gb2YgcmF0aW9cbiAgICAtICRjID0+IHNldCB0byAnZmFsc2UnIHRvIHNraXAgOmZpcnN0LWNoaWxkIHN0eWxpbmdcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEJhY2tncm91bmQgSW1hZ2Vcblx0LSBTaG9ydGN1dCBmb3IgbGlua2luZyBpbWFnZXMgaW4gdGhlIGNvbmZpZ3VyZWQgaW1hZ2VzIGZvbGRlclxuXHQtICRpID0+IGltYWdlIGZpbGUgbmFtZSAocmVsYXRpdmUgdG8gaW1hZ2VzIGZvbGRlcilcblx0LSAkcmVzdCA9PiBhbnkgYWRkaXRpb25hbCAnYmFja2dyb3VuZCcgcHJvcGVydHkgc2hvcnRjdXQgZGVjbGFyYXRpb25zIChpZTogbm8tcmVwZWF0KVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBGdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvciBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICR0aGVtZS1jb2xvcnMgbWFwXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBCcmVha3BvaW50IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGdyaWQtYnJlYWtwb2ludHMgbWFwXG4gXHQtICR0eXBlID0+ICdtYXgnIHwgJ21pbicsIGRlcGVuZGluZyBvbiBtZWRpYSBxdWVyeSB0eXBlXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBFbXNcblx0LSBjb252ZXJ0IHBpeGVscyB0byBlbXNcblx0LSAkcCA9PiBwaXhlbCB2YWx1ZVxuXHQtICRiID0+IGJhc2Ugc2l6ZSAodG8gdXNlIGluIGZvcm11bGEpIC0gZGVmYXVsdHMgdG8gJGZvbnQtc2l6ZXMgcm9vdCB2YXJpYWJsZVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgUmVtc1xuXHQtIGNvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcblx0LSAkcCA9PiBwaXhlbCB2YWx1ZVxuXHQtICRiID0+IGJhc2Ugc2l6ZSAodG8gdXNlIGluIGZvcm11bGEpIC0gZGVmYXVsdHMgdG8gJGZvbnQtc2l6ZXMgcm9vdCB2YXJpYWJsZVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTWFwIERlZXAgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIG5lc3RlZCBtYXBzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBXZWlnaHQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZm9udC13ZWlnaHRzIG1hcFxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gQEBAIEdsb2JhbCBFeHRlbnNpb25zXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgR2VuZXJpYyBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBEaXNwbGF5XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBQb3NpdGlvbmluZ1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTGF5b3V0XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvcnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE92ZXJmbG93XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBNaXNjIFZpc3VhbHNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgQ29tcG9uZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFBhZ2luYXRpb25cbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFNsaWRlcnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFRleHQgRmllbGRzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBEcm9wZG93bnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIENoZWNrYm94ZXNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFJhZGlvIEJ1dHRvbnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIERpYWxvZ3Ncbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFRvb2x0aXBzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIFByb2plY3QgU3BlY2lmaWMgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgT3B0aW9uc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3JzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBMYXlvdXRcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE1pc2Ncbi0tLS0tLS0tLS0gKi9cbiNuZXdzIHtcbiAgbWFyZ2luOiA2Ljc1cmVtIDA7XG59XG5cbiNuZXdzIC5uby1yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogNHJlbSAwIDJyZW07XG59XG5cbiNuZXdzIC5uby1yZXN1bHRzOjpiZWZvcmUsICNuZXdzIC5uby1yZXN1bHRzOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTUwLCAxNTAsIDE1MCwgMC4yNSk7XG59XG5cbiNuZXdzIC5uby1yZXN1bHRzIC5uby1yZXN1bHRzLXRleHQge1xuICBvcGFjaXR5OiAwLjM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDVyZW07XG4gIGZvbnQtZmFtaWx5OiBhem8tc2Fucy13ZWIsIFwiQXZlbmlyXCIsIFwiVHcgQ2VuIE1UXCIsIFwiSGVsdmV0aWNhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIuNXJlbTtcbn1cblxuI25ld3MgLmNhcmQgLmNhcmQtY29udGVudCBwIHtcbiAgbWFyZ2luOiAwLjVyZW0gMDtcbn1cblxuI25ld3MgLnBhZ2luYXRpb24tYXJlYSB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgI25ld3MgLmNhcmQge1xuICAgIHBhZGRpbmc6IDEuNzVyZW07XG4gIH1cbiAgI25ld3MgLmNhcmQgLmNhcmQtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gICNuZXdzIC5jYXJkIC5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICNuZXdzIC5jYXJkLWNvbnRlbnQsICNuZXdzIC5jYXJkLWltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gICNuZXdzIC5uZXdzLXBvc3Rpbmcge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI25ld3MgLmNhcmQgLmNhcmQtYm90dG9tIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAjbmV3cyB7XG4gICAgbWFyZ2luOiA0cmVtIDA7XG4gIH1cbiAgI25ld3MgZGl2LmNhcmQge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cbiAgI25ld3MgZGl2LmNhcmQgLmNhcmQtaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubC1wZW9wbGUtZ3JpZCB7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgcGFkZGluZzogM3JlbSAwIDYuNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmwtcGVvcGxlLWdyaWQgaDMge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmwtcGVvcGxlLWdyaWQgKyAubC1wZW9wbGUtZ3JpZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5sLXBlb3BsZS1ncmlkLS1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN0FGODtcbn1cblxuLmwtcGVvcGxlLWdyaWQtLWJsdWUgaDMge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmwtcGVvcGxlLWdyaWQtLWdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllOWU5O1xufVxuXG4ubC1wZW9wbGUtZ3JpZC0tbW9sZWN1bGVzIHtcbiAgYmFja2dyb3VuZDogI2U5ZTllOSB1cmwoXCIuLi9pbWcvdWktYXNzZXRzL3JhZG9uLWNoZW1pY2FsLXN0cnVjdHVyZS10aWxlLnN2Z1wiKSByZXBlYXQgY2VudGVyLzcwMHB4IGF1dG87XG59XG5cbi5sLXBlb3BsZS1ncmlkLS1yYWRpYXRpb24ge1xuICBiYWNrZ3JvdW5kOiAjZTllOWU5IHVybChcIi4uL2ltZy91aS1hc3NldHMvbnVjbGVhci1iYWNrZ3JvdW5kLXRpbGUuc3ZnXCIpIHJlcGVhdCBjZW50ZXIvNzAwcHggYXV0bztcbn1cblxuLmwtcGVvcGxlLWdyaWRfX3N0YWZmLmwtcGVvcGxlLWdyaWRfX3N0YWZmIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAubGF5b3V0LWJsb2NrLS1wZW9wbGUtZ3JpZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoKCgxMzQ0cHggLSAxMDAlIC0gMy4yNXJlbSkgKyAoKDEwMHZ3IC0gMTM0NHB4KSAvIDIpICsgMS43NXJlbSkgKiAtMSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCgoMTAwdncgLSAxMzQ0cHgpIC8gMiArIDJyZW0pICogLTEpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM0NHB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmxheW91dC1ibG9jay0tcGVvcGxlLWdyaWQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCgxMDB2dyAtIDEwMCUgLSAycmVtKSAqIC0xKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5sYXlvdXQtYmxvY2stLXBlb3BsZS1ncmlkIHtcbiAgICBtYXJnaW4tbGVmdDogLTIuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMC43NXJlbSk7XG4gIH1cbn1cblxuLmMtYWNjb3JkaW9ucyB7XG4gIC0tYWNjb3JkaW9uLXRvZ2dsZS1iZy1jb2xvcjogdmFyKC0tYnJhbmQtZ3JleSk7XG4gIC0tYWNjb3JkaW9uLXRvZ2dsZS1pY29uLWJnLWNvbG9yLWFjdGl2ZTogI2ZmZjtcbiAgLS1hY2NvcmRpb24tdG9nZ2xlLWljb24tbGluZS1jb2xvci1hY3RpdmU6IHZhcigtLWJyYW5kLWNoYXJjb2FsKTtcbiAgcGFkZGluZzogMDtcbn1cblxuLmMtYWNjb3JkaW9uc19fc2VjdGlvbi1oZWFkaW5nICsgLmMtYWNjb3JkaW9uc19fc2VjdGlvbi1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmMtYWNjb3JkaW9uc19fc2VjdGlvbi1oZWFkaW5nICsgLmMtYWNjb3JkaW9uc19fbGlzdCB7XG4gIG1hcmdpbi10b3A6IDEuNzVyZW07XG59XG5cbi5jLWFjY29yZGlvbnNfX3NlY3Rpb24tY29udGVudCArIC5jLWFjY29yZGlvbnNfX2xpc3Qge1xuICBtYXJnaW4tdG9wOiAyLjRyZW07XG59XG5cbi5jLWFjY29yZGlvbiB7XG4gIC0teC1wYWRkaW5nOiAxLjg1cmVtO1xuICAtLXktcGFkZGluZzogMS41cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbn1cblxuLmhhcy1vcGVuLWFjY29yZGlvbi5jLWFjY29yZGlvbiAuYy1hY2NvcmRpb25fX3RvZ2dsZS1idXR0b24ge1xuICAtLXRvZ2dsZS1iZzogdmFyKC0tYWNjb3JkaW9uLXRvZ2dsZS1pY29uLWJnLWNvbG9yLWFjdGl2ZSk7XG4gIC0taWNvbi1jb2xvcjogdmFyKC0tYWNjb3JkaW9uLXRvZ2dsZS1pY29uLWxpbmUtY29sb3ItYWN0aXZlKTtcbn1cblxuLmMtYWNjb3JkaW9uX190aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NvcmRpb24tdGl0bGUtY29sb3IsIHZhcigtLWJyYW5kLWJsdWUpKTtcbiAgZm9udC1zaXplOiAxLjY1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIGZsZXg6IDE7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbn1cblxuLmMtYWNjb3JkaW9uX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZ3JleSk7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmhhcy1vcGVuLWFjY29yZGlvbiAuYy1hY2NvcmRpb25fX2NvbnRlbnQge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jLWFjY29yZGlvbl9faWNvbi13cmFwcGVyIHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxLjY3cmVtIDAgMy4xMXJlbTtcbn1cblxuLmMtYWNjb3JkaW9uX190b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY29yZGlvbi10b2dnbGUtYmctY29sb3IpO1xuICBwYWRkaW5nOiB2YXIoLS15LXBhZGRpbmcpIDAgdmFyKC0teS1wYWRkaW5nKSB2YXIoLS14LXBhZGRpbmcpO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYy1hY2NvcmRpb25fX3RvZ2dsZS1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYXMtb3Blbi1hY2NvcmRpb24gLmMtYWNjb3JkaW9uX190b2dnbGUsXG4uYy1hY2NvcmRpb25fX3RvZ2dsZTpob3ZlciB7XG4gIC0tYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NvcmRpb24tdG9nZ2xlLWJnLWNvbG9yLWFjdGl2ZSwgdmFyKC0tYnJhbmQtcm95YWwtYmx1ZSkpO1xufVxuXG4uaGFzLW9wZW4tYWNjb3JkaW9uLmMtYWNjb3JkaW9uIC5jLXRvZ2dsZS1idXR0b25fX2xpbmUtLXkge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5jLWFjY29yZGlvbl9fY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLXktcGFkZGluZykgLyAyICogLTEpKTtcbn1cblxuLmMtYWNjb3JkaW9uX19pbm5lciB7XG4gIHBhZGRpbmc6IHZhcigtLXZlcnRpY2FsLW1hcmdpbi1iYXNlKSB2YXIoLS14LXBhZGRpbmcpIHZhcigtLXktcGFkZGluZyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmMtYWNjb3JkaW9uc19fc2VjdGlvbi1jb250ZW50ICsgLmMtYWNjb3JkaW9uc19fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMS43NXJlbTtcbiAgfVxuICAuYy1hY2NvcmRpb25zX19zZWN0aW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmMtYWNjb3JkaW9uIHtcbiAgICAtLXgtcGFkZGluZzogdmFyKC0tZ3JpZC1wYWRkaW5nKTtcbiAgfVxuICAuYy1hY2NvcmRpb24gLmMtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuYy1hY2NvcmRpb25fX2ljb24td3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAwLjYzcmVtO1xuICB9XG59XG5cbi5jLXRvZ2dsZS1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIC0taWNvbi1zaXplOiAxLjFlbTtcbiAgLS10b2dnbGUtc2l6ZTogNTBweDtcbiAgLS10b2dnbGUtYmc6IHZhcigtLXRvZ2dsZS1idXR0b24tYmctY29sb3IsIHZhcigtLWJyYW5kLWJsdWUpKTtcbiAgLS10b2dnbGUtYmctYWN0aXZlOiAjZmZmO1xuICAtLWljb24tY29sb3I6ICNmZmY7XG4gIC0taWNvbi1jb2xvci1hY3RpdmU6IHZhcigtLWJyYW5kLWNoYXJjb2FsKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10b2dnbGUtYmcsIHZhcigtLWJyYW5kLWJsdWUpKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiB2YXIoLS10b2dnbGUtc2l6ZSwgNTRweCk7XG4gIGhlaWdodDogdmFyKC0tdG9nZ2xlLXNpemUsIDU0cHgpO1xuICBpbnNldDogdmFyKC0tdG9nZ2xlLWluc2V0KTtcbiAgei1pbmRleDogMjAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbn1cblxuLmMtdG9nZ2xlLWJ1dHRvbl9fY29udGVudCB7XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLWluLW91dDtcbn1cblxuLmMtdG9nZ2xlLWJ1dHRvbjpob3Zlcixcbi5jLXRvZ2dsZS1idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10b2dnbGUtYmctYWN0aXZlLCAjZmZmKTtcbn1cblxuLmMtdG9nZ2xlLWJ1dHRvbl9faWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1pY29uLWNvbG9yKTtcbn1cblxuLmMtdG9nZ2xlLWJ1dHRvbjpob3ZlciAuYy10b2dnbGUtYnV0dG9uX19pY29uLFxuLmMtdG9nZ2xlLWJ1dHRvbjpmb2N1cyAuYy10b2dnbGUtYnV0dG9uX19pY29uIHtcbiAgY29sb3I6IHZhcigtLWljb24tY29sb3ItYWN0aXZlKTtcbn1cblxuLmMtdG9nZ2xlLWJ1dHRvbl9fdHJheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xufVxuXG4uYy10b2dnbGUtYnV0dG9uX19pY29uIHtcbiAgaGVpZ2h0OiB2YXIoLS1pY29uLXNpemUpO1xufVxuXG4uYy10b2dnbGUtYnV0dG9uX19saW5lIHtcbiAgdHJhbnNpdGlvbjogMjUwbXMgYWxsIGVhc2U7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cblxuLmlzLWFjdGl2ZS10b29sdGlwIC5jLXRvZ2dsZS1idXR0b25fX2xpbmUtLXkge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmMtdG9nZ2xlLWJ1dHRvbiB7XG4gICAgLS1pY29uLXNpemU6IDAuNzVlbTtcbiAgICAtLXRvZ2dsZS1zaXplOiA0MHB4O1xuICB9XG59XG5cbi5ibG9jay1jb250ZW50IHtcbiAgbWFyZ2luOiA0Ljc1cmVtIDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5yb3c6Zmlyc3Qtb2YtdHlwZS5ibG9jay10ZXh0LWNvbnRlbnQsIC5ibG9jay1jb250ZW50IC5yb3c6Zmlyc3Qtb2YtdHlwZS5pbWFnZS10ZXh0LWJsb2NrLFxuLmJsb2NrLWNvbnRlbnQgLnJvdzpmaXJzdC1vZi10eXBlIC5ibG9jay10ZXh0LWNvbnRlbnQsIC5ibG9jay1jb250ZW50IC5yb3c6Zmlyc3Qtb2YtdHlwZSAuaW1hZ2UtdGV4dC1ibG9jayxcbi5ibG9jay1jb250ZW50IC5yb3c6Zmlyc3Qtb2YtdHlwZSAuYmxvY2stYWNjb3JkaW9ucyB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdGV4dCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdGV4dC1mdWxsd2lkdGgge1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmJsb2NrLXRleHQtZnVsbHdpZHRoIC5ibGFjay1idXR0b24tb3V0bGluZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmxheW91dC1ibG9jay0tdGV4dDpmaXJzdC1jaGlsZCBoMzpmaXJzdC1jaGlsZCwgLmJsb2NrLWNvbnRlbnQgLmxheW91dC1ibG9jay0tdGV4dDpmaXJzdC1jaGlsZCBoNDpmaXJzdC1jaGlsZCwgLmJsb2NrLWNvbnRlbnQgLmxheW91dC1ibG9jay0tdGV4dDpmaXJzdC1jaGlsZCBoNTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay10ZXh0LWNvbnRlbnQge1xuICBwYWRkaW5nOiAycmVtIDAgMXJlbTtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmJsb2NrLXRleHQtY29udGVudCBwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogMi4xcmVtO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdGV4dC1jb250ZW50IGgzIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmJsb2NrLXRleHQtY29udGVudCBsaSB7XG4gIG1hcmdpbjogMXJlbSAwO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdGV4dC1jb250ZW50IGxpOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay10ZXh0LWNvbnRlbnQgbGkgbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmJsb2NrLXRleHQtY29udGVudCBsaSBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay10ZXh0LWNvbnRlbnQgYmxvY2txdW90ZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgIzAwN0FGODtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdGV4dC1jb250ZW50IGJsb2NrcXVvdGUgcCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmJsb2NrLWJ1dHRvbnMge1xuICBwYWRkaW5nOiAxcmVtIDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay1idXR0b25zIC5ibG9jay1idXR0b25zX19idXR0b24ge1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xufVxuXG4uYmxvY2stY29udGVudCAubGF5b3V0LWJsb2NrLS10ZXh0ICsgLmxheW91dC1ibG9jay0tYnV0dG9ucyAuYmxvY2stYnV0dG9ucyB7XG4gIG1hcmdpbi10b3A6IC0ycmVtO1xuICBwYWRkaW5nOiAwIDAgMXJlbTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmxheW91dC1ibG9jay0tdGV4dC0tZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWxpZ2h0KTtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDguMzMzJTtcbiAgcGFkZGluZy1ib3R0b206IDRyZW07XG59XG5cbi5ibG9jay1jb250ZW50IC5sYXlvdXQtYmxvY2stLXRleHQtLWdyZXkgKyAubGF5b3V0LWJsb2NrLS10ZXh0LS1ncmV5IHtcbiAgbWFyZ2luLXRvcDogLTUuOXJlbTtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5sYXlvdXQtYmxvY2stLXRleHQtLWdyZXkgKyAubGF5b3V0LWJsb2NrLS10ZXh0LS1ncmV5IC5ibG9jay10ZXh0LWNvbnRlbnQ6aGFzKGgxOmZpcnN0LWNoaWxkLCBoMjpmaXJzdC1jaGlsZCwgaDM6Zmlyc3QtY2hpbGQsIGg0OmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmxheW91dC1ibG9jay0tdGV4dC0td2hpdGUgKyAubGF5b3V0LWJsb2NrLS10ZXh0LS13aGl0ZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5sYXlvdXQtYmxvY2stLXRleHQtLXdoaXRlICsgLmxheW91dC1ibG9jay0tdGV4dC0td2hpdGUgLmJsb2NrLXRleHQtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAxLjFyZW07XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay12aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdmlkZW8gLmlmcmFtZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay12aWRlbyAuaWZyYW1lLWNvbnRhaW5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDU2LjI1JTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmJsb2NrLXZpZGVvIC5pZnJhbWUtY29udGFpbmVyID4gOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay12aWRlbyAuaWZyYW1lLWNvbnRhaW5lciBpZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdmlkZW8gZmlndXJlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay12aWRlbyBmaWd1cmUgdmlkZW8ge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5ibG9jay1jb250ZW50IC5mdWxsLXdpZHRoLWltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMjVzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5ibG9jay1jb250ZW50IC5mdWxsLXdpZHRoLWltYWdlLS1oYXMtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmZ1bGwtd2lkdGgtaW1hZ2UtLWhhcy1saW5rOmhvdmVyIGltZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgYm94LXNoYWRvdzogMCAwLjVyZW0gMS41cmVtIDJweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xufVxuXG4uYmxvY2stY29udGVudCAuZnVsbC13aWR0aC1pbWFnZV9fbGluayB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uYmxvY2stY29udGVudCAuaW1hZ2UtdGV4dC1ibG9jayB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xufVxuXG4uYmxvY2stY29udGVudCAuaW1hZ2UtdGV4dC1ibG9jayBwIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgaDQge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uYmxvY2stY29udGVudCBoMyArICoge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5ibG9jay1jb250ZW50IGg0ICsgKiB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLmJsb2NrLWNvbnRlbnQgcCwgLmJsb2NrLWNvbnRlbnQgdWwsIC5ibG9jay1jb250ZW50IG9sIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYmxvY2stY29udGVudCBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmJsb2NrLWNvbnRlbnQgdGFibGUgdHI6Zmlyc3Qtb2YtdHlwZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdhZjggIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5ibG9jay1jb250ZW50IHRhYmxlIHRyOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgwODA4MDtcbn1cblxuLmJsb2NrLWNvbnRlbnQgdGFibGUgdHI6bGFzdC1vZi10eXBlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgdGFibGUgdHI6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xufVxuXG4uYmxvY2stY29udGVudCB0YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmN1c3RvbS1jaGVja2JveCAuaW5wdXQtYmcge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5ibG9jay1jb250ZW50IGZpZ2NhcHRpb24ge1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogIzFhMWExYTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmNvbnRhY3QgLmJsb2NrLWNvbnRlbnQgLmJsb2NrLXRleHQtZnVsbHdpZHRoIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmxheW91dC1ibG9jay0tYWNjb3JkaW9ucyB7XG4gIG1hcmdpbi10b3A6IDRyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5ibG9jay1jb250ZW50IHtcbiAgICBtYXJnaW46IDRyZW0gMCAxcmVtO1xuICB9XG4gIC5ibG9jay1jb250ZW50IHVsOm5vdCgucGFnaW5hdGlvbik6bm90KC5uby1saXN0LXN0eWxlKTpub3QoW2NsYXNzXj1cImdmaWVsZFwiXSk6bm90KFtjbGFzc149XCJnZm9ybV9maWVsZHNcIl0pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgfVxuICAuYmxvY2stY29udGVudCB1bDpub3QoLnBhZ2luYXRpb24pOm5vdCgubm8tbGlzdC1zdHlsZSk6bm90KFtjbGFzc149XCJnZmllbGRcIl0pOm5vdChbY2xhc3NePVwiZ2Zvcm1fZmllbGRzXCJdKSBsaTo6YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5ibG9jay1jb250ZW50IC5pbWFnZS10ZXh0LWJsb2NrIGltZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gIH1cbiAgLmJsb2NrLWNvbnRlbnQgLmxheW91dC1ibG9jay0tdGV4dC0tZ3JleSB7XG4gICAgcGFkZGluZzogMnJlbSAxLjVyZW0gM3JlbTtcbiAgICBtYXJnaW4tbGVmdDogLTJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYmxvY2stY29udGVudCB7XG4gICAgbWFyZ2luOiAycmVtIDAgMXJlbTtcbiAgfVxufVxuXG4ucGFnZS1iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjMDA3QUY4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xufVxuXG4ucGFnZS1iYW5uZXIuaG9tZS1iYW5uZXIge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG59XG5cbi5wYWdlLWJhbm5lciAuaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnBhZ2UtYmFubmVyIC5iYW5uZXItY2l0eXNjYXBlIHtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDkuMzc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGFnZS1iYW5uZXIgLmJhbm5lci1jaXR5c2NhcGUubGluZSB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltZy91aS1hc3NldHMvY2l0eS1saW5lLXRpdGxlLnN2Z1wiKSByZXBlYXQteCBjZW50ZXIvY29udGFpbjtcbn1cblxuLnBhZ2UtYmFubmVyIC5iYW5uZXItY2l0eXNjYXBlLnNpbGhvdWV0dGUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvdWktYXNzZXRzL2NpdHktc2lsaG91ZXR0ZS10aXRsZS5zdmdcIikgcmVwZWF0LXggYm90dG9tIGNlbnRlci9jb250YWluO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYWdlLWJhbm5lciAuYmFubmVyLWNpdHlzY2FwZS5zaWxob3VldHRlOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5OSU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG4ucGFnZS1iYW5uZXIgLmJhbm5lci1jaXR5c2NhcGUgLnNpbGhvdWV0dGUtaW5uZXItbGF5ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvdWktYXNzZXRzL2NpdHktc2lsaG91ZXR0ZS10aXRsZS5zdmdcIikgcmVwZWF0LXggYm90dG9tIGNlbnRlci9jb250YWluO1xuICBvcGFjaXR5OiAwLjQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjhyZW07XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IC01cmVtO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDVyZW07XG59XG5cbi5wYWdlLWJhbm5lciAuYmFubmVyLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucGFnZS1iYW5uZXIgLmJhbm5lci13cmFwcGVyIC5wYWdlLWhlYWRpbmcge1xuICBwYWRkaW5nOiA0LjM3NXJlbSAwO1xufVxuXG4ucGFnZS1iYW5uZXIgLmJhbm5lci13cmFwcGVyIC5wYWdlLWhlYWRpbmcgLmgzIHtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ucGFnZS1iYW5uZXIgLmJhbm5lci13cmFwcGVyIC5wYWdlLWhlYWRpbmcgLmgzOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYWdlLWJhbm5lciAuYmFubmVyLXdyYXBwZXIgLnBhZ2UtaGVhZGluZyAuaDMgLmJsYWNrLWJ1dHRvbi1vdXRsaW5lOmhvdmVyLCAucGFnZS1iYW5uZXIgLmJhbm5lci13cmFwcGVyIC5wYWdlLWhlYWRpbmcgLmgzIC5ibGFjay1idXR0b24tb3V0bGluZTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIGJvcmRlci1jb2xvcjogIzFhMWExYTtcbiAgY29sb3I6ICMwMDdBRjg7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwge1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIHBhZGRpbmc6IDRyZW0gMCA2cmVtO1xuICBtaW4taGVpZ2h0OiA1MDBweDtcbn1cblxuLnBhZ2UtYmFubmVyIC5jYXJvdXNlbC0tYmx1ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDdBRjg7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjUlO1xuICBib3R0b206IDI1JTtcbiAgbGVmdDogMjhweDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAubmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyNSU7XG4gIHJpZ2h0OiAyOHB4O1xuICBib3R0b206IDI1JTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXMsXG4ucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZXIgLm5leHQge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgei1pbmRleDogNTtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlO1xuICBwYWRkaW5nOiAxLjUwcmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiBhdXRvIDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXMgc3Bhbixcbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAubmV4dCBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXM6aG92ZXIsIC5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXM6Zm9jdXMsXG4ucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZXIgLm5leHQ6aG92ZXIsXG4ucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZXIgLm5leHQ6Zm9jdXMge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlIC5pbWFnZS1ob2xkZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZSBmaWdjYXB0aW9uIHtcbiAgZm9udC1zaXplOiAyLjI1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnBhZ2UtYmFubmVyIC5jYXJvdXNlbCAuc2xpZGUgZmlnY2FwdGlvbiBpLCAucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZSBmaWdjYXB0aW9uIGVtLCAucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZSBmaWdjYXB0aW9uIHN0cm9uZywgLnBhZ2UtYmFubmVyIC5jYXJvdXNlbCAuc2xpZGUgZmlnY2FwdGlvbiBiIHtcbiAgY29sb3I6ICNlZWUwNDc7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlIC5pbWFnZS1ob2xkZXJfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlIC5pbWFnZS1ob2xkZXJfX2J0biB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIHBhZGRpbmc6IDAuNHJlbSAxLjI1cmVtO1xufVxuXG4ucGFnZS1iYW5uZXIgLmN0YS1ib3hlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94IHtcbiAgd2lkdGg6IDUwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxLjM1cmVtIDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyOiA1cHggc29saWQgIzAwN0FGODtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3g6aG92ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMTE1JSk7XG59XG5cbi5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94OmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMHZ3IC0gMTI3MHB4KSAvIDIgKyAxcHgpO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTA0NztcbiAgYm9yZGVyLWNvbG9yOiAjZWVlMDQ3O1xufVxuXG4ucGFnZS1iYW5uZXIgLmN0YS1ib3hlcyAuY3RhLWJveDpmaXJzdC1vZi10eXBlIC5saW5rIHtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94LnNlY29uZCB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gMTI3MHB4KSAvIDIgKyAxcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3QUY4O1xufVxuXG4ucGFnZS1iYW5uZXIgLmN0YS1ib3hlcyAuY3RhLWJveC5zZWNvbmQgLmN0YS1ib3hfX2xpbmsge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3gudGhpcmQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMS4zNXJlbSAycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllOWU5O1xuICBib3JkZXItY29sb3I6ICNlOWU5ZTk7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4ucGFnZS1iYW5uZXIgLmN0YS1ib3hlcyAuY3RhLWJveC50aGlyZCAuY3RhLWJveF9fbGluayB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4ucGFnZS1iYW5uZXIgLmN0YS1ib3hlcyAuY3RhLWJveCAuY3RhLWJveF9fbGlua3MgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3ggLmN0YS1ib3hfX2xpbmtzIGE6aG92ZXIgLmN0YS1ib3hfX2xpbmsge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3ggLmN0YS1ib3hfX2xpbmtzIGE6aG92ZXIgLmN0YS1ib3hfX2xpbmsgdSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3ggLmxpbmsge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3ggLmN0YS1ib3hfX2xpbmtlZC10ZXh0IHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94IC5jdGEtYm94X19saW5rIHtcbiAgY29sb3I6ICMwMDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1hcmdpbjogMCAxcmVtO1xufVxuXG4ucGFnZS1iYW5uZXIgLmN0YS1ib3hlcyAuY3RhLWJveCAuY3RhLWJveF9fbGluayAuZmEtYW5nbGUtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3guZnVsbC13aWR0aCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogdW5zZXQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG4gIC5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94OmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAucGFnZS1iYW5uZXIgLmN0YS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMge1xuICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICB9XG4gIC5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWJhbm5lciAuYmFubmVyLWNpdHlzY2FwZS5saW5lLCAucGFnZS1iYW5uZXIgLmJhbm5lci1jaXR5c2NhcGUuc2lsaG91ZXR0ZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuICAucGFnZS1iYW5uZXIgLmJhbm5lci13cmFwcGVyIC5wYWdlLWhlYWRpbmcgaDMge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxuICAucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZSAuaW1hZ2UtaG9sZGVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAyLjVyZW07XG4gIH1cbiAgLnBhZ2UtYmFubmVyIC5jYXJvdXNlbCAuc2xpZGUgZmlnY2FwdGlvbiBwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAyLjVyZW07XG4gICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxuICAucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZSAuaW1hZ2UtaG9sZGVyX19jb250ZW50IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI1JTtcbiAgICBib3R0b206IDI1JTtcbiAgICBsZWZ0OiAxMnB4O1xuICB9XG4gIC5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAubmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjUlO1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIGJvdHRvbTogMjUlO1xuICB9XG4gIC5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXMsXG4gIC5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAubmV4dCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICB9XG4gIC5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94OmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmc6IDEuMzVyZW0gMC41cmVtO1xuICB9XG59XG5cbiNsZWFkZXJzaGlwIC5sZWFkZXJzaGlwLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNlOWU5ZTkgdXJsKFwiLi4vaW1nL3VpLWFzc2V0cy9yYWRvbi1jaGVtaWNhbC1zdHJ1Y3R1cmUtdGlsZS5zdmdcIikgcmVwZWF0IGNlbnRlci83MDBweCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogNi41cmVtO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4jbGVhZGVyc2hpcCAuZXhlY3V0aXZlLXN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyLCAjbGVhZGVyc2hpcCAuc3RhZmYtcmVwZWF0ZXJzIC5zdGFmZi1tZW1iZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMXJlbSAycmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzO1xufVxuXG4jbGVhZGVyc2hpcCAuZXhlY3V0aXZlLXN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyIC5waG90by1jb250YWluZXIsICNsZWFkZXJzaGlwIC5zdGFmZi1yZXBlYXRlcnMgLnN0YWZmLW1lbWJlciAucGhvdG8tY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzO1xufVxuXG4jbGVhZGVyc2hpcCAuZXhlY3V0aXZlLXN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyIC5zdGFmZi1waG90bywgI2xlYWRlcnNoaXAgLnN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyIC5zdGFmZi1waG90byB7XG4gIG1heC1oZWlnaHQ6IDQyMHB4O1xufVxuXG4jbGVhZGVyc2hpcCAuZXhlY3V0aXZlLXN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyIC5zdGFmZi1iaW8sICNsZWFkZXJzaGlwIC5zdGFmZi1yZXBlYXRlcnMgLnN0YWZmLW1lbWJlciAuc3RhZmYtYmlvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDJyZW07XG4gIHJpZ2h0OiAycmVtO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMXJlbSAycmVtIDFyZW0gMXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4gMC4ycztcbiAgei1pbmRleDogMTAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiA4MCU7XG59XG5cbiNsZWFkZXJzaGlwIC5leGVjdXRpdmUtc3RhZmYtcmVwZWF0ZXJzIC5zdGFmZi1tZW1iZXIgLnN0YWZmLW1ldGEgLm5hbWUsICNsZWFkZXJzaGlwIC5zdGFmZi1yZXBlYXRlcnMgLnN0YWZmLW1lbWJlciAuc3RhZmYtbWV0YSAubmFtZSB7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1yb3lhbC1ibHVlKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuI2xlYWRlcnNoaXAgLmV4ZWN1dGl2ZS1zdGFmZi1yZXBlYXRlcnMgLnN0YWZmLW1lbWJlciAuc3RhZmYtbWV0YTIsICNsZWFkZXJzaGlwIC5zdGFmZi1yZXBlYXRlcnMgLnN0YWZmLW1lbWJlciAuc3RhZmYtbWV0YTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbiNsZWFkZXJzaGlwIC5leGVjdXRpdmUtc3RhZmYtcmVwZWF0ZXJzIC5zdGFmZi1tZW1iZXIgLnN0YWZmLW1ldGEyIC5wb3NpdGlvbiwgI2xlYWRlcnNoaXAgLnN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyIC5zdGFmZi1tZXRhMiAucG9zaXRpb24ge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4jbGVhZGVyc2hpcCAuZXhlY3V0aXZlLXN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyIC5zdGFmZi1tZXRhMiAuc29jaWFsLWljb24sICNsZWFkZXJzaGlwIC5zdGFmZi1yZXBlYXRlcnMgLnN0YWZmLW1lbWJlciAuc3RhZmYtbWV0YTIgLnNvY2lhbC1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMnJlbTtcbiAgYm90dG9tOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3QUY4O1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHBhZGRpbmc6IDRweCA1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XG59XG5cbiNsZWFkZXJzaGlwIC5leGVjdXRpdmUtc3RhZmYtcmVwZWF0ZXJzIC5zdGFmZi1tZW1iZXIgLnN0YWZmLW1ldGEyIC5zb2NpYWwtaWNvbjpob3ZlciwgI2xlYWRlcnNoaXAgLnN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyIC5zdGFmZi1tZXRhMiAuc29jaWFsLWljb246aG92ZXIge1xuICBjb2xvcjogIzAwN0FGODtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwN0FGODtcbn1cblxuI2xlYWRlcnNoaXAgLmV4ZWN1dGl2ZS1zdGFmZi1yZXBlYXRlcnMgLnN0YWZmLW1lbWJlci5yb2xsb3Zlcjpob3ZlciwgI2xlYWRlcnNoaXAgLnN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyLnJvbGxvdmVyOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAzcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbiNsZWFkZXJzaGlwIC5leGVjdXRpdmUtc3RhZmYtcmVwZWF0ZXJzIC5zdGFmZi1tZW1iZXIucm9sbG92ZXI6aG92ZXIgLnBob3RvLWNvbnRhaW5lciwgI2xlYWRlcnNoaXAgLnN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyLnJvbGxvdmVyOmhvdmVyIC5waG90by1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgb3BhY2l0eTogMC4xO1xufVxuXG4jbGVhZGVyc2hpcCAuZXhlY3V0aXZlLXN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyLnJvbGxvdmVyOmhvdmVyIC5zdGFmZi1iaW8sICNsZWFkZXJzaGlwIC5zdGFmZi1yZXBlYXRlcnMgLnN0YWZmLW1lbWJlci5yb2xsb3Zlcjpob3ZlciAuc3RhZmYtYmlvIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuI2xlYWRlcnNoaXAgLmV4ZWN1dGl2ZS1zdGFmZi1yZXBlYXRlcnMgLm1vYmlsZS1iaW8sICNsZWFkZXJzaGlwIC5leGVjdXRpdmUtc3RhZmYtcmVwZWF0ZXJzIC5tb2JpbGUtc3RhZmYtYmlvLCAjbGVhZGVyc2hpcCAuc3RhZmYtcmVwZWF0ZXJzIC5tb2JpbGUtYmlvLCAjbGVhZGVyc2hpcCAuc3RhZmYtcmVwZWF0ZXJzIC5tb2JpbGUtc3RhZmYtYmlvIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2xlYWRlcnNoaXAgLmV4ZWN1dGl2ZS1zdGFmZi1yZXBlYXRlcnMge1xuICBwYWRkaW5nLXRvcDogNi41cmVtO1xufVxuXG4jbGVhZGVyc2hpcCAuc3RhZmYtcmVwZWF0ZXJzIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDMuNXJlbTtcbn1cblxuI2xlYWRlcnNoaXAgLnN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiB1bnNldDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAjbGVhZGVyc2hpcCAubGVhZGVyc2hpcC1jb250YWluZXIgLmV4ZWN1dGl2ZS1zdGFmZi1yZXBlYXRlcnMgLnN0YWZmLW1lbWJlciwgI2xlYWRlcnNoaXAgLmxlYWRlcnNoaXAtY29udGFpbmVyIC5zdGFmZi1yZXBlYXRlcnMgLnN0YWZmLW1lbWJlciB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNsZWFkZXJzaGlwIC5sZWFkZXJzaGlwLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIH1cbiAgI2xlYWRlcnNoaXAgLmxlYWRlcnNoaXAtY29udGFpbmVyIC5leGVjdXRpdmUtc3RhZmYtcmVwZWF0ZXJzIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgfVxuICAjbGVhZGVyc2hpcCAubGVhZGVyc2hpcC1jb250YWluZXIgLnN0YWZmLXJlcGVhdGVycyB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgI2xlYWRlcnNoaXAgLmxlYWRlcnNoaXAtY29udGFpbmVyIC5leGVjdXRpdmUtc3RhZmYtcmVwZWF0ZXJzIC5zdGFmZi1tZW1iZXIsICNsZWFkZXJzaGlwIC5sZWFkZXJzaGlwLWNvbnRhaW5lciAuc3RhZmYtcmVwZWF0ZXJzIC5zdGFmZi1tZW1iZXIge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICB9XG4gICNsZWFkZXJzaGlwIC5sZWFkZXJzaGlwLWNvbnRhaW5lciAuZXhlY3V0aXZlLXN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyIC5zdGFmZi1tZXRhMiAuc29jaWFsLWljb24sICNsZWFkZXJzaGlwIC5sZWFkZXJzaGlwLWNvbnRhaW5lciAuc3RhZmYtcmVwZWF0ZXJzIC5zdGFmZi1tZW1iZXIgLnN0YWZmLW1ldGEyIC5zb2NpYWwtaWNvbiB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgI2xlYWRlcnNoaXAgLmxlYWRlcnNoaXAtY29udGFpbmVyIC5leGVjdXRpdmUtc3RhZmYtcmVwZWF0ZXJzIC5zdGFmZi1tZW1iZXI6aG92ZXIgLnN0YWZmLWJpbywgI2xlYWRlcnNoaXAgLmxlYWRlcnNoaXAtY29udGFpbmVyIC5zdGFmZi1yZXBlYXRlcnMgLnN0YWZmLW1lbWJlcjpob3ZlciAuc3RhZmYtYmlvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICNsZWFkZXJzaGlwIC5sZWFkZXJzaGlwLWNvbnRhaW5lciAuZXhlY3V0aXZlLXN0YWZmLXJlcGVhdGVycyAuc3RhZmYtbWVtYmVyOmhvdmVyIC5waG90by1jb250YWluZXIsICNsZWFkZXJzaGlwIC5sZWFkZXJzaGlwLWNvbnRhaW5lciAuc3RhZmYtcmVwZWF0ZXJzIC5zdGFmZi1tZW1iZXI6aG92ZXIgLnBob3RvLWNvbnRhaW5lciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgfVxuICAjbGVhZGVyc2hpcCAubGVhZGVyc2hpcC1jb250YWluZXIgLmV4ZWN1dGl2ZS1zdGFmZi1yZXBlYXRlcnMgLm1vYmlsZS1zdGFmZi1iaW8sICNsZWFkZXJzaGlwIC5sZWFkZXJzaGlwLWNvbnRhaW5lciAuc3RhZmYtcmVwZWF0ZXJzIC5tb2JpbGUtc3RhZmYtYmlvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4ycztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgI2xlYWRlcnNoaXAgLmxlYWRlcnNoaXAtY29udGFpbmVyIC5leGVjdXRpdmUtc3RhZmYtcmVwZWF0ZXJzIC5tb2JpbGUtc3RhZmYtYmlvIC50b2dnbGUsICNsZWFkZXJzaGlwIC5sZWFkZXJzaGlwLWNvbnRhaW5lciAuc3RhZmYtcmVwZWF0ZXJzIC5tb2JpbGUtc3RhZmYtYmlvIC50b2dnbGUge1xuICAgIGNvbG9yOiAjZjAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxuICAjbGVhZGVyc2hpcCAubGVhZGVyc2hpcC1jb250YWluZXIgLmV4ZWN1dGl2ZS1zdGFmZi1yZXBlYXRlcnMgLm1vYmlsZS1iaW8sICNsZWFkZXJzaGlwIC5sZWFkZXJzaGlwLWNvbnRhaW5lciAuc3RhZmYtcmVwZWF0ZXJzIC5tb2JpbGUtYmlvIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMCAxcmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuI3BhZ2UgLnVuaXZlcnNpdHktc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDJyZW0gMCAxMHJlbTtcbiAgYmFja2dyb3VuZDogI2U5ZTllOSB1cmwoXCIuLi9pbWcvdWktYXNzZXRzL3JhZG9uLWNoZW1pY2FsLXN0cnVjdHVyZS10aWxlLnN2Z1wiKSByZXBlYXQgY2VudGVyLzcwMHB4IGF1dG87XG59XG5cbiNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gbGkge1xuICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jcGFnZSAudW5pdmVyc2l0eS1zZWN0aW9uIGxpIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjRhYWE1O1xufVxuXG4jcGFnZSAudW5pdmVyc2l0eS1zZWN0aW9uIGxpOjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICNlOTJhMGU7XG59XG5cbiNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gaDMsICNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gaDQsICNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gYSB7XG4gIGNvbG9yOiAjZTkyYTBlO1xufVxuXG4jcGFnZSAudW5pdmVyc2l0eS1zZWN0aW9uIGE6aG92ZXIsICNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gYTpmb2N1cyB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcyg1MCUpO1xufVxuXG4jcGFnZSAudW5pdmVyc2l0eS1zZWN0aW9uIGEuYmxhY2stYnV0dG9uLW91dGxpbmUge1xuICBjb2xvcjogIzFhMWExYTtcbn1cblxuI3BhZ2UgLnVuaXZlcnNpdHktc2VjdGlvbiBhLmJsYWNrLWJ1dHRvbi1vdXRsaW5lOmhvdmVyLCAjcGFnZSAudW5pdmVyc2l0eS1zZWN0aW9uIGEuYmxhY2stYnV0dG9uLW91dGxpbmU6Zm9jdXMge1xuICBmaWx0ZXI6IG5vbmU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlOTJhMGU7XG4gIGJhY2tncm91bmQ6ICNlOTJhMGU7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4jcGFnZSAudW5pdmVyc2l0eS1zZWN0aW9uIC5ibG9jay1jb250ZW50IHtcbiAgbWFyZ2luOiA2cmVtIDAgLTJyZW07XG59XG5cbiNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gLmJsb2NrLWNvbnRlbnQgaDQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4jcGFnZSAudW5pdmVyc2l0eS1zZWN0aW9uIC51bml2ZXJzaXR5LWJveCB7XG4gIGZsZXg6IDAgMCA4My4zJTtcbiAgbWF4LXdpZHRoOiA4My4zJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMnJlbTtcbiAgYm94LXNoYWRvdzogMCAzcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbiNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gLnVuaXZlcnNpdHktYm94LnZpZGVvLCAjcGFnZSAudW5pdmVyc2l0eS1zZWN0aW9uIC51bml2ZXJzaXR5LWJveC5pbWFnZSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gLnVuaXZlcnNpdHktYm94IC5ibG9jay10ZXh0LWNvbnRlbnQge1xuICBtYXJnaW46IDJyZW0gMTQuNzc3JTtcbiAgcGFkZGluZy1yaWdodDogMS43NXJlbTtcbn1cblxuI3BhZ2UgLnVuaXZlcnNpdHktc2VjdGlvbiAudW5pdmVyc2l0eS1ib3ggLmJsb2NrLXRleHQtY29udGVudCBoMyB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbiNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gLnVuaXZlcnNpdHktYm94IC5ibG9jay10ZXh0LWNvbnRlbnQgcCB7XG4gIG1hcmdpbi10b3A6IDIuMXJlbTtcbn1cblxuI3BhZ2UgLnVuaXZlcnNpdHktc2VjdGlvbiAudW5pdmVyc2l0eS1ib3ggLmltYWdlLXRleHQtYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbiNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gLnVuaXZlcnNpdHktYm94IC5pbWFnZS10ZXh0LWJsb2NrIHAge1xuICBtYXJnaW4tdG9wOiAwLjRyZW07XG59XG5cbiNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gLnVuaXZlcnNpdHktYm94IC52aWRlby1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gLnVuaXZlcnNpdHktYm94IC52aWRlby1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG59XG5cbiNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gLnVuaXZlcnNpdHktYm94IC52aWRlby1jb250YWluZXIgPiA6Zmlyc3QtY2hpbGQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cblxuI3BhZ2UgLnVuaXZlcnNpdHktc2VjdGlvbiAudW5pdmVyc2l0eS1ib3ggLnZpZGVvLWNvbnRhaW5lciA+IDpmaXJzdC1jaGlsZCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuI3BhZ2UgLnVuaXZlcnNpdHktc2VjdGlvbiAudW9mYy1saW5rIHtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMTUuMjUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuI3BhZ2UgLnVuaXZlcnNpdHktc2VjdGlvbiAudW9mYy1saW5rIGltZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi10b3A6IDIuM3JlbTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgI3BhZ2UgLnVuaXZlcnNpdHktc2VjdGlvbiAudW5pdmVyc2l0eS1ib3gge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAjcGFnZSAudW5pdmVyc2l0eS1zZWN0aW9uIGEudW9mYy1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAjcGFnZSAudW5pdmVyc2l0eS1zZWN0aW9uIGxpOjpiZWZvcmUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgI3BhZ2UgLnVuaXZlcnNpdHktc2VjdGlvbiAudW9mYy1saW5rIHtcbiAgICBsZWZ0OiB1bnNldDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjcGFnZSAudW5pdmVyc2l0eS1zZWN0aW9uIC51b2ZjLWxpbmsgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gdWw6bm90KC5wYWdpbmF0aW9uKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gICNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gdWw6bm90KC5wYWdpbmF0aW9uKSBsaTo6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMS4ycmVtO1xuICB9XG4gICNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gLmJsb2NrLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMCAwIC0ycmVtO1xuICB9XG4gICNwYWdlIC51bml2ZXJzaXR5LXNlY3Rpb24gLnVuaXZlcnNpdHktYm94IC5ibG9jay10ZXh0LWNvbnRlbnQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgI3BhZ2UgLnVuaXZlcnNpdHktc2VjdGlvbiAudW5pdmVyc2l0eS1ib3gge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTtcbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gQEBAIEdsb2JhbCBFeHRlbnNpb25zXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBHZW5lcmljIFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgRGlzcGxheVxuLS0tLS0tLS0tLSAqL1xuXG4lYmxvY2sge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbiVpbmxpbmUge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG59XG4laW5saW5lLWJsb2NrIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuJXRhYmxlIHtcblx0ZGlzcGxheTogdGFibGU7XG59XG4ldGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG59XG4ldGFibGUtY2VsbCB7XG5cdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG4lbm9uZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4lcHNldWRvIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFBvc2l0aW9uaW5nXG4tLS0tLS0tLS0tICovXG5cbiVhYnNvbHV0ZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbiVyZWxhdGl2ZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiVmaXhlZCB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcbn1cbiVzdGF0aWMge1xuXHRwb3NpdGlvbjogc3RhdGljO1xufVxuJXN0cmV0Y2gge1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIExheW91dFxuLS0tLS0tLS0tLSAqL1xuXG4lZnVsbC13aWR0aCB7XG5cdHdpZHRoOiAxMDAlO1xufVxuJWZ1bGwtaGVpZ2h0IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuJWFsaWduLWxlZnQge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuJWFsaWduLWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiVhbGlnbi1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuJWp1c3RpZnkge1xuXHR0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuJXYtYWxpZ24tdG9wIHtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcbn1cbiV2LWFsaWduLW1pZGRsZSB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4ldi1hbGlnbi1ib3R0b20ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuJXYtYWxpZ24tYmFzZWxpbmUge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4lbm8tbWFyZ2luIHtcblx0bWFyZ2luOiAwO1xufVxuJW1hcmdpbi1hdXRvIHtcblx0bWFyZ2luOiBhdXRvO1xufVxuJW5vLXBhZGRpbmcge1xuXHRwYWRkaW5nOiAwO1xufVxuJWZsb2F0LWxlZnQge1xuXHRmbG9hdDogbGVmdDtcbn1cbiVmbG9hdC1yaWdodCB7XG5cdGZsb2F0OiByaWdodDtcbn1cbiVmbG9hdC1ub25lIHtcbiAgICBmbG9hdDogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3JzXG4tLS0tLS0tLS0tICovXG5cbiViZy13aGl0ZSB7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG59XG4lYmctYmxhY2sge1xuXHRiYWNrZ3JvdW5kOiAjMDAwO1xufVxuJWNvbG9yLXdoaXRlIHtcblx0Y29sb3I6ICNmZmY7XG59XG4lY29sb3ItYmxhY2sge1xuXHRjb2xvcjogIzAwMDtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgVHlwb2dyYXBoeVxuLS0tLS0tLS0tLSAqL1xuXG4ldXBwZXJjYXNlIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiVsb3dlcmNhc2Uge1xuXHR0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuJWNhcGl0YWxpemUge1xuXHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cbiV1bmRlcmxpbmUge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiVuby11bmRlcmxpbmUge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4lbm8tbGlzdC1zdHlsZSB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ld2hpdGUtc3BhY2Utbm9ybWFsIHtcblx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbiVub3dyYXAge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuJWVsbGlwc2lzIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIE92ZXJmbG93XG4tLS0tLS0tLS0tICovXG5cbiVvdmVyZmxvdy1hdXRvIHtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG4lb3ZlcmZsb3ctaGlkZGVuIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiVvdmVyZmxvdy12aXNpYmxlIHtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG4lb3ZlcmZsb3ctc2Nyb2xsIHtcblx0b3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgTWlzYyBWaXN1YWxzXG4tLS0tLS0tLS0tICovXG5cbiVwb2ludGVyIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuJXRyYW5zaXRpb24ge1xuXHR0cmFuc2l0aW9uOiAwLjE1cyBhbGwgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgQ29tcG9uZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgUGFnaW5hdGlvblxuLS0tLS0tLS0tLSAqL1xuXG4lcGFnaW5hdGlvbiB7XG5cdC5wYWdlLWxpbmsge1xuXHRcdEBpZiB2YXJpYWJsZS1leGlzdHMoYm9keS1jb2xvcil7XG5cdFx0XHRjb2xvcjogJGJvZHktY29sb3I7XG5cdFx0fVxuXHR9XG5cdC5kaXNhYmxlZCAucGFnZS1saW5rIHtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgU2xpZGVyc1xuLS0tLS0tLS0tLSAqL1xuXG4lc2xpZGVyIHtcbiAgICBAZXh0ZW5kICVyZWxhdGl2ZSAhb3B0aW9uYWw7XG5cdEBleHRlbmQgLm5vLWF4aW9tYXRpYy1tYXJnaW4gIW9wdGlvbmFsO1xuXG4gICAgLnNsaWRlLXBhZ2luYXRpb24ge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjVlbTtcblx0XHRcdEBpZiB2YXJpYWJsZS1leGlzdHMoZm9udC1zaXplLWJhc2Upe1xuXHRcdFx0XHRmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcblx0XHRcdH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMWVtKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgW2RhdGEtc2xpZGVyLWNvbXBvbmVudH49XCJjb250cm9sc1wiXSB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBAZXh0ZW5kICVwb2ludGVyICFvcHRpb25hbDtcbiAgICAgICAgfVxuICAgIH1cblx0LnNsaWRlLW92ZXJmbG93IHtcblx0XHRAZXh0ZW5kICVvdmVyZmxvdy1oaWRkZW4gIW9wdGlvbmFsO1xuXHR9XG5cdC5zbGlkZSB7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdH1cbiAgICAmLnRyYW5zaXRpb24tZmFkZSB7XG4gICAgICAgIEBleHRlbmQgJXJlbGF0aXZlICFvcHRpb25hbDtcblxuICAgICAgICAuc2xpZGUtaG9sZGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgJWZ1bGwtd2lkdGggIW9wdGlvbmFsO1xuXHRcdFx0aGVpZ2h0OiAyNWVtO1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVsYXRpdmUgIW9wdGlvbmFsO1xuICAgICAgICB9XG5cdFx0LnNsaWRlIHtcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcblx0XHR9XG4gICAgfVxuICAgICYudHJhbnNpdGlvbi1zbGlkZSB7XG4gICAgICAgIC5zbGlkZS1ob2xkZXIge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVsYXRpdmUgIW9wdGlvbmFsO1xuICAgICAgICAgICAgQGV4dGVuZCAuZC1mbGV4ICFvcHRpb25hbDtcblx0XHRcdEBleHRlbmQgLmFsaWduLWl0ZW1zLWNlbnRlciAhb3B0aW9uYWw7XG5cdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgICAgICAuc2xpZGUge1xuXHRcdFx0ZmxleDogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgVGV4dCBGaWVsZHNcbi0tLS0tLS0tLS0gKi9cblxuJWlucHV0IHtcblx0YmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMC4zNWVtO1xuXG4gICAgQGlmIHZhcmlhYmxlLWV4aXN0cyh0aGVtZS1jb2xvcnMpIGFuZCBtYXAtaGFzLWtleSgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KXtcblx0ICAgICY6Zm9jdXMge1xuXHQgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KTtcblx0ICAgIH1cblx0fVxuXHRAaWYgdmFyaWFibGUtZXhpc3RzKHRoZW1lLWNvbG9ycykgYW5kIG1hcC1oYXMta2V5KCR0aGVtZS1jb2xvcnMsIGRhbmdlcil7XG5cdCAgICAmLmVycm9yIHtcblx0ICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgZGFuZ2VyKTtcblx0ICAgIH1cblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBEcm9wZG93bnNcbi0tLS0tLS0tLS0gKi9cblxuJWN1c3RvbS1kcm9wZG93biB7XG4gICAgQGV4dGVuZCAlcmVsYXRpdmUgIW9wdGlvbmFsO1xuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgQGV4dGVuZCAlcG9pbnRlciAhb3B0aW9uYWw7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICYgKyAuZmFrZS1kcm9wZG93biB7XG5cdFx0XHRcdEBpZiB2YXJpYWJsZS1leGlzdHModGhlbWUtY29sb3JzKSBhbmQgbWFwLWhhcy1rZXkoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSl7XG5cdCAgICAgICAgICAgICAgICAuYXJyb3ctaG9sZGVyIHtcblx0ICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4obWFwLWdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KSwgMTAlKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5mYWtlLWRyb3Bkb3duIHtcbiAgICAgICAgW2RhdGEtdmFsdWVdIHtcbiAgICAgICAgICAgIEBleHRlbmQgJWlucHV0O1xuICAgICAgICB9XG4gICAgICAgIC5hcnJvdy1ob2xkZXIge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4xNXMgYmFja2dyb3VuZCBlYXNlLWluLW91dDtcblx0XHRcdEBpZiB2YXJpYWJsZS1leGlzdHModGhlbWUtY29sb3JzKSBhbmQgbWFwLWhhcy1rZXkoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSl7XG5cdFx0XHRcdGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSk7XG5cdFx0XHR9XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIG51bGwgbnVsbCk7XG4gICAgICAgICAgICBAZXh0ZW5kICVhbGlnbi1jZW50ZXIgIW9wdGlvbmFsO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgyLjA1ZW0pO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBAZXh0ZW5kICVpbmxpbmUtYmxvY2sgIW9wdGlvbmFsO1xuXG5cdFx0XHRAaWYgdmFyaWFibGUtZXhpc3RzKHRoZW1lLWNvbG9ycykgYW5kIG1hcC1oYXMta2V5KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpe1xuXHQgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcblx0ICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbihtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpLCAxMCUpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuICAgICAgICAgICAgLmFycm93OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIENoZWNrYm94ZXNcbi0tLS0tLS0tLS0gKi9cblxuJWN1c3RvbS1jaGVja2JveCB7XG5cdEBpZiB2YXJpYWJsZS1leGlzdHMoZ3JpZC1wYWRkaW5nKXtcblx0XHRtYXJnaW46ICRncmlkLXBhZGRpbmcgMDtcblx0fVxuXHRAZXh0ZW5kIC5kLWZsZXggIW9wdGlvbmFsO1xuXHRAZXh0ZW5kIC5hbGlnbi1pdGVtcy1jZW50ZXIgIW9wdGlvbmFsO1xuXG5cdGxhYmVsIHtcblx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0cGFkZGluZy1sZWZ0OiAwLjVyZW07XG5cdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdH1cbiAgICBsaSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXHRpbnB1dCB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdEBleHRlbmQgJXJlbGF0aXZlICFvcHRpb25hbDtcblx0XHR6LWluZGV4OiA1O1xuXHRcdEBleHRlbmQgJXBvaW50ZXIgIW9wdGlvbmFsO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cblx0XHQmW2Rpc2FibGVkXSB+IC5pbnB1dC1iZyB7XG5cdFx0XHRvcGFjaXR5OiAwLjM1O1xuXHRcdH1cblx0fVxuICAgIC5pbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMS4yNWVtKTtcblx0XHRtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuXHRcdEBleHRlbmQgJXJlbGF0aXZlICFvcHRpb25hbDtcblx0XHRAZXh0ZW5kICVwb2ludGVyICFvcHRpb25hbDtcblx0fVxuICAgIC5pbnB1dC1iZyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgIEBleHRlbmQgJWFic29sdXRlICFvcHRpb25hbDtcbiAgICAgICAgQGV4dGVuZCAlc3RyZXRjaCAhb3B0aW9uYWw7XG4gICAgfVxuICAgIC5zZWxlY3RlZC1pbmRpY2F0b3Ige1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCA1MCUpO1xuICAgICAgICBAZXh0ZW5kICVhbGlnbi1jZW50ZXIgIW9wdGlvbmFsO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICAgICAgICB3aWR0aDogMS4zNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1cmVtO1xuICAgICAgICAgICAgQGV4dGVuZCAlYWxpZ24tY2VudGVyICFvcHRpb25hbDtcbiAgICAgICAgICAgIEBleHRlbmQgJWlubGluZS1ibG9jayAhb3B0aW9uYWw7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zZWxlY3RlZCB7XG4gICAgICAgIC5zZWxlY3RlZC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgQGlmIHZhcmlhYmxlLWV4aXN0cyhmb250LXdlaWdodHMpIGFuZCBtYXAtaGFzLWtleSgkZm9udC13ZWlnaHRzLCByZWd1bGFyKXtcblx0ICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkZm9udC13ZWlnaHRzLCByZWd1bGFyKTtcblx0ICAgIH1cbiAgICB9XG5cdCYuZm9jdXMgbGFiZWwsIC5mb2N1cyArIGxhYmVsIHtcblx0XHRAZXh0ZW5kICV1bmRlcmxpbmUgIW9wdGlvbmFsO1xuXHR9XG5cdEBpZiB2YXJpYWJsZS1leGlzdHModGhlbWUtY29sb3JzKSBhbmQgbWFwLWhhcy1rZXkoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSl7XG5cdCAgICAuZm9jdXMgKyBsaSBpbnB1dCB7XG5cdCAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpO1xuXHQgICAgfVxuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFJhZGlvIEJ1dHRvbnNcbi0tLS0tLS0tLS0gKi9cblxuJWN1c3RvbS1yYWRpbyB7XG5cdEBleHRlbmQgJWN1c3RvbS1jaGVja2JveDtcblxuXHQuaW5wdXQtYmcge1xuXHRcdGJvcmRlci1yYWRpdXM6IDIwcmVtO1xuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIERpYWxvZ3Ncbi0tLS0tLS0tLS0gKi9cblxuJWRpYWxvZy1ob2xkZXIge1xuXHRAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCAwIDAgMCk7XG5cdG92ZXJmbG93OiBzY3JvbGw7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zKTtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7XG5cblx0LnNjcm9sbCB7XG5cdFx0QGV4dGVuZCAlZnVsbC13aWR0aCAhb3B0aW9uYWw7XG5cdFx0QGV4dGVuZCAlZnVsbC1oZWlnaHQgIW9wdGlvbmFsO1xuXHRcdEBleHRlbmQgJXRhYmxlICFvcHRpb25hbDtcblx0fVxuXHQuY2VudGVyIHtcblx0XHRAZXh0ZW5kICV0YWJsZS1jZWxsICFvcHRpb25hbDtcblx0XHRAZXh0ZW5kICV2LWFsaWduLW1pZGRsZSAhb3B0aW9uYWw7XG4gICAgICAgIEBleHRlbmQgJXJlbGF0aXZlICFvcHRpb25hbDtcblx0fVxuXHQuZGlhbG9nIHtcbiAgICAgICAgQGV4dGVuZCAlYmctd2hpdGUgIW9wdGlvbmFsO1xuXHRcdEBleHRlbmQgJWZ1bGwtd2lkdGggIW9wdGlvbmFsO1xuXHRcdEBpZiB2YXJpYWJsZS1leGlzdHMoZ3JpZC1ndXR0ZXItd2lkdGgpe1xuXHRcdFx0bWFyZ2luOiAkZ3JpZC1ndXR0ZXItd2lkdGggYXV0bztcblx0XHR9XG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XG5cdFx0d2lkdGg6IDkwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMWVtIHJnYmEoMCwwLDAsMC4zNSk7XG5cdFx0QGlmIHZhcmlhYmxlLWV4aXN0cyhncmlkLXBhZGRpbmcpe1xuXHRcdFx0cGFkZGluZzogJGdyaWQtcGFkZGluZyAqIDEuNTtcblx0XHR9XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuXG5cdFx0QGlmIHZhcmlhYmxlLWV4aXN0cyhncmlkLWJyZWFrcG9pbnRzKXtcblx0XHRcdCYuZGlhbG9nLWxnIHtcblx0XHRcdFx0bWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZyk7XG5cdFx0XHR9XG5cdFx0XHQmLmRpYWxvZy1tZCB7XG5cdFx0XHRcdG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpO1xuXHRcdFx0fVxuXHRcdFx0Ji5kaWFsb2ctc20ge1xuXHRcdFx0XHRtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIHNtKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmRpYWxvZy1oZWFkaW5nIHtcblx0XHRcdEBpZiB2YXJpYWJsZS1leGlzdHMoZ3JpZC1wYWRkaW5nKSBhbmQgdmFyaWFibGUtZXhpc3RzKGdyaWQtZ3V0dGVyLXdpZHRoKXtcblx0XHRcdFx0cGFkZGluZzogKCRncmlkLXBhZGRpbmcgKiAxLjUpICRncmlkLWd1dHRlci13aWR0aDtcblx0XHRcdH1cblxuICAgICAgICAgICAgaDQge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyZW07XG5cdFx0XHRcdG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblx0XHR9XG5cdFx0LmJ1dHRvbi1ncm91cCB7XG5cdFx0XHRAaWYgdmFyaWFibGUtZXhpc3RzKGdyaWQtcGFkZGluZyl7XG5cdFx0XHRcdG1hcmdpbi10b3A6ICRncmlkLXBhZGRpbmc7XG5cdFx0XHR9XG5cblx0XHRcdC5idG4ge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuZGlhbG9nLWVycm9yIHtcblx0XHRcdHdpZHRoOiA2MCU7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXHQmOm5vdCguY2xvc2luZykgfiAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBUb29sdGlwc1xuLS0tLS0tLS0tLSAqL1xuXG4ldG9vbHRpcHN0ZXItYmFzZSB7XG5cdC50b29sdGlwc3Rlci1ib3gge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwwLDAsMC4yNSk7XG5cdFx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdHBhZGRpbmc6IDhweCAxMHB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1heC13aWR0aDogMjc1cHg7XG5cbiAgICAgICAgLnRvb2x0aXBzdGVyLWNvbnRlbnQge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29sb3Itd2hpdGUgIW9wdGlvbmFsO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXHR9XG4gICAgLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciB7XG4gICAgXHRkaXNwbGF5OiBub25lO1xuICAgIH1cblx0Ji5kZWZhdWx0IHtcbiAgICAgICAgLnRvb2x0aXBzdGVyLWJveCB7XG4gICAgICAgIFx0QGlmIHZhcmlhYmxlLWV4aXN0cyhib2R5LWNvbG9yKXtcblx0ICAgICAgICAgICAgYmFja2dyb3VuZDogJGJvZHktY29sb3I7XG5cdCAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50b29sdGlwc3Rlci1hcnJvdy1iYWNrZ3JvdW5kIHtcbiAgICAgICAgXHRAaWYgdmFyaWFibGUtZXhpc3RzKGJvZHktY29sb3Ipe1xuXHQgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9keS1jb2xvcjtcblx0ICAgICAgICB9XG4gICAgICAgIH1cblx0fVxuICAgIHVsLnRvb2x0aXAtbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgUHJvamVjdCBTcGVjaWZpYyBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS1cbiBAIE9wdGlvbnNcbi0tLS0tLS0tLS0gKi9cblxuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgIGZhbHNlO1xuJGVuYWJsZS1zaGFkb3dzOlx0XHRcdGZhbHNlO1xuJGVuYWJsZS1yZXNwb25zaXZlLXRleHQ6XHR0cnVlO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvcnNcbi0tLS0tLS0tLS0gKi9cblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgIzAwN0FGODtcbiRicmFuZC1zZWNvbmRhcnk6ICAgICAgICNlZWUwNDc7XG4kYnJhbmQtdGVydGlhcnk6ICAgICAgICAjZTkyYTBlO1xuXG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoJHRoZW1lLWNvbG9ycywgKFxuICAgIHByaW1hcnk6ICRicmFuZC1wcmltYXJ5LFxuICAgIHNlY29uZGFyeTogJGJyYW5kLXNlY29uZGFyeSxcbiAgICB0ZXJ0aWFyeTogJGJyYW5kLXRlcnRpYXJ5LFxuICAgIGJsdWU6ICRicmFuZC1wcmltYXJ5LFxuICAgIHllbGxvdzogJGJyYW5kLXNlY29uZGFyeSxcbiAgICByZWQ6ICRicmFuZC10ZXJ0aWFyeSxcbiAgICBicmFuZC1saWdodDogI2U5ZTllOSxcbiAgICBicmFuZC1kYXJrOiAjMWExYTFhLFxuICAgIGxpZ2h0OiAjZTllOWU5LFxuICAgIGRhcms6ICMxYTFhMWEsXG4gICAgc3VjY2VzczogIzY2YjEzMixcbiAgICBpbmZvOiAkYnJhbmQtcHJpbWFyeSxcbiAgICB3YXJuaW5nOiAkYnJhbmQtc2Vjb25kYXJ5LFxuICAgIGRhbmdlcjogJGJyYW5kLXRlcnRpYXJ5XG4pKTtcblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgI2ZmZjtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICMxYTFhMWE7XG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpO1xuXG4kbGluZS1jb2xvcjogXHRcdFx0I2RkZDtcblxuLyogLS0tLS0tLS0tLVxuIEAgTGF5b3V0XG4tLS0tLS0tLS0tICovXG5cbiRncmlkLWd1dHRlci13aWR0aDogXHQgMXJlbTtcbiRncmlkLXBhZGRpbmc6XHRcdFx0ICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG5cbiR2ZXJ0aWNhbC1tYXJnaW4tYmFzZTpcdCAxLjVlbTtcblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICB4czogMCxcbiAgICBzbTogNTc2cHgsXG4gICAgbWQ6IDc2OXB4LFxuICAgIGxnOiA5OTJweCxcbiAgICB4bDogMTI4MHB4XG4pO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tICovXG5cbiRmb250LXNpemVzOiAoXG4gICAgcm9vdDogMTZweCxcbiAgICBoMTogMzFweCxcbiAgICBoMjogNTRweCxcbiAgICBoMzogMzJweCxcbiAgICBoNDogMjNweCxcbiAgICBoNTogMjBweCxcbiAgICBoNjogMThweCxcbiAgICBsZWFkOiAyNXB4LFxuICAgIGJsb2NrcXVvdGU6IDE4cHhcbik7XG5cbiRmb250LXNpemUtYmFzZTogMXJlbTtcblxuLy8kZW5hYmxlLWFudGlhbGlhc2luZzogZmFsc2U7XG5cbiRsZWFkLWZvbnQtc2l6ZTogcmVtcyhtYXAtZ2V0KCRmb250LXNpemVzLCBsZWFkKSk7XG4kYmxvY2txdW90ZS1mb250LXNpemU6IHJlbXMobWFwLWdldCgkZm9udC1zaXplcywgYmxvY2txdW90ZSkpO1xuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogYXpvLXNhbnMtd2ViLCBcIkF2ZW5pclwiLCBcIlR3IENlbiBNVFwiLCBcIkhlbHZldGljYVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktYmFzZTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG5cbiRmb250LXdlaWdodHM6IChcbiAgICBib2xkOiA3MDAsXG4gICAgbWVkaXVtOiA1MDAsXG4gICAgcmVndWxhcjogNDAwXG4pO1xuXG4kZm9udC13ZWlnaHQtYmFzZTogbWFwLWdldCgkZm9udC13ZWlnaHRzLCByZWd1bGFyKTtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogbWFwLWdldCgkZm9udC13ZWlnaHRzLCBib2xkKTtcbiRsZWFkLWZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRmb250LXdlaWdodHMsIG1lZGl1bSk7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAxLjY1O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjI1O1xuXG4kbGluay1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4kcmVzcG9uc2l2ZS10ZXh0OiAoXG4gICAgbW9iaWxlLW1pbi1zaXplOiAxMnB4LFxuICAgIG1vYmlsZS1tYXgtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplcywgcm9vdCksXG4gICAgZGVza3RvcC1taW4tc2l6ZTogMTJweCxcbiAgICBkZXNrdG9wLW1heC1zaXplOiBtYXAtZ2V0KCRmb250LXNpemVzLCByb290KSxcbiAgICBtaW4tc2NyZWVuLXdpZHRoOiAzMjBweCxcbiAgICBtb2JpbGUtc2NyZWVuLXdpZHRoOiA3NjhweCxcbiAgICBtYXgtc2NyZWVuLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCB4bClcbik7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIE1pc2Ncbi0tLS0tLS0tLS0gKi9cblxuJGhyLWJvcmRlci1jb2xvcjogJGxpbmUtY29sb3I7XG4kaHItYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiRib3JkZXItcmFkaXVzOiAwO1xuJGJvcmRlci1yYWRpdXMtbGc6ICRib3JkZXItcmFkaXVzICogMS41O1xuJGJvcmRlci1yYWRpdXMtc206ICRib3JkZXItcmFkaXVzIC8gMS41O1xuXG4kY29udGFpbmVyLXdpZHRoOiAxMzQ0cHg7XG4iLCIjbmV3cyB7XG4gICAgbWFyZ2luOiA2Ljc1cmVtIDA7XG5cbiAgICAubm8tcmVzdWx0cyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDRyZW0gMCAycmVtO1xuXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxNTAsIDE1MCwgMTUwLCAwLjI1KTtcbiAgICAgICAgfVxuICAgICAgICAubm8tcmVzdWx0cy10ZXh0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cmVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhcmQge1xuICAgICAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMC41cmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBhZ2luYXRpb24tYXJlYSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxufVxuXG4vLyBNb2JpbGUgU3R5bGVzXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIGxnKSkge1xuICAgICNuZXdzIHtcbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgICAgcGFkZGluZzogMS43NXJlbTtcblxuICAgICAgICAgICAgLmNhcmQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jYXJkIC5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSBhbmQgKG1pbi13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21pbicsIHNtKSkge1xuICAgICNuZXdzIHtcbiAgICAgICAgLmNhcmQtY29udGVudCwgLmNhcmQtaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICAubmV3cy1wb3N0aW5nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAjbmV3cyB7XG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAgIC5jYXJkLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBzbSkpIHtcbiAgICAjbmV3cyB7XG4gICAgICAgIG1hcmdpbjogNHJlbSAwO1xuXG4gICAgICAgIGRpdi5jYXJkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG5cbiAgICAgICAgICAgIC5jYXJkLWltYWdlIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubC1wZW9wbGUtZ3JpZCB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgcGFkZGluZzogM3JlbSAwIDYuNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgJiArICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuLmwtcGVvcGxlLWdyaWQtLWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLWdldChibHVlKTtcblxuICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxufVxuLmwtcGVvcGxlLWdyaWQtLWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLWdldChsaWdodCk7XG59XG4ubC1wZW9wbGUtZ3JpZC0tbW9sZWN1bGVzIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1nZXQobGlnaHQpIHVybCgnLi4vaW1nL3VpLWFzc2V0cy9yYWRvbi1jaGVtaWNhbC1zdHJ1Y3R1cmUtdGlsZS5zdmcnKSByZXBlYXQgY2VudGVyLzcwMHB4IGF1dG87XG59XG4ubC1wZW9wbGUtZ3JpZC0tcmFkaWF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1nZXQobGlnaHQpIHVybCgnLi4vaW1nL3VpLWFzc2V0cy9udWNsZWFyLWJhY2tncm91bmQtdGlsZS5zdmcnKSByZXBlYXQgY2VudGVyLzcwMHB4IGF1dG87XG59XG4ubC1wZW9wbGUtZ3JpZF9fc3RhZmYubC1wZW9wbGUtZ3JpZF9fc3RhZmYge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkY29udGFpbmVyLXdpZHRoKSB7XG4gICAgLmxheW91dC1ibG9jay0tcGVvcGxlLWdyaWQge1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygoKCN7JGNvbnRhaW5lci13aWR0aH0gLSAxMDAlIC0gMy4yNXJlbSkgKyAoKDEwMHZ3IC0gI3skY29udGFpbmVyLXdpZHRofSkgLyAyKSArIDEuNzVyZW0pICogLTEpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoKCgxMDB2dyAtICN7JGNvbnRhaW5lci13aWR0aH0pIC8gMiArIDJyZW0pICogLTEpO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkY29udGFpbmVyLXdpZHRoKSBhbmQgKG1pbi13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21pbicsIGxnKSkge1xuICAgIC5sYXlvdXQtYmxvY2stLXBlb3BsZS1ncmlkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoKDEwMHZ3IC0gMTAwJSAtIDJyZW0pICogLTEpO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbGcpKSB7XG4gICAgLmxheW91dC1ibG9jay0tcGVvcGxlLWdyaWQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIuNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAwLjc1cmVtKTtcbiAgICB9XG59XG4iLCIuYy1hY2NvcmRpb25zIHtcbiAgICAtLWFjY29yZGlvbi10b2dnbGUtYmctY29sb3I6IHZhcigtLWJyYW5kLWdyZXkpO1xuICAgIC0tYWNjb3JkaW9uLXRvZ2dsZS1pY29uLWJnLWNvbG9yLWFjdGl2ZTogI2ZmZjtcbiAgICAtLWFjY29yZGlvbi10b2dnbGUtaWNvbi1saW5lLWNvbG9yLWFjdGl2ZTogdmFyKC0tYnJhbmQtY2hhcmNvYWwpO1xuICAgIHBhZGRpbmc6IDA7XG59XG4uYy1hY2NvcmRpb25zX19zZWN0aW9uLWhlYWRpbmcgKyAuYy1hY2NvcmRpb25zX19zZWN0aW9uLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG4uYy1hY2NvcmRpb25zX19zZWN0aW9uLWhlYWRpbmcgKyAuYy1hY2NvcmRpb25zX19saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAxLjc1cmVtO1xufVxuLmMtYWNjb3JkaW9uc19fc2VjdGlvbi1jb250ZW50ICsgLmMtYWNjb3JkaW9uc19fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xufVxuLmMtYWNjb3JkaW9uIHtcbiAgICAtLXgtcGFkZGluZzogMS44NXJlbTtcbiAgICAtLXktcGFkZGluZzogMS41cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG59XG4uaGFzLW9wZW4tYWNjb3JkaW9uLmMtYWNjb3JkaW9uIC5jLWFjY29yZGlvbl9fdG9nZ2xlLWJ1dHRvbiB7XG4gICAgLS10b2dnbGUtYmc6IHZhcigtLWFjY29yZGlvbi10b2dnbGUtaWNvbi1iZy1jb2xvci1hY3RpdmUpO1xuICAgIC0taWNvbi1jb2xvcjogdmFyKC0tYWNjb3JkaW9uLXRvZ2dsZS1pY29uLWxpbmUtY29sb3ItYWN0aXZlKTtcbn1cbi5jLWFjY29yZGlvbl9fdGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1hY2NvcmRpb24tdGl0bGUtY29sb3IsIHZhcigtLWJyYW5kLWJsdWUpKTtcbiAgICBmb250LXNpemU6IDEuNjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgZmxleDogMTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbn1cbi5jLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZ3JleSk7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaGFzLW9wZW4tYWNjb3JkaW9uIC5jLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuLmMtYWNjb3JkaW9uX19pY29uLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAxLjY3cmVtIDAgMy4xMXJlbTtcbn1cbi5jLWFjY29yZGlvbl9fdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjb3JkaW9uLXRvZ2dsZS1iZy1jb2xvcik7XG4gICAgcGFkZGluZzogdmFyKC0teS1wYWRkaW5nKSAwIHZhcigtLXktcGFkZGluZykgdmFyKC0teC1wYWRkaW5nKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uYy1hY2NvcmRpb25fX3RvZ2dsZS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5oYXMtb3Blbi1hY2NvcmRpb24gLmMtYWNjb3JkaW9uX190b2dnbGUsXG4uYy1hY2NvcmRpb25fX3RvZ2dsZTpob3ZlciB7XG4gICAgLS1hY2NvcmRpb24tdGl0bGUtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjb3JkaW9uLXRvZ2dsZS1iZy1jb2xvci1hY3RpdmUsIHZhcigtLWJyYW5kLXJveWFsLWJsdWUpKTtcbn1cbi5oYXMtb3Blbi1hY2NvcmRpb24uYy1hY2NvcmRpb24gLmMtdG9nZ2xlLWJ1dHRvbl9fbGluZS0teSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuLmMtYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLXktcGFkZGluZykgLyAyICogLTEpKTtcbn1cbi5jLWFjY29yZGlvbl9faW5uZXIge1xuICAgIHBhZGRpbmc6IHZhcigtLXZlcnRpY2FsLW1hcmdpbi1iYXNlKSB2YXIoLS14LXBhZGRpbmcpIHZhcigtLXktcGFkZGluZyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAuYy1hY2NvcmRpb25zX19zZWN0aW9uLWNvbnRlbnQgKyAuYy1hY2NvcmRpb25zX19saXN0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS43NXJlbTtcbiAgICB9XG4gICAgLmMtYWNjb3JkaW9uc19fc2VjdGlvbi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLmMtYWNjb3JkaW9uIHtcbiAgICAgICAgLS14LXBhZGRpbmc6IHZhcigtLWdyaWQtcGFkZGluZyk7XG4gICAgfVxuICAgIC5jLWFjY29yZGlvbiAuYy1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmMtYWNjb3JkaW9uX19pY29uLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDAuNjNyZW07XG4gICAgfVxufVxuIiwiLmMtdG9nZ2xlLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIC0taWNvbi1zaXplOiAxLjFlbTtcbiAgICAtLXRvZ2dsZS1zaXplOiA1MHB4O1xuICAgIC0tdG9nZ2xlLWJnOiB2YXIoLS10b2dnbGUtYnV0dG9uLWJnLWNvbG9yLCB2YXIoLS1icmFuZC1ibHVlKSk7XG4gICAgLS10b2dnbGUtYmctYWN0aXZlOiAjZmZmO1xuICAgIC0taWNvbi1jb2xvcjogI2ZmZjtcbiAgICAtLWljb24tY29sb3ItYWN0aXZlOiB2YXIoLS1icmFuZC1jaGFyY29hbCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvZ2dsZS1iZywgdmFyKC0tYnJhbmQtYmx1ZSkpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogdmFyKC0tdG9nZ2xlLXNpemUsIDU0cHgpO1xuICAgIGhlaWdodDogdmFyKC0tdG9nZ2xlLXNpemUsIDU0cHgpO1xuICAgIGluc2V0OiB2YXIoLS10b2dnbGUtaW5zZXQpO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbn1cbi5jLXRvZ2dsZS1idXR0b25fX2NvbnRlbnQge1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLWluLW91dDtcbn1cbi5jLXRvZ2dsZS1idXR0b246aG92ZXIsXG4uYy10b2dnbGUtYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b2dnbGUtYmctYWN0aXZlLCAjZmZmKTtcbn1cbi5jLXRvZ2dsZS1idXR0b25fX2ljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1pY29uLWNvbG9yKTtcbn1cbi5jLXRvZ2dsZS1idXR0b246aG92ZXIgLmMtdG9nZ2xlLWJ1dHRvbl9faWNvbixcbi5jLXRvZ2dsZS1idXR0b246Zm9jdXMgLmMtdG9nZ2xlLWJ1dHRvbl9faWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWljb24tY29sb3ItYWN0aXZlKTtcbn1cbi5jLXRvZ2dsZS1idXR0b25fX3RyYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xufVxuLmMtdG9nZ2xlLWJ1dHRvbl9faWNvbiB7XG4gICAgaGVpZ2h0OiB2YXIoLS1pY29uLXNpemUpO1xufVxuLmMtdG9nZ2xlLWJ1dHRvbl9fbGluZSB7XG4gICAgdHJhbnNpdGlvbjogMjUwbXMgYWxsIGVhc2U7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuLmlzLWFjdGl2ZS10b29sdGlwIC5jLXRvZ2dsZS1idXR0b25fX2xpbmUtLXkge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAuYy10b2dnbGUtYnV0dG9uIHtcbiAgICAgICAgLS1pY29uLXNpemU6IDAuNzVlbTtcbiAgICAgICAgLS10b2dnbGUtc2l6ZTogNDBweDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdsYXlvdXQtYmxvY2stcGVvcGxlLWdyaWQnO1xuQGltcG9ydCBcImFjY29yZGlvblwiO1xuQGltcG9ydCBcInRvZ2dsZS1idXR0b25cIjtcblxuLmJsb2NrLWNvbnRlbnQge1xuICAgIG1hcmdpbjogNC43NXJlbSAwO1xuXG4gICAgLnJvdzpmaXJzdC1vZi10eXBlLmJsb2NrLXRleHQtY29udGVudCwgLnJvdzpmaXJzdC1vZi10eXBlLmltYWdlLXRleHQtYmxvY2ssXG4gICAgLnJvdzpmaXJzdC1vZi10eXBlIC5ibG9jay10ZXh0LWNvbnRlbnQsIC5yb3c6Zmlyc3Qtb2YtdHlwZSAuaW1hZ2UtdGV4dC1ibG9jayxcbiAgICAucm93OmZpcnN0LW9mLXR5cGUgLmJsb2NrLWFjY29yZGlvbnMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICB9XG4gICAgLmJsb2NrLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmJsb2NrLXRleHQtZnVsbHdpZHRoIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgZm9udC1zaXplOiByZW1zKDI1cHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkZm9udC13ZWlnaHRzLCBtZWRpdW0pO1xuXG4gICAgICAgIC5ibGFjay1idXR0b24tb3V0bGluZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxheW91dC1ibG9jay0tdGV4dDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGgzLCBoNCwgaDUge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYmxvY2stdGV4dC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwIDFyZW07XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAgICAgcDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjFyZW07XG4gICAgICAgIH1cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gMDtcblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIGg1KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCBjb2xvci1nZXQocHJpbWFyeSk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYmxvY2stYnV0dG9ucyB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcblxuICAgICAgICAuYmxvY2stYnV0dG9uc19fYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxheW91dC1ibG9jay0tdGV4dCArIC5sYXlvdXQtYmxvY2stLWJ1dHRvbnMgLmJsb2NrLWJ1dHRvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgICAgICAgcGFkZGluZzogMCAwIDFyZW07XG4gICAgfVxuICAgIC5sYXlvdXQtYmxvY2stLXRleHQtLWdyZXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1saWdodCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMyU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICAgIH1cbiAgICAubGF5b3V0LWJsb2NrLS10ZXh0LS1ncmV5ICsgLmxheW91dC1ibG9jay0tdGV4dC0tZ3JleSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC01LjlyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgIC5ibG9jay10ZXh0LWNvbnRlbnQ6aGFzKGgxOmZpcnN0LWNoaWxkLCBoMjpmaXJzdC1jaGlsZCwgaDM6Zmlyc3QtY2hpbGQsIGg0OmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxheW91dC1ibG9jay0tdGV4dC0td2hpdGUgKyAubGF5b3V0LWJsb2NrLS10ZXh0LS13aGl0ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgLmJsb2NrLXRleHQtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS4xcmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ibG9jay12aWRlbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5pZnJhbWUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygxNiw5KTtcblxuICAgICAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5mdWxsLXdpZHRoLWltYWdlIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjI1cyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mdWxsLXdpZHRoLWltYWdlLS1oYXMtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDEuNXJlbSAycHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZnVsbC13aWR0aC1pbWFnZV9fbGluayB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICB9XG4gICAgLmltYWdlLXRleHQtYmxvY2sge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgaDQge1xuICAgICAgICBmb250LXdlaWdodDogd2VpZ2h0LWdldChtZWRpdW0pO1xuICAgIH1cbiAgICBoMyArICoge1xuICAgICAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGg0ICsgKiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgcCwgdWwsIG9sIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgdGFibGUge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdhZjggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4MDgwODA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jdXN0b20tY2hlY2tib3ggLmlucHV0LWJnIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtcygxMnB4KTtcbiAgICAgICAgY29sb3I6IGNvbG9yLWdldChkYXJrKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQocmVndWxhcik7XG4gICAgfVxufVxuLmNvbnRhY3QgLmJsb2NrLWNvbnRlbnQgLmJsb2NrLXRleHQtZnVsbHdpZHRoIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuLmxheW91dC1ibG9jay0tYWNjb3JkaW9ucyB7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIGxnKSkge1xuICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiA0cmVtIDAgMXJlbTtcblxuICAgICAgICB1bDpub3QoLnBhZ2luYXRpb24pOm5vdCgubm8tbGlzdC1zdHlsZSk6bm90KFtjbGFzc149XCJnZmllbGRcIl0pOm5vdChbY2xhc3NePVwiZ2Zvcm1fZmllbGRzXCJdKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcblxuICAgICAgICAgICAgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2UtdGV4dC1ibG9jayBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICB9XG4gICAgICAgIC5sYXlvdXQtYmxvY2stLXRleHQtLWdyZXkge1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW0gM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTJyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMnJlbSAwIDFyZW07XG4gICAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlLCBvbmUtbGluZSBtZXRob2QgZm9yIHNldHRpbmcgYW4gZWxlbWVudOKAmXMgcG9zaXRpb25pbmdcbi8vLyBwcm9wZXJ0aWVzOiBgcG9zaXRpb25gLCBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAgYW5kIGBsZWZ0YC4gVXNlIGEgYG51bGxgXG4vLy8gdmFsdWUgdG8g4oCcc2tpcOKAnSBhbiBlZGdlIG9mIHRoZSBib3guXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJHBvc2l0aW9uXG4vLy8gICBBIENTUyBwb3NpdGlvbiB2YWx1ZS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJGJveC1lZGdlLXZhbHVlc1xuLy8vICAgTGlzdCBvZiBsZW5ndGhzOyBhY2NlcHRzIENTUyBzaG9ydGhhbmQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBsZWZ0OiAxMGVtO1xuLy8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLy8gICAgIHRvcDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDApO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgICByaWdodDogMDtcbi8vLyAgICAgYm90dG9tOiAwO1xuLy8vICAgICBsZWZ0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfaXMtbGVuZ3RoXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF91bnBhY2stc2hvcnRoYW5kXG5cbkBtaXhpbiBwb3NpdGlvbihcbiAgJHBvc2l0aW9uLFxuICAkYm94LWVkZ2UtdmFsdWVzXG4pIHtcbiAgJGJveC1lZGdlLXZhbHVlczogX3VucGFjay1zaG9ydGhhbmQoJGJveC1lZGdlLXZhbHVlcyk7XG4gICRvZmZzZXRzOiAoXG4gICAgdG9wOiAgICBudGgoJGJveC1lZGdlLXZhbHVlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGJveC1lZGdlLXZhbHVlcywgMiksXG4gICAgYm90dG9tOiBudGgoJGJveC1lZGdlLXZhbHVlcywgMyksXG4gICAgbGVmdDogICBudGgoJGJveC1lZGdlLXZhbHVlcywgNCksXG4gICk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBfaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2UtYmFubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1nZXQocHJpbWFyeSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG5cbiAgICAmLmhvbWUtYmFubmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xuICAgIH1cbiAgICAuaGlkZGVuIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDApO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIC5iYW5uZXItY2l0eXNjYXBlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBoZWlnaHQ6IDkuMzc1cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYubGluZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltZy91aS1hc3NldHMvY2l0eS1saW5lLXRpdGxlLnN2ZycpIHJlcGVhdC14IGNlbnRlci9jb250YWluO1xuICAgICAgICB9XG4gICAgICAgICYuc2lsaG91ZXR0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltZy91aS1hc3NldHMvY2l0eS1zaWxob3VldHRlLXRpdGxlLnN2ZycpIHJlcGVhdC14IGJvdHRvbSBjZW50ZXIvY29udGFpbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA5OSUgMCAwIDApO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRib2R5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zaWxob3VldHRlLWlubmVyLWxheWVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1nL3VpLWFzc2V0cy9jaXR5LXNpbGhvdWV0dGUtdGl0bGUuc3ZnJykgcmVwZWF0LXggYm90dG9tIGNlbnRlci9jb250YWluO1xuICAgICAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAuOHJlbSAwIC01cmVtIDApO1xuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5iYW5uZXItd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgLnBhZ2UtaGVhZGluZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0LjM3NXJlbSAwO1xuXG4gICAgICAgICAgICAuaDMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYmxhY2stYnV0dG9uLW91dGxpbmUge1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRib2R5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvci1nZXQocHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhcm91c2VsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYm9keS1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogNHJlbSAwIDZyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuXG4gICAgICAgICYtLWJsdWUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3ItZ2V0KHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICAgIC5zbGlkZXIge1xuXG4gICAgICAgICAgICAucHJldmlvdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAyNSUgbnVsbCAyNSUgMjhweCk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDI1JSAyOHB4IDI1JSBudWxsKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wcmV2aW91cyxcbiAgICAgICAgICAgIC5uZXh0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjUwcmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2xpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5pbWFnZS1ob2xkZXIge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW1zKDM2cHgpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgICAgICAgICBpLCBlbSwgc3Ryb25nLCBiIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yLWdldCh5ZWxsb3cpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbWFnZS1ob2xkZXJfX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW1hZ2UtaG9sZGVyX19idG4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC40cmVtIDEuMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmN0YS1ib3hlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vbWF4LWhlaWdodDogNzZweDtcblxuICAgICAgICAuY3RhLWJveCB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMS4zNXJlbSAwO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbXMoMjBweCk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCBjb2xvci1nZXQocHJpbWFyeSk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMTUlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCgxMDB2dyAtIDEyNzBweCkgLyAyICsgMXB4KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1nZXQoc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yLWdldChzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnNlY29uZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygoMTAwdncgLSAxMjcwcHgpIC8gMiArIDFweCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItZ2V0KHByaW1hcnkpO1xuXG4gICAgICAgICAgICAgICAgLmN0YS1ib3hfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnRoaXJkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjM1cmVtIDJyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItZ2V0KGJyYW5kLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yLWdldChicmFuZC1saWdodCk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG5cbiAgICAgICAgICAgICAgICAuY3RhLWJveF9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jdGEtYm94X19saW5rcyBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIC5jdGEtYm94X19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgdSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmN0YS1ib3hfX2xpbmtlZC10ZXh0IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jdGEtYm94X19saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtO1xuXG4gICAgICAgICAgICAgICAgLmZhLWFuZ2xlLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5mdWxsLXdpZHRoIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIHhsKSkge1xuICAgIC5wYWdlLWJhbm5lciB7XG4gICAgICAgIC5jdGEtYm94ZXMgLmN0YS1ib3gge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW1zKDE4cHgpO1xuXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbGcpKSB7XG4gICAgLnBhZ2UtYmFubmVyIHtcbiAgICAgICAgLmN0YS1jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgICAuY3RhLWJveGVzIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuXG4gICAgICAgICAgICAuY3RhLWJveCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgIC5wYWdlLWJhbm5lciB7XG4gICAgICAgIC5iYW5uZXItY2l0eXNjYXBlIHtcbiAgICAgICAgICAgICYubGluZSwgJi5zaWxob3VldHRlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5iYW5uZXItd3JhcHBlciAucGFnZS1oZWFkaW5nIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgfVxuICAgICAgICAuY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICAgICAgICAgIC5pbWFnZS1ob2xkZXIgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMi41cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW1hZ2UtaG9sZGVyX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jYXJvdXNlbCAuc2xpZGVyIHtcbiAgICAgICAgICAgIC5wcmV2aW91cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDI1JSBudWxsIDI1JSAxMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMjUlIDEycHggMjUlIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByZXZpb3VzLFxuICAgICAgICAgICAgLm5leHQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucGFnZS1iYW5uZXIgLmN0YS1ib3hlcyAuY3RhLWJveDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZzogMS4zNXJlbSAwLjVyZW07XG4gICAgfVxufVxuIiwiLy8gTGVhZGVyc2hpcCBzdHlsZXNcblxuI2xlYWRlcnNoaXAge1xuICAgIC5sZWFkZXJzaGlwLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLWdldChsaWdodCkgdXJsKCcuLi9pbWcvdWktYXNzZXRzL3JhZG9uLWNoZW1pY2FsLXN0cnVjdHVyZS10aWxlLnN2ZycpIHJlcGVhdCBjZW50ZXIvNzAwcHggYXV0bztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYuNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgLmV4ZWN1dGl2ZS1zdGFmZi1yZXBlYXRlcnMsIC5zdGFmZi1yZXBlYXRlcnMge1xuXG4gICAgICAgIC8vIE1lbWJlciBzdHlsZXNcblxuICAgICAgICAuc3RhZmYtbWVtYmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4ycztcblxuICAgICAgICAgICAgLnBob3RvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3RhZmYtcGhvdG8ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN0YWZmLWJpbyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAycmVtO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW0gMXJlbSAxcmVtO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluIDAuMnM7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogODAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN0YWZmLW1ldGEge1xuICAgICAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJyYW5kLXJveWFsLWJsdWUpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogd2VpZ2h0LWdldChib2xkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3RhZmYtbWV0YTIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgICAgICAgLnBvc2l0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQobWVkaXVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnNvY2lhbC1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMnJlbSAxcmVtIG51bGwpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1nZXQocHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDVweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4ycztcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvci1nZXQocHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItZ2V0KHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIb3ZlciBvZiBzdGFmZiBNZW1iZXJcblxuICAgICAgICAgICAgJi5yb2xsb3ZlciB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDIwcHggcmdiYSgwLDAsMCwwLjIpO1xuXG4gICAgICAgICAgICAgICAgICAgIC5waG90by1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5zdGFmZi1iaW8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubW9iaWxlLWJpbywgLm1vYmlsZS1zdGFmZi1iaW8ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZXhlY3V0aXZlLXN0YWZmLXJlcGVhdGVycyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2LjVyZW07XG4gICAgfVxuICAgIC5zdGFmZi1yZXBlYXRlcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMy41cmVtO1xuXG4gICAgICAgIC5zdGFmZi1tZW1iZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIGxnKSkge1xuICAgICNsZWFkZXJzaGlwIHtcbiAgICAgICAgLmxlYWRlcnNoaXAtY29udGFpbmVyIHtcbiAgICAgICAgICAgIC5leGVjdXRpdmUtc3RhZmYtcmVwZWF0ZXJzLCAuc3RhZmYtcmVwZWF0ZXJzIHtcbiAgICAgICAgICAgICAgICAuc3RhZmYtbWVtYmVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgICNsZWFkZXJzaGlwIHtcbiAgICAgICAgLmxlYWRlcnNoaXAtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuXG4gICAgICAgICAgICAuZXhlY3V0aXZlLXN0YWZmLXJlcGVhdGVycyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3RhZmYtcmVwZWF0ZXJzIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5leGVjdXRpdmUtc3RhZmYtcmVwZWF0ZXJzLCAuc3RhZmYtcmVwZWF0ZXJzIHtcbiAgICAgICAgICAgICAgICAuc3RhZmYtbWVtYmVyIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIC5zdGFmZi1tZXRhMiAuc29jaWFsLWljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RhZmYtYmlvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBob3RvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubW9iaWxlLXN0YWZmLWJpbyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAudG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW1zKDIwcHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5tb2JpbGUtYmlvIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC43NXJlbSAwIDFyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiI3BhZ2Uge1xuICAgIC51bml2ZXJzaXR5LXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDAgMTByZW07XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLWdldChsaWdodCkgdXJsKCcuLi9pbWcvdWktYXNzZXRzL3JhZG9uLWNoZW1pY2FsLXN0cnVjdHVyZS10aWxlLnN2ZycpIHJlcGVhdCBjZW50ZXIvNzAwcHggYXV0bztcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjRhYWE1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxpOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgcmVkKTtcbiAgICAgICAgfVxuICAgICAgICBoMywgaDQsIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgcmVkKTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyg1MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEuYmxhY2stYnV0dG9uLW91dGxpbmUge1xuICAgICAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xuXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2U5MmEwZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTkyYTBlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbjogNnJlbSAwIC0ycmVtO1xuXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudW5pdmVyc2l0eS1ib3gge1xuICAgICAgICAgICAgZmxleDogMCAwIDgzLjMlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4My4zJTtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgICAgICAgICAgJi52aWRlbywgJi5pbWFnZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ibG9jay10ZXh0LWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMnJlbSAxNC43NzclO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07XG5cbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltYWdlLXRleHQtYmxvY2sge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjRyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDE2LDkpO1xuXG4gICAgICAgICAgICAgICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51b2ZjLWxpbmsge1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNS4yNSU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuM3JlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbGcpKSB7XG4gICAgI3BhZ2Uge1xuICAgICAgICAudW5pdmVyc2l0eS1zZWN0aW9uIHtcbiAgICAgICAgICAgIC51bml2ZXJzaXR5LWJveCB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYS51b2ZjLWxpbmsge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51b2ZjLWxpbmsge1xuICAgICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAjcGFnZSB7XG4gICAgICAgIC51bml2ZXJzaXR5LXNlY3Rpb24ge1xuICAgICAgICAgICAgdWw6bm90KC5wYWdpbmF0aW9uKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xLjJyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIC0ycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVuaXZlcnNpdHktYm94IC5ibG9jay10ZXh0LWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtaW4nLCBsZykpIHtcbiAgICAjcGFnZSAudW5pdmVyc2l0eS1zZWN0aW9uIC51bml2ZXJzaXR5LWJveCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTtcbiAgICB9XG59XG4iXX0= */
