@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@300;500&family=Lato:wght@300;500;700&display=swap");
/* Responsive Font size */
/* Responsive Padding */
::-moz-selection {
  background: #fff;
  color: #313131;
}

::selection {
  background: #fff2a8;
  color: #666;
}

html {
  height: 100%;
  scroll-behavior: smooth;
}

body {
  position: relative;
  font-family: "Lato", sans-serif;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  color: #313131;
  background-color: #f7f4ed;
  width: 100%;
  margin: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  -moz-osx-font-smoothing: grayscale;
}
body {
  font-size: 15px;
  line-height: 23.4px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  body {
    font-size: calc(15px + num(16px)-num(15px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((15px + num(16px)-num(15px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.56);
  }
}
@media (min-width: 1024px) {
  body {
    font-size: 16px;
    line-height: 24px;
  }
}

div {
  box-sizing: border-box;
}

:focus {
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}

main {
  position: relative;
  z-index: 8;
  display: block;
  margin-top: 90px;
  overflow: hidden;
}
.hamburgerOpen main {
  margin-top: 0;
}
@media (max-width: 1023px) {
  main {
    margin-top: 74px;
  }
}
main section {
  display: block;
}

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

.bodyText ul {
  margin: 0 0 1.5em 0;
  padding: 0 0 0 1.5em;
  list-style: disc;
}

a {
  text-decoration: none;
}

.bodyText a:not(.btn):not(.btnAlt):not(.button),
.theContent a,
.form-row a,
.woocommerce table a,
.woocommerce-message a,
a.wc-forward {
  transition: all 0.5s;
  text-decoration: underline;
  color: #856A38;
  font-weight: 700;
}
.bodyText a:not(.btn):not(.btnAlt):not(.button):hover,
.theContent a:hover,
.form-row a:hover,
.woocommerce table a:hover,
.woocommerce-message a:hover,
a.wc-forward:hover {
  color: #295b74;
}

.CookieDeclaration a:not(.btn):not(.btnAlt):not(.button) {
  font-size: 18px;
}

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

p {
  margin-bottom: 20px;
}

i {
  font-style: normal;
}

hr {
  margin: 3em 0;
  border: 0;
  border-top: solid 2px rgba(49, 49, 49, 0.3);
  clear: both;
}

fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

strong,
b {
  font-weight: 700;
}

nav.block ul {
  display: block;
}
nav.inline ul li {
  display: inline-block;
}

.flex {
  display: flex;
}

.flexEqual > * {
  flex-grow: 1;
  flex-basis: 0;
}

.flexWrap {
  flex-wrap: wrap;
}

.flexCol {
  flex-direction: column;
}

.centerVertically {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.centerVertically .bodyText {
  position: relative;
}

.bodyText p:nth-last-of-type(1) {
  margin-bottom: 0;
}

.overflowHidden {
  overflow: hidden;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

@media (min-width: 600px) {
  .mobileOnly {
    display: none !important;
  }
}
@media (min-width: 840px) {
  .mobileOnly2 {
    display: none !important;
  }
}
.mobileOnly2 .btn {
  margin-right: 0;
}

@media (max-width: 599px) {
  .desktopOnly {
    display: none !important;
  }
}
.hidden {
  display: none;
}

.active {
  visibility: visible;
  opacity: 1;
}

.active + .modal {
  visibility: visible;
  opacity: 1;
  transform: translateY(50%) translateX(50%);
}

.list--inline li {
  display: inline;
}

.block--inline {
  display: inline;
}

/* VIDEO  */
.videowrapper {
  width: 100%;
  padding-top: 56.25%;
  height: 0px;
  position: relative;
  margin-bottom: 1.5em;
}

.videowrapper iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#CybotCookiebotDialogPoweredbyCybot {
  display: none !important;
}

.CookiebotWidget-main-logo {
  display: none !important;
}

#CybotCookiebotDialogPoweredByText {
  display: none !important;
}

#CybotCookiebotDialogDetailFooter {
  display: none !important;
}

.CookieDeclarationLastUpdated {
  display: none !important;
}

.pagination {
  margin-top: 80px;
}
.pagination h2 {
  display: none;
}
.pagination .nav-links {
  display: flex;
  justify-content: center;
  position: relative;
}
.pagination .nav-links .page-numbers {
  color: #313131;
  text-transform: uppercase;
  padding: 4px;
  margin: 0 4px;
}
.pagination .nav-links .page-numbers:hover, .pagination .nav-links .page-numbers.current {
  background-color: rgba(0, 65, 97, 0.1);
}
.pagination .nav-links .prev {
  position: absolute;
  left: 0;
}
.pagination .nav-links .next {
  position: absolute;
  right: 0;
}

.text-center {
  text-align: center;
}

.m-0 {
  margin: 0;
}

.page404 {
  margin: 0 0 2em 0;
  padding: 3em 0;
  text-align: center;
}
.page404 p {
  font-size: 1.5em;
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
}
.page404 .btn {
  margin: 0;
}
@media (min-width: 840px) {
  .page404 h1 {
    font-size: 10em;
    line-height: 0.5em !important;
    margin: 0.5em 0 0.2em 0;
  }
  .page404 p {
    font-size: 2em;
  }
}

/*------------------------------------|
|	Fonts                               |
|------------------------------------*/
body {
  font-family: "Lato", sans-serif;
}

/* ----------------------------------
Load custom font with your SVG assets

1. Go to https://app.fontastic.me/accounts/login/ (details on LastPass), create and download your font kit.
2. Copy the CSS bellow this comment and load just the WOFF file format.
3. Copy your custom font on assets/fonts
 */
/* Wordpress image alignment */
.alignright {
  float: right;
  margin: 0 0 1em 1em;
}

.alignleft {
  float: left;
  margin: 0 1em 1em 0;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.alignright, .alignleft, .aligncenter, .alignnone {
  max-width: 100%;
  height: auto;
}

.alignright img, .alignleft img, .aligncenter img, .alignnone img {
  max-width: 100%;
  height: auto;
}

.has-text-align-center {
  text-align: center;
}

.has-text-align-right {
  text-align: right;
}

.wp-caption-text {
  text-align: center;
  text-transform: uppercase;
}

#wpadminbar {
  margin: 0;
  height: 46px;
}
#wpadminbar img {
  border-radius: 300px;
  border: 0 !important;
  box-shadow: none;
  height: 24px !important;
}
#wpadminbar img.avatar-64 {
  height: 64px !important;
}
#wpadminbar .ab-icon::before,
#wpadminbar .ab-item::before,
#wpadminbar #adminbarsearch:before {
  color: #fff;
}
#wpadminbar .quicklinks > ul > li > a, #wpadminbar #wp-admin-bar-search {
  padding: 7px 12px;
}
#wpadminbar #wp-admin-bar-wp-logo {
  display: none;
}

/* Fixes issue caused by WP V4.2.2 */
#wpadminbar div.wp-menu-image:before {
  color: #a0a5aa;
}

#wpadminbar, #wpadminbar .wp-submenu, #wpadminbarback, #wpadminbarwrap,
#wpadminbar .wp-has-current-submenu .wp-submenu, #wpadminbar .wp-has-current-submenu .wp-submenu.sub-open, #wpadminbar .wp-has-current-submenu.opensub .wp-submenu, #wpadminbar a.wp-has-current-submenu:focus + .wp-submenu, .no-js li.wp-has-current-submenu:hover .wp-submenu {
  background: #3498db;
  border-right: 1px solid #e4e4e4;
}

#wpadminbar .awaiting-mod, #wpadminbar .update-plugins {
  float: right;
  margin-right: 5px;
}

#collapse-menu,
#collapse-button div:after {
  color: #666;
}

#wpadminbar .wp-has-current-submenu .wp-submenu .wp-submenu-head, #wpadminbar .wp-menu-arrow, #wpadminbar .wp-menu-arrow div, #wpadminbar li.current a.menu-top, #wpadminbar li.wp-has-current-submenu a.wp-has-current-submenu, .folded #wpadminbar li.current.menu-top, .folded #wpadminbar li.wp-has-current-submenu,
#wpadminbar li.menu-top:hover, #wpadminbar li.opensub > a.menu-top, #wpadminbar li > a.menu-top:focus {
  background: #FFF;
}

#wpadminbar li.wp-menu-separator {
  display: none;
}

#wpadminbar .wp-submenu-head, #wpadminbar a.menu-top {
  padding: 7px 0;
}

.folded #wpadminbar .wp-submenu-head, .folded #wpadminbar a.menu-top {
  padding: 5px 0;
}

#wpadminbar .wp-not-current-submenu .wp-submenu, .folded #wpadminbar .wp-has-current-submenu .wp-submenu {
  padding: 10px;
}

#wpadminbar li.wp-has-current-submenu a.wp-has-current-submenu div.wp-menu-name {
  color: #FFF;
}

ul#wpadminbar a.wp-has-current-submenu:after, ul#wpadminbar > li.current > a.current:after, #wpadminbar li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
  display: none;
}

#wpadminbar li.menu-top {
  border-bottom: 1px solid #e4e4e4;
}

#wpadminbar div.wp-menu-name {
  color: #666;
}

/*.wrap h2 {
font-size:34px;
font-weight:100;
padding:30px 25px 24px 0
}*/
.wrap .add-new-h2, .wrap .add-new-h2:active {
  color: #FFF;
  top: -8px;
}

.update-core-php h2 {
  margin-top: 1em;
}

#titlediv #title-prompt-text {
  font-size: 1.2em;
  font-weight: 100;
}

div.updated {
  border: 1px solid #e1e1e1;
  -webkit-box-shadow: none;
  box-shadow: none;
}

input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
  box-shadow: none;
}

.postbox {
  border: 1px solid #e1e1e1;
  border-radius: 5px;
  overflow: hidden;
}

.menu.ui-sortable .menu-item-handle, .meta-box-sortables.ui-sortable .hndle {
  background: #f5f5f5;
}

#major-publishing-actions {
  background: #FFF;
  padding: 0;
}

#delete-action {
  float: none;
  padding: 15px 0;
  text-align: center;
}

#delete-action a {
  text-decoration: underline;
}

#publishing-action {
  float: none;
  display: block;
  width: 100%;
}

#publishing-action .spinner {
  width: 100%;
  background-position: top center;
  display: none;
  float: none;
  padding: 5px 0;
  margin: 0;
}

#publishing-action .spinner.is-active {
  display: block;
}

#publishing-action #publish {
  float: none;
  font-size: 16px;
  height: auto;
  padding: 10px;
  width: 100%;
  border-radius: 0 0 5px 5px;
}

.wp-core-ui .button, .wp-core-ui .button-primary, .wp-core-ui .button-secondary {
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 5px;
  box-shadow: none;
  text-shadow: none;
  border: 0;
}

.wp-core-ui .button.button-primary.button-hero {
  box-shadow: none;
}

.wp-core-ui .button, .wp-core-ui .button-secondary {
  background: #e4e4e4;
}

.wp-core-ui .button:hover, .wp-core-ui .button-secondary:hover, .wp-core-ui .button-primary {
  color: #FFF;
}

.wp-core-ui .button:hover span.wp-media-buttons-icon:before, .wp-core-ui .button-secondary:hover span.wp-media-buttons-icon:before {
  color: #FFF;
}

.wp-media-buttons .insert-media {
  font-size: 12px;
}

.wp-media-buttons .add_media span.wp-media-buttons-icon:before {
  font-size: 14px !important;
}

div.mce-toolbar-grp, .html-active .switch-html, .tmce-active .switch-tmce {
  background: #FFF !important;
}

#acf-col-right {
  display: none;
}

#acf-col-left {
  margin: 0 !important;
}

.vc_navbar.subnav-fixed {
  top: 40px !important;
}

.wp-list-table {
  border-radius: 5px;
}

/*------------------------------------|
|	Content Wrap                        |
|------------------------------------*/
/*---- Limits width of content, adds side padding, & allows background colours to extend to screen edge ----*/
.constrained {
  max-width: 1400px;
  padding-left: 60px;
  padding-right: 60px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 839px) {
  .constrained {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.constrainedMedium {
  max-width: 1100px;
  padding-left: 60px;
  padding-right: 60px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 839px) {
  .constrainedMedium {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.constrainedParagraph {
  max-width: 1175px;
  padding-left: 60px;
  padding-right: 60px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 839px) {
  .constrainedParagraph {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.constrainedBlog {
  max-width: 970px;
  padding-left: 60px;
  padding-right: 60px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 839px) {
  .constrainedBlog {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.constrainedSmall {
  max-width: 700px;
  padding-left: 60px;
  padding-right: 60px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 839px) {
  .constrainedSmall {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 839px) {
  .constrained50 {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 600px) {
  .constrained50 {
    max-width: 560px;
  }
  .normal .constrained50 {
    margin-right: auto;
  }
  .reverse .constrained50 {
    margin-left: auto;
  }
}
.imageDiv {
  position: relative;
  overflow: hidden;
}

.imageDivUncropped {
  text-align: center;
}
.imageDivUncropped img {
  width: 100%;
}

.fakeBGimage {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 101%;
  object-fit: cover;
}

.uncroppedImageDiv img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.sectionMargin {
  margin: 5em 0;
}

.sectionPadding {
  padding: 3.5em 0;
}

.space_below,
.theContent {
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .space_below,
  .theContent {
    margin-bottom: 40px;
  }
}

.absoluteButton {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}

.bgDark {
  background-color: #004161;
}
.bgDark h2,
.bgDark h3,
.bgDark h4,
.bgDark p {
  color: #f7f4ed;
}
.bgDark .btn {
  color: #004161;
  border-color: #f6f4ee;
  background-color: #f6f4ee;
}
.bgDark .btn:hover {
  color: #004161;
  border-color: #dcd8cc;
  background-color: #dcd8cc;
}
.bgDark .btnAlt,
.bgDark input[type=submit] {
  background-color: #004161;
  color: #dcd8cc;
  border: solid 1px #dcd8cc;
}
.bgDark .btnAlt:hover,
.bgDark input[type=submit]:hover {
  background-color: #dcd8cc;
  border: solid 1px #dcd8cc;
  color: #004161;
}
.bgDark .bodyText a:not(.btn):not(.btnAlt) {
  color: #f7f4ed;
}
.bgDark .bodyText a:not(.btn):not(.btnAlt):hover {
  color: #a88847;
}

.image-and-text {
  position: relative;
}
@media (max-width: 839px) {
  .image-and-text .imageDiv {
    padding-top: 66%;
  }
}
.image-and-text .uncroppedImageDiv picture {
  max-width: 560px;
}
.image-and-text.image .textWrapper {
  background-image: url(../../assets/img/bg/Fish1.svg);
}
@media (max-width: 839px) {
  .image-and-text.image .textWrapper {
    background-position: -40vw -40vw;
    background-size: 160vw;
  }
}
@media (min-width: 840px) {
  .image-and-text.image .textWrapper {
    background-position: -73vw -30vw;
    background-size: 130vw;
  }
}
.image-and-text.two-horizontal, .image-and-text.two-vertical {
  padding: 4em 0;
}
@media (max-width: 839px) {
  .image-and-text.two-horizontal, .image-and-text.two-vertical {
    padding: 2em 0;
  }
}
.image-and-text.two-horizontal.bgDark .imageHolder::before, .image-and-text.two-vertical.bgDark .imageHolder::before {
  background-color: rgba(0, 0, 0, 0.2);
}
.image-and-text.two-horizontal .flexEqual, .image-and-text.two-vertical .flexEqual {
  max-width: 1400px;
  padding-left: 60px;
  padding-right: 60px;
  margin: 0 auto;
}
@media (max-width: 839px) {
  .image-and-text.two-horizontal .flexEqual, .image-and-text.two-vertical .flexEqual {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.image-and-text.two-horizontal .imageHolder, .image-and-text.two-vertical .imageHolder {
  position: relative;
}
@media (max-width: 839px) {
  .image-and-text.two-horizontal .flex, .image-and-text.two-vertical .flex {
    display: block;
  }
}
.image-and-text.two-horizontal .imageDiv:nth-of-type(1) {
  padding-top: 45%;
  margin: 0 10% 3% 10%;
  width: 80%;
}
.image-and-text.two-horizontal .imageDiv:nth-of-type(2) {
  padding-top: 52%;
}
.image-and-text.two-horizontal .imageHolder::before {
  content: "";
  display: block;
  background-color: #dcd8cc;
  position: absolute;
  top: 10%;
  bottom: 10%;
  left: -20%;
  right: 20%;
}
.image-and-text.two-vertical .imageHolder {
  display: flex;
  justify-content: space-between;
}
.image-and-text.two-vertical .imageHolder .imageDiv:nth-of-type(1) {
  padding-top: 80%;
  margin: 10% 0;
  width: 50%;
  min-width: unset;
}
.image-and-text.two-vertical .imageHolder .imageDiv:nth-of-type(2) {
  padding-top: 60%;
  margin: 20% 0;
  width: 45%;
  min-width: unset;
}
.image-and-text.two-vertical .imageHolder::before {
  content: "";
  display: block;
  background-color: #dcd8cc;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -20%;
  right: 20%;
}
@media (min-width: 840px) {
  .image-and-text.fullWidth:not(.video) .textWrapper {
    min-height: 600px;
  }
  .image-and-text.normal .textWrapper {
    order: 2;
  }
  .image-and-text.normal .textWrapper .bodyText {
    padding: 5em 2em 5em 5em;
  }
  .image-and-text.normal .imageDiv {
    order: 1;
  }
  .image-and-text.normal .videoDiv {
    order: 1;
  }
  .image-and-text.normal .uncroppedImageDiv picture {
    margin-left: auto;
  }
  .image-and-text.reverse .textWrapper {
    order: 1;
  }
  .image-and-text.reverse .textWrapper .bodyText {
    padding: 5em 5em 5em 2em;
  }
  .image-and-text.reverse .imageDiv {
    order: 2;
  }
  .image-and-text.reverse .videoDiv {
    order: 2;
  }
  .image-and-text.reverse .imageHolder {
    order: 2;
  }
  .image-and-text.reverse .imageHolder::before {
    left: 20%;
    right: -20%;
  }
  .image-and-text.reverse .uncroppedImageDiv {
    order: 2;
  }
  .image-and-text.reverse .uncroppedImageDiv img {
    margin-right: auto;
  }
}
@media (max-width: 839px) {
  .image-and-text .flex {
    flex-wrap: wrap;
  }
  .image-and-text .imageDiv,
  .image-and-text .textWrapper,
  .image-and-text .uncroppedImageDiv {
    min-width: 100%;
    max-width: 100%;
  }
  .image-and-text .videoDiv {
    min-width: 100%;
  }
  .image-and-text .textWrapper {
    order: 2;
  }
  .image-and-text .bodyText {
    padding: 3em 20px;
  }
  .image-and-text .constrained .bodyText {
    padding: 3em 0px;
  }
  .image-and-text .uncroppedImageDiv picture {
    margin: auto;
  }
}
.image-and-text .bgLight .bodyText a:not(.btn):not(.btnAlt):not(.button),
.image-and-text .bgLight .theContent a,
.image-and-text .bgLight .form-row a,
.image-and-text .bgLight .woocommerce table a,
.image-and-text .bgLight .woocommerce-message a,
.image-and-text .bgLight a.wc-forward {
  color: #856A38;
}

@media (min-width: 1380px) {
  .full-width-feature {
    min-height: 260px;
  }
}
.full-width-feature.bgDark {
  background-image: url(../../assets/img/bg/GiftVoucher-BG.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.full-width-feature .constrainedSmall {
  text-align: center;
}
.full-width-feature h2 {
  margin-bottom: 20px;
  color: #CBAD6A;
}
.full-width-feature p {
  font-size: 1.2em;
  line-height: 1.2em;
}
.full-width-feature h2 + p {
  margin-top: 0px;
}
.full-width-feature p + .btn {
  margin-top: 25px;
}
.full-width-feature a:not(.btn) {
  transition: all 0.5s;
  text-decoration: underline;
  color: #cbad6a;
  font-weight: 700;
}
@media (min-width: 1024px) {
  .full-width-feature .textHolder {
    padding: 90px 60px;
  }
}

.largeParagraph.centered {
  text-align: center;
}
body:not(.post-type-archive-product) .largeParagraph {
  padding: 4em 0;
}
@media (max-width: 839px) {
  body:not(.post-type-archive-product) .largeParagraph {
    padding: 2em 0;
  }
}
@media (min-width: 600px) {
  .largeParagraph h2 {
    text-align: center;
  }
}
.largeParagraph p {
  font-size: 16px;
  line-height: 25.6px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  .largeParagraph p {
    font-size: calc(16px + num(20px)-num(16px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((16px + num(20px)-num(16px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  .largeParagraph p {
    font-size: 20px;
    line-height: 32px;
  }
}
.largeParagraph h4 {
  margin-bottom: 0.6em;
}

.chalkboard {
  position: relative;
  text-align: center;
  background-color: #000;
}
.chalkboard,
.chalkboard h2 {
  font-family: "Nothing You Could Do", cursive;
  color: #fff;
}
.chalkboard p {
  font-size: 22px;
  line-height: 35.2px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  .chalkboard p {
    font-size: calc(22px + num(32px)-num(22px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((22px + num(32px)-num(22px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  .chalkboard p {
    font-size: 32px;
    line-height: 51.2px;
  }
}
.chalkboard .cls-1 {
  fill: none;
}
.chalkboard .cls-2,
.chalkboard .cls-3 {
  fill: #fff;
}
.chalkboard svg {
  width: 330px;
  max-width: 80%;
  height: auto;
  margin: 0 auto 3em auto;
  display: block;
}
.chalkboard .imageDiv {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
}

.full-width-image {
  position: relative;
}
.full-width-image .imageDiv {
  height: 0;
  padding-top: 60vh;
}
@media (min-width: 840px) {
  .full-width-image .imageDiv {
    min-height: 500px;
  }
}
@media (min-width: 600px) {
  .full-width-image .imageDiv {
    padding-top: 50%;
  }
}

.newsletter-sign-up {
  text-align: center;
  padding: 2em;
  background-color: #f7f4ed;
  position: relative;
}
.newsletter-sign-up h3 + p {
  margin-top: 15px;
}
.newsletter-sign-up .padding {
  padding: 3em 1em;
  max-width: 600px;
}
.newsletter-sign-up form {
  gap: 0;
  margin-top: 40px;
}
.newsletter-sign-up .acteol-form-label {
  text-align: left;
  margin: 0.25rem 0;
}
.newsletter-sign-up .hide-field {
  display: none;
}
.newsletter-sign-up .acteol-block-form .form-group {
  min-width: 100%;
  max-width: 100%;
  position: relative;
}
.newsletter-sign-up .acteol-block-form .form-group input {
  width: calc(100% - 40px);
}
@media (min-width: 600px) {
  .newsletter-sign-up .acteol-block-form .form-group:nth-of-type(1),
  .newsletter-sign-up .acteol-block-form .form-group:nth-of-type(2) {
    min-width: 50%;
    max-width: 50%;
  }
}
.newsletter-sign-up .acteol-block-form .acteol-form-builder-privacy-policy-text p {
  line-height: 28px;
}

.bootstrap-growl {
  bottom: 0px !important;
  right: 0px !important;
  width: 100% !important;
  text-align: center !important;
  background-color: #004161 !important;
  color: white !important;
  padding: 15px !important;
  font-weight: 600 !important;
}

.mc4wp-form-fields {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}
.mc4wp-form-fields input[type=submit] {
  padding: 15px;
}
.mc4wp-form-fields p {
  margin-top: 1em;
}
.mc4wp-form-fields p input {
  float: none;
}
@media (min-width: 480px) {
  .mc4wp-form-fields input {
    flex-grow: 2;
  }
  .mc4wp-form-fields input[type=submit] {
    max-width: 120px;
  }
  .mc4wp-form-fields p {
    min-width: calc(100% - 4em);
    padding: 1em 2em;
  }
}
@media (max-width: 479px) {
  .mc4wp-form-fields {
    flex-direction: column;
  }
  .mc4wp-form-fields input {
    text-align: center;
    width: 100%;
    box-sizing: border-box;
  }
}

.tabsRow ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  padding: 0px 20px;
  position: relative;
  justify-content: center;
  list-style-type: none;
}
@media (max-width: 319px) {
  .tabsRow ul {
    flex-direction: column;
    flex-wrap: nowrap;
  }
}
@media (min-width: 600px) {
  .tabsRow ul {
    gap: 20px 50px;
  }
}
.tabsRow ul a {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
  text-transform: uppercase;
  color: #004161;
  letter-spacing: 0.1em;
  position: relative;
  transition: all 0.3s;
  border: solid #dcd8cc 2px;
  padding: 0.4em 1.3em;
  display: block;
  text-align: center;
  margin: 0;
}
.tabsRow ul a {
  font-size: 18px;
  line-height: 28.8px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  .tabsRow ul a {
    font-size: calc(18px + num(22px)-num(18px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((18px + num(22px)-num(18px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  .tabsRow ul a {
    font-size: 22px;
    line-height: 35.2px;
  }
}
@media (max-width: 319px) {
  .tabsRow ul a {
    width: calc(100% - 2.6em - 4px);
  }
}
.tabsRow ul .active a,
.tabsRow ul a:hover {
  border: solid #004161 2px;
}
.tabsRow ul li {
  position: relative;
  z-index: 2;
}
.tabsRow ul .finalitem {
  margin-left: auto;
}
@media (max-width: 839px) {
  .tabsRow ul .finalitem {
    display: none;
  }
}
.tabsRow .tabBody {
  padding-top: 3em;
}
.tabsRow .tabBody blockquote {
  text-align: center;
  margin: 0 0 1.5em 0;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  color: #856A38;
  letter-spacing: 0.1em;
}
.tabsRow .tabBody blockquote {
  font-size: 22px;
  line-height: 35.2px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  .tabsRow .tabBody blockquote {
    font-size: calc(22px + num(28px)-num(22px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((22px + num(28px)-num(22px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  .tabsRow .tabBody blockquote {
    font-size: 28px;
    line-height: 44.8px;
  }
}
.tabsRow .tabBody p + blockquote {
  margin: 2.5em 0 1.5em 0;
}
.tabsRow .tabBody p.subitem {
  margin-left: 2em;
}
.tabsRow .tabBody strong {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
  color: #004161;
  display: flex;
  justify-content: space-between;
}
.tabsRow .tabBody strong {
  font-size: 18px;
  line-height: 28.8px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  .tabsRow .tabBody strong {
    font-size: calc(18px + num(22px)-num(18px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((18px + num(22px)-num(18px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  .tabsRow .tabBody strong {
    font-size: 22px;
    line-height: 35.2px;
  }
}
.tabsRow .tabBody strong em {
  font-style: normal;
  display: block;
  float: right;
  font-weight: 500;
}
.tabsRow .tabBody b {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
  color: #004161;
  display: block;
  margin-bottom: 0.5em;
}
.tabsRow .tabBody b {
  font-size: 18px;
  line-height: 28.8px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  .tabsRow .tabBody b {
    font-size: calc(18px + num(22px)-num(18px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((18px + num(22px)-num(18px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  .tabsRow .tabBody b {
    font-size: 22px;
    line-height: 35.2px;
  }
}

.columnList .flex.columns {
  justify-content: center;
  flex-wrap: wrap;
}
.columnList .flex.columns aside {
  padding: 0 70px;
  text-align: center;
}
.columnList .flex.columns aside p {
  margin-bottom: 0.7em;
}
.columnList .flex.columns aside p {
  font-size: 16px;
  line-height: 25.6px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  .columnList .flex.columns aside p {
    font-size: calc(16px + num(20px)-num(16px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((16px + num(20px)-num(16px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  .columnList .flex.columns aside p {
    font-size: 20px;
    line-height: 32px;
  }
}

.photoBackstoryGrid .flex.columns {
  gap: 16px;
  flex-wrap: wrap;
}
.photoBackstoryGrid .flex.columns aside {
  position: relative;
  min-width: 100%;
  max-width: 100%;
  padding-top: 360px;
}
@media (min-width: 600px) {
  .photoBackstoryGrid .flex.columns aside {
    min-width: calc(50% - 8px);
    max-width: calc(50% - 8px);
    padding-top: 60%;
  }
}
@media (min-width: 1124px) {
  .photoBackstoryGrid .flex.columns aside {
    min-width: calc(33.3333333333% - 16px);
    max-width: calc(33.3333333333% - 16px);
  }
}
@media (min-width: 1280px) {
  .photoBackstoryGrid .flex.columns aside {
    padding-top: 50%;
  }
}
@media (min-width: 1380px) {
  .photoBackstoryGrid .flex.columns aside {
    padding-top: 40%;
  }
}
.photoBackstoryGrid .imageDiv {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.photoBackstoryGrid .textWrapper {
  color: #fbf8ef;
  padding: 40px 30px;
  background-color: rgba(0, 65, 97, 0.8);
  transition: all 0.5s;
}
.photoBackstoryGrid .textWrapper p {
  margin-bottom: 0.7em;
}
.photoBackstoryGrid .textWrapper h4 {
  color: #a88847;
}
@media (max-width: 839px) {
  .photoBackstoryGrid .textWrapper {
    position: fixed;
    overflow: auto;
    top: 74px;
    left: 0;
    width: 100vw;
    height: calc(100vh - 74px);
    z-index: 10;
    background-color: rgba(0, 65, 97, 0.9);
    margin-top: calc(100vh - 74px);
    transition: all 0.5s ease-out;
  }
  .photoBackstoryGrid aside.open .textWrapper {
    margin-top: 0;
    cursor: pointer;
  }
  .photoBackstoryGrid .xit {
    float: right;
  }
  .photoBackstoryGrid .readMore {
    display: block;
    position: absolute;
    background-color: white;
    bottom: 0;
    padding: 1em;
    width: 100%;
    text-align: center;
    cursor: pointer;
  }
  .photoBackstoryGrid .readMore h6 {
    text-transform: uppercase;
    color: #004161;
    margin: 0;
    letter-spacing: 2.7px;
  }
}
@media (min-width: 840px) {
  .photoBackstoryGrid .xit {
    display: none;
  }
  .photoBackstoryGrid .textWrapper {
    position: absolute;
    height: 100%;
    opacity: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }
  .photoBackstoryGrid aside:hover .textWrapper {
    opacity: 1;
  }
  .photoBackstoryGrid .readMore {
    display: none;
  }
}
.photoBackstoryGrid .noPic {
  background-color: #dcd8cc;
  height: 100%;
}
.photoBackstoryGrid .noPic svg {
  min-height: 197%;
  left: -50%;
  position: relative;
  top: -50%;
}
.photoBackstoryGrid .noPic .fishyfish01 {
  opacity: 0.1;
}
.photoBackstoryGrid .noPic .fishyfish02 {
  opacity: 0.4;
}

.bookingEvents {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 4em 0;
}
.bookingEvents h3 {
  text-align: center;
}
.bookingEvents .events-list {
  display: flex;
  gap: 16px;
  justify-content: space-evenly;
  padding: 0 60px;
}
@media (max-width: 979px) {
  .bookingEvents .events-list {
    flex-wrap: wrap;
    gap: 23px;
    padding: 0 23px;
  }
}
.bookingEvents .events-list aside {
  max-width: 536px;
  width: 100%;
  position: relative;
}
@media (max-width: 979px) {
  .bookingEvents .events-list aside {
    max-width: 100%;
  }
}
.bookingEvents .events-list aside:hover .imageDiv img {
  transform: scale(1.1);
  transition: all 0.8s ease-in-out;
}
.bookingEvents .events-list aside .imageDiv {
  min-height: 302px;
}
@media (max-width: 979px) {
  .bookingEvents .events-list aside .imageDiv {
    min-height: 235px;
  }
}
.bookingEvents .events-list aside .imageDiv img {
  transition: all 0.8s ease-in-out;
}
.bookingEvents .events-list aside .event-details {
  background-color: #fff;
  padding: 25px;
}
.bookingEvents .events-list aside .event-details .event-date {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.125rem;
  line-height: 1.875rem;
  color: #004161;
  margin-bottom: 10px;
}
.bookingEvents .events-list aside .event-details h4 {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.5rem;
  line-height: 1.875rem;
  color: #004161;
  margin-bottom: 15px;
}
.bookingEvents .events-list aside .event-details .link-wrap {
  color: #a88847;
  font-size: 1.125rem;
  line-height: 1.875rem;
  text-transform: uppercase;
  font-family: "Barlow Condensed", sans-serif;
  display: flex;
  gap: 10px;
  align-items: center;
}
.bookingEvents .events-list aside .event-details .link-wrap svg {
  width: 13px;
  height: 10px;
}

.testimonial-section {
  background-color: #f7f4ed;
  padding: 80px 0;
}
@media (max-width: 979px) {
  .testimonial-section {
    padding: 40px 0;
  }
}
.testimonial-section h2 {
  margin-bottom: 42px;
  color: #004161;
  font-style: italic;
  font-size: 38px !important;
  letter-spacing: 0px;
  line-height: 48px !important;
}
@media (max-width: 979px) {
  .testimonial-section h2 {
    font-size: 26px !important;
    line-height: 30px !important;
  }
}
.testimonial-section p {
  font-size: 20px;
  color: #004161;
}

.events-grid {
  padding-bottom: 4em;
}
.events-grid h2 {
  width: 100%;
  text-align: center;
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.events-grid .bg-wrapper {
  background-color: #f7f4ed;
  padding: 0 80px 0;
}
@media (max-width: 599px) {
  .events-grid .bg-wrapper {
    padding: 0 40px 0;
  }
}
.events-grid .grid {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-template-rows: repeat(auto-fill, 1fr);
  grid-auto-flow: row;
  gap: 15px;
}
@media (min-width: 1024px) {
  .events-grid .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.events-grid .grid aside {
  position: relative;
  top: 0;
  background-color: #fff;
  transition: all 0.2s ease-in-out;
}
.events-grid .grid aside .imageDiv {
  min-height: 335px;
}
@media (max-width: 599px) {
  .events-grid .grid aside .imageDiv {
    min-height: 270px;
  }
}
.events-grid .grid aside .body {
  padding: 25px 25px 50px;
  background-color: #fff;
  text-align: center;
  position: relative;
}
.events-grid .grid aside .body h3 {
  font-size: 24px;
  margin-bottom: 8px;
  font-weight: 400;
}
.events-grid .grid aside .body .date {
  font-family: "Barlow Condensed", sans-serif;
  color: #2f2f2f;
  font-size: 16px;
  font-weight: 300;
  margin: 0 0 14px;
  color: #004161;
}
.events-grid .grid aside .body .location {
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 500;
  color: #004161;
  margin: 0 0 14px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  letter-spacing: 1.6px;
}
.events-grid .grid aside .body .location svg {
  width: 10px;
  fill: #2f2f2f;
}
.events-grid .grid aside .body p {
  font-size: 16px;
  line-height: 24px;
  color: #043953;
}
.events-grid .grid aside .link-wrapper {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  padding: 0 25px 25px;
  display: flex;
  justify-content: center;
}
.events-grid .grid aside .link-wrapper .btn {
  background-color: transparent;
  color: #004161;
  border-bottom: 1px solid #004161;
  border-left: none;
  border-right: none;
  border-top: none;
  margin: 0;
  padding: 0;
  display: inline-block;
}
.events-grid .grid aside:hover {
  top: -20px;
  transition: all 0.2s ease-in-out;
}

.scrolling-cards {
  background-color: #f7f4ed;
}
.scrolling-cards h2 {
  margin-top: 32px;
  text-align: center;
  margin-bottom: 32px;
}
.scrolling-cards .cards-container {
  margin-left: -7.5px;
  margin-right: -7.5px;
}
.scrolling-cards .cards-container .scroll-card {
  margin-left: 7.5px;
  margin-right: 7.5px;
}
.scrolling-cards .cards-container .scroll-card .overflow-trap {
  overflow: hidden;
  height: 385px;
  margin-bottom: 18px;
}
.scrolling-cards .cards-container .scroll-card .imageDiv {
  height: 100%;
  transition: all 0.5s ease-in-out;
}
.scrolling-cards .cards-container .scroll-card h4 {
  margin-bottom: 18px;
  font-size: 24px;
  font-weight: 300;
}
.scrolling-cards .cards-container .scroll-card .description {
  color: #004161;
  margin-bottom: 18px;
}
.scrolling-cards .cards-container .scroll-card .location {
  font-weight: 500;
  color: #043953;
  text-transform: uppercase;
  font-family: "Barlow Condensed", sans-serif;
  letter-spacing: 1.6px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.scrolling-cards .cards-container .scroll-card .meta {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
  color: #004161;
  display: block;
  margin-bottom: 18px;
}
.scrolling-cards .cards-container .scroll-card .btn {
  display: block;
  border: 1px solid #004161;
  background-color: transparent;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 2.7px;
  color: #004161;
  max-width: 125px;
  width: 100%;
}
.scrolling-cards .cards-container .scroll-card:hover {
  cursor: pointer;
}
.scrolling-cards .cards-container .scroll-card:hover h4 {
  color: #a88847;
}
.scrolling-cards .cards-container .scroll-card:hover .overflow-trap .imageDiv {
  transform: scale(1.1);
  transition: all 0.5s ease-in-out;
}
.scrolling-cards .cards-container .scroll-card:hover .btn {
  background-color: #004161;
  color: #fff;
}
.scrolling-cards .slideshowControllersPosition {
  position: relative;
  bottom: 0;
  display: block;
  margin-bottom: 20px;
}
@media (min-width: 1024px) {
  .scrolling-cards .slideshowControllersPosition {
    display: block;
  }
}

.contactAndMap {
  padding: 2em 0;
}
.contactAndMap .flex {
  flex-direction: column;
  gap: 16px;
}
@media (min-width: 600px) {
  .contactAndMap .flex {
    flex-direction: row;
    gap: 0px;
  }
}
.contactAndMap aside.textWrapper {
  min-width: 100%;
}
.contactAndMap aside.textWrapper .bodyText {
  max-width: 480px !important;
}
@media (min-width: 600px) {
  .contactAndMap aside.textWrapper {
    min-width: 50%;
    max-width: 50%;
  }
}
.contactAndMap aside.mapHolder {
  min-width: 100%;
}
@media (min-width: 600px) {
  .contactAndMap aside.mapHolder {
    min-width: 50%;
    max-width: 50%;
  }
}

.accordion-row .accordion-row-line {
  transition: all 0.3s;
}
.accordion-row .accordion-row-line .accordion-row-question {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
}
.accordion-row .accordion-row-line svg {
  transform: rotate(0deg);
  transition: all 0.3s;
}
.accordion-row .accordion-row-line.on svg {
  transform: rotate(-180deg);
}
.accordion-row .accordion-row-line .accordion-row-answer {
  display: none;
}
.accordion-row .accordion-row-line .accordion-row-icon {
  transition: ease-in-out 0.5s;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.accordion-row .accordion-row-line .accordion-row-icon.svg-active {
  transform: rotate(90deg);
}

.faqs .jumpNav {
  margin: 3rem 0;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}
.faqs .jumpNav a {
  color: #004161 !important;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300 !important;
  font-size: 22px;
  transition: color 0.3s;
}
.faqs .jumpNav a:hover {
  color: #295b74;
}
.faqs h2 + p {
  margin-top: 2em;
}
.faqs .anchorLink {
  position: relative;
  top: -110px;
}
.faqs .faqSection {
  margin: 2rem 0;
}
.faqs .sectionHeading {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
  padding-top: 0 !important;
  line-height: 1.2em !important;
  margin: 0;
  color: #004161;
}
.faqs .sectionHeading {
  font-size: 26px;
  line-height: 41.6px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  .faqs .sectionHeading {
    font-size: calc(26px + num(32px)-num(26px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((26px + num(32px)-num(26px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  .faqs .sectionHeading {
    font-size: 32px;
    line-height: 51.2px;
  }
}
.faqs a.readMore {
  color: #004161;
  transition: color 0.3s;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
  text-decoration: underline;
}
.faqs a.readMore:hover {
  color: #295b74;
}
.faqs.accordion-row .accordion-row-loop {
  margin-top: 1.5rem;
}
.faqs.accordion-row .accordion-row-answer {
  display: none;
}
.faqs.accordion-row .accordion-row-line {
  background: rgba(255, 255, 255, 0.6);
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
}
.faqs.accordion-row .accordion-row-line .accordion-row-question {
  cursor: pointer;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
  color: #004161;
  font-size: 22px;
  column-gap: 16px;
  justify-content: start;
}
.faqs.accordion-row .accordion-row-line svg {
  width: 18px;
  height: 18px;
  fill: #004161;
  transform: rotate(-90deg);
}
.faqs.accordion-row .accordion-row-line.on svg {
  transform: rotate(90deg);
}
.faqs.accordion-row .accordion-row-answer {
  padding: 1rem 2.1rem;
}

.admin-bar header {
  top: 46px;
}

@media screen and (max-width: 782px) {
  .admin-bar header {
    top: 46px;
  }
}
@media screen and (max-width: 600px) {
  .admin-bar header {
    top: 46px;
    transition: top 0.5s;
  }
  .admin-bar.scrolled header {
    top: 0;
  }
  html body:not(.scrolled) #wpadminbar {
    position: fixed;
    top: 0px;
  }
}
.backButton {
  display: none;
}

.social-media-strip {
  display: flex;
  gap: 0.8em;
}
.social-media-strip .share-title {
  font-family: "Lato", sans-serif;
}

.social-icon {
  display: inline-block;
  position: relative;
  padding: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: transparent;
  transition: background-color 0.5s;
}
.social-icon svg {
  fill: #fff;
  display: block;
  width: 80%;
  height: 80%;
  margin: 10%;
}
.social-icon.facebook:hover {
  background-color: #1778f2;
}
.social-icon.instagram:hover {
  background-color: #e1306c;
}
.social-icon.tiktok:hover {
  background-color: #25f4ee;
}
.social-icon.twitter:hover {
  background-color: #1da1f2;
}
.social-icon.linkedin:hover {
  background-color: #0077b5;
}
.social-icon.whatsapp:hover {
  background-color: #4fce5d;
}
.social-icon span {
  display: none;
}

body.single-news header nav.header__nav ul.mainNav .menu-item.menu-item-object-news > a:after,
body.tax-categories header nav.header__nav ul.mainNav .menu-item.menu-item-object-news > a:after {
  opacity: 1;
  bottom: 0px;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  width: 100%;
  background-color: #004161;
  height: 90px;
  height: 74px;
}
.hamburgerOpen header {
  overflow: auto;
  height: 100vh;
}
header .mob-hidden {
  display: block !important;
}
@media (max-width: 599px) {
  header .mob-hidden {
    display: none !important;
  }
}
header .desktop-hidden {
  display: none !important;
}
@media (max-width: 599px) {
  header .desktop-hidden {
    display: block !important;
  }
  header .desktop-hidden .btn {
    margin-top: 0px;
    background-color: white;
    color: #004161;
    border-left: 0;
    border-right: 0;
    border-bottom: 1px solid #004161;
    padding: 1.1em 25px;
  }
}
header .constrained {
  position: relative;
  display: flex;
  height: 100%;
  justify-content: space-between;
}
@media (max-width: 599px) {
  header .constrained {
    gap: 15px;
  }
}
header .constrained aside {
  max-width: 33.333%;
}
header .constrained aside.cta-wrap .btn {
  max-width: 200px;
  margin: 0 0 0 auto;
}
@media (max-width: 599px) {
  header .constrained aside {
    width: 100%;
  }
  header .constrained aside.hamburger-wrap {
    max-width: 20%;
  }
  header .constrained aside.logo-wrap {
    max-width: 40%;
  }
  header .constrained aside.logo-wrap .headerLogo {
    width: 100%;
    height: auto;
  }
  header .constrained aside.cta-wrap {
    max-width: 20%;
  }
  header .constrained aside.cta-wrap .btn {
    margin: 0;
    box-sizing: border-box;
    padding: 7px;
    width: 100%;
  }
}
header .basketLink {
  text-transform: uppercase;
  color: #fff;
  font-weight: 500;
  font-family: "Barlow Condensed", sans-serif;
  letter-spacing: 2.7px;
}
@media (min-width: 840px) {
  header .basketLink {
    margin-right: 1em;
  }
}
header .basketLink {
  font-size: 14px;
  line-height: 22.4px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  header .basketLink {
    font-size: calc(14px + num(18px)-num(14px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((14px + num(18px)-num(14px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  header .basketLink {
    font-size: 18px;
    line-height: 28.8px;
  }
}
header .basketLink:hover {
  color: #a88847;
}
header .headerLogo {
  display: block;
  width: 88px;
  height: 48px;
  margin: auto auto auto 0;
  position: relative;
}
header .headerLogo img {
  width: 100%;
  height: auto;
  display: block;
}
header .header__nav ul {
  padding-bottom: 0;
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  text-align: center;
}
header .header__nav ul .menu-item a {
  display: block;
  padding: 12px;
  text-decoration: none;
  transition: all 0.5s;
  text-transform: uppercase;
  font-size: 14px;
}
header .header__nav ul .sub-menu {
  margin-bottom: 1em;
}
header .header__nav ul .sub-menu li {
  margin: 0;
  padding: 0;
  display: block;
}
header .header__nav ul .sub-menu a {
  line-height: 1.2em;
  transition: background-color 0.3 ease;
}
header .constrained {
  height: 74px;
  padding-left: 20px;
  padding-right: 20px;
}
header .headerLogo {
  width: 180px;
  margin: auto;
  height: 65px;
  position: relative;
  z-index: 1;
}
@media (max-width: 1023px) {
  header .headerLogo {
    width: 140px;
    height: 40px;
  }
}
@media (max-width: 479px) {
  header .headerLogo {
    width: 140px;
    height: 50px;
  }
}
header #main_nav {
  display: none;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 3;
  width: 100vw;
  background-color: #004161;
  padding-bottom: 5em;
}
header #main_nav ul#menu-main-nav {
  display: flex;
  flex-direction: column;
  position: relative;
  margin: 20px 0;
}
header #main_nav ul#menu-main-nav li {
  margin: 5px 0;
}
header #main_nav ul#menu-main-nav li.mobileOnly2 .btn {
  padding: 0.6em 0;
}
header #main_nav ul#menu-main-nav .menu-item a {
  padding: 4px 20px;
  font-size: 22px;
  color: #fff;
  letter-spacing: 3.3px;
}
header #main_nav ul#menu-main-nav .menu-item a:hover {
  background-color: rgba(0, 0, 0, 0.14);
}
header #main_nav ul#menu-main-nav .menu-item.menu-item-has-children {
  position: relative;
}
header #main_nav ul#menu-main-nav .menu-item.menu-item-has-children a {
  position: relative;
  z-index: 3;
}
header #main_nav ul#menu-main-nav .menu-item.menu-item-has-children.is-active {
  background-color: rgba(0, 0, 0, 0.2);
}
header #main_nav ul#menu-main-nav .menu-item.menu-item-has-children:not(.dead-link) > a::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 12px;
  background-image: url(../../assets/img/icons/arrow-right.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-left: 16px;
  top: -2px;
  position: relative;
}
header #main_nav ul#menu-main-nav .menu-item.menu-item-has-children li a {
  font-size: 16px;
  text-transform: capitalize;
  letter-spacing: 2px;
}
header #main_nav ul#menu-main-nav .menu-item.menu-item-has-children.subNavOpen {
  background-color: rgba(0, 0, 0, 0.14);
}
header #main_nav ul#menu-main-nav .menu-item.menu-item-has-children.subNavOpen a {
  z-index: 1;
}
header #main_nav ul#menu-main-nav .menu-item.menu-item-has-children.subNavOpen:hover {
  background-color: rgba(0, 0, 0, 0.14);
}
header #main_nav ul#menu-main-nav .menu-item.menu-item-has-children.dead-link > a:hover {
  background: none;
  cursor: default;
}
header #main_nav ul#menu-main-nav .menu-item.menu-item-has-children.dead-link > a::after {
  display: none;
}
@media (max-width: 599px) {
  header #menu-main-nav .btn {
    margin: 10px 20px;
    width: calc(100% - 40px);
    font-size: 22px;
  }
}
@media (min-width: 1024px) {
  header {
    height: 90px;
  }
  header .constrained {
    height: 90px;
  }
  header .searchButtonLi {
    margin: 0 16px;
  }
}
header #navMask {
  display: block;
  position: fixed;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: opacity 0.5s;
  height: 0;
}
.hamburgerOpen header #navMask {
  opacity: 1;
  height: 100vh;
}

.pageTitle {
  overflow: hidden;
}
.pageTitle h1 {
  padding: 0;
}
.pageTitle .bodyText {
  padding: 0 1.5em;
}
.pageTitle.simple {
  margin: 20px 20px 40px 20px;
  text-align: center;
}
@media (min-width: 1024px) {
  .pageTitle.simple {
    margin: 50px 0;
  }
}
.pageTitle.slideshow, .pageTitle.backgroundimage, .pageTitle.video-hero {
  position: relative;
}
.pageTitle.slideshow .bodyText p, .pageTitle.backgroundimage .bodyText p, .pageTitle.video-hero .bodyText p {
  line-height: 1.6em;
}
.pageTitle.slideshow .bodyText p, .pageTitle.backgroundimage .bodyText p, .pageTitle.video-hero .bodyText p {
  font-size: 18px;
  line-height: 28.8px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  .pageTitle.slideshow .bodyText p, .pageTitle.backgroundimage .bodyText p, .pageTitle.video-hero .bodyText p {
    font-size: calc(18px + num(24px)-num(18px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((18px + num(24px)-num(18px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  .pageTitle.slideshow .bodyText p, .pageTitle.backgroundimage .bodyText p, .pageTitle.video-hero .bodyText p {
    font-size: 24px;
    line-height: 38.4px;
  }
}
.pageTitle.slideshow .flex.ctaButtons, .pageTitle.backgroundimage .flex.ctaButtons, .pageTitle.video-hero .flex.ctaButtons {
  width: 100%;
}
.pageTitle.slideshow .flex.ctaButtons aside:nth-of-type(1):nth-last-of-type(1), .pageTitle.backgroundimage .flex.ctaButtons aside:nth-of-type(1):nth-last-of-type(1), .pageTitle.video-hero .flex.ctaButtons aside:nth-of-type(1):nth-last-of-type(1) {
  margin: auto;
}
@media (max-width: 599px) {
  .pageTitle.slideshow .flex.ctaButtons, .pageTitle.backgroundimage .flex.ctaButtons, .pageTitle.video-hero .flex.ctaButtons {
    flex-direction: column;
    bottom: 1em;
    position: relative;
    margin-top: auto;
  }
  .pageTitle.slideshow .flex.ctaButtons aside, .pageTitle.backgroundimage .flex.ctaButtons aside, .pageTitle.video-hero .flex.ctaButtons aside {
    margin: 0.5em 0;
  }
}
.pageTitle.slideshow .btn,
.pageTitle.slideshow .btnAlt, .pageTitle.backgroundimage .btn,
.pageTitle.backgroundimage .btnAlt, .pageTitle.video-hero .btn,
.pageTitle.video-hero .btnAlt {
  margin: 0;
  border: none;
}
.pageTitle.slideshow .imageOverlay, .pageTitle.backgroundimage .imageOverlay, .pageTitle.video-hero .imageOverlay {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: #004161;
  mix-blend-mode: multiply;
}
.pageTitle.slideshow .textWrapper, .pageTitle.backgroundimage .textWrapper, .pageTitle.video-hero .textWrapper {
  position: relative;
  z-index: 3;
  height: 100%;
}
.pageTitle.slideshow .bodyText, .pageTitle.backgroundimage .bodyText, .pageTitle.video-hero .bodyText {
  text-align: center;
}
.pageTitle.slideshow .bodyText h1,
.pageTitle.slideshow .bodyText p, .pageTitle.backgroundimage .bodyText h1,
.pageTitle.backgroundimage .bodyText p, .pageTitle.video-hero .bodyText h1,
.pageTitle.video-hero .bodyText p {
  color: #fff;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5019607843);
}
.pageTitle.slideshow .bodyText h1, .pageTitle.backgroundimage .bodyText h1, .pageTitle.video-hero .bodyText h1 {
  margin-bottom: 0;
}
@media (max-width: 839px) {
  .pageTitle.slideshow .bodyText h1, .pageTitle.backgroundimage .bodyText h1, .pageTitle.video-hero .bodyText h1 {
    font-size: 36px;
  }
}
.pageTitle.hide_title h1 {
  display: none;
}
.pageTitle .btn,
.pageTitle .btnAlt {
  font-size: 18px;
  line-height: 28.8px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  .pageTitle .btn,
  .pageTitle .btnAlt {
    font-size: calc(18px + num(22px)-num(18px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((18px + num(22px)-num(18px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  .pageTitle .btn,
  .pageTitle .btnAlt {
    font-size: 22px;
    line-height: 35.2px;
  }
}

.backgroundimage .backgroundimageHeight,
.backgroundimage .backgroundimageHeight .textWrapper {
  min-height: 60vw;
}
@media (min-width: 600px) {
  .backgroundimage .backgroundimageHeight,
  .backgroundimage .backgroundimageHeight .textWrapper {
    min-height: 33vw;
  }
}
@media (min-width: 1380px) {
  .backgroundimage .backgroundimageHeight,
  .backgroundimage .backgroundimageHeight .textWrapper {
    min-height: 450px;
  }
}
@media (min-width: 1024px) {
  .backgroundimage .backgroundimageHeight,
  .backgroundimage .backgroundimageHeight .textWrapper {
    max-height: calc(100vh - 74px);
  }
}
.backgroundimage .flex.ctaButtons {
  justify-content: center;
  margin-top: 1.8em;
}
@media (min-width: 600px) {
  .backgroundimage .flex.ctaButtons {
    gap: 20px;
  }
}

@media (max-width: 1023px) {
  .slideshow .centerVertically {
    gap: 30px;
  }
}
.slideshow .slideshowHeight,
.slideshow .slideshowHeight .textWrapper {
  min-height: 400px;
}
@media (min-width: 1380px) {
  .slideshow .slideshowHeight,
  .slideshow .slideshowHeight .textWrapper {
    min-height: 700px;
  }
}
@media (min-width: 1024px) {
  .slideshow .slideshowHeight,
  .slideshow .slideshowHeight .textWrapper {
    max-height: calc(100vh - 74px);
  }
}
.slideshow .flex.ctaButtons {
  justify-content: space-between;
  bottom: 5em;
  position: absolute;
}
.slideshow .slider {
  overflow: hidden;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.slideshow .slider.slick-dotted.slick-slider {
  margin-bottom: 0;
}
.slideshow .slider .slick-slide,
.slideshow .slider .slick-list,
.slideshow .slider .slick-track {
  height: 100%;
}
.slideshow .slider .slick-slide .fakeBGimage {
  top: 50%;
  transform: translateY(-50%);
}

.slideshowControllersPosition {
  position: absolute;
  bottom: 20px;
  left: 0px;
  z-index: 5;
  width: 100%;
}
@media (max-width: 599px) {
  .slideshowControllersPosition {
    display: none;
  }
}
@media (min-width: 1024px) {
  .slideshowControllersPosition {
    bottom: 30px;
  }
}
.slideshowControllersPosition .slideshowControllers {
  display: flex;
}
.slideshowControllersPosition .slideDots {
  position: relative;
  bottom: unset;
  margin: 0 auto;
}
.slideshowControllersPosition .slideDots ul {
  display: flex !important;
  position: relative;
  bottom: 0;
}
.slideshowControllersPosition .slideDots li {
  margin: 2px 5px;
}
.slideshowControllersPosition .slideDots li button::before {
  content: "";
  opacity: 1;
  width: 8px;
  height: 8px;
  border: solid 1px #004161;
  background-color: transparent;
  transform: rotate(-45deg);
  transition: all 0.3s ease;
}
.slideshowControllersPosition .slideDots li.slick-active button::before {
  background-color: #004161;
  opacity: 1;
}
.slideshowControllersPosition .slideDots .slick-active {
  opacity: 1;
}
.slideshowControllersPosition .slideDots li:nth-of-type(1):nth-last-of-type(1) {
  display: none;
}

.video .flex.ctaButtons {
  gap: 20px;
  justify-content: center;
  margin-top: 1.8em;
}
.video .flex.ctaButtons .btn,
.video .flex.ctaButtons .btnAlt {
  margin: 0;
}

.video-hero {
  min-height: calc(100vh - 90px);
  position: relative;
}
.video-hero.hidden {
  display: none !important;
}
.video-hero .textWrapper {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
}
.video-hero h1,
.video-hero p {
  color: #fff;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5019607843);
}
.video-hero h1 {
  margin-bottom: 0;
}
@media (max-width: 599px) {
  .video-hero {
    min-height: 50vh;
  }
}
.video-hero video {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  object-fit: cover;
}
.video-hero .controls {
  position: absolute;
  bottom: 20px;
  left: 20px;
}
.video-hero .controls button {
  background-color: #fff;
  color: #004161;
  border: none;
  font-family: "Lato", sans-serif;
  font-size: 16px;
}
.video-hero .controls button:focus {
  outline: 2px solid #fff;
}

.preserve-aspect-ratio,
.uncropped_image {
  min-height: 0 !important;
  max-height: unset !important;
}
.preserve-aspect-ratio img,
.preserve-aspect-ratio video,
.uncropped_image img,
.uncropped_image video {
  position: relative;
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}
.preserve-aspect-ratio video,
.uncropped_image video {
  min-height: 100%;
}
.preserve-aspect-ratio .fakeBGImage,
.uncropped_image .fakeBGImage {
  object-fit: contain;
}
.preserve-aspect-ratio .image-and-text__main,
.uncropped_image .image-and-text__main {
  min-height: 0;
}
.preserve-aspect-ratio .constrainedSmall,
.uncropped_image .constrainedSmall {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

@media (max-width: 599px) {
  footer {
    padding-bottom: 90px;
  }
}
.quickLinks {
  display: flex;
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  justify-content: space-evenly;
  position: fixed;
  bottom: 0;
  z-index: 90;
  width: 100vw;
  background-color: #f7f4ed;
  text-align: center;
  box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.2);
}
@media (min-width: 840px) {
  .quickLinks {
    display: none;
  }
}
.quickLinks a {
  flex-grow: 1;
  flex-basis: 0;
  display: block;
  text-align: center;
  font-family: "Lato", sans-serif;
  padding: 14px 0;
  font-size: 12px;
  color: #313131;
  transition: background-color 0.5s;
}
.quickLinks a img {
  width: 24px;
  height: 24px;
  margin: 0 auto;
  display: block;
}
.quickLinks a:hover {
  background-color: #fff;
}

footer {
  clear: both;
  background-color: #004161;
}
footer,
footer h5 {
  color: #fbf8ef;
}
footer p,
footer li {
  margin-bottom: 10px;
}
footer a {
  color: #fbf8ef;
  text-decoration: none;
  transition: all 0.3s;
}
footer a:hover {
  color: #a88847;
}
footer .mainFooter aside:nth-of-type(2) {
  background-color: #043953;
}
footer .mainFooter h4,
footer .mainFooter h5,
footer .mainFooter p {
  margin-bottom: 1em;
}
footer .mainFooter a {
  color: #CBAD6A;
  font-weight: 700;
}
footer .mainFooter a:hover {
  color: #dcd8cc;
}
footer .mainFooter ul {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 599px) {
  footer .mainFooter ul {
    flex-direction: column;
  }
}
footer .footerLogo {
  width: 120px;
  height: 25px;
}
footer .footerLogo svg {
  width: 100%;
  transition: all 0.3s;
}
footer .footerLogo svg .cls-1 {
  fill: #f7f4ed;
}
footer .footerLogo:hover svg .cls-1 {
  fill: #a88847;
}
footer .postFooter {
  font-size: 14px;
}
@media (min-width: 600px) {
  footer .postFooter {
    padding: 0 0 2.5em 0;
  }
}
footer .postFooter ul {
  display: flex;
}
footer .postFooter hr {
  border-top: 1px solid #f7f4ed;
  margin-bottom: 2em;
}
footer .postFooter .copyright {
  margin-left: auto;
  width: 100%;
  text-align: center;
}
footer .fishyFooter {
  text-align: center;
}
footer .fishyFooter img {
  width: 100px;
  height: auto;
  margin-top: 2em;
  display: inline-block;
}
@media (min-width: 1024px) {
  footer .mainFooter aside {
    padding: 70px;
  }
  footer .mainFooter .constrained50 {
    max-width: 440px;
    margin-left: auto;
  }
  footer .postFooter .copyright {
    text-align: right;
    max-width: 120px;
  }
  footer .postFooter .social-media-strip,
  footer .postFooter li {
    padding-left: 2em;
  }
  footer .postFooter .social-icon {
    margin-top: -3px;
  }
}
@media (max-width: 1023px) {
  footer .mainFooter .flex {
    gap: 0;
    flex-wrap: wrap;
  }
  footer .mainFooter .flex aside {
    padding: 50px;
    min-width: calc(100% - 70px);
  }
  footer .postFooter .resy-logo {
    margin: 0 auto;
  }
  footer .postFooter .footerLogo {
    margin: 0 auto;
  }
  footer .postFooter .social-media-strip {
    margin: 1.5em auto;
  }
  footer .postFooter .flex {
    flex-direction: column;
    text-align: center;
  }
  footer .postFooter ul {
    margin-bottom: 1em;
    flex-direction: column;
  }
  footer .postFooter li {
    min-width: 100%;
    max-width: 100%;
  }
}
@media (max-width: 839px) {
  footer .constrained50 {
    padding: 0;
  }
}
@media (max-width: 479px) {
  footer .mainFooter .flex aside {
    padding: 20px;
    min-width: calc(100% - 40px);
  }
}

/*------------------------------------|
|	Heading tags (h1 to h6)                     |
|------------------------------------*/
h1, .h1 {
  text-transform: uppercase;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
  padding-top: 0 !important;
  line-height: 0.96em !important;
  letter-spacing: 8.7px;
  margin: 0 0 0.5em 0;
  color: #004161;
}
h1, .h1 {
  font-size: 52px;
  line-height: 83.2px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  h1, .h1 {
    font-size: calc(52px + num(58px)-num(52px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((52px + num(58px)-num(52px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  h1, .h1 {
    font-size: 58px;
    line-height: 92.8px;
  }
}
@media (max-width: 1023px) {
  h1, .h1 {
    margin: 0.5em 0 0 0;
  }
}

h2, .h2 {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
  padding-top: 0 !important;
  line-height: 1.1em !important;
  letter-spacing: 2.4px;
  margin: 0;
  color: #004161;
}
h2, .h2 {
  font-size: 38px;
  line-height: 60.8px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  h2, .h2 {
    font-size: calc(38px + num(48px)-num(38px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((38px + num(48px)-num(38px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  h2, .h2 {
    font-size: 48px;
    line-height: 76.8px;
  }
}

h3, .h3 {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
  padding-top: 0 !important;
  line-height: 1.2em !important;
  margin: 0 0 0.7em 0;
  color: #004161;
}
h3, .h3 {
  font-size: 32px;
  line-height: 51.2px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  h3, .h3 {
    font-size: calc(32px + num(38px)-num(32px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((32px + num(38px)-num(32px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  h3, .h3 {
    font-size: 38px;
    line-height: 60.8px;
  }
}

h4, .h4 {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
  padding-top: 0 !important;
  line-height: 1.2em !important;
  margin: 0;
  color: #004161;
}
h4, .h4 {
  font-size: 22px;
  line-height: 35.2px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  h4, .h4 {
    font-size: calc(22px + num(32px)-num(22px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((22px + num(32px)-num(22px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  h4, .h4 {
    font-size: 32px;
    line-height: 51.2px;
  }
}

h5, .h5, h2.woocommerce-loop-product__title, .upsells h2 {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
  line-height: 1.15em !important;
  text-transform: uppercase;
  margin: 0 0 0.6em 0;
  color: #004161;
}
h5, .h5, h2.woocommerce-loop-product__title, .upsells h2 {
  font-size: 20px;
  line-height: 32px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  h5, .h5, h2.woocommerce-loop-product__title, .upsells h2 {
    font-size: calc(20px + num(24px)-num(20px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((20px + num(24px)-num(20px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  h5, .h5, h2.woocommerce-loop-product__title, .upsells h2 {
    font-size: 24px;
    line-height: 38.4px;
  }
}

h6, .h6 {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 500;
  margin: 0 0 1em 0;
}
h6, .h6 {
  font-size: 18px;
  line-height: 28.8px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  h6, .h6 {
    font-size: calc(18px + num(22px)-num(18px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((18px + num(22px)-num(18px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  h6, .h6 {
    font-size: 22px;
    line-height: 35.2px;
  }
}

h1 + p,
h2 + p {
  margin-top: 2em;
}

h3 + p,
h4 + p,
h5 + p {
  margin-top: 1em;
}

.backToShopLink {
  text-transform: uppercase;
  font-weight: 500;
  margin: -1em 0 1em 0;
  display: block;
  color: #004161;
  font-family: "Barlow Condensed", sans-serif;
  letter-spacing: 2.7px;
  font-size: 18px;
  text-decoration: underline;
}

h5.serves {
  color: #a88847;
  letter-spacing: 2.7px;
  font-size: 18px;
  font-weight: 500;
}

.summary h1.h3 {
  text-transform: capitalize;
  letter-spacing: unset;
}

body.woocommerce-page h5 {
  text-transform: none;
}
body.woocommerce-page h5.serves {
  text-transform: uppercase;
}

body.woocommerce div.product div.images .flex-control-thumbs {
  margin: 20px 0;
  display: flex;
  gap: 20px;
}
body.woocommerce div.product div.images .flex-control-thumbs li {
  max-width: calc(25% - 15px);
}

.woocommerce div.product form.cart::after, .woocommerce div.product form.cart::before,
.woocommerce .products ul::after, .woocommerce .products ul::before, .woocommerce ul.products::after, .woocommerce ul.products::before {
  display: none;
}

.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th {
  vertical-align: middle;
}
.woocommerce div.product form.cart .variations td.label, .woocommerce div.product form.cart .variations th.label {
  background-color: #fbf8ef;
}

body.woocommerce div.product form.cart .variations label {
  font-family: "Lato", sans-serif;
  color: #313131;
  font-weight: 300;
  padding: 0 1em;
}
body.woocommerce div.product form.cart .variations label {
  font-size: 15px;
  line-height: 24px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  body.woocommerce div.product form.cart .variations label {
    font-size: calc(15px + num(16px)-num(15px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((15px + num(16px)-num(15px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  body.woocommerce div.product form.cart .variations label {
    font-size: 16px;
    line-height: 25.6px;
  }
}

select {
  font-family: "Lato", sans-serif;
  color: #313131;
  border-radius: 0;
  border: 0;
  background-color: white;
  padding: 1em;
  -webkit-appearance: none;
  appearance: none;
  background-image: url(../img/icons/arrowChevronBlue.svg);
  background-size: 14px;
  background-repeat: no-repeat;
  background-position: calc(100% - 15px) center;
}
select {
  font-size: 15px;
  line-height: 24px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  select {
    font-size: calc(15px + num(16px)-num(15px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((15px + num(16px)-num(15px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  select {
    font-size: 16px;
    line-height: 25.6px;
  }
}

.reset_variations {
  color: #004161;
}

.woocommerce div.product p.price, .woocommerce div.product span.price {
  color: #004161;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 500;
  margin: 0.4em 0;
}
.woocommerce div.product p.price, .woocommerce div.product span.price {
  font-size: 22px;
  line-height: 35.2px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  .woocommerce div.product p.price, .woocommerce div.product span.price {
    font-size: calc(22px + num(32px)-num(22px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((22px + num(32px)-num(22px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  .woocommerce div.product p.price, .woocommerce div.product span.price {
    font-size: 32px;
    line-height: 51.2px;
  }
}

.woocommerce div.product form.cart div.quantity {
  margin: 0 20px 0 0;
}

.woocommerce .quantity .qty {
  padding: 5px;
  float: none;
}
@media (min-width: 1024px) {
  .woocommerce .quantity .qty {
    padding: 3px;
  }
}

.woocommerce .single_variation_wrap .quantity .qty {
  padding: 10px 9px;
}
@media (min-width: 1024px) {
  .woocommerce .single_variation_wrap .quantity .qty {
    padding: 13px 9px;
  }
}

.woocommerce img, .woocommerce-page img {
  height: 100%;
}

.woocommerce div.product form.cart .variations {
  margin-bottom: 0;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
  background-color: #fff;
  line-height: 2.5em;
}

.woocommerce-message {
  border: none;
}

.woocommerce-message::before {
  content: "";
  background-image: url("../img/icons/tickBlue.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 14px;
  height: 14px;
  top: 2em;
}

body.woocommerce .accordion-row h5 {
  margin: 0.3em 0;
  text-transform: uppercase;
}
body.woocommerce .accordion-row .accordion-row-line {
  padding: 10px 0;
  transition: all 0.3s;
  margin-bottom: 2px;
  border-bottom: 2px solid #dcd8cc;
}
body.woocommerce .accordion-row .accordion-row-line .accordion-row-question {
  cursor: pointer;
  display: flex;
  column-gap: 16px;
  justify-content: space-between;
}
body.woocommerce .accordion-row .accordion-row-line svg {
  width: 15px;
  height: 15px;
  transform: rotate(0deg);
  transition: all 0.3s;
}
body.woocommerce .accordion-row .accordion-row-line.on svg {
  transform: rotate(-180deg);
}
body.woocommerce .accordion-row .accordion-row-line .accordion-row-answer {
  display: none;
}
body.woocommerce .accordion-row .accordion-row-line .accordion-row-icon {
  transition: ease-in-out 0.5s;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body.woocommerce .accordion-row .accordion-row-line .accordion-row-icon.svg-active {
  transform: rotate(90deg);
}

.upsells ul.products {
  display: flex;
  flex-wrap: nowrap;
  overflow: auto;
  gap: 16px;
}

.upsells,
.productTeaserLoop {
  margin: 0 0 2em 0;
}
.upsells h5.serves,
.productTeaserLoop h5.serves {
  font-size: 14px;
}
.single-product .upsells h5.serves,
.single-product .productTeaserLoop h5.serves {
  display: none;
}
.upsells a h5,
.productTeaserLoop a h5 {
  margin-bottom: 0;
}
.upsells h2.woocommerce-loop-product__title, .upsells h2,
.productTeaserLoop h2.woocommerce-loop-product__title,
.productTeaserLoop h2 {
  text-transform: none;
}
.upsells .button,
.productTeaserLoop .button {
  padding: 0.6em 0.5em !important;
  width: calc(100% - 1em) !important;
  text-align: left !important;
  border: none !important;
}
@media (min-width: 980px) {
  .upsells,
  .productTeaserLoop {
    margin: 0 0 3em 0;
  }
}
.upsells.flex,
.productTeaserLoop.flex {
  gap: 16px;
  flex-wrap: wrap;
}
.upsells.addExtras,
.productTeaserLoop.addExtras {
  flex-wrap: nowrap;
  overflow: auto;
}
.upsells aside,
.productTeaserLoop aside {
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: calc(50% - 8px);
  min-width: calc(50% - 8px);
}
.single-product .upsells aside,
.single-product .productTeaserLoop aside {
  max-width: calc(45% - 8px);
  min-width: calc(45% - 8px);
}
.upsells aside .imageDiv,
.productTeaserLoop aside .imageDiv {
  height: 0;
  padding-top: 120%;
}
.upsells aside img,
.productTeaserLoop aside img {
  transition: all 0.7s cubic-bezier(0.7, 0, 0.3, 1);
}
.upsells aside:hover img,
.productTeaserLoop aside:hover img {
  transform: scale(103%);
}
.upsells .bodyText,
.productTeaserLoop .bodyText {
  padding: 1.3em 1em;
  position: relative;
  background-color: #fff;
  flex-grow: 2;
}
.upsells .bodyText a,
.productTeaserLoop .bodyText a {
  text-decoration: none !important;
}
.productArchive.productTeaserLoop {
  clear: both;
}
.productArchive.productTeaserLoop aside {
  position: relative;
  min-width: 100%;
}
@media (min-width: 320px) {
  .productArchive.productTeaserLoop aside {
    max-width: calc(50% - 8px);
    min-width: calc(50% - 8px);
  }
}
@media (min-width: 600px) {
  .productArchive.productTeaserLoop aside {
    max-width: calc(33% - 10px);
    min-width: calc(33% - 10px);
  }
}
@media (min-width: 840px) {
  .productArchive.productTeaserLoop aside {
    max-width: calc(25% - 12px);
    min-width: calc(25% - 12px);
  }
}
.productArchive.productTeaserLoop a.out-of-stock {
  color: #004161 !important;
  background: rgba(0, 65, 97, 0.2) !important;
}

.woocommerce a.button.alt.checkout-button {
  margin-bottom: 0;
}

.woocommerce-cart h2 {
  margin-bottom: 1em;
}
.woocommerce-cart h2 {
  font-size: 20px;
  line-height: 32px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  .woocommerce-cart h2 {
    font-size: calc(20px + num(24px)-num(20px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((20px + num(24px)-num(20px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  .woocommerce-cart h2 {
    font-size: 24px;
    line-height: 38.4px;
  }
}
.woocommerce-cart .cart_totals {
  background-color: #fff;
  text-align: center;
  padding: 1em;
}

.product-name a {
  color: #004161;
  font-weight: 700;
}

.woocommerce table.shop_table {
  border: none;
  max-width: 800px;
  margin: 0 auto 6em auto;
  padding: 0.7em;
}

.woocommerce table.shop_table td {
  border: none;
}
@media (max-width: 767px) {
  .woocommerce table.shop_table td {
    clear: both;
  }
}

.cart-subtotal td, .order-total td,
.woocommerce table.shop_table td.product-total,
.woocommerce table.shop_table .fee td,
.woocommerce table.shop_table th.product-total {
  text-align: right;
}

.cart_totals h2 {
  margin-top: 0.4em;
}

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
  background-color: #fbf8ef;
  border-radius: 0;
}

#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 4px solid #f7f4ed;
}

.cross-sells {
  position: relative;
}
.cross-sells .crossSellsLoop aside {
  position: relative;
  min-width: 100%;
}
@media (min-width: 320px) {
  .cross-sells .crossSellsLoop aside {
    max-width: calc(50% - 8px);
    min-width: calc(50% - 8px);
  }
}
@media (min-width: 600px) {
  .cross-sells .crossSellsLoop aside {
    max-width: calc(33% - 10px);
    min-width: calc(33% - 10px);
  }
}
.cross-sells .crossSellsLoop .imageDiv {
  height: 0;
  padding-top: 120%;
}

@media (min-width: 768px) {
  .woocommerce .cart-collaterals .cross-sells,
  .woocommerce-page .cart-collaterals .cross-sells {
    width: calc(100% - 350px);
  }
  .woocommerce .cart-collaterals .cart_totals,
  .woocommerce-page .cart-collaterals .cart_totals {
    width: 320px;
  }
}
.woocommerce form .form-row {
  padding: 0;
}

@media (max-width: 767px) {
  .col-2 h3 {
    margin: revert;
  }
}
.woocommerce table.shop_table {
  max-width: unset;
  background-color: #fff;
  color: #004161;
  border-radius: 0;
}

.woocommerce-info::before {
  color: #004161;
}

.woocommerce-info {
  border-top-color: #004161;
}

.dey-calender-day a {
  background: #a88847 !important;
  border: 1px solid #a88847 !important;
  color: #004161 !important;
}

body .ui-widget input, body .ui-widget select, body .ui-widget textarea, body .ui-widget button, body .ui-widget {
  font-family: "Lato", sans-serif;
}

.blogTitle {
  position: relative;
  background-color: #19405e;
}
@media (min-width: 600px) {
  .blogTitle {
    height: 500px;
    max-height: 50vw;
    min-height: 300px;
  }
}
.blogTitle .flex {
  height: 100%;
}
.blogTitle .flex aside {
  min-width: 50%;
  max-width: 50%;
}
@media (max-width: 599px) {
  .blogTitle .flex {
    flex-direction: column;
    height: unset;
  }
  .blogTitle .flex aside {
    min-width: 100%;
    max-width: 100%;
    min-height: 30vw;
  }
}
.blogTitle .imageDiv {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.blogTitle .fish01, .blogTitle .fish02 {
  z-index: 0;
  width: 70vw;
}
.blogTitle .fish01 .cls-1, .blogTitle .fish02 .cls-1 {
  fill: #143a57;
}
.blogTitle .fish01 {
  left: -36vw;
  top: -6vw;
}
@media (max-width: 599px) {
  .blogTitle .fish01 {
    left: -6vw;
    top: -6vw;
  }
}
.blogTitle .fish02 {
  left: 26vw;
  bottom: -4vw;
}
@media (max-width: 599px) {
  .blogTitle .fish02 {
    left: 50vw;
    bottom: 19vw;
  }
}
.blogTitle .textWrapper {
  z-index: 3;
  max-width: 650px;
  display: flex;
  flex-direction: column;
  height: 100%;
  margin-left: auto;
  padding: 2.2em 20px;
}
.blogTitle .textWrapper .bodyText {
  margin: auto 0;
}
.blogTitle .textWrapper h1 {
  color: #fff;
  text-transform: none;
  margin: 0.4em 0;
}
@media (max-width: 599px) {
  .blogTitle .textWrapper {
    padding: 1.2em 20px;
  }
}
.blogTitle .backButton a {
  color: #fff;
}
.blogTitle .backButton a svg {
  width: 1em;
  height: 1em;
  vertical-align: sub;
  fill: #fff;
  margin-right: 0.6em;
}
.blogTitle .backButton a:hover {
  color: #dcd8cc;
}
.blogTitle .backButton a:hover svg {
  fill: #dcd8cc;
}

.share-wrapper {
  margin: 60px 0 40px;
}
.share-wrapper .social-media-strip {
  justify-content: start;
}
.share-wrapper .social-icon {
  background-color: #043953;
}
.share-wrapper .share-title {
  font-family: "Barlow Condensed", sans-serif;
  line-height: 28px;
  font-size: 18px;
  text-transform: uppercase;
  font-weight: 500;
  color: #043953;
  letter-spacing: 2.7px;
}

.blogArchiveTitle {
  position: relative;
  max-height: 50vw;
  min-height: 350px;
  background-color: #19405e;
}
@media (max-width: 599px) {
  .blogArchiveTitle {
    min-height: 250px;
  }
}
.blogArchiveTitle .textWrapper {
  text-align: center;
}
.blogArchiveTitle h1, .blogArchiveTitle p {
  color: #fff;
}
.blogArchiveTitle p {
  font-size: 1.25em;
}
.blogArchiveTitle .fish01, .blogArchiveTitle .fish02, .blogArchiveTitle .fish03 {
  position: absolute;
  width: 70vw;
}
.blogArchiveTitle .fish01 {
  left: -46vw;
  top: -5vw;
}
.blogArchiveTitle .fish01 .cls-1 {
  fill: #143a57;
}
.blogArchiveTitle .fish02 {
  left: 30vw;
  bottom: -11vw;
}
.blogArchiveTitle .fish02 .cls-1 {
  fill: #143a57;
}
.blogArchiveTitle .fish03 {
  left: 60vw;
  top: -8vw;
}
.blogArchiveTitle .fish03 .cls-1 {
  fill: rgba(255, 255, 255, 0.2);
}

.blogsArchiveLoop {
  margin: 0 0 2em 0;
}
@media (min-width: 980px) {
  .blogsArchiveLoop {
    margin: 0 0 3em 0;
  }
}
.blogsArchiveLoop .flex {
  gap: 24px;
  flex-wrap: wrap;
}
.blogsArchiveLoop aside {
  position: relative;
  min-width: calc(33.3333333333% - 16px);
  max-width: calc(33.3333333333% - 16px);
}
@media (max-width: 979px) {
  .blogsArchiveLoop aside {
    max-width: calc(50% - 12px);
    min-width: calc(50% - 12px);
  }
}
@media (max-width: 479px) {
  .blogsArchiveLoop aside {
    max-width: 100%;
    min-width: 100%;
  }
}
.blogsArchiveLoop .theExcerpt, .blogsArchiveLoop .featuredBadge {
  display: none;
}
@media (min-width: 600px) {
  .post-type-archive-blog .blogsArchiveLoop aside:nth-of-type(1) {
    min-width: 100%;
    max-width: 100%;
    flex-direction: row;
    margin-bottom: 1.6em;
  }
  .post-type-archive-blog .blogsArchiveLoop aside:nth-of-type(1) h4 {
    font-size: 32px;
  }
  .post-type-archive-blog .blogsArchiveLoop aside:nth-of-type(1) .tags {
    margin-bottom: auto;
  }
  .post-type-archive-blog .blogsArchiveLoop aside:nth-of-type(1) .imageDiv {
    min-width: 50%;
    max-width: 50%;
    padding-top: 36%;
  }
  .post-type-archive-blog .blogsArchiveLoop aside:nth-of-type(1) .padding {
    min-width: 50%;
    max-width: 50%;
    padding: 2em;
  }
  .post-type-archive-blog .blogsArchiveLoop aside:nth-of-type(1) .theExcerpt {
    display: block;
  }
  .post-type-archive-blog .blogsArchiveLoop aside:nth-of-type(1) .featuredBadge {
    display: block;
    position: absolute;
    width: 100%;
    bottom: 0;
    background-color: #043953;
    text-align: center;
  }
  .post-type-archive-blog .blogsArchiveLoop aside:nth-of-type(1) .featuredBadge h5 {
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    margin: 0.8em;
  }
}

@media (min-width: 480px) {
  .single-blogs .blogsArchiveLoop aside:nth-of-type(3) {
    display: none;
  }
}
@media (min-width: 980px) {
  .single-blogs .blogsArchiveLoop aside:nth-of-type(3) {
    display: block;
  }
}

.blogsArchiveLoop .bodyText .btn {
  float: right;
  margin: 4px 0 0 0;
}
.blogsArchiveLoop aside {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s;
}
.blogsArchiveLoop aside h4 {
  font-size: 24px;
  margin-bottom: 0.5em;
}
.blogsArchiveLoop aside .padding {
  padding: 1.5em;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 2;
}
.blogsArchiveLoop aside .imageDiv {
  padding-top: 66%;
  overflow: hidden;
}
.blogsArchiveLoop aside .imageDiv svg {
  position: absolute;
  width: 80%;
  top: 30%;
  left: 10%;
}
.blogsArchiveLoop aside .imageDiv svg .cls-1 {
  fill: rgba(175, 174, 170, 0.5);
}
.blogsArchiveLoop aside:hover {
  transform: scale(103%);
}

.tags a.h5, .tags span.h5, .filter a.h5, .filter span.h5 {
  display: inline-block;
  font-family: "Barlow Condensed", sans-serif;
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 2px;
}

.tags a.h5, .tags span.h5 {
  color: #a88847;
  padding: 0 1em 0 0;
  font-size: 18px;
  text-decoration: none;
}

.filter {
  margin: 2em 0;
}
.filter a.h5 {
  color: #043953;
  padding: 0.3em 1em;
  font-size: 18px;
  margin: 0.2em;
  transition: border 0.3s;
  border: solid 1px transparent;
}
.filter a.h5:hover, .filter a.h5.active {
  border: solid 1px #043953;
}

.date.h5 {
  font-size: 20px;
  color: #afaeaa;
  font-weight: 500;
  margin-top: auto;
  margin-bottom: 0;
}

/*------------------------------------|
|	Buttons                             |
|------------------------------------*/
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.btn,
.btnAlt {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 500;
  line-height: 1em !important;
  text-transform: uppercase;
  cursor: pointer;
  text-align: center;
  padding: 0.6em 1.5em;
  letter-spacing: 2.7px;
  text-decoration: none;
  display: inline-block;
  color: #f7f4ed;
  background-color: #004161;
  border: solid 1px #004161;
  transition: all 0.5s;
  position: relative;
  border-radius: 0;
}
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.btn,
.btnAlt {
  font-size: 16px;
  line-height: 25.6px;
}
@media (min-width: 360px) and (max-width: 1024px) {
  .woocommerce #respond input#submit.alt,
  .woocommerce a.button.alt,
  .woocommerce button.button.alt,
  .woocommerce input.button.alt,
  .woocommerce #respond input#submit,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .btn,
  .btnAlt {
    font-size: calc(16px + num(18px)-num(16px) * (100vw - 360px) / num(1024px)-num(360px));
    line-height: calc((16px + num(18px)-num(16px) * (100vw - 360px) / num(1024px)-num(360px)) * 1.6);
  }
}
@media (min-width: 1024px) {
  .woocommerce #respond input#submit.alt,
  .woocommerce a.button.alt,
  .woocommerce button.button.alt,
  .woocommerce input.button.alt,
  .woocommerce #respond input#submit,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .btn,
  .btnAlt {
    font-size: 18px;
    line-height: 28.8px;
  }
}
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.btn:hover,
.btnAlt:hover {
  background-color: #295b74;
  border: solid 1px #295b74;
  color: #fbf8ef;
}
@media (max-width: 599px) {
  .woocommerce #respond input#submit.alt:not(.single_add_to_cart_button),
  .woocommerce a.button.alt:not(.single_add_to_cart_button),
  .woocommerce button.button.alt:not(.single_add_to_cart_button),
  .woocommerce input.button.alt:not(.single_add_to_cart_button),
  .woocommerce #respond input#submit:not(.single_add_to_cart_button),
  .woocommerce a.button:not(.single_add_to_cart_button),
  .woocommerce button.button:not(.single_add_to_cart_button),
  .woocommerce input.button:not(.single_add_to_cart_button),
  .btn:not(.single_add_to_cart_button),
  .btnAlt:not(.single_add_to_cart_button) {
    width: calc(100% - 3em - 2px);
  }
}
.woocommerce #respond input#submit.alt.m-0,
.woocommerce a.button.alt.m-0,
.woocommerce button.button.alt.m-0,
.woocommerce input.button.alt.m-0,
.woocommerce #respond input#submit.m-0,
.woocommerce a.button.m-0,
.woocommerce button.button.m-0,
.woocommerce input.button.m-0,
.btn.m-0,
.btnAlt.m-0 {
  margin: 0;
}

.btn,
.btnAlt {
  margin-top: 0.5em;
  margin-right: 20px;
}

.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  padding: 0.75em 1.5em;
}

.woocommerce #respond input#submit.alt.disabled,
.woocommerce #respond input#submit.alt.disabled:hover,
.woocommerce #respond input#submit.alt:disabled,
.woocommerce #respond input#submit.alt:disabled:hover,
.woocommerce #respond input#submit.alt:disabled[disabled],
.woocommerce #respond input#submit.alt:disabled[disabled]:hover,
.woocommerce a.button.alt.disabled,
.woocommerce a.button.alt.disabled:hover,
.woocommerce a.button.alt:disabled,
.woocommerce a.button.alt:disabled:hover,
.woocommerce a.button.alt:disabled[disabled],
.woocommerce a.button.alt:disabled[disabled]:hover,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt.disabled:hover,
.woocommerce button.button.alt:disabled,
.woocommerce button.button.alt:disabled:hover,
.woocommerce button.button.alt:disabled[disabled],
.woocommerce button.button.alt:disabled[disabled]:hover,
.woocommerce input.button.alt.disabled,
.woocommerce input.button.alt.disabled:hover,
.woocommerce input.button.alt:disabled,
.woocommerce input.button.alt:disabled:hover,
.woocommerce input.button.alt:disabled[disabled],
.woocommerce input.button.alt:disabled[disabled]:hover {
  color: #fff;
  background-color: #295b74;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:disabled[disabled],
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:disabled[disabled],
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:disabled[disabled],
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:disabled[disabled],
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.disabled,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit:disabled,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit:disabled[disabled],
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.disabled,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:disabled,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:disabled[disabled],
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.disabled,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:disabled,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:disabled[disabled],
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.disabled,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button:disabled,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button:disabled[disabled] {
  color: #fff;
}

.btnAlt {
  background-color: #f6f4ee;
  color: #004161;
  border: solid 1px #004161;
}
.btnAlt:hover {
  background-color: #004161;
  border: solid 1px #004161;
  color: #fff;
}

@media (max-width: 839px) {
  p + .btn {
    margin-top: 20px;
  }
}
@media (min-width: 840px) {
  p + .btn {
    margin-top: 20px;
  }
}

form {
  margin: 0 auto;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
form p {
  min-width: 100%;
  position: relative;
}
form input,
form textarea {
  padding: 10px 20px;
  line-height: 16px;
  font-size: 16px;
  float: left;
}
form input:not(input[type=submit]),
form textarea {
  background-color: #fff;
  border: solid 1px #dcd8cc;
  color: #313131;
  font-family: "Lato", sans-serif;
}
form input:not(input[type=submit]):focus,
form textarea:focus {
  border: solid 1px #004161;
}
form input[type=checkbox] {
  margin: 0.8em 0.5em 0 0;
}
form input[type=submit] {
  cursor: pointer;
  text-transform: uppercase;
  background-color: #004161;
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  color: #fff;
  transition: all 0.25s;
  border: solid 1px #004161;
  padding: 15px 60px;
}
form input[type=submit]:hover {
  background-color: #dcd8cc;
  border: solid 1px #dcd8cc;
}
form ::placeholder {
  opacity: 1;
  color: #313131;
}
form .wpcf7-spinner {
  position: absolute;
  bottom: 50px;
  right: 0;
}
form input[type=radio],
form input[type=checkbox] {
  opacity: 0;
  position: absolute;
  z-index: 2;
}
form input[type=radio] span,
form input[type=checkbox] span {
  position: relative;
  z-index: 1;
}

label,
input[type=radio] + span,
input[type=radio] + span::before,
label,
input[type=checkbox] + span,
input[type=checkbox] + span::before {
  display: inline-block;
  vertical-align: middle;
}

label *,
label * {
  cursor: pointer;
}

.wpcf7-list-item {
  display: block;
}

input[type=radio] + span::before {
  content: "";
  width: 12px;
  height: 12px;
  margin: 0 4px 0 0;
  padding: 0px 1px 0px 0;
  border: solid 1px #004161;
  line-height: 14px;
  text-align: center;
  border-radius: 100%;
  background: #fff;
}

input[type=checkbox] + span::before {
  content: "";
  width: 16px;
  height: 16px;
  line-height: 14px;
  border-radius: 0px;
  background: white;
  border: solid 1px #004161;
  position: absolute;
  left: -20px;
  top: 3px;
}

input[type=checkbox]:checked + span::before {
  background-color: #004161;
  background-image: url("../img/icons/tick.svg");
  background-repeat: no-repeat;
  background-size: contain;
}

input[type=radio]:checked + span::before,
input[type=checkbox]:checked + span::before {
  color: #fff;
}

input[type=radio]:checked + span::before {
  content: "•";
  font-size: 30px;
  line-height: 8px;
}

input[type=radio]:disabled + span,
input[type=checkbox]:disabled + span {
  cursor: default;
  opacity: 0.4;
}

input[type=checkbox] + span {
  position: relative;
}
input[type=checkbox] + span svg {
  opacity: 0;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 2px;
  left: -30px;
  stroke: #fff;
  stroke-width: 7px;
}

input[type=checkbox]:checked + span svg {
  opacity: 1;
}

.wpcf7-acceptance label {
  text-transform: none;
  font-weight: 300;
  letter-spacing: unset;
  font-family: "Lato", sans-serif;
  padding-left: 30px;
  width: calc(100% - 30px);
}

.wpcf7 form .wpcf7-response-output {
  margin: 1em auto;
  border: none;
  color: #aa1919;
}

#searchForm {
  padding: 24px 16px;
  transform: translate3d(0, -20px, 0);
  background-color: #004161;
  opacity: 0;
  visibility: hidden;
  transition: 0.17s ease;
}
#searchForm.show-search-form {
  transform: translate3d(0, 0, 0);
  opacity: 1;
  visibility: visible;
}
#searchForm .search-form {
  max-width: 700px;
  margin: auto;
}
#searchForm label {
  width: calc(100% - 72px);
}
#searchForm input.search-field {
  border: none;
  width: 100%;
  background-color: #fff;
  padding: 12px 24px;
  line-height: 1em;
  font-size: 0.9em;
  color: #313131;
}
#searchForm ::placeholder {
  opacity: 0.5;
  color: #313131;
  text-transform: uppercase;
}
#searchForm .search-form input[type=submit],
#searchForm .search-form button {
  width: 54px;
  padding: 0;
  margin: 0;
  height: 42px;
  color: transparent;
  cursor: pointer;
  outline: 0;
  -webkit-appearance: none;
  border: none;
  position: absolute;
  right: 0px;
  top: 0px;
  background-color: transparent;
  transition: all 0.5s;
}
#searchForm .search-form input[type=submit] svg,
#searchForm .search-form button svg {
  fill: #fff;
  width: 100%;
  height: 100%;
  transition: fill 0.3s;
}
#searchForm .search-form input[type=submit]:hover svg,
#searchForm .search-form button:hover svg {
  fill: rgba(255, 255, 255, 0.8);
  width: 100%;
  height: 100%;
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
#hamburger {
  display: block;
}

.hamburger {
  padding: 0px 0px;
  position: relative;
  z-index: 30;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  background-color: transparent;
  border: 0;
  margin: auto auto auto 0;
}

.hamburger-box {
  width: 30px;
  height: 25px;
  display: block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 26px;
  height: 2px;
  background-color: #fbf8ef;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.hamburger-inner:hover, .hamburger-inner::before:hover, .hamburger-inner::after:hover {
  background-color: #fff;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -8px;
}
.hamburger-inner::after {
  bottom: -8px;
}

/*
 * Squeeze
 */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}
.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}
.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.close {
  position: absolute;
  z-index: 1000000000000;
  top: 20px;
  right: 20px;
  height: 20px;
  width: 20px;
  box-sizing: border-box;
  line-height: 20px;
  display: inline-block;
}
@media (max-width: 767px) {
  .close {
    top: 15px;
    right: 15px;
  }
}
.close:before, .close:after {
  transform: rotate(-45deg);
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -1.5px;
  margin-left: -10px;
  display: block;
  height: 3px;
  width: 20px;
  transition: all 0.25s ease-out;
}
.close:after {
  transform: rotate(-135deg);
}
.close:hover:before, .close:hover:after {
  transform: rotate(0deg);
}

.mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000000;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
}

.modal {
  position: fixed;
  bottom: 50%;
  right: 50%;
  width: 100%;
  height: auto;
  max-width: 1000px;
  max-height: 90%;
  background: #fff;
  z-index: 10000000;
  visibility: hidden;
  opacity: 0;
  transition: 0.3s ease-out;
  transform: translateY(60%) translateX(50%);
  box-shadow: 0 0 101px 0 rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
.modal.withScroll {
  overflow: auto !important;
}
@media (max-width: 1679px) {
  .modal {
    height: 100%;
    max-height: 100%;
  }
}
.modal .wrapper__modal {
  overflow: auto;
  display: block;
}
@media (max-width: 1679px) {
  .modal .wrapper__modal {
    height: 100%;
  }
}
.modal .message {
  width: 100%;
  box-sizing: border-box;
}
.modal .message h2 {
  font-weight: 400;
}
.modal .message p {
  margin-bottom: 20px;
}
.modal .message p:last-of-type {
  margin-bottom: 0;
}
@media (max-width: 1279px) {
  .modal .message h1 {
    margin-top: 15px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJoZWxwZXIvbWl4aW5zL19mb250LnNjc3MiLCJoZWxwZXIvbWl4aW5zL19tYXJnaW4uc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiaGVscGVyL21peGlucy9fbWVkaWEtcXVlcnkuc2NzcyIsImJhc2UvX2ZvbnRzLnNjc3MiLCJiYXNlL19pY29uLWZvbnQuc2NzcyIsImJhc2UvX2ltZ3Muc2NzcyIsImxheW91dC9fYWRtaW4tYmFyLnNjc3MiLCJsYXlvdXQvX2NvbnN0cmFpbmVkLnNjc3MiLCJsYXlvdXQvX2ZsZXhpYmxlLWNvbnRlbnQuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwibGF5b3V0L19oZWFkaW5ncy5zY3NzIiwibGF5b3V0L193b29jb21tZXJjZS5zY3NzIiwibGF5b3V0L19ibG9nLnNjc3MiLCJjb21wb25lbnRzL2J1dHRvbnMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvYnV0dG9ucy9faGFtYnVyZ2VyLnNjc3MiLCJjb21wb25lbnRzL21vZGFsL19tb2RhbC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDUTtBQ0RSO0FDQUE7QUNPQTtFQUNFLFlDd0JNO0VEdkJOLE9DcUJLOzs7QURuQlA7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQSxhQ2ZXO0VEaUJYLGFDZG9CO0VEZXBCO0VBQ0E7RUFDQSxPQ0VLO0VEREwsa0JDWFU7RURZVjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRmpCQTtFQUNFLFdFTTRCO0VGTDVCOztBQUVBO0VBQ0U7SUFDRTtJQU1BOzs7QUFRSjtFQUNFO0lBQUksV0VkNEI7SUZlOUI7Ozs7QUVGUjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsWUNzQnVCO0VEbEJ2Qjs7QUFIQTtFQUNFOztBRXZDRjtFRmlDRjtJQVdJLFlD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QUlKO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QWQ1Rk47RWNpR0k7SUFDRSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnQgZ29vZ2xlIGZvbnRcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUJhcmxvdytDb25kZW5zZWQ6d2dodEAzMDA7NTAwJmZhbWlseT1MYXRvOndnaHRAMzAwOzUwMDs3MDAmZGlzcGxheT1zd2FwJyk7XG5cbi8vIEhlbHBlcnM6IE1peGlucywgZnVuY3Rpb25zLCB2YXJpYWJsZXNcbkBpbXBvcnQgXCJiYXNlL3ZhcmlhYmxlc1wiO1xuXG4vLyBNaXhpbnNcbkBpbXBvcnQgXCJoZWxwZXIvbWl4aW5zL2ZvbnRcIjtcbi8vQGltcG9ydCBcImhlbHBlci9taXhpbnMvcGFkZGluZ1wiO1xuQGltcG9ydCBcImhlbHBlci9taXhpbnMvbWFyZ2luXCI7XG5AaW1wb3J0IFwiaGVscGVyL21peGlucy9tZWRpYS1xdWVyeVwiO1xuXG4vLyBCYXNlOiBEZWZhdWx0IHNldHRpbmdzXG5AaW1wb3J0IFwiYmFzZS9iYXNlXCI7XG5AaW1wb3J0IFwiYmFzZS9mb250c1wiO1xuQGltcG9ydCBcImJhc2UvaWNvbi1mb250XCI7XG5AaW1wb3J0IFwiYmFzZS9pbWdzXCI7XG5cbi8vIFZlbmRvcnM6IFRoaXJkLXBhcnR5IGNzc1xuLy8gQGltcG9ydCBcInZlbmRvci9wdXJlY3NzL2Jhc2VcIjtcbi8vIEBpbXBvcnQgXCJ2ZW5kb3IvcHVyZWNzcy9ncmlkc1wiO1xuLy8gQGltcG9ydCBcInZlbmRvci9wdXJlY3NzL2dyaWRzLXJlc3BvbnNpdmVcIjtcbi8vIC8vQGltcG9ydCBcInZlbmRvci9zbGljay9zbGljay1zbGlkZXJcIjtcbi8vIC8vQGltcG9ydCBcInZlbmRvci9zZWxlY3QyL3NlbGVjdDJcIjtcbi8vIEBpbXBvcnQgXCJ2ZW5kb3IvYW5pbWF0ZS9hbmltYXRlXCI7XG5cbi8vIExheW91dDogTWFqb3Igc2VjdGlvbnMgKGwtIHByZWZpeClcbkBpbXBvcnQgXCJsYXlvdXQvYWRtaW4tYmFyXCI7XG5AaW1wb3J0IFwibGF5b3V0L2NvbnN0cmFpbmVkXCI7XG5AaW1wb3J0IFwibGF5b3V0L2ZsZXhpYmxlLWNvbnRlbnRcIjtcbkBpbXBvcnQgXCJsYXlvdXQvaGVhZGVyXCI7XG5AaW1wb3J0IFwibGF5b3V0L2Zvb3RlclwiO1xuQGltcG9ydCBcImxheW91dC9oZWFkaW5nc1wiO1xuQGltcG9ydCBcImxheW91dC93b29jb21tZXJjZVwiO1xuQGltcG9ydCBcImxheW91dC9ibG9nXCI7XG5cblxuLy8gQ29tcG9uZW50czogUmV1c2FibGUgbW9kdWxlcyBvciB3aWRnZXRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvbnMvaGFtYnVyZ2VyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zbGlkZXJzL3NsaWRlcnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21vZGFsL21vZGFsXCI7XG5cbi8vIFRoZW1lOiBUZW1wbGF0ZXMgYW5kIHNwZWNpZmljIHNlY3Rpb25zXG4vL0BpbXBvcnQgXCJ0aGVtZS9ob21lcGFnZVwiO1xuIiwiLyogUmVzcG9uc2l2ZSBGb250IHNpemUgKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb250IHNpemUgbWl4aW5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyAgZGVmYXVsdCBmb250IHNjYWxlIGJvdW5kaW5nXG4kZm9udC1sb2NrLW1pbjogIDM2MHB4ICFkZWZhdWx0O1xuJGZvbnQtbG9jay1tYXg6IDEwMjRweCAhZGVmYXVsdDtcblxuLy8gIGZvbnQtc2l6ZVxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKFxuICAkbWluLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBmb250LXNpemVcbiAgJG1heDogbnVsbCwgICAgICAgICAgICAgICAgICAgLy8gb3B0aW9uYWwgbWF4aW11bSBmb250IHNpemVcbiAgJGxvY2stbWluOiAkZm9udC1sb2NrLW1pbiwgIC8vIG9wdGlvbmFsIG1pbmltdW0gdmlld3BvcnQgd2lkdGhcbiAgJGxvY2stbWF4OiAkZm9udC1sb2NrLW1heCAgIC8vIG9wdGlvbmFsIG1heGltdW0gdmlld3BvcnQgd2lkdGhcbil7XG4gICYge1xuICAgIGZvbnQtc2l6ZTogJG1pbjtcbiAgICBsaW5lLWhlaWdodDogKCRtaW4gKiAxLjU2KTt9XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGxvY2stbWluKSBhbmQgKG1heC13aWR0aDogJGxvY2stbWF4KXtcbiAgICAgICYge1xuICAgICAgICBmb250LXNpemU6IGNhbGMoXG4gICAgICAgICAgICAgICAgI3skbWlufSArXG4gICAgICAgICAgICAgICAgI3tudW0oJG1heCkgLSBudW0oJG1pbil9ICpcbiAgICAgICAgICAgICAgICAoMTAwdncgLSAjeyRsb2NrLW1pbn0pIC9cbiAgICAgICAgICAgICAgICAje251bSgkbG9jay1tYXgpIC0gbnVtKCRsb2NrLW1pbil9XG4gICAgICAgICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKChcbiAgICAgICAgI3skbWlufSArXG4gICAgICAgICN7bnVtKCRtYXgpIC0gbnVtKCRtaW4pfSAqXG4gICAgICAgICgxMDB2dyAtICN7JGxvY2stbWlufSkgL1xuICAgICAgICAje251bSgkbG9jay1tYXgpIC0gbnVtKCRsb2NrLW1pbil9KSAqIDEuNTZcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRsb2NrLW1heCl7XG4gICAgICAmIHsgZm9udC1zaXplOiAkbWF4O1xuICAgICAgICBsaW5lLWhlaWdodDogKCRtYXggKiAxLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnQgc2l6ZSBtaXhpblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vICBkZWZhdWx0IGZvbnQgc2NhbGUgYm91bmRpbmdcblxuLy8gIGZvbnQtc2l6ZVxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplLWhlYWRpbmcgKFxuICAkbWluLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBmb250LXNpemVcbiAgJG1heDogbnVsbCwgICAgICAgICAgICAgICAgICAgLy8gb3B0aW9uYWwgbWF4aW11bSBmb250IHNpemVcbiAgJGxvY2stbWluOiAkZm9udC1sb2NrLW1pbiwgIC8vIG9wdGlvbmFsIG1pbmltdW0gdmlld3BvcnQgd2lkdGhcbiAgJGxvY2stbWF4OiAkZm9udC1sb2NrLW1heCAgIC8vIG9wdGlvbmFsIG1heGltdW0gdmlld3BvcnQgd2lkdGhcbil7XG4gICYgeyBmb250LXNpemU6ICRtaW47XG4gICAgbGluZS1oZWlnaHQ6ICgkbWluICogMS42KTt9XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGxvY2stbWluKSBhbmQgKG1heC13aWR0aDogJGxvY2stbWF4KXtcbiAgICAgICYge1xuICAgICAgICBmb250LXNpemU6IGNhbGMoXG4gICAgICAgICAgICAgICAgI3skbWlufSArXG4gICAgICAgICAgICAgICAgI3tudW0oJG1heCkgLSBudW0oJG1pbil9ICpcbiAgICAgICAgICAgICAgICAoMTAwdncgLSAjeyRsb2NrLW1pbn0pIC9cbiAgICAgICAgICAgICAgICAje251bSgkbG9jay1tYXgpIC0gbnVtKCRsb2NrLW1pbil9XG4gICAgICAgICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKChcbiAgICAgICAgI3skbWlufSArXG4gICAgICAgICN7bnVtKCRtYXgpIC0gbnVtKCRtaW4pfSAqXG4gICAgICAgICgxMDB2dyAtICN7JGxvY2stbWlufSkgL1xuICAgICAgICAje251bSgkbG9jay1tYXgpIC0gbnVtKCRsb2NrLW1pbil9KSAqIDEuNlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGxvY2stbWF4KXtcbiAgICAgICYgeyBcbiAgICAgICAgZm9udC1zaXplOiAkbWF4O1xuICAgICAgICBsaW5lLWhlaWdodDogKCRtYXggKiAxLjYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvKiBSZXNwb25zaXZlIFBhZGRpbmcgKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQYWRkaW5nIG1peGluXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1hcmdpbi1sb2NrLW1pbjogJG1pbi13aWR0aCAhZGVmYXVsdDtcbiRtYXJnaW4tbG9jay1tYXg6ICRtYXgtd2lkdGggIWRlZmF1bHQ7XG5cbi8vICBtYXJnaW4tc2l6ZVxuQG1peGluIHJlc3BvbnNpdmUtbWFyZ2luLXRvcC1ib3R0b20gKFxuICAkbWluLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tc2l6ZVxuICAkbWF4OiBudWxsLCAgICAgICAgICAgICAgICAgICAvLyBvcHRpb25hbCBtYXhpbXVtIG1hcmdpbiBzaXplXG4gICRsb2NrLW1pbjogJG1hcmdpbi1sb2NrLW1pbiwgIC8vIG9wdGlvbmFsIG1pbmltdW0gdmlld3BvcnQgd2lkdGhcbiAgJGxvY2stbWF4OiAkbWFyZ2luLWxvY2stbWF4ICAgLy8gb3B0aW9uYWwgbWF4aW11bSB2aWV3cG9ydCB3aWR0aFxuKXtcbiAgJiB7IG1hcmdpbi10b3A6ICRtaW47XG4gICAgbWFyZ2luLWJvdHRvbTogJG1pbjt9XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGxvY2stbWluKSBhbmQgKG1heC13aWR0aDogJGxvY2stbWF4KXtcbiAgICAgICYge1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKFxuICAgICAgICAgICAgICAgICN7JG1pbn0gK1xuICAgICAgICAgICAgICAgICN7bnVtKCRtYXgpIC0gbnVtKCRtaW4pfSAqXG4gICAgICAgICAgICAgICAgKDEwMHZ3IC0gI3skbG9jay1taW59KSAvXG4gICAgICAgICAgICAgICAgI3tudW0oJGxvY2stbWF4KSAtIG51bSgkbG9jay1taW4pfVxuICAgICAgICApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKFxuICAgICAgICAgICAgICAgICN7JG1pbn0gK1xuICAgICAgICAgICAgICAgICN7bnVtKCRtYXgpIC0gbnVtKCRtaW4pfSAqXG4gICAgICAgICAgICAgICAgKDEwMHZ3IC0gI3skbG9jay1taW59KSAvXG4gICAgICAgICAgICAgICAgI3tudW0oJGxvY2stbWF4KSAtIG51bSgkbG9jay1taW4pfVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGxvY2stbWF4KXtcbiAgICAgICYgeyBtYXJnaW4tdG9wOiAkbWF4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWF4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAgbWFyZ2luLXNpemVcbkBtaXhpbiByZXNwb25zaXZlLW1hcmdpbi1sZWZ0LXJpZ2h0IChcbiAgJG1pbiwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLXNpemVcbiAgJG1heDogbnVsbCwgICAgICAgICAgICAgICAgICAgLy8gb3B0aW9uYWwgbWF4aW11bSBtYXJnaW4gc2l6ZVxuICAkbG9jay1taW46ICRtYXJnaW4tbG9jay1taW4sICAvLyBvcHRpb25hbCBtaW5pbXVtIHZpZXdwb3J0IHdpZHRoXG4gICRsb2NrLW1heDogJG1hcmdpbi1sb2NrLW1heCAgIC8vIG9wdGlvbmFsIG1heGltdW0gdmlld3BvcnQgd2lkdGhcbil7XG4gICYgeyBtYXJnaW4tbGVmdDogJG1pbjtcbiAgICBtYXJnaW4tcmlnaHQ6ICRtaW47fVxuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRsb2NrLW1pbikgYW5kIChtYXgtd2lkdGg6ICRsb2NrLW1heCl7XG4gICAgICAmIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgI3skbWlufSArXG4gICAgICAgICAgICAgICAgI3tudW0oJG1heCkgLSBudW0oJG1pbil9ICpcbiAgICAgICAgICAgICAgICAoMTAwdncgLSAjeyRsb2NrLW1pbn0pIC9cbiAgICAgICAgICAgICAgICAje251bSgkbG9jay1tYXgpIC0gbnVtKCRsb2NrLW1pbil9XG4gICAgICAgICk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyhcbiAgICAgICAgICAgICAgICAjeyRtaW59ICtcbiAgICAgICAgICAgICAgICAje251bSgkbWF4KSAtIG51bSgkbWluKX0gKlxuICAgICAgICAgICAgICAgICgxMDB2dyAtICN7JGxvY2stbWlufSkgL1xuICAgICAgICAgICAgICAgICN7bnVtKCRsb2NrLW1heCkgLSBudW0oJGxvY2stbWluKX1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRsb2NrLW1heCl7XG4gICAgICAmIHsgbWFyZ2luLWxlZnQ6ICRtYXg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJG1heDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cdEJhc2Vcbi8vXG4vLyBEZWZpbmVkIGJhc2ljIHN0eWxlcyBvciByZXNldCBlbGVtZW50c1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2VsZWN0aW9uIGNvbG91clxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgY29sb3I6ICRib2R5O1xufVxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjZmZmMmE4O1xuICBjb2xvcjogIzY2Njtcbn1cblxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbmJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1hbHBoYTtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250LXNpemUoMTVweCwgMTZweCk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIGNvbG9yOiAkYm9keTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHN0b25lUGFsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRpdiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbjpmb2N1cyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjMDA1ZmNjO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG5tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJG1haW4tbmF2aWdhdGlvbi1oZWlnaHQ7XG4gIC5oYW1idXJnZXJPcGVuICYge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBtZWRpYU1heCgkdGFibGV0LWwpIHtcbiAgICBtYXJnaW4tdG9wOiAkbW9iaWxlLW5hdmlnYXRpb24taGVpZ2h0O1xuICB9XG5cbiAgc2VjdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxudWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYm9keVRleHQgdWwge1xuICBtYXJnaW46IDAgMCAxLjVlbSAwO1xuICBwYWRkaW5nOiAwIDAgMCAxLjVlbTtcbiAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi8vXG4uYm9keVRleHQgYTpub3QoLmJ0bik6bm90KC5idG5BbHQpOm5vdCguYnV0dG9uKSxcbi50aGVDb250ZW50IGEsXG4uZm9ybS1yb3cgYSxcbi53b29jb21tZXJjZSB0YWJsZSBhLFxuLndvb2NvbW1lcmNlLW1lc3NhZ2UgYSxcbmEud2MtZm9yd2FyZCB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAvLyAgZm9udC1mYW1pbHk6ICRmb250LWFscGhhO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICRhbGx5LWRhcmtzYW5kO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlcjtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRibHVlTGlnaHQ7XG4gIH1cbn1cblxuLkNvb2tpZURlY2xhcmF0aW9uIHtcbiAgYTpub3QoLmJ0bik6bm90KC5idG5BbHQpOm5vdCguYnV0dG9uKSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG5cbmgxLFxuaDIsXG5oMyxcbnAge1xuICBtYXJnaW46IDA7XG59XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5pIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5ociB7XG4gIG1hcmdpbjogM2VtIDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogc29saWQgMnB4IHJnYmEoJGJvZHksIDAuMyk7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7XG59XG5cbm5hdiB7XG4gICYuYmxvY2sge1xuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAmLmlubGluZSB7XG4gICAgdWwgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4uZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZmxleEVxdWFsID4gKiB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogMDtcbn1cbi5mbGV4V3JhcCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5mbGV4Q29sIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLy8gVkVSVElDQUwgQ0VOVEVSIEFMSUdOXG4uY2VudGVyVmVydGljYWxseSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAuYm9keVRleHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4uYm9keVRleHQgcDpudGgtbGFzdC1vZi10eXBlKDEpIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm92ZXJmbG93SGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQGluY2x1ZGUgbWVkaWFNaW4oJHBob25lLWwpIHtcbiAgLm1vYmlsZU9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLm1vYmlsZU9ubHkyIHtcbiAgQGluY2x1ZGUgbWVkaWFNaW4oJHRhYmxldC1tKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5idG4ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQGluY2x1ZGUgbWVkaWFNYXgoJHBob25lLWwpIHtcbiAgLmRlc2t0b3BPbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIEltYWdlcnlcblxuLmFjdGl2ZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5hY3RpdmUgKyAubW9kYWwge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG59XG5cbi5saXN0LS1pbmxpbmUge1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG59XG5cbi5ibG9jay0taW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4vKiBWSURFTyAgKi9cbi52aWRlb3dyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTtcbiAgaGVpZ2h0OiAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG59IC8vIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG4udmlkZW93cmFwcGVyIGlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4vLyBDT09LSUUgQk9UXG4jQ3lib3RDb29raWVib3REaWFsb2dQb3dlcmVkYnlDeWJvdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5Db29raWVib3RXaWRnZXQtbWFpbi1sb2dvIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuI0N5Ym90Q29va2llYm90RGlhbG9nUG93ZXJlZEJ5VGV4dCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiNDeWJvdENvb2tpZWJvdERpYWxvZ0RldGFpbEZvb3RlciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5Db29raWVEZWNsYXJhdGlvbkxhc3RVcGRhdGVkIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBQQUdJTkFUSU9OXG4ucGFnaW5hdGlvbiB7XG4gIGgyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIG1hcmdpbi10b3A6IDgwcHg7XG4gIC5uYXYtbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5wYWdlLW51bWJlcnMge1xuICAgICAgY29sb3I6ICRib2R5O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgIG1hcmdpbjogMCA0cHg7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmx1ZSwgMC4xKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnByZXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgLm5leHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5tLTAge1xuICBtYXJnaW46IDA7XG59XG5cbi5wYWdlNDA0IHtcbiAgbWFyZ2luOiAwIDAgMmVtIDA7XG4gIHBhZGRpbmc6IDNlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWJldGE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAuYnRuIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWFNaW4oJHRhYmxldC1tKSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAxMGVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuNWVtICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAuNWVtIDAgMC4yZW0gMDtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1x0VmFyaWFibGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGb250IFNpemVzXG4kYmFzZS1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xuXG4vLyBGb250IEZhY2VzXG4kZm9udC1hbHBoYTogXCJMYXRvXCIsIHNhbnMtc2VyaWY7XG4kZm9udC1iZXRhOiBcIkJhcmxvdyBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcblxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDMwMDtcbiRmb250LXdlaWdodC1ib2xkOiA1MDA7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiA3MDA7XG4vLyBCb3ggTW9kZWxcbiRib3gtbW9kZWw6IGJvcmRlci1ib3g7XG5cbi8vIE1ZIENPTE9VUlNcbiRzdG9uZVBhbGU6ICNmN2Y0ZWQ7XG4kYmx1ZTogIzAwNDE2MTtcbiRibHVlTGlnaHQ6ICMyOTViNzQ7XG4kYmx1ZURhcms6ICMwNDM5NTM7XG4kYmxvZ0JsdWU6ICMxOTQwNWU7XG4kYmxvZ0JsdWVEYXJrOiAjMTQzYTU3O1xuJHNhbmQ6ICNhODg4NDc7XG4kYWxseS1zYW5kOiAjQ0JBRDZBO1xuJGFsbHktZGFya3NhbmQgOiAjODU2QTM4O1xuJHN0b25lOiAjZGNkOGNjO1xuJGJsb2dTdG9uZTogI2FmYWVhYTtcbiRzdG9uZUxpZ2h0OiAjZjZmNGVlO1xuJGJvZHk6ICMzMTMxMzE7XG4kbm90QmxhY2s6ICMyZjJmMmY7XG4kd2hpdGU6ICNmZmY7XG4kbm90V2hpdGU6ICNmYmY4ZWY7XG4vLyBPTERcbiRURU1QOiBwaW5rO1xuXG4kaW1hZ2UtcGxhY2Vob2xkZXI6ICNlYWVhZWE7XG5cbi8vIFotaW5kZXggZGVwdGhcbiR6LWluZGV4OiAoXG4gIGhhbWJ1cmd1ZXI6IDMwMCxcbiAgbW9kYWw6IDIwMCxcbiAgbmF2aWdhdGlvbjogMTAwLFxuICBmb290ZXI6IDkwLFxuICB0cmlhbmdsZTogNjAsXG4gIHNoYXJlOiA0MCxcbiAgb3ZlcmxheTogMTAsXG4pO1xuXG4vLyBCcmVha3BvaW50c1xuJHBob25lLXM6IDMyMHB4OyAvLyBwdXJlLXUtcC1cbiRwaG9uZS1tOiA0ODBweDtcbiRwaG9uZS1sOiA2MDBweDsgLy8gcHVyZS11LXBsLVxuJHRhYmxldC1zOiA3NjhweDsgLy8gcHVyZS11LXRzLVxuJHRhYmxldC1tOiA4NDBweDsgLy8gcHVyZS11LXRtLVxuJHRhYmxldDogOTgwcHg7IC8vIHB1cmUtdS10LVxuJHRhYmxldC1sOiAxMDI0cHg7IC8vIHB1cmUtdS10bC1cbiR0YWJsZXQteGw6IDExMjRweDsgLy8gcHVyZS11LXR4bC1cbiRsYXB0b3AtczogMTI4MHB4OyAvLyBwdXJlLXUtbHMtXG4kbGFwdG9wOiAxMzgwcHg7XG4kbGFwdG9wLWw6IDE2ODBweDtcbiRkZXNrdG9wOiAyMDAwcHg7XG5cbi8vIFNpemVzXG4kdmVyeS1tYXgtd2lkdGg6IDE0MDBweDtcbiRtYXgtd2lkdGg6IDEyMDBweDtcbiRtaWQtd2lkdGg6IDgwMHB4O1xuJG1pbi13aWR0aDogMzYwcHg7XG5cbiRhZG1pbi1iYXItaGVpZ2h0OiA0NnB4O1xuJG5hdi1iYXItaGVpZ2h0OiA4MHB4O1xuJG1haW4tbmF2aWdhdGlvbi1oZWlnaHQ6IDkwcHg7XG4kbW9iaWxlLW5hdmlnYXRpb24taGVpZ2h0OiA3NHB4O1xuXG4vLyBTcGFjaW5nXG4kZ2xvYmFsLWd1dHRlcjogMjBweDtcbiRjb2x1bW4tc3BhY2luZzogMTVweDtcbiRnbG9iYWwtc3BhY2luZzogMzJweDtcbiRibG9jay1zcGFjaW5nLW1heDogOTBweDtcbiRibG9jay1zcGFjaW5nLW1pbjogNDBweDtcbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXHRNZWRpYSBRdWVyeSBNaXhpbnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWluLVdpZHRoOlxuQG1peGluIG1lZGlhTWluKCRtaW5XaWR0aCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbldpZHRoKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbi8vIE1heC1XaWR0aDpcbkBtaXhpbiBtZWRpYU1heCgkbWluV2lkdGgpIHtcbiAgJG1heFdpZHRoOiAoJG1pbldpZHRoIC0gMSk7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4V2lkdGgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuLy8gTWluIFdpZHRoICYgTWF4LVdpZHRoOlxuQG1peGluIG1lZGlhQm91bmQoJG1pbldpZHRoLCAkbWF4V2lkdGgpIHtcbiAgJG1heDogKCRtYXhXaWR0aCAtIDEpO1xuICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbldpZHRoKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbnxcdEZvbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cblxuICAgIFxuICAgICAgICBcbiAgICBcbiAgICBib2R5IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWFscGhhO1xuICAgIH0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Mb2FkIGN1c3RvbSBmb250IHdpdGggeW91ciBTVkcgYXNzZXRzXG5cbjEuIEdvIHRvIGh0dHBzOi8vYXBwLmZvbnRhc3RpYy5tZS9hY2NvdW50cy9sb2dpbi8gKGRldGFpbHMgb24gTGFzdFBhc3MpLCBjcmVhdGUgYW5kIGRvd25sb2FkIHlvdXIgZm9udCBraXQuXG4yLiBDb3B5IHRoZSBDU1MgYmVsbG93IHRoaXMgY29tbWVudCBhbmQgbG9hZCBqdXN0IHRoZSBXT0ZGIGZpbGUgZm9ybWF0LlxuMy4gQ29weSB5b3VyIGN1c3RvbSBmb250IG9uIGFzc2V0cy9mb250c1xuICovIiwiLyogV29yZHByZXNzIGltYWdlIGFsaWdubWVudCAqL1xuLmFsaWducmlnaHQge2Zsb2F0OnJpZ2h0OyBtYXJnaW46MCAwIDFlbSAxZW19XG4uYWxpZ25sZWZ0IHtmbG9hdDpsZWZ0OyBtYXJnaW46MCAxZW0gMWVtIDB9XG4uYWxpZ25jZW50ZXIge2Rpc3BsYXk6IGJsb2NrOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvfVxuLmFsaWducmlnaHQsIC5hbGlnbmxlZnQsIC5hbGlnbmNlbnRlciwgLmFsaWdubm9uZSB7bWF4LXdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87fVxuLmFsaWducmlnaHQsIC5hbGlnbmxlZnQsIC5hbGlnbmNlbnRlciwgLmFsaWdubm9uZSB7aW1ne21heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvO319XG4uaGFzLXRleHQtYWxpZ24tY2VudGVye3RleHQtYWxpZ246IGNlbnRlcjt9XG4uaGFzLXRleHQtYWxpZ24tcmlnaHR7dGV4dC1hbGlnbjogcmlnaHQ7fVxuLndwLWNhcHRpb24tdGV4dCB7IHRleHQtYWxpZ246IGNlbnRlcjsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTt9IiwiI3dwYWRtaW5iYXIge1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogNDZweDtcblxuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDMwMHB4O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAmLmF2YXRhci02NCB7XG4gICAgICBoZWlnaHQ6IDY0cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuYWItaXRlbSB7XG4gIH1cblxuICAuYWItaWNvbjo6YmVmb3JlLFxuICAuYWItaXRlbTo6YmVmb3JlLFxuICAjYWRtaW5iYXJzZWFyY2g6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC5xdWlja2xpbmtzID4gdWwgPiBsaSA+IGEsICN3cC1hZG1pbi1iYXItc2VhcmNoIHtcbiAgICBwYWRkaW5nOiA3cHggMTJweDtcbiAgfVxuXG4gICN3cC1hZG1pbi1iYXItd3AtbG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiBGaXhlcyBpc3N1ZSBjYXVzZWQgYnkgV1AgVjQuMi4yICovXG4jd3BhZG1pbmJhciBkaXYud3AtbWVudS1pbWFnZTpiZWZvcmUge1xuICBjb2xvcjogI2EwYTVhYTtcbn1cblxuI3dwYWRtaW5iYXIsICN3cGFkbWluYmFyIC53cC1zdWJtZW51LCAjd3BhZG1pbmJhcmJhY2ssICN3cGFkbWluYmFyd3JhcCwgLyogU3ViIE1lbnUgKi9cbiN3cGFkbWluYmFyIC53cC1oYXMtY3VycmVudC1zdWJtZW51IC53cC1zdWJtZW51LCAjd3BhZG1pbmJhciAud3AtaGFzLWN1cnJlbnQtc3VibWVudSAud3Atc3VibWVudS5zdWItb3BlbiwgI3dwYWRtaW5iYXIgLndwLWhhcy1jdXJyZW50LXN1Ym1lbnUub3BlbnN1YiAud3Atc3VibWVudSwgI3dwYWRtaW5iYXIgYS53cC1oYXMtY3VycmVudC1zdWJtZW51OmZvY3VzICsgLndwLXN1Ym1lbnUsIC5uby1qcyBsaS53cC1oYXMtY3VycmVudC1zdWJtZW51OmhvdmVyIC53cC1zdWJtZW51IHtcbiAgYmFja2dyb3VuZDogIzM0OThkYjtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U0ZTRlNDtcbn1cblxuI3dwYWRtaW5iYXIgLmF3YWl0aW5nLW1vZCwgI3dwYWRtaW5iYXIgLnVwZGF0ZS1wbHVnaW5zIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuI2NvbGxhcHNlLW1lbnUsXG4jY29sbGFwc2UtYnV0dG9uIGRpdjphZnRlciB7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4jd3BhZG1pbmJhciAud3AtaGFzLWN1cnJlbnQtc3VibWVudSAud3Atc3VibWVudSAud3Atc3VibWVudS1oZWFkLCAjd3BhZG1pbmJhciAud3AtbWVudS1hcnJvdywgI3dwYWRtaW5iYXIgLndwLW1lbnUtYXJyb3cgZGl2LCAjd3BhZG1pbmJhciBsaS5jdXJyZW50IGEubWVudS10b3AsICN3cGFkbWluYmFyIGxpLndwLWhhcy1jdXJyZW50LXN1Ym1lbnUgYS53cC1oYXMtY3VycmVudC1zdWJtZW51LCAuZm9sZGVkICN3cGFkbWluYmFyIGxpLmN1cnJlbnQubWVudS10b3AsIC5mb2xkZWQgI3dwYWRtaW5iYXIgbGkud3AtaGFzLWN1cnJlbnQtc3VibWVudSwgLyogSG92ZXIgYWN0aW9ucyAqL1xuI3dwYWRtaW5iYXIgbGkubWVudS10b3A6aG92ZXIsICN3cGFkbWluYmFyIGxpLm9wZW5zdWIgPiBhLm1lbnUtdG9wLCAjd3BhZG1pbmJhciBsaSA+IGEubWVudS10b3A6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjRkZGXG59XG5cbiN3cGFkbWluYmFyIGxpLndwLW1lbnUtc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogbm9uZVxufVxuXG4jd3BhZG1pbmJhciAud3Atc3VibWVudS1oZWFkLCAjd3BhZG1pbmJhciBhLm1lbnUtdG9wIHtcbiAgcGFkZGluZzogN3B4IDBcbn1cblxuLmZvbGRlZCAjd3BhZG1pbmJhciAud3Atc3VibWVudS1oZWFkLCAuZm9sZGVkICN3cGFkbWluYmFyIGEubWVudS10b3Age1xuICBwYWRkaW5nOiA1cHggMFxufVxuXG4jd3BhZG1pbmJhciAud3Atbm90LWN1cnJlbnQtc3VibWVudSAud3Atc3VibWVudSwgLmZvbGRlZCAjd3BhZG1pbmJhciAud3AtaGFzLWN1cnJlbnQtc3VibWVudSAud3Atc3VibWVudSB7XG4gIHBhZGRpbmc6IDEwcHhcbn1cblxuI3dwYWRtaW5iYXIgbGkud3AtaGFzLWN1cnJlbnQtc3VibWVudSBhLndwLWhhcy1jdXJyZW50LXN1Ym1lbnUgZGl2LndwLW1lbnUtbmFtZSB7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG51bCN3cGFkbWluYmFyIGEud3AtaGFzLWN1cnJlbnQtc3VibWVudTphZnRlciwgdWwjd3BhZG1pbmJhciA+IGxpLmN1cnJlbnQgPiBhLmN1cnJlbnQ6YWZ0ZXIsICN3cGFkbWluYmFyIGxpLndwLWhhcy1zdWJtZW51LndwLW5vdC1jdXJyZW50LXN1Ym1lbnUub3BlbnN1Yjpob3ZlcjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cblxuI3dwYWRtaW5iYXIgbGkubWVudS10b3Age1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZTRlNFxufVxuXG4jd3BhZG1pbmJhciBkaXYud3AtbWVudS1uYW1lIHtcbiAgY29sb3I6ICM2NjZcbn1cblxuLyoud3JhcCBoMiB7XG5mb250LXNpemU6MzRweDtcbmZvbnQtd2VpZ2h0OjEwMDtcbnBhZGRpbmc6MzBweCAyNXB4IDI0cHggMFxufSovXG5cbi53cmFwIC5hZGQtbmV3LWgyLCAud3JhcCAuYWRkLW5ldy1oMjphY3RpdmUge1xuICBjb2xvcjogI0ZGRjtcbiAgdG9wOiAtOHB4XG59XG5cbi51cGRhdGUtY29yZS1waHAgaDIge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbiN0aXRsZWRpdiAjdGl0bGUtcHJvbXB0LXRleHQge1xuICBmb250LXNpemU6IDEuMmVtO1xuICBmb250LXdlaWdodDogMTAwXG59XG5cbmRpdi51cGRhdGVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lXG59XG5cbmlucHV0W3R5cGU9ZW1haWxdLCBpbnB1dFt0eXBlPW51bWJlcl0sIGlucHV0W3R5cGU9cGFzc3dvcmRdLCBpbnB1dFt0eXBlPXNlYXJjaF0sIGlucHV0W3R5cGU9dGVsXSwgaW5wdXRbdHlwZT10ZXh0XSwgaW5wdXRbdHlwZT11cmxdLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgYm94LXNoYWRvdzogbm9uZVxufVxuXG4ucG9zdGJveCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1lbnUudWktc29ydGFibGUgLm1lbnUtaXRlbS1oYW5kbGUsIC5tZXRhLWJveC1zb3J0YWJsZXMudWktc29ydGFibGUgLmhuZGxlIHtcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNVxufVxuXG4jbWFqb3ItcHVibGlzaGluZy1hY3Rpb25zIHtcbiAgYmFja2dyb3VuZDogI0ZGRjtcbiAgcGFkZGluZzogMFxufVxuXG4jZGVsZXRlLWFjdGlvbiB7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlclxufVxuXG4jZGVsZXRlLWFjdGlvbiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmVcbn1cblxuI3B1Ymxpc2hpbmctYWN0aW9uIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJVxufVxuXG4jcHVibGlzaGluZy1hY3Rpb24gLnNwaW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IG5vbmU7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW46IDA7XG59XG5cbiNwdWJsaXNoaW5nLWFjdGlvbiAuc3Bpbm5lci5pcy1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuI3B1Ymxpc2hpbmctYWN0aW9uICNwdWJsaXNoIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDVweCA1cHg7XG59XG5cbi53cC1jb3JlLXVpIC5idXR0b24sIC53cC1jb3JlLXVpIC5idXR0b24tcHJpbWFyeSwgLndwLWNvcmUtdWkgLmJ1dHRvbi1zZWNvbmRhcnkge1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAwXG59XG5cbi53cC1jb3JlLXVpIC5idXR0b24uYnV0dG9uLXByaW1hcnkuYnV0dG9uLWhlcm8ge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ud3AtY29yZS11aSAuYnV0dG9uLCAud3AtY29yZS11aSAuYnV0dG9uLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICNlNGU0ZTRcbn1cblxuLndwLWNvcmUtdWkgLmJ1dHRvbjpob3ZlciwgLndwLWNvcmUtdWkgLmJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC53cC1jb3JlLXVpIC5idXR0b24tcHJpbWFyeSB7XG4gIGNvbG9yOiAjRkZGXG59XG5cbi53cC1jb3JlLXVpIC5idXR0b246aG92ZXIgc3Bhbi53cC1tZWRpYS1idXR0b25zLWljb246YmVmb3JlLCAud3AtY29yZS11aSAuYnV0dG9uLXNlY29uZGFyeTpob3ZlciBzcGFuLndwLW1lZGlhLWJ1dHRvbnMtaWNvbjpiZWZvcmUge1xuICBjb2xvcjogI0ZGRlxufVxuXG4ud3AtbWVkaWEtYnV0dG9ucyAuaW5zZXJ0LW1lZGlhIHtcbiAgZm9udC1zaXplOiAxMnB4XG59XG5cbi53cC1tZWRpYS1idXR0b25zIC5hZGRfbWVkaWEgc3Bhbi53cC1tZWRpYS1idXR0b25zLWljb246YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnRcbn1cblxuZGl2Lm1jZS10b29sYmFyLWdycCwgLmh0bWwtYWN0aXZlIC5zd2l0Y2gtaHRtbCwgLnRtY2UtYWN0aXZlIC5zd2l0Y2gtdG1jZSB7XG4gIGJhY2tncm91bmQ6ICNGRkYgIWltcG9ydGFudFxufVxuXG4jYWNmLWNvbC1yaWdodCB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cblxuI2FjZi1jb2wtbGVmdCB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50XG59XG5cbi52Y19uYXZiYXIuc3VibmF2LWZpeGVkIHtcbiAgdG9wOiA0MHB4ICFpbXBvcnRhbnRcbn1cblxuLndwLWxpc3QtdGFibGUge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18XG58XHRDb250ZW50IFdyYXAgICAgICAgICAgICAgICAgICAgICAgICB8XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyotLS0tIExpbWl0cyB3aWR0aCBvZiBjb250ZW50LCBhZGRzIHNpZGUgcGFkZGluZywgJiBhbGxvd3MgYmFja2dyb3VuZCBjb2xvdXJzIHRvIGV4dGVuZCB0byBzY3JlZW4gZWRnZSAtLS0tKi9cblxuLmNvbnN0cmFpbmVkIHtcbiAgbWF4LXdpZHRoOiAkdmVyeS1tYXgtd2lkdGg7XG4gIHBhZGRpbmctbGVmdDogNjBweDtcbiAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1tKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLmNvbnN0cmFpbmVkTWVkaXVtIHtcbiAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gIHBhZGRpbmctbGVmdDogNjBweDtcbiAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1tKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLmNvbnN0cmFpbmVkUGFyYWdyYXBoIHtcbiAgbWF4LXdpZHRoOiAxMTc1cHg7XG4gIHBhZGRpbmctbGVmdDogNjBweDtcbiAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1tKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLmNvbnN0cmFpbmVkQmxvZyB7XG4gIG1heC13aWR0aDogOTcwcHg7XG4gIHBhZGRpbmctbGVmdDogNjBweDtcbiAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1tKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLmNvbnN0cmFpbmVkU21hbGwge1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIG1lZGlhTWF4KCR0YWJsZXQtbSkge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhTWF4KCR0YWJsZXQtbSkge1xuICAuY29uc3RyYWluZWQ1MCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cbkBpbmNsdWRlIG1lZGlhTWluKCRwaG9uZS1sKSB7XG4gIC5jb25zdHJhaW5lZDUwIHtcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICB9XG4gIC5ub3JtYWwge1xuICAgIC5jb25zdHJhaW5lZDUwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgLnJldmVyc2Uge1xuICAgIC5jb25zdHJhaW5lZDUwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gTUFLRSBJTUFHRSBBQ1QgTElLRSBCQUNLR1JPVU5ELUlNQUdFXG4uaW1hZ2VEaXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pbWFnZURpdlVuY3JvcHBlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5mYWtlQkdpbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDElO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnVuY3JvcHBlZEltYWdlRGl2IHtcbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICB9XG5cbiAgJi5jZW50ZXJWZXJ0aWNhbGx5IHtcbiAgICAvLyAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5zZWN0aW9uTWFyZ2luIHtcbiAgbWFyZ2luOiA1ZW0gMDtcbn1cblxuLnNlY3Rpb25QYWRkaW5nIHtcbiAgcGFkZGluZzogMy41ZW0gMDtcbn1cblxuLy8gU1BBQ0UgQkVMT1dcbi5zcGFjZV9iZWxvdyxcbi50aGVDb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1zKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG4vLyBBQlNPTFVURSBCVVRUT05cbi5hYnNvbHV0ZUJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxO1xufVxuXG4vLyBDT0xPVVIgU0NIRU1FXG4uYmdMaWdodCB7XG4gIC8vIG5vdGhpbmcgbmVlZGVkXG59XG5cbi5iZ0Rhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcblxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBwIHtcbiAgICBjb2xvcjogJHN0b25lUGFsZTtcbiAgfVxuXG4gIC5idG4ge1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICBib3JkZXItY29sb3I6ICRzdG9uZUxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdG9uZUxpZ2h0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBib3JkZXItY29sb3I6ICRzdG9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzdG9uZTtcbiAgICB9XG4gIH1cblxuICAuYnRuQWx0LFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBjb2xvcjogJHN0b25lO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRzdG9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN0b25lO1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJHN0b25lO1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgIH1cbiAgfVxuXG4gIC5ib2R5VGV4dCBhOm5vdCguYnRuKTpub3QoLmJ0bkFsdCkge1xuICAgIGNvbG9yOiAkc3RvbmVQYWxlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHNhbmQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEZVTEwgV0lEVEhcbi5mdWxsLXdpZHRoLWNvbnRlbnQtcm93IHtcbiAgLy8gbm90aGluZyBuZWVkZWRcbn1cblxuLy8gSU1BR0UgQU5EIFRFWFRcblxuLmltYWdlLWFuZC10ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5pbWFnZURpdiB7XG4gICAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1tKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNjYlO1xuICAgIH1cbiAgfVxuXG4gIC51bmNyb3BwZWRJbWFnZURpdiBwaWN0dXJlIHtcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICB9XG5cbiAgJi5pbWFnZSB7XG4gICAgLy8gc2luZ2xlIGltYWdlXG4gICAgLnRleHRXcmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9hc3NldHMvaW1nL2JnL0Zpc2gxLnN2Zyk7XG4gICAgICBAaW5jbHVkZSBtZWRpYU1heCgkdGFibGV0LW0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwdncgLTQwdnc7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTYwdnc7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYU1pbigkdGFibGV0LW0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTczdncgLTMwdnc7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTMwdnc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi50d28taG9yaXpvbnRhbCxcbiAgJi50d28tdmVydGljYWwge1xuICAgIEBpbmNsdWRlIG1lZGlhTWF4KCR0YWJsZXQtbSkge1xuICAgICAgcGFkZGluZzogMmVtIDA7XG4gICAgfVxuICAgIHBhZGRpbmc6IDRlbSAwO1xuXG4gICAgJi5iZ0Rhcmsge1xuICAgICAgLmltYWdlSG9sZGVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mbGV4RXF1YWwge1xuICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBAaW5jbHVkZSBtZWRpYU1heCgkdGFibGV0LW0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZUhvbGRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1tKSB7XG4gICAgICAuZmxleCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYudHdvLWhvcml6b250YWwge1xuICAgIC5pbWFnZURpdjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNDUlO1xuICAgICAgbWFyZ2luOiAwIDEwJSAzJSAxMCU7XG4gICAgICB3aWR0aDogODAlO1xuICAgIH1cblxuICAgIC5pbWFnZURpdjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNTIlO1xuICAgIH1cblxuICAgIC5pbWFnZUhvbGRlcjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzdG9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAlO1xuICAgICAgYm90dG9tOiAxMCU7XG4gICAgICBsZWZ0OiAtMjAlO1xuICAgICAgcmlnaHQ6IDIwJTtcbiAgICB9XG4gIH1cblxuICAmLnR3by12ZXJ0aWNhbCB7XG4gICAgLmltYWdlSG9sZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIC5pbWFnZURpdjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4MCU7XG4gICAgICAgIG1hcmdpbjogMTAlIDA7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICB9XG5cbiAgICAgIC5pbWFnZURpdjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2MCU7XG4gICAgICAgIG1hcmdpbjogMjAlIDA7XG4gICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlSG9sZGVyOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN0b25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogLTIwJTtcbiAgICAgIHJpZ2h0OiAyMCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWFNaW4oJHRhYmxldC1tKSB7XG4gICAgJi5mdWxsV2lkdGg6bm90KC52aWRlbykgLnRleHRXcmFwcGVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICAgIH1cbiAgICAmLm5vcm1hbCB7XG4gICAgICAudGV4dFdyYXBwZXIge1xuICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICAuYm9keVRleHQge1xuICAgICAgICAgIHBhZGRpbmc6IDVlbSAyZW0gNWVtIDVlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaW1hZ2VEaXYge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cblxuICAgICAgLnZpZGVvRGl2IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG5cbiAgICAgIC51bmNyb3BwZWRJbWFnZURpdiBwaWN0dXJlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYucmV2ZXJzZSB7XG4gICAgICAudGV4dFdyYXBwZXIge1xuICAgICAgICBvcmRlcjogMTtcblxuICAgICAgICAuYm9keVRleHQge1xuICAgICAgICAgIHBhZGRpbmc6IDVlbSA1ZW0gNWVtIDJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaW1hZ2VEaXYge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cblxuICAgICAgLnZpZGVvRGl2IHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIC5pbWFnZUhvbGRlciB7XG4gICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogMjAlO1xuICAgICAgICAgIHJpZ2h0OiAtMjAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC51bmNyb3BwZWRJbWFnZURpdiB7XG4gICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1tKSB7XG4gICAgLy8gTU9CSUxFXG4gICAgLmZsZXgge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAuaW1hZ2VEaXYsXG4gICAgLnRleHRXcmFwcGVyLFxuICAgIC51bmNyb3BwZWRJbWFnZURpdiB7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC52aWRlb0RpdiB7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC50ZXh0V3JhcHBlciB7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG4gICAgLmJvZHlUZXh0IHtcbiAgICAgIHBhZGRpbmc6IDNlbSAyMHB4O1xuICAgIH1cbiAgICAuY29uc3RyYWluZWQgLmJvZHlUZXh0IHtcbiAgICAgIHBhZGRpbmc6IDNlbSAwcHg7XG4gICAgfVxuICAgIC51bmNyb3BwZWRJbWFnZURpdiBwaWN0dXJlIHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAuYmdMaWdodCB7XG4gICAgLmJvZHlUZXh0IGE6bm90KC5idG4pOm5vdCguYnRuQWx0KTpub3QoLmJ1dHRvbiksXG4gICAgLnRoZUNvbnRlbnQgYSxcbiAgICAuZm9ybS1yb3cgYSxcbiAgICAud29vY29tbWVyY2UgdGFibGUgYSxcbiAgICAud29vY29tbWVyY2UtbWVzc2FnZSBhLFxuICAgIGEud2MtZm9yd2FyZCB7XG4gICAgICBjb2xvcjogJGFsbHktZGFya3NhbmQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEZVTEwgV0lEVEggRkVBVFVSRVxuXG4uZnVsbC13aWR0aC1mZWF0dXJlIHtcbiAgQGluY2x1ZGUgbWVkaWFNaW4oJGxhcHRvcCkge1xuICAgIC8vIEJJR1xuICAgIG1pbi1oZWlnaHQ6IDI2MHB4O1xuICB9XG5cbiAgJi5iZ0Rhcmsge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9hc3NldHMvaW1nL2JnL0dpZnRWb3VjaGVyLUJHLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gIC5jb25zdHJhaW5lZFNtYWxsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBjb2xvcjogJGFsbHktc2FuZDtcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICB9XG5cbiAgaDIgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gIH1cblxuICBwICsgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgfVxuXG4gIGE6bm90KC5idG4pIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogI2NiYWQ2YTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWFNaW4oJHRhYmxldC1sKSB7XG4gICAgLy8gREVTS1RPUFxuICAgIC50ZXh0SG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDkwcHggNjBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTEFSR0UgUEFSQUdSQVBIXG4ubGFyZ2VQYXJhZ3JhcGgge1xuICAmLmNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBib2R5Om5vdCgucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCkgJiB7XG4gICAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1tKSB7XG4gICAgICBwYWRkaW5nOiAyZW0gMDtcbiAgICB9XG4gICAgcGFkZGluZzogNGVtIDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYU1pbigkcGhvbmUtbCkge1xuICAgIGgyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQtc2l6ZS1oZWFkaW5nKDE2cHgsIDIwcHgpO1xuICB9XG5cbiAgaDQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNmVtO1xuICB9XG59XG5cbi8vIENIQUxLQk9BUkRcbi5jaGFsa2JvYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG5cbiAgJixcbiAgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIk5vdGhpbmcgWW91IENvdWxkIERvXCIsIGN1cnNpdmU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIHAge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udC1zaXplLWhlYWRpbmcoMjJweCwgMzJweCk7XG4gIH1cblxuICAuY2xzLTEge1xuICAgIGZpbGw6IG5vbmU7XG4gIH1cblxuICAuY2xzLTIsXG4gIC5jbHMtMyB7XG4gICAgZmlsbDogI2ZmZjtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDMzMHB4O1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0byAzZW0gYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5pbWFnZURpdiB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxufVxuXG4vLyBGVUxMIFdJRFRIIElNQUdFXG4uZnVsbC13aWR0aC1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuaW1hZ2VEaXYge1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogNjB2aDtcbiAgICAvL21pbi13aWR0aDogO1xuICAgIEBpbmNsdWRlIG1lZGlhTWluKCR0YWJsZXQtbSkge1xuICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhTWluKCRwaG9uZS1sKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNTAlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBORVdTTEVUVEVSIFNJR04gVVBcbi5uZXdzbGV0dGVyLXNpZ24tdXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjRlZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGgzICsgcCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuXG4gIC5wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAzZW0gMWVtO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gIH1cblxuICBmb3JtIHtcbiAgICBnYXA6IDA7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxuXG4gIC5hY3Rlb2wtZm9ybS1sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDAuMjVyZW0gMDtcbiAgfVxuXG4gIC5oaWRlLWZpZWxkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmFjdGVvbC1ibG9jay1mb3JtIHtcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhTWluKCRwaG9uZS1sKSB7XG4gICAgICAuZm9ybS1ncm91cDpudGgtb2YtdHlwZSgxKSxcbiAgICAgIC5mb3JtLWdyb3VwOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgbWluLXdpZHRoOiA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgICAuYWN0ZW9sLWZvcm0tYnVpbGRlci1wcml2YWN5LXBvbGljeS10ZXh0IHtcbiAgICAgIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJvb3RzdHJhcC1ncm93bCB7XG4gIGJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQxNjEgIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDE1cHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xufVxuXG4ubWM0d3AtZm9ybS1maWVsZHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG5cbiAgICBpbnB1dCB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYU1pbigkcGhvbmUtbSkge1xuICAgIC8vIERFU0tUT1BcbiAgICBpbnB1dCB7XG4gICAgICBmbGV4LWdyb3c6IDI7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICB9XG4gICAgcCB7XG4gICAgICBtaW4td2lkdGg6IGNhbGMoMTAwJSAtIDRlbSk7XG4gICAgICBwYWRkaW5nOiAxZW0gMmVtO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYU1heCgkcGhvbmUtbSkge1xuICAgIC8vIE1PQklMRVxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaW5wdXQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgfVxufVxuXG4vLyBUQUJCRUQgTUVOVVxuXG4udGFic1JvdyB7XG4gIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBAaW5jbHVkZSBtZWRpYU1heCgkcGhvbmUtcykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cbiAgICBnYXA6IDJweDtcbiAgICBAaW5jbHVkZSBtZWRpYU1pbigkcGhvbmUtbCkge1xuICAgICAgZ2FwOiAyMHB4IDUwcHg7XG4gICAgfVxuICAgIHBhZGRpbmc6IDBweCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udC1zaXplLWhlYWRpbmcoMThweCwgMjJweCk7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtYmV0YTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgIGJvcmRlcjogc29saWQgJHN0b25lIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuNGVtIDEuM2VtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICAvL0BpbmNsdWRlIG1lZGlhTWF4KCRwaG9uZS1sKSB7d2lkdGg6IGNhbGMoNTAlIC0gMi42ZW0gLSA0cHgpO31cbiAgICAgIEBpbmNsdWRlIG1lZGlhTWF4KCRwaG9uZS1zKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjZlbSAtIDRweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGl2ZSBhLFxuICAgIGE6aG92ZXIge1xuICAgICAgYm9yZGVyOiBzb2xpZCAkYmx1ZSAycHg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAuZmluYWxpdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhTWF4KCR0YWJsZXQtbSkge1xuICAgICAgLmZpbmFsaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYkJvZHkge1xuICAgIHBhZGRpbmctdG9wOiAzZW07XG5cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCAwIDEuNWVtIDA7XG4gICAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQtc2l6ZS1oZWFkaW5nKDIycHgsIDI4cHgpO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWJldGE7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICRhbGx5LWRhcmtzYW5kO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIH1cblxuICAgIHAgKyBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbjogMi41ZW0gMCAxLjVlbSAwO1xuICAgIH1cblxuICAgIHAuc3ViaXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogMmVtO1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQtc2l6ZS1oZWFkaW5nKDE4cHgsIDIycHgpO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWJldGE7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICBlbSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgfVxuICAgIH1cblxuICAgIGIge1xuICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250LXNpemUtaGVhZGluZygxOHB4LCAyMnB4KTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iZXRhO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ09MVU1OIExJU1Rcbi5jb2x1bW5MaXN0IHtcbiAgLmZsZXguY29sdW1ucyB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgYXNpZGUge1xuICAgICAgcGFkZGluZzogMCA3MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250LXNpemUtaGVhZGluZygxNnB4LCAyMHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFBIT1RPIEdSSURcbi5waG90b0JhY2tzdG9yeUdyaWQge1xuICAuZmxleC5jb2x1bW5zIHtcbiAgICBnYXA6IDE2cHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgYXNpZGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDM2MHB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWFNaW4oJHBob25lLWwpIHtcbiAgICAgICAgbWluLXdpZHRoOiBjYWxjKDUwJSAtIDhweCk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSA4cHgpO1xuICAgICAgICBwYWRkaW5nLXRvcDogNjAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWFNaW4oJHRhYmxldC14bCkge1xuICAgICAgICBtaW4td2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAxNnB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMTZweCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYU1pbigkbGFwdG9wLXMpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwJTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhTWluKCRsYXB0b3ApIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW1hZ2VEaXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAudGV4dFdyYXBwZXIge1xuICAgIGNvbG9yOiAkbm90V2hpdGU7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuN2VtO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGNvbG9yOiAkc2FuZDtcbiAgICB9XG5cbiAgICBwYWRkaW5nOiA0MHB4IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmx1ZSwgMC44KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhTWF4KCR0YWJsZXQtbSkge1xuICAgIC8vIHRvdWNoIHNjcmVlbiAtIG1vZGFsXG4gICAgLnRleHRXcmFwcGVyIHtcbiAgICAgIC8vICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIHRvcDogJG1vYmlsZS1uYXZpZ2F0aW9uLWhlaWdodDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAkbW9iaWxlLW5hdmlnYXRpb24taGVpZ2h0KTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmx1ZSwgMC45KTtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoMTAwdmggLSAkbW9iaWxlLW5hdmlnYXRpb24taGVpZ2h0KTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2Utb3V0O1xuICAgIH1cbiAgICBhc2lkZS5vcGVuIC50ZXh0V3JhcHBlciB7XG4gICAgICAvLyAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIC54aXQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICAucmVhZE1vcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBoNiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMi43cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWFNaW4oJHRhYmxldC1tKSB7XG4gICAgLy8gTk9UIHRvdWNoIHNjcmVlbiAtIG1vdXNlb3ZlclxuICAgIC54aXQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnRleHRXcmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIGFzaWRlOmhvdmVyIC50ZXh0V3JhcHBlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAucmVhZE1vcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubm9QaWMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdG9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBzdmcge1xuICAgICAgbWluLWhlaWdodDogMTk3JTtcbiAgICAgIGxlZnQ6IC01MCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC01MCU7XG4gICAgfVxuXG4gICAgLmZpc2h5ZmlzaDAxIHtcbiAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICB9XG5cbiAgICAuZmlzaHlmaXNoMDIge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cbiAgfVxufVxuXG4uYm9va2luZ0V2ZW50cyB7XG4gIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiA0ZW0gMDtcblxuICBoMyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmV2ZW50cy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTZweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICBwYWRkaW5nOiAwIDYwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYU1heCgkdGFibGV0KSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IDIzcHg7XG4gICAgICBwYWRkaW5nOiAwIDIzcHg7XG4gICAgfVxuXG4gICAgYXNpZGUge1xuICAgICAgbWF4LXdpZHRoOiA1MzZweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYU1heCgkdGFibGV0KSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5pbWFnZURpdiB7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaW1hZ2VEaXYge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMDJweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYU1heCgkdGFibGV0KSB7XG4gICAgICAgICAgbWluLWhlaWdodDogMjM1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ldmVudC1kZXRhaWxzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMjVweDtcblxuICAgICAgICAuZXZlbnQtZGF0ZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWJldGE7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWJldGE7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmstd3JhcCB7XG4gICAgICAgICAgY29sb3I6ICRzYW5kO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWJldGE7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRlc3RpbW9uaWFsLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RvbmVQYWxlO1xuICBwYWRkaW5nOiA4MHB4IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgfVxuXG4gIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAzOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgICBsaW5lLWhlaWdodDogNDhweCAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogJGJsdWU7XG4gIH1cbn1cblxuLy8gRVZFTlRTIEdSSURcbi5ldmVudHMtZ3JpZCB7XG4gIHBhZGRpbmctYm90dG9tOiA0ZW07XG5cbiAgaDIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5iZy13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RvbmVQYWxlO1xuICAgIHBhZGRpbmc6IDAgODBweCAwO1xuICAgIEBpbmNsdWRlIG1lZGlhTWF4KCRwaG9uZS1sKSB7XG4gICAgICBwYWRkaW5nOiAwIDQwcHggMDtcbiAgICB9XG4gIH1cblxuICAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdChhdXRvLWZpbGwsIDFmcik7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYU1pbigkdGFibGV0LWwpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG5cbiAgICBhc2lkZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblxuICAgICAgLmltYWdlRGl2IHtcbiAgICAgICAgbWluLWhlaWdodDogMzM1cHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhTWF4KCRwaG9uZS1sKSB7XG4gICAgICAgICAgbWluLWhlaWdodDogMjcwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJvZHkge1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDI1cHggNTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRhdGUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iZXRhO1xuICAgICAgICAgIGNvbG9yOiAkbm90QmxhY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTRweDtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAubG9jYXRpb24ge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iZXRhO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDE0cHg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS42cHg7XG5cbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBmaWxsOiAkbm90QmxhY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIGNvbG9yOiAkYmx1ZURhcms7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmxpbmstd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweCAyNXB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibHVlO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNDUk9MTElORyBDQVJEU1xuLnNjcm9sbGluZy1jYXJkcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzdG9uZVBhbGU7XG5cbiAgaDIge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIH1cblxuICAuY2FyZHMtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTcuNXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTcuNXB4O1xuXG4gICAgLnNjcm9sbC1jYXJkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3LjVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNy41cHg7XG5cbiAgICAgIC5vdmVyZmxvdy10cmFwIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAzODVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgIH1cblxuICAgICAgLmltYWdlRGl2IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB9XG5cbiAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgIH1cblxuICAgICAgLmxvY2F0aW9uIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6ICRibHVlRGFyaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWJldGE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDVweDtcbiAgICAgIH1cblxuICAgICAgLm1ldGEge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYmV0YTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgIH1cblxuICAgICAgLmJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuN3B4O1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIG1heC13aWR0aDogMTI1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICBjb2xvcjogJHNhbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAub3ZlcmZsb3ctdHJhcCB7XG4gICAgICAgICAgLmltYWdlRGl2IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2xpZGVzaG93Q29udHJvbGxlcnNQb3NpdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhTWluKCR0YWJsZXQtbCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbnRhY3QgJiBNQVBcbi5jb250YWN0QW5kTWFwIHtcbiAgcGFkZGluZzogMmVtIDA7XG5cbiAgLmZsZXgge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xuICAgIEBpbmNsdWRlIG1lZGlhTWluKCRwaG9uZS1sKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAwcHg7XG4gICAgfVxuICB9XG5cbiAgYXNpZGUudGV4dFdyYXBwZXIge1xuICAgIG1pbi13aWR0aDogMTAwJTtcblxuICAgIC5ib2R5VGV4dCB7XG4gICAgICBtYXgtd2lkdGg6IDQ4MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWFNaW4oJHBob25lLWwpIHtcbiAgICAgIG1pbi13aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG5cbiAgYXNpZGUubWFwSG9sZGVyIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgbWVkaWFNaW4oJHBob25lLWwpIHtcbiAgICAgIG1pbi13aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQUxMIEFDQ09SRElPTlMgdXNlZCBvbiBzaW5nbGUgcHJvZHVjdHMgYW5kIEZBUSByb3dcbi5hY2NvcmRpb24tcm93IHtcbiAgICAuYWNjb3JkaW9uLXJvdy1saW5lIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgIC5hY2NvcmRpb24tcm93LXF1ZXN0aW9uIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgIH1cbiAgICAgICAgJi5vbiB7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb24tcm93LWFuc3dlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb24tcm93LWljb24ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogZWFzZS1pbi1vdXQgMC41cztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICYuc3ZnLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vLyBGQVFTXG4uZmFxcyB7XG4gICAgLmp1bXBOYXYge1xuICAgICAgICBtYXJnaW46IDNyZW0gMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDJyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiQmFybG93IENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzO1xuICAgICAgICAgICAgJjpob3ZlciB7Y29sb3I6ICRibHVlTGlnaHQ7fVxuICAgICAgICB9XG4gICAgfVxuICAgIGgyK3B7XG4gICAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICB9XG4gICAgLmFuY2hvckxpbmsge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMTEwcHg7XG4gICAgfVxuICAgIC5mYXFTZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAycmVtIDA7XG4gICAgfVxuICAgIC5zZWN0aW9uSGVhZGluZyB7XG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250LXNpemUtaGVhZGluZygyNnB4LCAzMnB4KTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWJldGE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtICAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB9XG4gICAgYS5yZWFkTW9yZSB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzO1xuICAgICAgICBmb250LWZhbWlseTogXCJCYXJsb3cgQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAmOmhvdmVyIHtjb2xvcjogJGJsdWVMaWdodDt9XG4gICAgfVxuICAgICYuYWNjb3JkaW9uLXJvdyB7XG4gICAgICAgIC5hY2NvcmRpb24tcm93LWxvb3Age1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb24tcm93LWFuc3dlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb24tcm93LWxpbmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IC43NXJlbSAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIC5hY2NvcmRpb24tcm93LXF1ZXN0aW9uIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiQmFybG93IENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiAxNnB4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYmx1ZTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5vbiB7XG4gICAgICAgICAgICAgICAgc3ZnIHt0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb24tcm93LWFuc3dlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDIuMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5hZG1pbi1iYXIge1xuICBoZWFkZXIge1xuICAgIHRvcDogNDZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzgycHgpIHtcbiAgLmFkbWluLWJhciBoZWFkZXIge1xuICAgIHRvcDogNDZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmFkbWluLWJhciBoZWFkZXIge1xuICAgIHRvcDogNDZweDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC41cztcbiAgfVxuICAuYWRtaW4tYmFyLnNjcm9sbGVkIGhlYWRlciB7XG4gICAgdG9wOiAwO1xuICB9XG4gIGh0bWwgYm9keTpub3QoLnNjcm9sbGVkKSAjd3BhZG1pbmJhciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMHB4O1xuICB9XG59XG5cbi5iYWNrQnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNvY2lhbC1tZWRpYS1zdHJpcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC44ZW07XG4gIC5zaGFyZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWFscGhhO1xuICB9XG59XG4uc29jaWFsLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNHB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gIHN2ZyB7XG4gICAgZmlsbDogI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogODAlO1xuICAgIG1hcmdpbjogMTAlO1xuICB9XG4gICYuZmFjZWJvb2s6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc4ZjI7XG4gIH1cbiAgJi5pbnN0YWdyYW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMTMwNmM7XG4gIH1cbiAgJi50aWt0b2s6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNWY0ZWU7XG4gIH1cbiAgJi50d2l0dGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWRhMWYyO1xuICB9XG4gICYubGlua2VkaW46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc3YjU7XG4gIH1cbiAgJi53aGF0c2FwcDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRmY2U1ZDtcbiAgfVxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIHNwZWNpYWwgOiBoaWdobGlnaHQgbmF2IG1hbnUgaXRlbVxuYm9keS5zaW5nbGUtbmV3cyxcbmJvZHkudGF4LWNhdGVnb3JpZXMge1xuICBoZWFkZXIgbmF2LmhlYWRlcl9fbmF2IHVsLm1haW5OYXYgLm1lbnUtaXRlbS5tZW51LWl0ZW0tb2JqZWN0LW5ld3MgPiBhOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJvdHRvbTogMHB4O1xuICB9XG59XG5cbmhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gIGhlaWdodDogJG1haW4tbmF2aWdhdGlvbi1oZWlnaHQ7XG4gIC5oYW1idXJnZXJPcGVuICYge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cblxuICAubW9iLWhpZGRlbiB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBtZWRpYU1heCgkcGhvbmUtbCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5kZXNrdG9wLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIG1lZGlhTWF4KCRwaG9uZS1sKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgICAuYnRuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgY29sb3I6ICMwMDQxNjE7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDA0MTYxO1xuICAgICAgICBwYWRkaW5nOiAxLjFlbSAyNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb25zdHJhaW5lZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBAaW5jbHVkZSBtZWRpYU1heCgkcGhvbmUtbCkge1xuICAgICAgZ2FwOiAxNXB4O1xuICAgIH1cbiAgICBhc2lkZSB7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMyU7XG4gICAgICAmLmN0YS13cmFwIHtcbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhTWF4KCRwaG9uZS1sKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmLmhhbWJ1cmdlci13cmFwIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIwJTtcbiAgICAgICAgfVxuICAgICAgICAmLmxvZ28td3JhcCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgICAgICAgLmhlYWRlckxvZ28ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuY3RhLXdyYXAge1xuICAgICAgICAgIG1heC13aWR0aDogMjAlO1xuICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iYXNrZXRMaW5rIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iZXRhO1xuICAgIGxldHRlci1zcGFjaW5nOiAyLjdweDtcbiAgICBAaW5jbHVkZSBtZWRpYU1pbigkdGFibGV0LW0pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQtc2l6ZS1oZWFkaW5nKDE0cHgsIDE4cHgpO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRzYW5kO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXJMb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogODhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgbWFyZ2luOiBhdXRvIGF1dG8gYXV0byAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyX19uYXYge1xuICAgIC8vIGFwcGVhcmFuY2Ugb2YgbWFpbiBuYXZcbiAgICB1bCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iZXRhO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICAvLyB0b3AgbGV2ZWxcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zdWItbWVudSB7XG4gICAgICAgIC8vIHN1YlxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjMgZWFzZTtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTU9CSUxFIE5BVlxuICAvLyAgICBAaW5jbHVkZSBtZWRpYU1heCgkdGFibGV0LWwpIHtcbiAgaGVpZ2h0OiAkbW9iaWxlLW5hdmlnYXRpb24taGVpZ2h0O1xuICAuY29uc3RyYWluZWQge1xuICAgIGhlaWdodDogJG1vYmlsZS1uYXZpZ2F0aW9uLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxuXG4gIC5oZWFkZXJMb2dvIHtcbiAgICB3aWR0aDogMTgwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGhlaWdodDogNjVweDtcbiAgICBAaW5jbHVkZSBtZWRpYU1heCgkdGFibGV0LWwpIHtcbiAgICAgIC8vIE1PQklMRSBOQVZcbiAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWFNYXgoJHBob25lLW0pIHtcbiAgICAgIC8vIE1PQklMRSBOQVZcbiAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICB9XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAjbWFpbl9uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICB6LWluZGV4OiAzO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNWVtO1xuICAgIC8vbWluLWhlaWdodDogMTAwdmg7XG4gICAgLy9oZWlnaHQ6IGNhbGMoMTAwdmggLSAkbW9iaWxlLW5hdmlnYXRpb24taGVpZ2h0KTtcbiAgICAvLyBwYWRkaW5nLXRvcDogJG1vYmlsZS1uYXZpZ2F0aW9uLWhlaWdodDtcbiAgICB1bCNtZW51LW1haW4tbmF2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbjogNXB4IDA7XG5cbiAgICAgICAgJi5tb2JpbGVPbmx5MiB7XG4gICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjZlbSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDRweCAyMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzLjNweDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgLy8gcGFyZW50IGhhbWJ1cmdlciAxXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bm90KC5kZWFkLWxpbmspID4gYTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2Fzc2V0cy9pbWcvaWNvbnMvYXJyb3ctcmlnaHQuc3ZnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICAvLyAxc3QgZ2VuIGNoaWxkcmVuXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5zdWJOYXZPcGVuIHtcbiAgICAgICAgICAgIC8vIHBhcmVudCBvcGVuIGhhbWJ1cmdlciAyXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNCk7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5kZWFkLWxpbmsge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYU1heCgkcGhvbmUtbCkge1xuICAgICNtZW51LW1haW4tbmF2IC5idG4ge1xuICAgICAgbWFyZ2luOiAxMHB4IDIwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgfVxuICB9XG5cbiAgLy8gREVTS35UT1AgTkFWXG4gIC8vIG5vdGU6IGlmIHlvdSBjaGFuZ2VuIG1lZGlhTWluLCBhbHNvIGNoYW5nZTogaWYgKCQod2luZG93KS53aWR0aCgpIDwgODQwKSBpbiBhcHBzLmpzXG4gIEBpbmNsdWRlIG1lZGlhTWluKCR0YWJsZXQtbCkge1xuICAgIGhlaWdodDogJG1haW4tbmF2aWdhdGlvbi1oZWlnaHQ7XG4gICAgLmNvbnN0cmFpbmVkIHtcbiAgICAgIGhlaWdodDogJG1haW4tbmF2aWdhdGlvbi1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLnNlYXJjaEJ1dHRvbkxpIHtcbiAgICAgIG1hcmdpbjogMCAxNnB4O1xuICAgIH1cbiAgfVxuXG4gICNuYXZNYXNrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIGhlaWdodDogMDtcbiAgICAuaGFtYnVyZ2VyT3BlbiAmIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQQUdFIFRJVExFXG4ucGFnZVRpdGxlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaDEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmJvZHlUZXh0IHtcbiAgICBwYWRkaW5nOiAwIDEuNWVtO1xuICB9XG5cbiAgLy8gU0lNUExFXG4gICYuc2ltcGxlIHtcbiAgICBtYXJnaW46IDIwcHggMjBweCA0MHB4IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIG1lZGlhTWluKCR0YWJsZXQtbCkge1xuICAgICAgbWFyZ2luOiA1MHB4IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQUxMIEhFUk9zXG4gICYuc2xpZGVzaG93LFxuICAmLmJhY2tncm91bmRpbWFnZSxcbiAgJi52aWRlby1oZXJvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmJvZHlUZXh0IHtcbiAgICAgIHAge1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQtc2l6ZS1oZWFkaW5nKDE4cHgsIDI0cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgICB9XG4gICAgICAvLyAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhTWF4KCRwaG9uZS1sKSB7bWFyZ2luOiA2ZW0gMDt9XG4gICAgfVxuICAgIC5mbGV4LmN0YUJ1dHRvbnMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBhc2lkZTpudGgtb2YtdHlwZSgxKTpudGgtbGFzdC1vZi10eXBlKDEpIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWFNYXgoJHBob25lLWwpIHtcbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGJvdHRvbTogMWVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIGFzaWRlIHtcbiAgICAgICAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJ0bixcbiAgICAuYnRuQWx0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuaW1hZ2VPdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgIH1cblxuICAgIC50ZXh0V3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAuYm9keVRleHQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgaDEsXG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDEwcHggIzAwMDAwMDgwO1xuICAgICAgfVxuICAgICAgaDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYU1heCgkdGFibGV0LW0pIHtcbiAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmhpZGVfdGl0bGUgaDEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuYnRuLFxuICAuYnRuQWx0IHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQtc2l6ZS1oZWFkaW5nKDE4cHgsIDIycHgpO1xuICB9XG59XG5cbi8vIEJBQ0tHUk9VTkQgSU1BR0Vcbi5iYWNrZ3JvdW5kaW1hZ2Uge1xuICAuYmFja2dyb3VuZGltYWdlSGVpZ2h0LFxuICAuYmFja2dyb3VuZGltYWdlSGVpZ2h0IC50ZXh0V3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogNjB2dztcbiAgICBAaW5jbHVkZSBtZWRpYU1pbigkcGhvbmUtbCkge1xuICAgICAgbWluLWhlaWdodDogMzN2dztcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWFNaW4oJGxhcHRvcCkge1xuICAgICAgLy8gQklHXG4gICAgICBtaW4taGVpZ2h0OiA0NTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWFNaW4oJHRhYmxldC1sKSB7XG4gICAgICAvLyB0YWJsZXRcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAkbW9iaWxlLW5hdmlnYXRpb24taGVpZ2h0KTtcbiAgICB9XG4gIH1cbiAgLmZsZXguY3RhQnV0dG9ucyB7XG4gICAgQGluY2x1ZGUgbWVkaWFNaW4oJHBob25lLWwpIHtcbiAgICAgIGdhcDogMjBweDtcbiAgICB9XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMS44ZW07XG4gIH1cbn1cblxuLy8gU0xJREVTSE9XIEhFUk8gICh1c2VkIGZvciBmbGV4eSByb3cgc2xpZGUgc2hvdyB0b28pXG4uc2xpZGVzaG93IHtcbiAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1sKSB7XG4gICAgLnNsaWRlc2hvd0hlaWdodCB7XG4gICAgfVxuICAgIC5jZW50ZXJWZXJ0aWNhbGx5IHtcbiAgICAgIGdhcDogMzBweDtcbiAgICB9XG4gIH1cbiAgLnNsaWRlc2hvd0hlaWdodCxcbiAgLnNsaWRlc2hvd0hlaWdodCAudGV4dFdyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhTWluKCRsYXB0b3ApIHtcbiAgICAgIC8vIEJJR1xuICAgICAgbWluLWhlaWdodDogNzAwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhTWluKCR0YWJsZXQtbCkge1xuICAgICAgLy8gdGFibGV0XG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gJG1vYmlsZS1uYXZpZ2F0aW9uLWhlaWdodCk7XG4gICAgfVxuICB9XG5cbiAgLmZsZXguY3RhQnV0dG9ucyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGJvdHRvbTogNWVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5zbGlkZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICAmLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLnNsaWNrLXNsaWRlLFxuICAgIC5zbGljay1saXN0LFxuICAgIC5zbGljay10cmFjayB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5zbGljay1zbGlkZSAuZmFrZUJHaW1hZ2Uge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG59XG5cbi8vIHVzZWQgaW4gdGhlIGZsZXhpIGNhcm9zZWwgYXMgd2VsbFxuLnNsaWRlc2hvd0NvbnRyb2xsZXJzUG9zaXRpb24ge1xuICAvLyBhcnJvd3MgJiBkb3RzXG4gIEBpbmNsdWRlIG1lZGlhTWF4KCRwaG9uZS1sKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMjBweDtcbiAgQGluY2x1ZGUgbWVkaWFNaW4oJHRhYmxldC1sKSB7XG4gICAgYm90dG9tOiAzMHB4O1xuICB9XG4gIGxlZnQ6IDBweDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7XG4gIC5zbGlkZXNob3dDb250cm9sbGVycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC8vIC5yaWdodEFycm93LCAubGVmdEFycm93IHtcbiAgLy8gICAgIHdpZHRoOiAyNnB4O1xuICAvLyAgICAgaGVpZ2h0OiAyNnB4O1xuICAvLyAgICAgc3ZnIHtcbiAgLy8gICAgICAgICB3aWR0aDogMjZweDtcbiAgLy8gICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gIC8vICAgICAgICAgc3Ryb2tlOiAjZmZmO1xuICAvLyAgICAgICAgICY6aG92ZXIge1xuICAvLyAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8vICAgICAgICAgfVxuICAvLyAgICAgfVxuICAvLyB9XG4gIC8vIC5yaWdodEFycm93IHsgc3ZnIHt0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO319XG5cbiAgLnNsaWRlRG90cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICBtYXJnaW46IDJweCA1cHg7XG4gICAgfVxuICAgIGxpIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGJsdWU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIH1cbiAgICBsaS5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAuc2xpY2stYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIGxpOm50aC1vZi10eXBlKDEpOm50aC1sYXN0LW9mLXR5cGUoMSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVklERU9cbi52aWRlbyB7XG4gIC5mbGV4LmN0YUJ1dHRvbnMge1xuICAgIGdhcDogMjBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxLjhlbTtcbiAgICAuYnRuLFxuICAgIC5idG5BbHQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuLnZpZGVvLWhlcm8ge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gOTBweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dFdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIGgxLFxuICBwIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAxMHB4ICMwMDAwMDA4MDtcbiAgfVxuICBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhTWF4KCRwaG9uZS1sKSB7XG4gICAgbWluLWhlaWdodDogNTB2aDtcbiAgfVxuXG4gIHZpZGVvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG4gIC5jb250cm9scyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICBsZWZ0OiAyMHB4O1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBjb2xvcjogIzAwNDE2MTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByZXNlcnZlLWFzcGVjdC1yYXRpbyxcbi51bmNyb3BwZWRfaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cbiAgaW1nLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIHZpZGVvIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmZha2VCR0ltYWdlIHtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICB9XG5cbiAgLmltYWdlLWFuZC10ZXh0X19tYWluIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG4gIC5jb25zdHJhaW5lZFNtYWxsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIE1PQklMRSBRVUlDSyBMSU5LU1xuQGluY2x1ZGUgbWVkaWFNYXgoJHBob25lLWwpIHtcbiAgZm9vdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbiAgfVxufVxuLnF1aWNrTGlua3Mge1xuICBAaW5jbHVkZSBtZWRpYU1pbigkdGFibGV0LW0pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1iZXRhO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDkwO1xuICB3aWR0aDogMTAwdnc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzdG9uZVBhbGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAxM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGEge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogJGZvbnQtYWxwaGE7XG4gICAgcGFkZGluZzogMTRweCAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogJGJvZHk7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cbiIsImZvb3RlciB7XG4gICYsXG4gIGg1IHtcbiAgICBjb2xvcjogJG5vdFdoaXRlO1xuICB9XG4gIGNsZWFyOiBib3RoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcblxuICBwLFxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogJG5vdFdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgfVxuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogJHNhbmQ7XG4gIH1cblxuICAubWFpbkZvb3RlciB7XG4gICAgYXNpZGU6bnRoLW9mLXR5cGUoMikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVEYXJrO1xuICAgIH1cbiAgICBoNCxcbiAgICBoNSxcbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGFsbHktc2FuZDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkc3RvbmU7XG4gICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBAaW5jbHVkZSBtZWRpYU1heCgkcGhvbmUtbCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb290ZXJMb2dvIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC5jbHMtMSB7XG4gICAgICAgIGZpbGw6ICRzdG9uZVBhbGU7XG4gICAgICB9XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBzdmcgLmNscy0xIHtcbiAgICAgICAgZmlsbDogJHNhbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBvc3RGb290ZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhTWluKCRwaG9uZS1sKSB7XG4gICAgICBwYWRkaW5nOiAwIDAgMi41ZW0gMDtcbiAgICB9XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIGhyIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkc3RvbmVQYWxlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIH1cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG4gIC5maXNoeUZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gREVTS1RPUFxuICBAaW5jbHVkZSBtZWRpYU1pbigkdGFibGV0LWwpIHtcbiAgICAubWFpbkZvb3RlciB7XG4gICAgICBhc2lkZSB7XG4gICAgICAgIHBhZGRpbmc6IDcwcHg7XG4gICAgICB9XG4gICAgICAuY29uc3RyYWluZWQ1MCB7XG4gICAgICAgIG1heC13aWR0aDogNDQwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAucG9zdEZvb3RlciB7XG4gICAgICAuY29weXJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICB9XG4gICAgICAuc29jaWFsLW1lZGlhLXN0cmlwLFxuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgIH1cbiAgICAgIC5zb2NpYWwtaWNvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICB9XG4gICAgICAvL2xpOm50aC1sYXN0LW9mLXR5cGUoMSkge3BhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICB9XG4gIH1cblxuICAvL01PQklMRSBCSUdcbiAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1sKSB7XG4gICAgLm1haW5Gb290ZXIge1xuICAgICAgLmZsZXgge1xuICAgICAgICBnYXA6IDA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYXNpZGUge1xuICAgICAgICAgIHBhZGRpbmc6IDUwcHg7XG4gICAgICAgICAgbWluLXdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAucG9zdEZvb3RlciB7XG4gICAgICAucmVzeS1sb2dvIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgICAuZm9vdGVyTG9nbyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgICAgLnNvY2lhbC1tZWRpYS1zdHJpcCB7XG4gICAgICAgIG1hcmdpbjogMS41ZW0gYXV0bztcbiAgICAgIH1cbiAgICAgIC5mbGV4IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgdWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvL01PQklMRSBCSUdcbiAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1tKSB7XG4gICAgLmNvbnN0cmFpbmVkNTAge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbiAgLy8gTU9CSUxFIFNNQUxMXG4gIEBpbmNsdWRlIG1lZGlhTWF4KCRwaG9uZS1tKSB7XG4gICAgLm1haW5Gb290ZXIge1xuICAgICAgLmZsZXgge1xuICAgICAgICBhc2lkZSB7XG4gICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICBtaW4td2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbnxcdEhlYWRpbmcgdGFncyAoaDEgdG8gaDYpICAgICAgICAgICAgICAgICAgICAgfFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmgxLCAuaDEge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQtc2l6ZS1oZWFkaW5nKDUycHgsIDU4cHgpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogJGZvbnQtYmV0YTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogLjk2ZW0gICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiA4LjdweDtcbiAgbWFyZ2luOiAwIDAgMC41ZW0gMDtcbiAgQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1sKSB7bWFyZ2luOiAwLjVlbSAwIDAgMDt9XG4gIGNvbG9yOiAkYmx1ZTtcbn1cblxuaDIsIC5oMiB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udC1zaXplLWhlYWRpbmcoMzhweCwgNDhweCk7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1iZXRhO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbSAgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IDIuNHB4O1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAkYmx1ZTtcbn1cblxuaDMsIC5oMyB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udC1zaXplLWhlYWRpbmcoMzJweCwgMzhweCk7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1iZXRhO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbSAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIDAgLjdlbSAwO1xuICBjb2xvcjogJGJsdWU7XG59XG5cbmg0LCAuaDQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQtc2l6ZS1oZWFkaW5nKDIycHgsIDMycHgpO1xuICBmb250LWZhbWlseTogJGZvbnQtYmV0YTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4yZW0gICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICRibHVlO1xufVxuXG5oNSwgLmg1LCBoMi53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLCAudXBzZWxscyBoMiB7ICBcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250LXNpemUtaGVhZGluZygyMHB4LCAyNHB4KTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWJldGE7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgbGluZS1oZWlnaHQ6IDEuMTVlbSAgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAwIDAgLjZlbSAwO1xuICBjb2xvcjogJGJsdWU7XG59XG5cbmg2LCAuaDYgeyAgXG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udC1zaXplLWhlYWRpbmcoMThweCwgMjJweCk7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1iZXRhO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gIG1hcmdpbjogMCAwIDFlbSAwO1xufVxuXG5oMSArIHAsXG5oMiArIHAgIHttYXJnaW4tdG9wOiAyZW07fVxuaDMgKyBwLFxuaDQgKyBwLFxuaDUgKyBwXG4ge21hcmdpbi10b3A6IDFlbTt9XG4iLCIvLyBTSU5HTEUgUFJPRFVDVFxuXG4uYmFja1RvU2hvcExpbmsge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gIG1hcmdpbjogLTFlbSAwIDFlbSAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRibHVlO1xuICBmb250LWZhbWlseTogJGZvbnQtYmV0YTtcbiAgbGV0dGVyLXNwYWNpbmc6IDIuN3B4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuaDUuc2VydmVzIHtcbiAgY29sb3I6ICRzYW5kO1xuICBsZXR0ZXItc3BhY2luZzogMi43cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuLnN1bW1hcnkge1xuICBoMS5oMyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHVuc2V0O1xuICB9XG59XG5ib2R5Lndvb2NvbW1lcmNlLXBhZ2Uge1xuICBoNSB7dGV4dC10cmFuc2Zvcm06IG5vbmU7fVxuICBoNS5zZXJ2ZXMgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyAgfVxufVxuXG5ib2R5Lndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMgLmZsZXgtY29udHJvbC10aHVtYnMge1xuICBtYXJnaW46IDIwcHggMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAyMHB4O1xuICBsaSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDI1JSAtIDE1cHgpO1xuICB9XG59XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQ6OmFmdGVyLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0OjpiZWZvcmUsXG4ud29vY29tbWVyY2UgLnByb2R1Y3RzIHVsOjphZnRlciwgLndvb2NvbW1lcmNlIC5wcm9kdWN0cyB1bDo6YmVmb3JlLCAud29vY29tbWVyY2UgdWwucHJvZHVjdHM6OmFmdGVyLCAud29vY29tbWVyY2UgdWwucHJvZHVjdHM6OmJlZm9yZVxue1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgdGQsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgdGgge1xuICAmLmxhYmVsIHtiYWNrZ3JvdW5kLWNvbG9yOiAkbm90V2hpdGU7fVxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5ib2R5Lndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBsYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1hbHBoYTtcbiAgY29sb3I6ICRib2R5OyAgXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250LXNpemUtaGVhZGluZygxNXB4LCAxNnB4KTtcbiAgcGFkZGluZzogMCAxZW07XG59XG5zZWxlY3Qge1xuICBmb250LWZhbWlseTogJGZvbnQtYWxwaGE7XG4gIGNvbG9yOiAkYm9keTtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250LXNpemUtaGVhZGluZygxNXB4LCAxNnB4KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaWNvbnMvYXJyb3dDaGV2cm9uQmx1ZS5zdmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE0cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE1cHgpIGNlbnRlcjtcbn1cblxuLnJlc2V0X3ZhcmlhdGlvbnMge2NvbG9yOiAkYmx1ZTt9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBwLnByaWNlLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3Qgc3Bhbi5wcmljZSB7XG4gIGNvbG9yOiAkYmx1ZTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWJldGE7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250LXNpemUtaGVhZGluZygyMnB4LCAzMnB4KTtcbiAgbWFyZ2luOiAuNGVtIDA7XG59XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgZGl2LnF1YW50aXR5IHtcbiAgbWFyZ2luOiAwIDIwcHggMCAwO1xufVxuXG4ud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHkge1xuICBwYWRkaW5nOiA1cHg7XG4gIGZsb2F0OiBub25lO1xuICBAaW5jbHVkZSBtZWRpYU1pbigkdGFibGV0LWwpIHtwYWRkaW5nOiAzcHg7fVxufVxuICAud29vY29tbWVyY2UgLnNpbmdsZV92YXJpYXRpb25fd3JhcCAucXVhbnRpdHkgLnF0eSB7XG4gICAgcGFkZGluZzogMTBweCA5cHg7XG4gICAgQGluY2x1ZGUgbWVkaWFNaW4oJHRhYmxldC1sKSB7cGFkZGluZzogMTNweCA5cHg7fVxuICB9XG5cbiAgLndvb2NvbW1lcmNlIGltZywgLndvb2NvbW1lcmNlLXBhZ2UgaW1nIHtoZWlnaHQ6IDEwMCU7fVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIHttYXJnaW4tYm90dG9tOiAwO31cblxuLy8gTUVTU0FHRSAtIGFkZGVkIHRvIGJhc2tldFxuLndvb2NvbW1lcmNlLWVycm9yLCAud29vY29tbWVyY2UtaW5mbywgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGxpbmUtaGVpZ2h0OiAyLjVlbTtcbn1cblxuLndvb2NvbW1lcmNlLW1lc3NhZ2Uge2JvcmRlcjogbm9uZTt9XG4ud29vY29tbWVyY2UtbWVzc2FnZTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy90aWNrQmx1ZS5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgdG9wOiAyZW07XG59XG5cblxuXG4vLyBBQ0NPUkRJT05cblxuYm9keS53b29jb21tZXJjZSAuYWNjb3JkaW9uLXJvdyB7XG4gIGg1IHtcbiAgICBtYXJnaW46IDAuM2VtIDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAuYWNjb3JkaW9uLXJvdy1saW5lIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHN0b25lO1xuICAgICAgLmFjY29yZGlvbi1yb3ctcXVlc3Rpb24ge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDE2cHg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuICAgICAgc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgIH1cbiAgICAgICYub24ge1xuICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRub3RXaGl0ZTtcbiAgICAgICAgICBzdmcge3RyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO31cbiAgICAgIH1cbiAgICAgIFxuICAgICAgLmFjY29yZGlvbi1yb3ctYW5zd2VyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuYWNjb3JkaW9uLXJvdy1pY29uIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBlYXNlLWluLW91dCAwLjVzO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICYuc3ZnLWFjdGl2ZSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cblxufVxuXG4vLyBzaW5nbGUgcHJvZHVjdCA+IHJlbGF0ZWRcbi51cHNlbGxzIHVsLnByb2R1Y3RzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBnYXA6IDE2cHg7XG59XG5cblxuXG4vLyBURUFTRVJcbi51cHNlbGxzLFxuLnByb2R1Y3RUZWFzZXJMb29wIHtcbiAgbWFyZ2luOiAwIDAgMmVtIDA7XG4gIGg1LnNlcnZlcyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIC5zaW5nbGUtcHJvZHVjdCAmIHtkaXNwbGF5OiBub25lO31cbiAgfVxuICBhIGg1IHttYXJnaW4tYm90dG9tOiAwO31cbiAgaDIud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSwgaDIge3RleHQtdHJhbnNmb3JtOiBub25lO31cblxuICAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwLjZlbSAwLjVlbSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxZW0pICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIFxuICAgIC8vICY6YWZ0ZXIge1xuICAgIC8vICAgZGlzcGxheTogYmxvY2s7ICAgICAgXG4gICAgLy8gICBmbG9hdDogcmlnaHQ7XG4gICAgLy8gICBjb2xvcjogJHdoaXRlO1xuICAgIC8vICAgbGluZS1oZWlnaHQ6IDAuNWVtO1xuICAgIC8vIH1cbiAgICAvLyAmLnByb2R1Y3RfdHlwZV9zaW1wbGUgc3BhbiB7ZGlzcGxheTogbm9uZTt9XG4gICAgLy8gJi5wcm9kdWN0X3R5cGVfdmFyaWFibGUgc3BhbiB7dGV4dC10cmFuc2Zvcm06IG5vbmU7fVxuICAgIC8vICYucHJvZHVjdF90eXBlX3NpbXBsZTphZnRlciB7Y29udGVudDogJ1xcMDAwMkInO2ZvbnQtc2l6ZTogMS43ZW07fVxuICAgIC8vICYucHJvZHVjdF90eXBlX3ZhcmlhYmxlOmFmdGVyIHtjb250ZW50OiAnXFwwMDAzRSc7Zm9udC1zaXplOiAxLjNlbTt9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWFNaW4oJHRhYmxldCkge21hcmdpbjogMCAwIDNlbSAwO31cbiAgJi5mbGV4IHtcbiAgICAgIGdhcDogMTZweDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAmLmFkZEV4dHJhcyB7IC8vIG9uIFNpbmdsZSBQcm9kdWN0IEV4dHJhc1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgYXNpZGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gOHB4KTtcbiAgICAgIG1pbi13aWR0aDogY2FsYyg1MCUgLSA4cHgpO1xuICAgICAgICAuc2luZ2xlLXByb2R1Y3QgJiB7IC8vIFNJTkdMRSBQUk9EVUNUXG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDQ1JSAtIDhweCk7XG4gICAgICAgICAgbWluLXdpZHRoOiBjYWxjKDQ1JSAtIDhweCk7ICAgICAgICBcbiAgICAgICAgfVxuICAgICAgLmltYWdlRGl2IHtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEyMCU7XG4gICAgICB9XG4gICAgICBpbWcge3RyYW5zaXRpb246IGFsbCAuN3MgY3ViaWMtYmV6aWVyKC43LDAsLjMsMSk7fVxuICAgICAgJjpob3ZlciB7ICAgICAgICAgICAgXG4gICAgICAgICAgaW1nIHt0cmFuc2Zvcm06IHNjYWxlKDEwMyUpO31cbiAgICAgIH1cbiAgfVxuICAuYm9keVRleHR7XG4gICAgICBwYWRkaW5nOiAxLjNlbSAxZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBmbGV4LWdyb3c6IDI7XG4gICAgICBhIHt0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDt9XG4gICAgICBoNSB7XG4gICAgICB9XG4gIH1cbn1cblxuLy8gUFJPRFVDVCBBUkNISVZFIFRFQVNFUlNcbi5wcm9kdWN0QXJjaGl2ZS5wcm9kdWN0VGVhc2VyTG9vcCB7XG4gIGNsZWFyOiBib3RoO1xuXG4gIGFzaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIG1lZGlhTWluKCRwaG9uZS1zKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gOHB4KTtcbiAgICAgIG1pbi13aWR0aDogY2FsYyg1MCUgLSA4cHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYU1pbigkcGhvbmUtbCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDMzJSAtIDEwcHgpO1xuICAgICAgbWluLXdpZHRoOiBjYWxjKDMzJSAtIDEwcHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYU1pbigkdGFibGV0LW0pIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygyNSUgLSAxMnB4KTtcbiAgICAgIG1pbi13aWR0aDogY2FsYygyNSUgLSAxMnB4KTtcbiAgICB9XG4gIH1cblxuICBhLm91dC1vZi1zdG9jayB7XG4gICAgY29sb3I6ICRibHVlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkYmx1ZSwgMC4yKSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8gQ0FSVFxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdC5jaGVja291dC1idXR0b24ge21hcmdpbi1ib3R0b206IDB9XG4ud29vY29tbWVyY2UtY2FydCB7XG4gIGgyIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQtc2l6ZS1oZWFkaW5nKDIwcHgsIDI0cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuICAuY2FydF90b3RhbHMgIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgfVxufVxuLnByb2R1Y3QtbmFtZSBhIHtcbiAgY29sb3I6ICRibHVlO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlcjtcbn1cblxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUge1xuICBib3JkZXI6IG5vbmU7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDZlbSBhdXRvO1xuICBwYWRkaW5nOiAuN2VtO1xufVxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGQge1xuICBib3JkZXI6IG5vbmU7XG4gIEBpbmNsdWRlIG1lZGlhTWF4KCR0YWJsZXQtcykge2NsZWFyOiBib3RoO31cbn1cbi5jYXJ0LXN1YnRvdGFsIHRkLCAub3JkZXItdG90YWwgdGQsIFxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGQucHJvZHVjdC10b3RhbCwgXG4ud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSAuZmVlIHRkLCBcbi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRoLnByb2R1Y3QtdG90YWxcbiAge3RleHQtYWxpZ246IHJpZ2h0O31cbi5jYXJ0X3RvdGFscyBoMiB7bWFyZ2luLXRvcDogLjRlbTt9XG5cbiNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQsIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50LCAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbm90V2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbiNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzLCAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMsIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMge1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJHN0b25lUGFsZTtcbn1cblxuLy8gQ1JPU1MgU0VMTFMgaW4gY2FydFxuLmNyb3NzLXNlbGxzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAuY3Jvc3NTZWxsc0xvb3Age1xuICAgIGFzaWRlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhTWluKCRwaG9uZS1zKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSA4cHgpO1xuICAgICAgICBtaW4td2lkdGg6IGNhbGMoNTAlIC0gOHB4KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhTWluKCRwaG9uZS1sKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygzMyUgLSAxMHB4KTtcbiAgICAgICAgbWluLXdpZHRoOiBjYWxjKDMzJSAtIDEwcHgpO1xuICAgICAgfVxuICB9XG4gIC5pbWFnZURpdiB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAxMjAlO1xuICB9XG4gIH1cblxufVxuQGluY2x1ZGUgbWVkaWFNaW4oJHRhYmxldC1zKSB7XG4ud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgLmNyb3NzLXNlbGxzLCBcbi53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIC5jcm9zcy1zZWxsc1xue3dpZHRoOiBjYWxjKDEwMCUgLSAzNTBweCk7fVxuLndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIC5jYXJ0X3RvdGFscywgXG4ud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyAuY2FydF90b3RhbHNcbnt3aWR0aDogMzIwcHg7fVxufVxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHtwYWRkaW5nOiAwO31cblxuQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1zKSB7LmNvbC0yIGgzIHttYXJnaW46IHJldmVydDt9fVxuXG4vLyBDSEVDS09VVFxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUge1xuICBtYXgtd2lkdGg6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGNvbG9yOiAkYmx1ZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi53b29jb21tZXJjZS1pbmZvOjpiZWZvcmUge2NvbG9yOiAkYmx1ZTt9XG4ud29vY29tbWVyY2UtaW5mbyB7Ym9yZGVyLXRvcC1jb2xvcjokYmx1ZTt9XG5cbi8vQ09MTEVDVElPTiBTTE9UIFxuLmRleS1jYWxlbmRlci1kYXkgYSB7XG4gIGJhY2tncm91bmQ6ICRzYW5kICFpbXBvcnRhbnQ7XG5ib3JkZXI6IDFweCBzb2xpZCAkc2FuZCAhaW1wb3J0YW50O1xuY29sb3I6ICRibHVlICFpbXBvcnRhbnQ7XG59XG5ib2R5IC51aS13aWRnZXQgaW5wdXQsIGJvZHkgLnVpLXdpZGdldCBzZWxlY3QsIGJvZHkgLnVpLXdpZGdldCB0ZXh0YXJlYSwgYm9keSAudWktd2lkZ2V0IGJ1dHRvbiwgYm9keSAudWktd2lkZ2V0IHtmb250LWZhbWlseTogJGZvbnQtYWxwaGE7fSIsIlxuLmJsb2dUaXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsb2dCbHVlO1xuICBAaW5jbHVkZSBtZWRpYU1pbigkcGhvbmUtbCkge1xuICAgIGhlaWdodDogNTAwcHg7XG4gICAgbWF4LWhlaWdodDogNTB2dztcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgfVxuICAuZmxleCB7aGVpZ2h0OiAxMDAlO1xuICAgIGFzaWRlIHtcbiAgICAgIG1pbi13aWR0aDogNTAlOyBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWFNYXgoJHBob25lLWwpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgYXNpZGUge1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7IFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwdnc7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICAuaW1hZ2VEaXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7IGJvdHRvbTogMDsgbGVmdDogMDsgcmlnaHQ6IDA7XG4gIH1cblxuICAuZmlzaDAxLCAuZmlzaDAyIHtcbiAgICB6LWluZGV4OiAwO1xuICAgIC5jbHMtMSB7ZmlsbDogJGJsb2dCbHVlRGFyazt9XG4gICAgd2lkdGg6IDcwdnc7XG4gIH1cbiAgLmZpc2gwMSB7XG4gICAgbGVmdDogLTM2dnc7XG4gICAgdG9wOiAtNnZ3O1xuICAgIEBpbmNsdWRlIG1lZGlhTWF4KCRwaG9uZS1sKSB7XG4gICAgICBsZWZ0OiAtNnZ3O1xuICAgICAgdG9wOiAtNnZ3O1xuICAgIH1cbiAgfVxuICAuZmlzaDAyIHtcbiAgICBsZWZ0OiAyNnZ3O1xuICAgIGJvdHRvbTogLTR2dztcbiAgICBAaW5jbHVkZSBtZWRpYU1heCgkcGhvbmUtbCkge1xuICAgICAgbGVmdDogNTB2dztcbiAgICAgIGJvdHRvbTogMTl2dztcbiAgICB9XG4gIH1cbiAgLnRleHRXcmFwcGVyIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nOiAyLjJlbSAyMHB4O1xuICAgIC5ib2R5VGV4dCB7bWFyZ2luOiBhdXRvIDA7fVxuICAgIGgxIHtjb2xvcjogJHdoaXRlOyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgbWFyZ2luOiAwLjRlbSAwO31cbiAgICBAaW5jbHVkZSBtZWRpYU1heCgkcGhvbmUtbCkge3BhZGRpbmc6IDEuMmVtIDIwcHg7fVxuICB9XG4gIC5iYWNrQnV0dG9uIGEge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC42ZW07XG4gICAgfVxuICAgICY6aG92ZXIge2NvbG9yOiAkc3RvbmU7XG4gICAgICBzdmcge2ZpbGw6ICRzdG9uZTt9XG4gICAgfVxuICB9XG59XG5cblxuLnNoYXJlLXdyYXBwZXJ7XG4gIG1hcmdpbjogNjBweCAwIDQwcHg7XG4gIC5zb2NpYWwtbWVkaWEtc3RyaXAge2p1c3RpZnktY29udGVudDogc3RhcnQ7fVxuICAuc29jaWFsLWljb24ge2JhY2tncm91bmQtY29sb3I6ICRibHVlRGFyazt9XG4gIC5zaGFyZS10aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtYmV0YTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgIGNvbG9yOiAkYmx1ZURhcms7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMi43cHg7XG4gIH1cbn1cblxuXG5cbi8vIEFSQ0hJVkVcblxuLmJsb2dBcmNoaXZlVGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC1oZWlnaHQ6IDUwdnc7XG4gIG1pbi1oZWlnaHQ6IDM1MHB4O1xuICBAaW5jbHVkZSBtZWRpYU1heCgkcGhvbmUtbCkge1xuICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICB9XG4gIGJhY2tncm91bmQtY29sb3I6ICRibG9nQmx1ZTtcbiAgLnRleHRXcmFwcGVyIHt0ZXh0LWFsaWduOiBjZW50ZXI7fVxuICBoMSwgcCB7Y29sb3I6ICR3aGl0ZTt9XG4gIHAge2ZvbnQtc2l6ZTogMS4yNWVtO31cbiAgLmZpc2gwMSwgLmZpc2gwMiwgLmZpc2gwMyB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgd2lkdGg6IDcwdnc7XG4gIH1cbiAgLmZpc2gwMSB7XG4gICAgLmNscy0xIHtmaWxsOiAkYmxvZ0JsdWVEYXJrO31cbiAgICBsZWZ0OiAtNDZ2dztcbiAgICB0b3A6IC01dnc7XG4gIH1cbiAgLmZpc2gwMiB7XG4gICAgLmNscy0xIHtmaWxsOiAkYmxvZ0JsdWVEYXJrO31cbiAgICBsZWZ0OiAzMHZ3O1xuICAgIGJvdHRvbTogLTExdnc7XG4gIH1cbiAgLmZpc2gwMyB7XG4gICAgLmNscy0xIHtmaWxsOiByZ2IoJHdoaXRlLC4yKX1cbiAgICBsZWZ0OiA2MHZ3O1xuICAgIHRvcDogLTh2dztcbiAgfVxufVxuXG4uYmxvZ3NBcmNoaXZlTG9vcCB7XG4gIG1hcmdpbjogMCAwIDJlbSAwO1xuICBAaW5jbHVkZSBtZWRpYU1pbigkdGFibGV0KSB7bWFyZ2luOiAwIDAgM2VtIDA7fVxuICAuZmxleCB7XG4gICAgICBnYXA6IDI0cHg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgYXNpZGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWluLXdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMTZweCk7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAxNnB4KTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhTWF4KCR0YWJsZXQpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMTJweCk7XG4gICAgICAgICAgbWluLXdpZHRoOiBjYWxjKDUwJSAtIDEycHgpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWFNYXgoJHBob25lLW0pIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICB9XG4gIC50aGVFeGNlcnB0LCAuZmVhdHVyZWRCYWRnZSB7ZGlzcGxheTogbm9uZTt9XG4gIEBpbmNsdWRlIG1lZGlhTWluKCRwaG9uZS1sKSB7XG4gIC5wb3N0LXR5cGUtYXJjaGl2ZS1ibG9nICYgIGFzaWRlOm50aC1vZi10eXBlKDEpIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjZlbTtcbiAgICAgIGg0IHtmb250LXNpemU6IDMycHg7fVxuICAgICAgLnRhZ3Mge21hcmdpbi1ib3R0b206IGF1dG87fVxuICAgICAgLmltYWdlRGl2IHttaW4td2lkdGg6IDUwJTttYXgtd2lkdGg6IDUwJTsgcGFkZGluZy10b3A6IDM2JTt9XG4gICAgICAucGFkZGluZyB7bWluLXdpZHRoOiA1MCU7bWF4LXdpZHRoOiA1MCU7IHBhZGRpbmc6MmVtO31cbiAgICAgIC50aGVFeGNlcnB0IHtkaXNwbGF5OiBibG9jazt9XG4gICAgICAuZmVhdHVyZWRCYWRnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlRGFyaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoNSB7Y29sb3I6ICR3aGl0ZTsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7IG1hcmdpbjogLjhlbTt9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbi5zaW5nbGUtYmxvZ3MgLmJsb2dzQXJjaGl2ZUxvb3AgYXNpZGU6bnRoLW9mLXR5cGUoMykge1xuICBAaW5jbHVkZSBtZWRpYU1pbigkcGhvbmUtbSkge2Rpc3BsYXk6IG5vbmU7fVxuICBAaW5jbHVkZSBtZWRpYU1pbigkdGFibGV0KSB7ZGlzcGxheTogYmxvY2s7fVxufVxuXG4vLyBURUFTRVJcblxuLmJsb2dzQXJjaGl2ZUxvb3B7XG5cbiAgLmJvZHlUZXh0IHtcbiAgICAgIC5idG4ge2Zsb2F0OiByaWdodDsgbWFyZ2luOiA0cHggMCAwIDA7fVxuICB9XG4gIGFzaWRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaDQge2ZvbnQtc2l6ZTogMjRweDsgbWFyZ2luLWJvdHRvbTogLjVlbTt9XG4gICAgICAucGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDEuNWVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgIH1cbiAgICAgIC5pbWFnZURpdiB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDY2JTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgICAgICBsZWZ0OiAxMCU7XG4gICAgICAgICAgICAuY2xzLTEge2ZpbGw6cmdiYSgkY29sb3I6ICRibG9nU3RvbmUsICRhbHBoYTogMC41KTt9XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcztcbiAgICAgICY6aG92ZXIgIHt0cmFuc2Zvcm06IHNjYWxlKDEwMyUpO31cblxuICB9XG5cbn1cblxuXG4vLyBDTElDS0FCTEUgVEFHU1xuLnRhZ3MsIC5maWx0ZXIge1xuICBhLmg1LCBzcGFuLmg1IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iZXRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgfVxufVxuXG4udGFncyB7XG4gIGEuaDUsIHNwYW4uaDUge1xuICAgICAgY29sb3I6ICRzYW5kOyBcbiAgICAgIHBhZGRpbmc6IDAgMWVtIDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuLmZpbHRlciB7XG4gIG1hcmdpbjogMmVtIDA7XG4gIGEuaDUge1xuICAgIGNvbG9yOiAkYmx1ZURhcms7IFxuICAgIHBhZGRpbmc6IC4zZW0gMWVtO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW46IC4yZW07XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyIC4zcztcbiAgICBib3JkZXI6IHNvbGlkIDFweCB0cmFuc3BhcmVudDtcbiAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7Ym9yZGVyOiBzb2xpZCAxcHggJGJsdWVEYXJrO31cbiAgfSAgXG59XG5cbi5kYXRlLmg1IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjb2xvcjogJGJsb2dTdG9uZTsgXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDsgXG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cblxuXG5cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfFxufFx0QnV0dG9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIERFRkFVTFRcbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0LFxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdCxcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdCxcbi53b29jb21tZXJjZSBpbnB1dC5idXR0b24uYWx0LFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdCxcbi53b29jb21tZXJjZSBhLmJ1dHRvbixcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLFxuLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbixcbi5idG4sXG4uYnRuQWx0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWJldGE7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250LXNpemUtaGVhZGluZygxNnB4LCAxOHB4KTtcbiAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLy93aGl0ZS1zcGFjZTpub3dyYXA7XG4gIHBhZGRpbmc6IDAuNmVtIDEuNWVtO1xuICBsZXR0ZXItc3BhY2luZzogMi43cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogJHN0b25lUGFsZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gIGJvcmRlcjogc29saWQgMXB4ICRibHVlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlTGlnaHQ7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJGJsdWVMaWdodDtcbiAgICBjb2xvcjogJG5vdFdoaXRlO1xuICB9XG4gICY6bm90KC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uKSB7XG4gICAgQGluY2x1ZGUgbWVkaWFNYXgoJHBob25lLWwpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzZW0gLSAycHgpO1xuICAgIH1cbiAgfVxuICAmLm0tMCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5idG4sXG4uYnRuQWx0IHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQsXG4ud29vY29tbWVyY2UgYS5idXR0b24uYWx0LFxuLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LFxuLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHQge1xuICBwYWRkaW5nOiAwLjc1ZW0gMS41ZW07XG59XG4ud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdC5kaXNhYmxlZCxcbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0LmRpc2FibGVkOmhvdmVyLFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQ6ZGlzYWJsZWQsXG4ud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdDpkaXNhYmxlZDpob3Zlcixcbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0OmRpc2FibGVkW2Rpc2FibGVkXSxcbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0OmRpc2FibGVkW2Rpc2FibGVkXTpob3Zlcixcbi53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQuZGlzYWJsZWQsXG4ud29vY29tbWVyY2UgYS5idXR0b24uYWx0LmRpc2FibGVkOmhvdmVyLFxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZCxcbi53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWQ6aG92ZXIsXG4ud29vY29tbWVyY2UgYS5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXSxcbi53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LmRpc2FibGVkLFxuLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LmRpc2FibGVkOmhvdmVyLFxuLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkLFxuLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkOmhvdmVyLFxuLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXSxcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4ud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmFsdC5kaXNhYmxlZCxcbi53b29jb21tZXJjZSBpbnB1dC5idXR0b24uYWx0LmRpc2FibGVkOmhvdmVyLFxuLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHQ6ZGlzYWJsZWQsXG4ud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmFsdDpkaXNhYmxlZDpob3Zlcixcbi53b29jb21tZXJjZSBpbnB1dC5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXSxcbi53b29jb21tZXJjZSBpbnB1dC5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlciB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlTGlnaHQ7XG59XG5cbi53b29jb21tZXJjZTp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKVxuICAjcmVzcG9uZFxuICBpbnB1dCNzdWJtaXQuZGlzYWJsZWQsXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSlcbiAgI3Jlc3BvbmRcbiAgaW5wdXQjc3VibWl0OmRpc2FibGVkLFxuLndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpXG4gICNyZXNwb25kXG4gIGlucHV0I3N1Ym1pdDpkaXNhYmxlZFtkaXNhYmxlZF0sXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSlcbiAgYS5idXR0b24uZGlzYWJsZWQsXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSlcbiAgYS5idXR0b246ZGlzYWJsZWQsXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSlcbiAgYS5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuLndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpXG4gIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQsXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSlcbiAgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZCxcbi53b29jb21tZXJjZTp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKVxuICBidXR0b24uYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbi53b29jb21tZXJjZTp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKVxuICBpbnB1dC5idXR0b24uZGlzYWJsZWQsXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSlcbiAgaW5wdXQuYnV0dG9uOmRpc2FibGVkLFxuLndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpXG4gIGlucHV0LmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG46d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSlcbiAgLndvb2NvbW1lcmNlXG4gICNyZXNwb25kXG4gIGlucHV0I3N1Ym1pdC5kaXNhYmxlZCxcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKVxuICAud29vY29tbWVyY2VcbiAgI3Jlc3BvbmRcbiAgaW5wdXQjc3VibWl0OmRpc2FibGVkLFxuOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpXG4gIC53b29jb21tZXJjZVxuICAjcmVzcG9uZFxuICBpbnB1dCNzdWJtaXQ6ZGlzYWJsZWRbZGlzYWJsZWRdLFxuOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpXG4gIC53b29jb21tZXJjZVxuICBhLmJ1dHRvbi5kaXNhYmxlZCxcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKVxuICAud29vY29tbWVyY2VcbiAgYS5idXR0b246ZGlzYWJsZWQsXG46d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSlcbiAgLndvb2NvbW1lcmNlXG4gIGEuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKVxuICAud29vY29tbWVyY2VcbiAgYnV0dG9uLmJ1dHRvbi5kaXNhYmxlZCxcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKVxuICAud29vY29tbWVyY2VcbiAgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZCxcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKVxuICAud29vY29tbWVyY2VcbiAgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG46d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSlcbiAgLndvb2NvbW1lcmNlXG4gIGlucHV0LmJ1dHRvbi5kaXNhYmxlZCxcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKVxuICAud29vY29tbWVyY2VcbiAgaW5wdXQuYnV0dG9uOmRpc2FibGVkLFxuOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpXG4gIC53b29jb21tZXJjZVxuICBpbnB1dC5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdIHtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmJ0bkFsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzdG9uZUxpZ2h0O1xuICBjb2xvcjogJGJsdWU7XG4gIGJvcmRlcjogc29saWQgMXB4ICRibHVlO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkYmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhTWF4KCRwaG9uZS1sKSB7XG4gIC8vIE1PQklMRVxuICAvLyAuYnRuIHtkaXNwbGF5OiBibG9jazt9XG4gIC8vIC5idG46bnRoLW9mLXR5cGUoMikge21hcmdpbi10b3A6IDIwcHg7fVxufVxuQGluY2x1ZGUgbWVkaWFNaW4oJHBob25lLWwpIHtcbiAgLy8gREVTS1RPUFxuICAvLyAgLmJ0bjpudGgtb2YtdHlwZSgyKSB7bWFyZ2luLWxlZnQ6IDIwcHg7fVxufVxuXG5wICsgLmJ0biB7XG4gIEBpbmNsdWRlIG1lZGlhTWF4KCR0YWJsZXQtbSkge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWFNaW4oJHRhYmxldC1tKSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuXG4vLyBGT1JNU1xuXG5mb3JtIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gQGluY2x1ZGUgbWVkaWFNaW4oJHRhYmxldC1zKSB7bWF4LXdpZHRoOiA2MDBweDsgfVxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMjBweDtcblxuICBwIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgaW5wdXQ6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLFxuICB0ZXh0YXJlYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRzdG9uZTtcbiAgICBjb2xvcjogJGJvZHk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWFscGhhO1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGJsdWU7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAvLyBqdXN0IG5lZWRlZCBmb3IgI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MtY2hlY2tib3hcbiAgICBtYXJnaW46IDAuOGVtIDAuNWVtIDAgMDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iZXRhO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJGJsdWU7XG4gICAgcGFkZGluZzogMTVweCA2MHB4O1xuICB9XG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdG9uZTtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkc3RvbmU7XG4gIH1cblxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbG9yOiAkYm9keTtcbiAgfVxuICAud3BjZjctc3Bpbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNTBweDtcbiAgICByaWdodDogMDtcbiAgfVxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vUkFESU8vQ0hFQ0tCT1hcblxubGFiZWwsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBzcGFuLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgc3Bhbjo6YmVmb3JlLFxubGFiZWwsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBzcGFuLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgc3Bhbjo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5sYWJlbCAqLFxubGFiZWwgKiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndwY2Y3LWxpc3QtaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBSQURJTyBCRUZPUkVcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIHNwYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIG1hcmdpbjogMCA0cHggMCAwO1xuICBwYWRkaW5nOiAwcHggMXB4IDBweCAwO1xuICBib3JkZXI6IHNvbGlkIDFweCAkYmx1ZTtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLy8gQ0hFQ0tCT1ggQkVGT1JFXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBzcGFuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMSk7XG4gIGJvcmRlcjogc29saWQgMXB4ICRibHVlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0yMHB4O1xuICB0b3A6IDNweDtcbn1cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgc3Bhbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy90aWNrLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW46OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgc3Bhbjo6YmVmb3JlIHtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgc3Bhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwMjJcIjtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBsaW5lLWhlaWdodDogOHB4O1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQgKyBzcGFuLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkICsgc3BhbiB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3BhY2l0eTogMC40O1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBzcGFuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBzdmcge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICBsZWZ0OiAtMzBweDtcbiAgICBzdHJva2U6ICR3aGl0ZTtcbiAgICBzdHJva2Utd2lkdGg6IDdweDtcbiAgfVxufVxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBzcGFuIHtcbiAgc3ZnIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi53cGNmNy1hY2NlcHRhbmNlIGxhYmVsIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgbGV0dGVyLXNwYWNpbmc6IHVuc2V0O1xuICBmb250LWZhbWlseTogJGZvbnQtYWxwaGE7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xufVxuXG4ud3BjZjcgZm9ybSAud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcbiAgbWFyZ2luOiAxZW0gYXV0bztcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2FhMTkxOTtcbn1cblxuLy8gU0VBUkNIIEZPUk1cblxuI3NlYXJjaEZvcm0ge1xuICBwYWRkaW5nOiAyNHB4IDE2cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiAwLjE3cyBlYXNlO1xuICAmLnNob3ctc2VhcmNoLWZvcm0ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5zZWFyY2gtZm9ybSB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgbGFiZWwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MnB4KTtcbiAgfVxuICBpbnB1dC5zZWFyY2gtZmllbGQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgY29sb3I6ICRib2R5O1xuICB9XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjb2xvcjogJGJvZHk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAuc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgLnNlYXJjaC1mb3JtIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDU0cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMHB4O1xuICAgIHRvcDogMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAjZmZmO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuM3M7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgc3ZnIHtcbiAgICAgICAgZmlsbDogcmdiYSgkY29sb3I6ICNmZmYsICRhbHBoYTogMC44KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIVxuICogSGFtYnVyZ2Vyc1xuICogQGRlc2NyaXB0aW9uIFRhc3R5IENTUy1hbmltYXRlZCBoYW1idXJnZXJzXG4gKiBAYXV0aG9yIEpvbmF0aGFuIFN1aCBAam9uc3VoXG4gKiBAc2l0ZSBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vyc1xuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXG4gKi9cblxuLy8gU2V0dGluZ3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXBhZGRpbmcteCAgICAgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLXBhZGRpbmcteSAgICAgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLXdpZHRoICAgICAgICAgICAgICAgICAgICAgOiAyNnB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgICAgICAgICAgICAgICAgICAgIDogMnB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICAgICAgICAgICAgICAgICAgIDogNnB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICA6IDBweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAgICAgICAgICAgICAgICAgICA6IDAuOCAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi1kdXJhdGlvbiAgICAgICA6IDAuMTVzICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xuXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyOiBmYWxzZSAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xuXG4vLyBUeXBlcyAoUmVtb3ZlIG9yIGNvbW1lbnQgb3V0IHdoYXQgeW91IGRvbuKAmXQgbmVlZClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXR5cGVzOiAoXG4gIHNxdWVlemVcbikgIWRlZmF1bHQ7XG5cbiNoYW1idXJnZXIgeyAvL05PUk1BTCAoTU9CSUxFKSBIQU1CVVJHRVJcbiAgLy8gZGlzcGxheTogbm9uZTtcbiAgLy8gQGluY2x1ZGUgbWVkaWFNYXgoJHRhYmxldC1sKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIC8vICBtYXJnaW4tbGVmdDogYXV0bztcbi8vICB9XG59XG5cbi5oYW1idXJnZXIge1xuICBwYWRkaW5nOiAkaGFtYnVyZ2VyLXBhZGRpbmcteSAkaGFtYnVyZ2VyLXBhZGRpbmcteDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyAgXG4gIHotaW5kZXg6IDMwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiBhdXRvIGF1dG8gYXV0byAwO1xuXG4gIC8vICY6aG92ZXIge1xuICAvLyAgIEBpZiAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgPT0gdHJ1ZSB7XG4gIC8vICAgICBmaWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyO1xuICAvLyAgIH1cbiAgLy8gICBAZWxzZSB7XG4gIC8vICAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHk7XG4gIC8vICAgfVxuICAvLyB9XG4gIH1cbiAgXG4gIC5oYW1idXJnZXItYm94IHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIFxuICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gLTIpO1xuICBcbiAgICAmLFxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgICAgIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbm90V2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgICAgJjpob3ZlciB7YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO31cbiAgICB9XG4gIFxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XG4gICAgfVxuICBcbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgICB9XG4gIH1cbiAgXG4gIEBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcXVlZXplKSB7XG4gICAgLypcbiAgICAgKiBTcXVlZXplXG4gICAgICovXG4gICAgLmhhbWJ1cmdlci0tc3F1ZWV6ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wNzVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xMnMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMDc1cyBlYXNlO1xuICAgICAgICB9XG4gIFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIFxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjA3NXMgMC4xMnMgZWFzZTtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSIsIi8vIE1vZGFsIHdpbmRvd1xuXG4uY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDAwMDAwMDAwMDA7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gICRzaXplOiAyMHB4O1xuICBoZWlnaHQ6ICRzaXplO1xuICB3aWR0aDogJHNpemU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGxpbmUtaGVpZ2h0OiAkc2l6ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIEBpbmNsdWRlIG1lZGlhTWF4KCR0YWJsZXQtcykge1xuICAgIHRvcDogMTVweDtcbiAgICByaWdodDogMTVweDtcbiAgfVxuXG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAkd2lkdGg6IDIwcHg7XG4gICAgJGhlaWdodDogM3B4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtIGNhbGMoJGhlaWdodCAvIDIpO1xuICAgIG1hcmdpbi1sZWZ0OiAtIGNhbGMoJHdpZHRoIC8gMik7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gIH1cblxuICAmOmhvdmVyIHtcblxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgfVxufVxuXG4ubWFzayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDAwMDAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xufVxuXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogNTAlO1xuICByaWdodDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgbWF4LWhlaWdodDogOTAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiAxMDAwMDAwMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2Utb3V0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNjAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gIGJveC1zaGFkb3c6IDAgMCAxMDFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJi53aXRoU2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWFNYXgoJGxhcHRvcC1sKSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAud3JhcHBlcl9fbW9kYWwge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIG1lZGlhTWF4KCRsYXB0b3AtbCkge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5tZXNzYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgaDIge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYU1heCgkbGFwdG9wLXMpIHtcbiAgICAgIGgxIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0= */
