/*
Theme Name: LOWEworks
Description: A duplicate of the LOWE guardians theme with brand alterations.
Author: Seed
Author URI: https://helloseed.co.uk
Version: 1.0
*/

/* Ok, this is where the fun starts.
-------------------------------------------------------------------------------*/
/* A Linux- and Windows-friendly sans-serif font stack: http://prospects.mhurrell.co.uk/post/updating-the-helvetica-font-stack */
body {
  -webkit-font-smoothing: antialiased; }

/* Using local fonts? Check out Font Squirrel's webfont generator: http://www.fontsquirrel.com/tools/webfont-generator */
/* We like off-black for text. */
body, select, input, textarea {
  color: #272727; }

/* Mozilla dosen't style place holders by default */
input:-moz-placeholder {
  color: #a9a9a9; }

textarea:-moz-placeholder {
  color: #a9a9a9; }

@keyframes fd {
  to {
    opacity: 1;
    transform: translateX(0) translateY(0) scale(1) rotate(0deg); } }

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

@keyframes moveUp {
  0% { }
  100% {
    transform: translateY(0%); } }

.center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%) !important; }

.mamaBear {
  display: none;
  width: 0; }
  @media screen and (min-width: 950px) {
    .mamaBear {
      display: block;
      width: 100%; } }

/*
	HTML5 Reset :: style.css
	----------------------------------------------------------
	We have learned much from/been inspired by/taken code where offered from:

	Eric Meyer					:: http://meyerweb.com
	HTML5 Doctor				:: http://html5doctor.com
	and the HTML5 Boilerplate	:: http://html5boilerplate.com

-------------------------------------------------------------------------------*/
/* Let's default this puppy out
-------------------------------------------------------------------------------*/
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

article, aside, figure, footer, header, nav, section, details, summary {
  display: block; }

/* Handle box-sizing while better addressing child elements:
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
html {
  box-sizing: border-box; }

*,
*:before,
*:after {
  box-sizing: inherit; }

/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */
/* Responsive images and other embedded objects
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
   If this default setting for images is causing issues, you might want to replace it with a .responsive class instead. */
img,
object,
embed {
  max-width: 100%; }

/* force a vertical scrollbar to prevent a jumpy page */
html {
  overflow-y: scroll; }

/* we use a lot of ULs that aren't bulleted.
	don't forget to restore the bullets within content. */
ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0; }

th {
  font-weight: bold;
  vertical-align: bottom; }

td {
  font-weight: normal;
  vertical-align: top; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

pre {
  white-space: pre;
  /* CSS2 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word;
  /* IE */ }

input[type="radio"] {
  vertical-align: text-bottom; }

input[type="checkbox"] {
  vertical-align: bottom; }

.ie7 input[type="checkbox"] {
  vertical-align: baseline; }

.ie6 input {
  vertical-align: text-bottom; }

select, input, textarea {
  font: 75% sans-serif; }

table {
  font-size: inherit;
  font: 100%; }

small {
  font-size: 85%; }

strong {
  font-weight: bold; }

td, td img {
  vertical-align: top; }

/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* standardize any monospaced elements */
pre, code, kbd, samp {
  font-family: monospace, sans-serif; }

/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
  cursor: pointer; }

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {
  margin: 0; }

/* make buttons play nice in IE */
button,
input[type=button] {
  width: auto;
  overflow: visible; }

/* scale images in IE7 more attractively */
.ie7 img {
  -ms-interpolation-mode: bicubic; }

/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/
/* let's clear some floats */
.clearfix:before, .clearfix:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden; }

.clearfix:after {
  clear: both; }

.clearfix {
  zoom: 1; }

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  line-height: 1.6em !important;
  -webkit-font-smoothing: antialiased; }

#wpadminbar, #wpadminbar * {
  line-height: 32px !important; }

ins {
  background-color: #48512A;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #48512A;
  color: #000;
  font-style: italic;
  font-weight: bold; }

::-moz-selection {
  background: #48512A;
  color: #fff;
  text-shadow: none; }

::selection {
  background: #48512A;
  color: #fff;
  text-shadow: none; }

body {
  background-color: white; }

p, ol, ul {
  margin-bottom: 3vh; }
  @media screen and (min-width: 750px) {
    p, ol, ul {
      margin-bottom: 2vh; } }
  @media screen and (min-width: 1400px) {
    p, ol, ul {
      margin-bottom: 4vh; } }

a {
  text-decoration: none;
  transition: 0.5s cubic-bezier(0.23, 0.01, 0, 1);
  color: #48512A;
  position: relative; }
  a:hover, a:active, a:focus {
    color: #48512A; }

a:hover {
  text-decoration: none;
  cursor: pointer; }

#header {
  position: relative; }

img {
  user-select: none;
  user-drag: none; }

.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important; }

.buttonNoStyle {
  -webkit-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  border: none;
  background: none;
  outline: 0;
  font-weight: 400;
  font-size: 1em;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  background: none;
  border: 0;
  color: inherit;
  /* cursor: default; */
  font: inherit;
  line-height: normal;
  overflow: visible;
  padding: 0;
  -webkit-appearance: button;
  /* for input */
  -webkit-user-select: none;
  /* for button */
  -moz-user-select: none;
  -ms-user-select: none;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif; }

.element-invisible, .screen-reader-text {
  position: absolute !important;
  margin-left: -10000px !important;
  overflow-x: hidden; }

.cf:before,
.cf:after {
  content: "";
  /* 1 */
  display: table;
  /* 2 */ }

.cf:after {
  clear: both; }

.cf {
  *zoom: 1; }

*:focus {
  outline: 0; }

.element-invisible, .screen-reader-text {
  position: absolute !important;
  margin-left: -10000px !important;
  overflow-x: hidden; }

.disable-hover,
.disable-hover * {
  pointer-events: none !important; }

.noScroll {
  overflow-x: hidden;
  overflow-y: auto; }

.atBottom, .atTop {
  position: relative;
  display: block;
  width: 100%; }

.content-wrapper {
  margin: 0 auto;
  position: relative;
  z-index: 1;
  text-align: center;
  font-size: 0.75em; }
  @media screen and (min-width: 600px) {
    .content-wrapper {
      font-size: 0.8em; } }
  @media screen and (min-width: 750px) {
    .content-wrapper {
      font-size: 0.9em; } }
  @media screen and (min-width: 1023px) {
    .content-wrapper {
      font-size: 1em; } }

@media screen and (min-width: 750px) {
  .content-wrapper--mt {
    padding-top: calc(1em + 6vh); } }

.page-transition {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #48512A;
  transition: transform 0.7s cubic-bezier(0.8, 0, 0.08, 1) 0.2s;
  transform: translate3d(0, 102%, 0);
  z-index: 1000; }

.woocommerce .page-transition {
  background: #fafafa; }

.project-is-loading {
  animation: load-project 0.7s cubic-bezier(0.8, 0, 0.08, 1) forwards 0.2s; }

.next-project-loading {
  animation: next-project 0.7s cubic-bezier(0.8, 0, 0.08, 1) forwards 0.1s; }

.prev-project-loading {
  animation: prev-project 0.7s cubic-bezier(0.8, 0, 0.08, 1) forwards 0.1s; }

.content--exit {
  transform: translate3d(0%, -5vh, 0);
  opacity: 0; }

@keyframes load-project {
  from {
    transform: translate3d(0, 102%, 0); }
  to {
    transform: translate3d(0, 0, 0); } }

@keyframes next-project {
  from {
    transform: translate3d(102%, 0, 0); }
  to {
    transform: translate3d(0, 0, 0); } }

@keyframes prev-project {
  from {
    transform: translate3d(102%, 0, 0); }
  to {
    transform: translate3d(0, 0, 0); } }

.close-button {
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  transition: 0.5s cubic-bezier(0.23, 0.01, 0, 1);
  transform: rotate(45deg); }
  .close-button .top, .close-button .bottom {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%; }
  .close-button .bottom {
    transform: translate3d(-50%, -50%, 0);
    height: 100%;
    width: 2px;
    transform-origin: top; }
  .close-button .top {
    transform: translate3d(-50%, -50%, 0);
    box-shadow: 6px 2px 1px 1px #48512A;
    width: 100%;
    height: 2px;
    transform-origin: left; }
  @media screen and (min-width: 750px) {
    .close-button {
      width: 24px;
      height: 24px; } }
  .close-button:hover .bottom, .close-button:active .bottom, .close-button:focus .bottom {
    animation: closeBefore 0.4s cubic-bezier(0.8, 0, 0.08, 1) forwards; }
  .close-button:hover .top, .close-button:active .top, .close-button:focus .top {
    animation: closeAfter 0.5s cubic-bezier(0.8, 0, 0.08, 1) forwards 0.1s; }

.fof {
  color: #48512A;
  letter-spacing: 0.1em;
  font-size: 1.4em;
  display: block;
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  animation: fd 0.5s cubic-bezier(0.23, 0.01, 0, 1) 0.2s forwards; }

.clip {
  overflow: hidden; }
  .clip span {
    display: block;
    animation: fd 0.8s cubic-bezier(0.23, 0.01, 0, 1) forwards 0.6s;
    line-height: 1em !important; }

.clip--below span {
  transform: translate3d(0, 101%, 0); }

.clip--above span {
  transform: translate3d(0, -101%, 0); }

.pad-section {
  padding: 10vh; }
  @media screen and (min-width: 750px) {
    .pad-section {
      padding: 8vw; } }
  @media screen and (min-width: 1400px) {
    .pad-section {
      padding: 7vw; } }

.title {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  display: block; }

.sub-title {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  display: block; }
  .sub-title h4 {
    font-weight: 400; }

.copy {
  display: block;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1em !important;
  font-weight: 600;
}

.arrow {
  position: relative;
  width: 15px;
  padding: 10px;
  height: 15px;
  display: inline-block;
  transition: 0.5s cubic-bezier(0.23, 0.01, 0, 1); }
  .arrow .line {
    position: absolute;
    width: 15px;
    height: 3px;
    border-radius: 3px; }
    .arrow .line:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: #48512A;
      transform: scale3d(0, 1, 1);
      transition: 0.5s cubic-bezier(0.23, 0.01, 0, 1);
      border-radius: 3px; }
  .arrow .line--one {
    left: calc(50% - 1px);
    transform-origin: left; }
    .arrow .line--one:after {
      transform-origin: left; }
  .arrow .line--two {
    right: calc(50% - 1px);
    transform-origin: right; }
    .arrow .line--two:after {
      transform-origin: right; }
  .arrow:hover .line:after, .arrow:active .line:after, .arrow:focus .line:after {
    transform: scale3d(1, 1, 1);
    opacity: 1; }

.arrow--down .line {
  bottom: 0; }

.arrow--down .line--one {
  transform: rotate(-45deg); }

.arrow--down .line--two {
  transform: rotate(45deg); }

.arrow--down:hover, .arrow--down:focus, .arrow--down:active {
  transform: translate3d(0, 30%, 0); }

.arrow--up .line {
  top: 0; }

.arrow--up .line--one {
  transform: rotate(45deg); }

.arrow--up .line--two {
  transform: rotate(-45deg); }

.arrow--up:hover, .arrow--up:focus, .arrow--up:active {
  transform: translate3d(0, -30%, 0); }

.arrow--light .line {
  background: white; }

.arrow--light-dark .line:after {
  background: #48512A; }

.arrow--dark .line {
  background: #48512A; }

.arrow--dark .line:after {
  background: #48512A; }

.section-full {
  min-height: 100vh; }

@media screen and (min-width: 750px) {
  .section-half {
    min-height: 50vh; } }

.cta {
  padding: 1.8em;
  color: #48512A;
  display: block;
  width: 100%;
  font-size: 0.8em;
  position: relative;
  line-height: 1em !important;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1), opacity 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.8s;
  text-align: center; }
  @media screen and (min-width: 600px) {
    .cta {
      display: inline-block;
      min-width: 250px;
      width: auto;
      box-sizing: border-box; } }
  .cta span {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    box-shadow: inset 0px 0px 0px 3px #DADCD4; }
    .cta span:after, .cta span:before {
      content: '';
      position: absolute;
      background: #48512A;
      z-index: 1; }
    .cta span:before {
      height: 3px;
      width: 100%;
      transform: scale3d(0, 1, 1);
      transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1) 0.3s; }
    .cta span:after {
      width: 3px;
      height: 100%;
      transform: scale3d(1, 0, 1);
      transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1); }
    .cta span:nth-of-type(1):before {
      top: 0;
      left: 0;
      transform-origin: right; }
    .cta span:nth-of-type(1):after {
      bottom: 0;
      right: 0;
      transform-origin: bottom; }
    .cta span:nth-of-type(2):before {
      right: 0;
      bottom: 0;
      transform-origin: left; }
    .cta span:nth-of-type(2):after {
      top: 0;
      left: 0;
      transform-origin: top; }

.cta:hover,
.cta:active,
.cta:focus,
.cta-cont:hover .cta {
  color: #48512A; }
  .cta:hover span:after, .cta:hover span:before,
  .cta:active span:after,
  .cta:active span:before,
  .cta:focus span:after,
  .cta:focus span:before,
  .cta-cont:hover .cta span:after,
  .cta-cont:hover .cta span:before {
    transform: scale3d(1, 1, 1); }
  .cta:hover span:before,
  .cta:active span:before,
  .cta:focus span:before,
  .cta-cont:hover .cta span:before {
    transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1); }
  .cta:hover span:after,
  .cta:active span:after,
  .cta:focus span:after,
  .cta-cont:hover .cta span:after {
    transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1) 0.3s; }
  .cta:hover span:nth-of-type(1):before,
  .cta:active span:nth-of-type(1):before,
  .cta:focus span:nth-of-type(1):before,
  .cta-cont:hover .cta span:nth-of-type(1):before {
    transform-origin: left; }
  .cta:hover span:nth-of-type(1):after,
  .cta:active span:nth-of-type(1):after,
  .cta:focus span:nth-of-type(1):after,
  .cta-cont:hover .cta span:nth-of-type(1):after {
    transform-origin: top; }
  .cta:hover span:nth-of-type(2):before,
  .cta:active span:nth-of-type(2):before,
  .cta:focus span:nth-of-type(2):before,
  .cta-cont:hover .cta span:nth-of-type(2):before {
    transform-origin: right; }
  .cta:hover span:nth-of-type(2):after,
  .cta:active span:nth-of-type(2):after,
  .cta:focus span:nth-of-type(2):after,
  .cta-cont:hover .cta span:nth-of-type(2):after {
    transform-origin: bottom; }

button.cta {
  box-sizing: border-box; }

@media screen and (min-width: 750px) {
  .text-left {
    text-align: left; } }

.showreel {
  position: relative;
  width: 100%; }
  .showreel .swiper-slide {
    height: auto; }
    .showreel .swiper-slide .text-cont {
      position: relative;
      text-align: left;
      width: 90%;
      max-width: 800px;
      margin: 100px auto;
      padding: 40px;
      background: #eee; }

@media screen and (min-width: 750px) {
  .clip-appear span {
    animation: none;
    transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.3s; } }

.clip-appear--below span {
  transform: translate3d(0, 101%, 0); }

.clip-appear--above span {
  transform: translate3d(0, -101%, 0); }

@media screen and (min-width: 750px) {
  .in .clip-appear span {
    transform: translate3d(0, 0, 0); } }

.copy-appear {
  opacity: 0;
  animation: fd 1s cubic-bezier(0.23, 0.01, 0, 1) forwards 0.6s;
  transform: translate3d(0, 1em, 0); }
  @media screen and (min-width: 750px) {
    .copy-appear {
      transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.6s;
      animation: none; } }

@media screen and (min-width: 750px) {
  .in .copy-appear {
    opacity: 1;
    transform: translate3d(0, 0, 0); } }

@media screen and (min-width: 750px) {
  .image-appear {
    transform: scale3d(1.05, 1.05, 1);
    transition: 5s cubic-bezier(0.23, 0.01, 0, 1); } }

@media screen and (min-width: 750px) {
  .in .image-appear {
    transform: scale3d(1, 1, 1); } }

.cta {
  opacity: 0; }

.in .cta {
  opacity: 1; }

.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  font-size: 0.8em;
  background: white;
  z-index: 100;
  opacity: 1;
  visibility: visible; }
  @media screen and (max-width: 950px) {
    .nav {
      transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
      overflow-y: scroll;
      -webkit-overflow-scrolling: touch; } }
  @media screen and (min-width: 950px) {
    .nav {
      background: transparent;
      bottom: auto; } }

.nav--scrolled .menu {
  transform: translate3d(0, -101%, 0); }

.menu {
  position: absolute;
  top: 50%;
  display: block;
  transform: translate3d(0, -50%, 0);
  width: 100%; }
  .menu > li {
    list-style: none;
    display: block;
    text-align: center; }
    .menu > li ul {
      display: none; }
  @media screen and (min-width: 950px) {
    .menu {
      position: relative;
      width: 65%;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin: 0 auto;
      transform: translate3d(0, -104%, 0);
      transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1); }
      .menu:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: -50%;
        right: -50%;
        background: rgba(255, 255, 255, 0.98);
        transition: background 0.6s cubic-bezier(0.23, 0.01, 0, 1); }
      .menu > li {
        width: auto;
        display: inline-block;
        position: relative;
        vertical-align: top; }
        .menu > li .sub-menu {
          position: absolute;
          background-color: white;
          margin-top: -3px;
          z-index: -10;
          margin-left: -3em;
          padding: 1.5em 3em;
          text-align: left;
          font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
          font-weight: 700;
          letter-spacing: 0.1em;
          opacity: 0;
          transition: display 0s;
          transition: opacity 0.3s ease-in-out;
          text-transform: uppercase;
        }
        .menu > li:hover > .sub-menu {
          opacity: 1;
        }
          .menu > li .sub-menu a {
            color: black;
            font-size: 0.8em;
            display: block;
            margin-bottom: 1em;
            white-space: nowrap;
          }
          .menu > li .sub-menu a:last-of-type {
            margin-bottom: 0;
          }

        .menu > li ul {
          display: none;
          margin-top: 5px; }
          .menu > li ul a {
            color: #fff;
            opacity: 0.6;
            font-size: 0.6em; }
            .menu > li ul a:hover {
              opacity: 1; }
        .menu > li:hover ul {
          display: block; } }

.nav--open {
  opacity: 0;
  visibility: hidden; }
  @media screen and (min-width: 950px) {
    .nav--open {
      opacity: 1;
      visibility: visible; }
      .nav--open .menu {
        transform: translate3d(0, 0, 0); } }

.nav-button {
  position: fixed;
  right: 0;
  top: 0;
  margin: 6vw;
  width: 24px;
  height: 20px;
  z-index: 101;
  display: block; }
  .nav-button:before {
    content: '';
    position: absolute;
    top: -6vw;
    left: -1.5vw;
    right: -6vw;
    bottom: -1.5vw; }
  .nav-button span {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 3px;
    background: #48512A;
    transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1), background 0.6s cubic-bezier(0.23, 0.01, 0, 1);
    z-index: 10;
    display: block; }
    .nav-button span:nth-of-type(1) {
      transform: translate3d(0, -250%, 0); }
    .nav-button span:nth-of-type(2) {
      transform: scale3d(1, 1, 1) translate3d(0, -50%, 0);
      top: 50%;
      transform-origin: left;
      transition: background 0.6s cubic-bezier(0.23, 0.01, 0, 1), transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s; }
    .nav-button span:nth-of-type(3) {
      transform: translate3d(0, 150%, 0); }
  @media screen and (max-width: 950px) {
    .nav-button span:nth-of-type(1) {
      transform: translate3d(0, -50%, 0) rotate(-45deg);
      transition: background 0.6s cubic-bezier(0.23, 0.01, 0, 1), transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.2s; }
    .nav-button span:nth-of-type(2) {
      transform: translate3d(calc(100% + 6vw), -50%, 0) scale3d(0.5, 1, 1);
      transform-origin: right; }
    .nav-button span:nth-of-type(3) {
      transform: translate3d(0, -50%, 0) rotate(45deg);
      transition: background 0.6s cubic-bezier(0.23, 0.01, 0, 1), transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.2s; } }
  @media screen and (min-width: 950px) {
    .nav-button {
      margin: 3vh; }
      .nav-button:before {
        top: -3vh;
        left: -1.5vh;
        right: -3vh;
        bottom: -1.5vh; }
      .nav-button:hover span:nth-of-type(2), .nav-button:active span:nth-of-type(2), .nav-button:focus span:nth-of-type(2) {
        transform: scale3d(1, 1, 1) translate3d(-15%, -50%, 0); } }

.nav-button--close.nav-button--white span {
  background: white; }

.nav-button--close span:nth-of-type(1) {
  transform: translate3d(0, -250%, 0); }

.nav-button--close span:nth-of-type(2) {
  transform: scale3d(1, 1, 1) translate3d(0, -50%, 0);
  top: 50%;
  transform-origin: left;
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s, background 0.6s cubic-bezier(0.23, 0.01, 0, 1); }

.nav-button--close span:nth-of-type(3) {
  transform: translate3d(0, 150%, 0); }

@media screen and (min-width: 950px) {
  .nav-button--close span:nth-of-type(1) {
    transform: translate3d(0, -50%, 0) rotate(-45deg);
    transition-delay: 0.2s; }
  .nav-button--close span:nth-of-type(2) {
    transform: translate3d(calc(100% + 6vw), -50%, 0) scale3d(0.5, 1, 1) !important;
    transform-origin: right; }
  .nav-button--close span:nth-of-type(3) {
    transform: translate3d(0, -50%, 0) rotate(45deg);
    transition-delay: 0.2s; } }

.nav-button--white span {
  background: white; }
  @media screen and (max-width: 950px) {
    .nav-button--white span {
      background: #48512A; } }

@media screen and (min-width: 950px) {
  .nav--nobk .menu:before {
    background: transparent; }
  .nav--nobk .nav__logo-con__logo__border--bottom {
    stroke: white; }
  .nav--nobk .nav__logo-con__logo__letter {
    fill: white; }
  .nav--nobk .nav__nav-item {
    color: white; } }

.section-header__nav-target {
  position: absolute;
  display: block;
  bottom: 6vh;
  right: 0;
  left: 0;
  height: 1px; }

.nav__logo-con {
  position: fixed;
  top: 6vw;
  left: 6vw;
  z-index: 1; }
  @media screen and (min-width: 950px) {
    .nav__logo-con {
      position: absolute;
      transform: translate3d(0, -50%, 0);
      left: 3vh;
      top: 4.5vh; } }
  @media screen and (min-width: 1200px) {
      .nav__logo-con {
        top: 4vh; } }
  .nav__logo-con:hover .nav__logo-con__logo__border--top, .nav__logo-con:active .nav__logo-con__logo__border--top, .nav__logo-con:focus .nav__logo-con__logo__border--top {
    stroke-dashoffset: 0; }
  .nav__logo-con:hover .nav__logo-con__logo__letter, .nav__logo-con:active .nav__logo-con__logo__letter, .nav__logo-con:focus .nav__logo-con__logo__letter {
    fill: #48512A; }

.logo-con__logo {
  width: 50px;
  height: 23.7px;
  vertical-align: bottom; }

.nav__logo-con__logo__back {
  transition: fill 0.5s cubic-bezier(0.23, 0.01, 0, 1);
  fill: rgba(0, 55, 108, 0); }

.nav__logo-con__logo__border {
  transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1);
  fill: none;
  stroke-miterlimit: 10;
  stroke-width: 15px; }

.nav__logo-con__logo__border--bottom {
  stroke: #48512A; }

.home .nav__logo-con__logo__border--bottom {
  animation: draw 1.2s cubic-bezier(0.23, 0.01, 0, 1) forwards 1s;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000; }

@keyframes draw {
  to {
    stroke-dashoffset: 0; } }

.home .nav__logo-con__logo__letter {
  opacity: 0;
  animation: fdOpacity 0.6s forwards 1.4s; }

.nav__logo-con__logo__border--top {
  stroke: #48512A;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000; }

.nav__logo-con__logo__letter {
  fill: #48512A;
  transition: 0.5s cubic-bezier(0.23, 0.01, 0, 1); }

.nav__nav-item {
  padding: 3vh 0 13px;
  display: inline-block;
  position: relative;
  transition: color 0.6s cubic-bezier(0.23, 0.01, 0, 1); }
  .nav__nav-item:before {
    content: '';
    position: absolute;
    bottom: 5px;
    left: 0;
    right: 0;
    height: 3px;
    background: #48512A;
    transform-origin: right;
    transform: scale3d(0, 1, 1);
    transition: transform 0.5s cubic-bezier(0.23, 0.01, 0, 1); }
  .nav__nav-item:hover:before, .nav__nav-item:active:before, .nav__nav-item:focus:before {
    transform: scale3d(1, 1, 1);
    transform-origin: left; }


.page-about .nav__nav-item--about:before,
.page-guardians .nav__nav-item--guardians:before,
.page-landlords .nav__nav-item--landlords:before,
.page-journal .nav__nav-item--journal:before,
.blog .nav__nav-item--journal:before,
.page-contact .nav__nav-item--contact:before {
  transform: scale3d(1, 1, 1); }

.pop-up-form {
  margin-left: auto;
  margin-right: auto;
  z-index: 999;
  position: fixed;
  display: none;
  visibility: hidden;
  text-align: center;
  width: 70%;
    max-width: 480px;
}

.pop-up-form__open {
  display: block;
  visibility: visible;
  position: fixed;
}

.pop-up-form__close-button {
  position: absolute!important;
  top: 1vw;
  right: 1vw;
  border: 3px solid #CED7E1!important;
}

.pop-up-form__close-button:hover {
  background: #CED7E1!important;
}

.pop-up-form__close-button:before {
  width: 50%!important;
  top: 65%!important;
  right: calc(50% + -7px)!important;
  -webkit-transform-origin: right!important;
  transform-origin: right!important;
  -webkit-transform: rotate(45deg)!important;
  transform: rotate(45deg)!important;
  background: #CED7E1!important;
}

.pop-up-form__close-button:after {
  width: 50%!important;
  top: 65%!important;
  left: calc(50% - 7px)!important;
  -webkit-transform-origin: left!important;
  transform-origin: left!important;
  -webkit-transform: rotate(-45deg)!important;
  transform: rotate(-45deg)!important;
  background: #CED7E1!important;
}

.pop-up-form__close-button:hover:before, .pop-up-form__close-button:hover:after {
  background: #fff!important;
}

.pop-up-overlay {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  display: none;
  visibility: hidden;
  z-index: 100;
}

.pop-up-overlay__open {
  opacity: 0.3;
  display: block;
  visibility: visible;
}

.homepage_sections_wrapper {
  height: 100vh;
}

@media screen and (max-width: 750px) {
  .homepage_sections_wrapper {
    height: 100vh;
  }
}


.split-con {
  background: #1e1e1e;
  min-height: 50%;
  display: block;
  position: relative;
  float: left;
  right: 0;
  left: 0;
  overflow: hidden; }
  .split-con:nth-of-type(1) {
    top: 0; }
  @media screen and (min-width: 750px) {
    .split-con {
      top: 0;
      bottom: 0;
      right: auto;
      width: 50%;
      text-align: center;
      height: 100vh;
      left: 0; } }
  @media screen and (max-width: 750px) {
    .split-con {
      height: 50vh;
      width: 100%; } }

.split-con__image {
  position: absolute;
  top: 0;
  bottom: 0;
  transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1); }
  .split-con__image:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: #48512A;
    opacity: 0.2;
    transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1);
    mix-blend-mode: hard-light; }

.touch .split-con__image:after {
  opacity: 0.3; }

.split-con:nth-of-type(1) .split-con__image {
  right: -3%;
  left: 0;
  transform: translate3d(-2.5%, 0, 0); }

.split-con:nth-of-type(2) .split-con__image {
  left: -3%;
  right: 0;
  transform: translate3d(2.5%, 0, 0); }

.split-con__copy-con {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  color: white;
  width: 100%;
  max-width: 600px; }
  .split-con__copy-con span {
    display: block; }
  @media screen and (min-width: 750px) {
    .split-con__copy-con {
      padding: 0; } }

.split-con__copy-con__title {
  font-size: 1.4em;
  margin: 3vh; }
  .split-con__copy-con__title span {
    transform: translate3d(0, 100%, 0); }

.split-con__copy-con__copy {
  display: none !important; }
  @media screen and (min-width: 750px) {
    .split-con__copy-con__copy {
      display: block !important;
      position: absolute;
      bottom: 0;
      width: 100%;
      left: 0;
      transform: translate3d(0, 100%, 0);
      padding: 0 20%; }
      .split-con__copy-con__copy span {
        transform: translate3d(0, 2vh, 0);
        opacity: 0;
        transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1);
        animation: fd 1.2s cubic-bezier(0.23, 0.01, 0, 1) forwards 1.3s; } }

.split-con__copy-con__icon-con {
  display: none; }
  @media screen and (min-width: 750px) {
    .split-con__copy-con__icon-con {
      display: block;
      position: absolute;
      z-index: auto;
      top: 0;
      left: 0;
      width: 100%;
      transform: translate3d(0, -100%, 0); } }

.split-con__copy-con__icon-con__icon {
  display: inline-block;
  margin: 0 auto;
  transform: translate3d(0, -2vh, 0);
  transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1);
  animation: fd 1.2s cubic-bezier(0.23, 0.01, 0, 1) forwards 0.9s;
  opacity: 0; }

.no-touchevents .split-con__copy-con__icon-con__icon,
.no-touchevents .split-con__copy-con__copy span {
  animation: none; }

.split-con__copy-con__icon-con__icon__svg {
  height: 60px; }
  .split-con__copy-con__icon-con__icon__svg--lands {
    width: 66px; }
  .split-con__copy-con__icon-con__icon__svg--guards {
    width: 55px; }
  @media screen and (min-width: 750px) {
    .split-con__copy-con__icon-con__icon__svg {
      height: 80px; }
      .split-con__copy-con__icon-con__icon__svg--lands {
        width: 90px; }
      .split-con__copy-con__icon-con__icon__svg--guards {
        width: 73px; } }
  .split-con__copy-con__icon-con__icon__svg .path {
    fill: none;
    stroke: white;
    stroke-miterlimit: 10;
    stroke-width: 7px; }
  .split-con__copy-con__icon-con__icon__svg .path--thin {
    stroke-width: 4px; }
  .split-con__copy-con__icon-con__icon__svg .key {
    transition: transform 3s cubic-bezier(0.23, 0.01, 0, 1); }
  .split-con__copy-con__icon-con__icon__svg .house {
    transition: transform 0.8s cubic-bezier(0.23, 0.01, 0, 1); }

.no-touch .split-con--guardians .house {
  transform: scale3d(0.8, 0.8, 1);
  transform-origin: center center; }

.no-touch .split-con--landlords .key {
  transform: rotate(5deg) translate3d(0, -20%, 0);
  transform-origin: bottom right; }

@media screen and (max-width: 750px) {
  .split-con__copy-con__icon-con {
    z-index: 1; }
    .split-con__copy-con__icon-con__icon__svg {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate3d(-50%, -50%, 0); } }

.split-con:hover .split-con__image {
  transform: translate3d(0, 0, 0); }
  .split-con:hover .split-con__image:after {
    opacity: 0.95; }

.split-con:hover .split-con__copy-con__icon-con__icon,
.split-con:hover .split-con__copy-con__copy span {
  opacity: 1;
  transform: translate3d(0, 0, 0); }

.split-con:hover .split-con__copy-con__copy span {
  transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1) 0.1s; }

.split-con:hover.split-con--guardians .house {
  transform: scale3d(1, 1, 1); }

.split-con:hover.split-con--landlords .key {
  transform: rotate(0deg) translate3d(0, 10%, 0); }

.page-template-p-key .sub-title, .page-landlords .sub-title {
  margin: 20px auto 0px;
  color: #4a4a4a; }

.blog-preview {
  display: inline-block;
  width: 50%;
  position: relative;
  padding: 100px 0;
  vertical-align: top; }
  .blog-preview .checker-con__image-con {
    position: relative;
    width: 80%;
    max-width: 600px;
    margin: 0 auto; }
    .blog-preview .checker-con__image-con:before {
      padding-top: 100%;
      content: '';
      display: block; }
  .blog-preview .title {
    max-width: 90%;
    margin: 20px auto 0px; }

@media screen and (max-width: 700px) {
  .blog-preview {
    width: 100%;
    padding: 20px; } }

.full-height {
  min-height: 100vh; }

.vert-centre {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  -o-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0); }

.section-header {
  position: relative;
  color: #48512A;
  z-index: 1; }
  @media screen and (max-width: 750px) {
    .section-header {
      padding: calc(6vw + 1em); } }

.section-header.section-full {
  color: white;
  font-size: 2.7em; }
  .section-header.section-full:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: #48512A;
    opacity: 0.2;
    transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1);
    mix-blend-mode: hard-light; }

.home_masthead.section-header.section-full:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #0e210c;
  opacity: 0.5;
  transition: 0.8s cubic-bezier(0.23, 0.01, 0, 1);
  mix-blend-mode: hard-light; }

.section-header__title {
  z-index: 1; }
  .section-header__title span {
    transform: translate3d(0, 101%, 0); }

.section-header__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden; }
  .section-header__image span {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }

.section-header__crumbs {
  display: none;
  font-size: 0.7em;
  color: rgba(0, 55, 108, 0.2); }
  @media screen and (min-width: 750px) {
    .section-header__crumbs {
      display: block;
      top: calc(1em + 6vh);
      left: 10vw;
      position: absolute; } }
  @media screen and (min-width: 1400px) {
    .section-header__crumbs {
      left: 8vw; } }

.section-header__crumbs--bottom {
  display: none; }
  @media screen and (min-width: 750px) {
    .section-header__crumbs--bottom {
      background: #f7f7f7;
      display: block;
      font-size: 0.9em; } }

.section-header__scroll {
  position: absolute;
  bottom: 10vh;
  right: 0;
  left: 0;
  z-index: 1; }

.section-intro {
  text-align: left;
  min-height: 60vh;
  background: #fafafa; }

.section-intro__copy-con__title {
  color: #48512A;
  margin-bottom: 5vh; }

.section-intro__copy-con__copy {
  max-width: 600px;
  display: block;
  margin
  opacity: 0; }
  @media screen and (min-width: 750px) {
    .section-intro__copy-con__copy {
      animation: none;
      max-width: 750px;
      font-size: 1.2em; } }

@media screen and (min-width: 750px) {
  .in .section-intro__copy-con__title {
    transform: translate3d(0, 0, 0); } }

.in .section-intro__copy-con__copy {
  opacity: 1;
 }

.lcg-slideshow, .shed-reel {
  position: relative;
  width: 100%;
  height: 90vh;
  min-height: 60vh; }
  .lcg-slideshow li img, .shed-reel li img {
    position: absolute;
    height: 100%;
    width: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%); }

.shed-reel, .section-video {
  width: 90%;
  margin: auto;
  padding: 7vh 0px;
  position: relative; }

@media (min-width: 1023px) {
  .page-template-p-shed .post__con {
    width: 80%;
    margin: auto; } }

@media (max-width: 415px) {
  .shed-reel, .section-video {
    width: 100%;
    margin: auto;
    padding: 7vh 0px; } }

.checker-con {
  position: relative; }
  .checker-con .title, .checker-con .copy, .checker-con .sub-title {
    text-align: left; }
  .checker-con .cta {
    text-align: center; }
  @media screen and (min-width: 750px) {
    .checker-con.section-half .title, .checker-con.section-half .copy, .checker-con.section-half .sub-title {
      text-align: center; } }

.checker-con:nth-of-type(odd) .checker-con__copy-con {
  float: right; }

.checker-con:nth-of-type(odd) .checker-con__image-con {
  right: auto;
  left: 0; }

.checker-con:nth-of-type(even) .checker-con__copy-con {
  float: left; }

.checker-con:nth-of-type(even) .checker-con__image-con {
  left: auto;
  right: 0; }

.checker-con__image-con {
  background: rgba(30, 30, 30, 0.1);
  height: 50vh;
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 750px) {
    .checker-con__image-con {
      position: absolute;
      height: auto;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      width: 50%; } }

.checker-con__image-con__image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

@media screen and (min-width: 750px) {
  .checker-con__image-con,
  .checker-con__copy-con {
    display: inline-block;
    width: 50%; } }

.checker-con__copy-con__title {
  color: #48512A; }

.checker-con__copy-con__sub-title {
  font-size: 0.8em;
  margin-top: 2vh;
  animation-delay: 0.8s !important;
  transition-delay: 0.6s !important; }

.checker-con__copy-con__copy {
  padding: 4vh 0; }
  .checker-con__copy-con__copy a:before, .checker-con__copy-con__copy a:after {
    content: '';
    position: absolute;
    bottom: 0.1em;
    left: 0;
    right: 0;
    height: 1px; }
  .checker-con__copy-con__copy a:before {
    background: rgba(0, 55, 108, 0.2); }
  .checker-con__copy-con__copy a:after {
    background: #48512A;
    transform: scale3d(0, 1, 1);
    transform-origin: right;
    transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1); }
  .checker-con__copy-con__copy a:hover:after, .checker-con__copy-con__copy a:active:after, .checker-con__copy-con__copy a:focus:after {
    transform: scale3d(1, 1, 1);
    transform-origin: left; }
  @media screen and (min-width: 750px) {
    .checker-con__copy-con__copy {
      padding: 4vh; } }

@media screen and (min-width: 750px) {
  .section-full .checker-con__copy-con__copy {
    padding: 6vh 0 0; } }

.section-full .checker-con__link {
  margin-top: 4vh; }
  @media screen and (min-width: 750px) {
    .section-full .checker-con__link {
      margin-top: 6vh; } }

.to-top-con {
  background: #48512A;
  position: relative;
  display: block; }
  .to-top-con .to-top-con__span {
    color: rgba(255, 255, 255, 0.8);
    transition: color 0.6s cubic-bezier(0.23, 0.01, 0, 1); }
  .to-top-con:hover .to-top-con__span, .to-top-con:active .to-top-con__span, .to-top-con:focus .to-top-con__span {
    color: white; }
  .to-top-con:hover .line:after, .to-top-con:active .line:after, .to-top-con:focus .line:after {
    transform: scale3d(1, 1, 1);
    opacity: 1; }
  .to-top-con:hover .arrow--up, .to-top-con:active .arrow--up, .to-top-con:focus .arrow--up {
    transform: translate3d(0, -30%, 0); }

.view-checker {
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1); }

.section-full .view-checker {
  top: 50vh; }

.section-half .view-checker {
  top: 25vh; }

.ben-con {
  background: #f6f6f6;
  position: relative; }
  .ben-con .con {
    transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s;
    padding: 5vh; }

.ben-con__title {
  font-size: 1.3em;
  margin-bottom: 10vh;
  color: #48512A; }

.ben-con__benefits {
  margin: 0 auto; }

.coin-mask {
  position: relative;
  width: 60%;
  max-width: 150px;
  overflow: hidden;
  background-color: #fafafa;
  border-radius: 50%;
  margin: 3vh auto 3vh;
  box-shadow: -3px 5px 6px rgba(233, 233, 233, 0.3);
  transition: all 0.4s ease-in-out; }
  .coin-mask:before {
    content: '';
    display: block;
    padding-top: 100%;
    position: relative; }
  .coin-mask img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    -ms-transform: translate3d(-50%, -50%, 0);
    -o-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    width: 150%;
    height: auto;
    max-width: 1000px; }

.cta-cont {
  cursor: pointer;
  margin: 2vw 0;
  display: inline-block; }
  .cta-cont:hover .coin-mask {
    background-color: #fff;
    box-shadow: -4px 6px 6px rgba(233, 233, 233, 0.8); }
  .cta-cont:hover .cta {
    background-color: #fff; }
  @media screen and (min-width: 750px) {
    .cta-cont {
      margin: 1% 1%;
      width: 47%; } }
  @media screen and (min-width: 1200px) {
    .cta-cont {
      margin: 1% 1%;
      width: 30%; } }

.in.ben-con__title span {
  transform: translate3d(0, 0, 0); }

.pad-section {
  position: relative; }

.fb-highlight {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  left: auto;
  right: 20px;
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center; }
  .fb-highlight .coin-mask {
    width: 55px;
    margin: 0 0 5px  0;
    background-color: #fff;
    border: none; }

.ben-shrink .con {
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1); }

.ben-con__benefits__benefit-desc {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(246, 246, 246, 0.98);
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  visibility: hidden;
  opacity: 0;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  z-index: 1; }
  .ben-con__benefits__benefit-desc .center {
    transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
    transform: translate3d(-50%, -50%, 0) scale3d(1.05, 1.05, 1) !important;
    width: 75%;
    max-width: 600px; }

.ben-con__benefits__benefit-desc__title {
  margin-bottom: 3vh;
  color: #48512A; }

.benefit--selected {
  opacity: 1;
  visibility: visible;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s; }
  .benefit--selected .center {
    transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s;
    transform: translate3d(-50%, -50%, 0) scale3d(1, 1, 1) !important; }

.section-close {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  margin-top: 5vh; }

@media screen and (min-width: 750px) {
  .page-template-p-form .pop-up-con {
    margin: -4vw auto; } }

@media screen and (min-width: 1200px) {
  .page-template-p-form .pop-up-con {
    margin: -5vw auto; } }

body:not(.page-template-p-guardian-application) form {
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 750px) {
    body:not(.page-template-p-guardian-application) form {
      max-width: 600px;
      color: #272727;
      margin: 0 auto; } }
  @media screen and (min-width: 1200px) {
    body:not(.page-template-p-guardian-application) form {
      margin: 0 auto; } }
  body:not(.page-template-p-guardian-application) form label {
    text-align: left; }
  body:not(.page-template-p-guardian-application) form .cta {
    opacity: 1; }
  body:not(.page-template-p-guardian-application) form br,
  body:not(.page-template-p-guardian-application) form .ajax-loader {
    display: none; }
  body:not(.page-template-p-guardian-application) form input,
  body:not(.page-template-p-guardian-application) form textarea,
  body:not(.page-template-p-guardian-application) form select {
    font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
    appearance: none;
    color: #272727;
    border: 3px solid #DADCD4;
    padding: 0.5em;
    line-height: 1em !important;
    display: block;
    width: 100%;
    border-radius: 0;
    background: white;
    transition: border 0.6s cubic-bezier(0.23, 0.01, 0, 1); }
  body:not(.page-template-p-guardian-application) form select {
    cursor: pointer; }
  body:not(.page-template-p-guardian-application) form textarea {
    resize: none; }
  body:not(.page-template-p-guardian-application) form p {
    margin-bottom: 1vw; }
  body:not(.page-template-p-guardian-application) form .title {
    font-size: 0.8em; }

.wpcf7-form-control-wrap {
  display: block; }

.input-con {
  position: relative;
  margin-bottom: 2vw; }

.input-con__input_span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  box-shadow: inset 0px 0px 0px 3px #DADCD4;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1); }
  .input-con__input_span:after, .input-con__input_span:before {
    content: '';
    position: absolute;
    background: #48512A;
    z-index: 1; }
  .input-con__input_span:before {
    height: 3px;
    width: 100%;
    transform: scale3d(0, 1, 1);
    transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1) 0.3s; }
  .input-con__input_span:after {
    width: 3px;
    height: 100%;
    transform: scale3d(1, 0, 1);
    transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1); }
  .input-con__input_span:nth-of-type(1):before {
    top: 0;
    left: 0;
    transform-origin: right; }
  .input-con__input_span:nth-of-type(1):after {
    bottom: 0;
    right: 0;
    transform-origin: bottom; }
  .input-con__input_span:nth-of-type(2):before {
    right: 0;
    bottom: 0;
    transform-origin: left; }
  .input-con__input_span:nth-of-type(2):after {
    top: 0;
    left: 0;
    transform-origin: top; }

input:hover, input:active, input:focus,
textarea:hover,
textarea:active,
textarea:focus,
select:hover,
select:active,
select:focus {
  border-color: #48512A; }

.input-focus {
  color: #48512A; }
  .input-focus .input-con__input_span:after, .input-focus .input-con__input_span:before {
    transform: scale3d(1, 1, 1) !important; }
  .input-focus .input-con__input_span:before {
    transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1); }
  .input-focus .input-con__input_span:after {
    transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1) 0.3s; }
  .input-focus .input-con__input_span:nth-of-type(1):before {
    transform-origin: left; }
  .input-focus .input-con__input_span:nth-of-type(1):after {
    transform-origin: top; }
  .input-focus .input-con__input_span:nth-of-type(2):before {
    transform-origin: right; }
  .input-focus .input-con__input_span:nth-of-type(2):after {
    transform-origin: bottom; }

.properties:after, .properties:before {
  content: '';
  height: 3px;
  position: absolute;
  top: 50%;
  width: 8px;
  background: #d1d1d1;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1); }

.properties:before {
  right: 1.3em;
  transform: rotate(-45deg); }

.properties:after {
  right: 1.3em;
  transform: translate3d(calc(-100% + 4.5px), 0, 0) rotate(45deg); }

.invalid .properties:before, .invalid .properties:after {
  right: 50px; }

.input-con:hover .properties:after,
.input-con:hover .properties:before, .input-con:active .properties:after,
.input-con:active .properties:before, .input-con:focus .properties:after,
.input-con:focus .properties:before {
  background: #48512A; }

.input-con:hover .properties:before, .input-con:active .properties:before, .input-con:focus .properties:before {
  transform: rotate(-45deg) !important; }

.input-con:hover .properties:after, .input-con:active .properties:after, .input-con:focus .properties:after {
  transform: translate3d(calc(-100% + 4.5px), 0, 0) rotate(45deg) !important; }

.submit-con {
  display: block;
  text-align: center; }

.form-submit {
  position: relative;
  display: inline-block; }
  .form-submit input {
    z-index: 1;
    box-sizing: border-box; }
  .form-submit .title {
    margin: 0; }
  .form-submit span {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    box-shadow: inset 0px 0px 0px 3px #DADCD4; }
    .form-submit span:after, .form-submit span:before {
      content: '';
      position: absolute;
      background: #48512A;
      z-index: 1; }
    .form-submit span:before {
      height: 3px;
      width: 100%;
      transform: scale3d(0, 1, 1);
      transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1) 0.3s; }
    .form-submit span:after {
      width: 3px;
      height: 100%;
      transform: scale3d(1, 0, 1);
      transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1); }
    .form-submit span:nth-of-type(1):before {
      top: 0;
      left: 0;
      transform-origin: right; }
    .form-submit span:nth-of-type(1):after {
      bottom: 0;
      right: 0;
      transform-origin: bottom; }
    .form-submit span:nth-of-type(2):before {
      right: 0;
      bottom: 0;
      transform-origin: left; }
    .form-submit span:nth-of-type(2):after {
      top: 0;
      left: 0;
      transform-origin: top; }
  .form-submit:hover, .form-submit:active, .form-submit:focus {
    color: #48512A; }
    .form-submit:hover span:after, .form-submit:hover span:before, .form-submit:active span:after, .form-submit:active span:before, .form-submit:focus span:after, .form-submit:focus span:before {
      transform: scale3d(1, 1, 1); }
    .form-submit:hover span:before, .form-submit:active span:before, .form-submit:focus span:before {
      transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1); }
    .form-submit:hover span:after, .form-submit:active span:after, .form-submit:focus span:after {
      transition: transform 0.3s cubic-bezier(0.23, 0.01, 0, 1) 0.3s; }
    .form-submit:hover span:nth-of-type(1):before, .form-submit:active span:nth-of-type(1):before, .form-submit:focus span:nth-of-type(1):before {
      transform-origin: left; }
    .form-submit:hover span:nth-of-type(1):after, .form-submit:active span:nth-of-type(1):after, .form-submit:focus span:nth-of-type(1):after {
      transform-origin: top; }
    .form-submit:hover span:nth-of-type(2):before, .form-submit:active span:nth-of-type(2):before, .form-submit:focus span:nth-of-type(2):before {
      transform-origin: right; }
    .form-submit:hover span:nth-of-type(2):after, .form-submit:active span:nth-of-type(2):after, .form-submit:focus span:nth-of-type(2):after {
      transform-origin: bottom; }

.wpcf7-not-valid-tip {
  display: none !important;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translate3d(0, -50%, 0);
  opacity: 0;
  visibility: hidden; }

.properties .wpcf7-not-valid-tip {
  right: calc(1em + 30px); }

.wpcf7-response-output {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 600;
  font-size: 0.9em;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 1em 1.4em !important;
  background: #DADCD4;
  color: #48512A;
  border: none !important;
  text-align: center;
  margin: 4vh 0 0; }

.sent:after {
  content: '';
  z-index: 1;
  background: rgba(255, 255, 255, 0.9);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.sent .wpcf7-response-output {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0) scale3d(0.5, 0.5, 1);
  opacity: 0;
  width: 40px;
  height: 40px;
  background: #3df17d;
  color: transparent;
  z-index: 3;
  animation: success-grow 0.6s cubic-bezier(0.23, 0.01, 0, 1) forwards 0.4s; }
  .sent .wpcf7-response-output:before, .sent .wpcf7-response-output:after {
    content: '';
    position: absolute;
    height: 3px;
    background: white; }
  .sent .wpcf7-response-output:before {
    width: 20%;
    top: 60%;
    right: calc(50% + 1px);
    transform-origin: right;
    transform: rotate(45deg) scale3d(0, 1, 1);
    animation: tick-before 0.6s cubic-bezier(0.23, 0.01, 0, 1) forwards 0.7s; }

@keyframes tick-before {
  to {
    transform: rotate(45deg) scale3d(1, 1, 1); } }
  .sent .wpcf7-response-output:after {
    width: 40%;
    top: 60%;
    left: calc(50% - 3px);
    transform-origin: left;
    transform: rotate(-45deg) scale3d(0, 1, 1);
    animation: tick-after 0.6s cubic-bezier(0.23, 0.01, 0, 1) forwards 1s; }

@keyframes tick-after {
  to {
    transform: rotate(-45deg) scale3d(1, 1, 1); } }

@keyframes success-grow {
  to {
    transform: translate3d(-50%, -50%, 0) scale3d(1, 1, 1);
    opacity: 1; } }

.input-check {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 50px;
  z-index: 1;
  opacity: 0;
  transform: translate3d(10%, 0, 0);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1), opacity 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  opacity: 0; }
  .input-check:before, .input-check:after {
    content: '';
    position: absolute;
    height: 3px; }

.correct.input-check {
  opacity: 1;
  transform: translate3d(0, 0, 0); }
  .correct.input-check:before, .correct.input-check:after {
    background: #3df17d; }
  .correct.input-check:before {
    width: 8px;
    top: 60%;
    right: calc(50% + 1px);
    transform-origin: right;
    transform: rotate(45deg); }
  .correct.input-check:after {
    width: 15px;
    top: 60%;
    left: calc(50% - 3px);
    transform-origin: left;
    transform: rotate(-45deg); }

.error.input-check {
  opacity: 1;
  transform: translate3d(0, 0, 0); }
  .error.input-check:before, .error.input-check:after {
    background: #ff002a; }
  .error.input-check:before, .error.input-check:after {
    width: 12px;
    top: 50%;
    left: 50%; }
  .error.input-check:before {
    transform: translate3d(-50%, -50%, 0) rotate(45deg); }
  .error.input-check:after {
    transform: translate3d(-50%, -50%, 0) rotate(-45deg); }

.properties .input-check {
  right: calc(1em + 30px); }

.page-template-p-guardian-application .g-pagination {
  position: relative;
  justify-content: center;
  margin: 2em auto 1em;
  color: #dadada;
  display: inline-flex;
  flex-flow: row nowrap;
  box-shadow: -5px 5px 15px #f0f0f0; }
  .page-template-p-guardian-application .g-pagination div {
    height: auto;
    padding: 5px 15px;
    background-color: #fafafa;
    color: #272727;
    cursor: pointer; }
    .page-template-p-guardian-application .g-pagination div:hover {
      background-color: #f0f0f0; }
    .page-template-p-guardian-application .g-pagination div.active {
      color: white;
      background-color: #48512A; }

.page-template-p-guardian-application .g-pagination-buttons {
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 100%; }
  .page-template-p-guardian-application .g-pagination-buttons .g-button {
    padding: 5px 1em;
    background-color: #48512A;
    box-shadow: -5px 5px 15px #f0f0f0;
    color: #fff;
    width: 130px;
    text-align: center;
    cursor: pointer; }

.page-template-p-guardian-application form {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 80px;
  max-width: 1100px;
  font-size: 1.3em; }
  .page-template-p-guardian-application form h2 {
    color: #dadada;
    text-align: center;
    text-transform: uppercase; }
  .page-template-p-guardian-application form .lowe-step h3 {
    text-align: left;
    font-size: 0.7em;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    opacity: 0.8;
    line-height: 1.3em !important;
    margin-top: 60px;
    max-width: 700px; }
  .page-template-p-guardian-application form label, .page-template-p-guardian-application form input, .page-template-p-guardian-application form select, .page-template-p-guardian-application form textarea, .page-template-p-guardian-application form p, .page-template-p-guardian-application form span, .page-template-p-guardian-application form a, .page-template-p-guardian-application form h2, .page-template-p-guardian-application form h3, .page-template-p-guardian-application form li {
    font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif; }
  .page-template-p-guardian-application form label {
    width: 50%;
    padding: 3em 5% 3em 0; }
  .page-template-p-guardian-application form input, .page-template-p-guardian-application form select, .page-template-p-guardian-application form textarea {
    width: 50%;
    margin: 3em 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
  .page-template-p-guardian-application form .lowe-step {
    box-shadow: -5px 5px 15px #f0f0f0;
    padding: 40px 60px;
    text-align: left;
    margin: 0 auto;
    max-width: 900px;
    display: none; }
    .page-template-p-guardian-application form .lowe-step.active {
      display: block; }
  .page-template-p-guardian-application form .input_cont {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin: 40px auto;
    padding: 0 20px; }
  .page-template-p-guardian-application form .g-input-check label {
    width: 75%; }
  .page-template-p-guardian-application form .g-input-check input, .page-template-p-guardian-application form .small-list li .check-box {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 35px;
    height: auto;
    background: #f0f0f0;
    border: none;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    margin-right: 0.5rem;
    outline: none;
    position: relative;
    border-radius: 3px;
    z-index: 1000; }
    .page-template-p-guardian-application form .g-input-check input:hover, .page-template-p-guardian-application form .small-list li .check-box:hover {
      background: #cacaca; }
    .page-template-p-guardian-application form .g-input-check input:before, .page-template-p-guardian-application form .small-list li .check-box:before {
      padding-top: 100%;
      content: '';
      display: block; }
  .page-template-p-guardian-application form .g-input-check input:checked, .page-template-p-guardian-application form .g-input-check input.checked .check-box, .page-template-p-guardian-application form .small-list li:checked, .page-template-p-guardian-application form .small-list li.checked .check-box {
    background: #3df17d; }
    .page-template-p-guardian-application form .g-input-check input:checked::after, .page-template-p-guardian-application form .g-input-check input.checked .check-box::after, .page-template-p-guardian-application form .small-list li:checked::after, .page-template-p-guardian-application form .small-list li.checked .check-box::after {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate3d(-50%, -50%, 0);
      -ms-transform: translate3d(-50%, -50%, 0);
      -o-transform: translate3d(-50%, -50%, 0);
      transform: translate3d(-50%, -50%, 0);
      content: '';
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      background-image: url("assets/vectors/tick.svg");
      display: inline-block;
      font-size: 1.5em;
      text-align: center;
      line-height: 1em;
      height: 50%;
      width: 50%; }
  .page-template-p-guardian-application form .small-list {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    width: 100%;
    margin: 2em 0; }
    .page-template-p-guardian-application form .small-list li {
      width: 48%;
      width: calc(50% - 0.5em);
      padding: 1em;
      margin: 0 0 1em;
      background-color: #fff;
      cursor: pointer;
      position: relative; }
      .page-template-p-guardian-application form .small-list li .check-box {
        position: absolute;
        top: 50%;
        left: auto;
        right: 0px;
        -webkit-transform: translate3d(0, -50%, 0);
        -ms-transform: translate3d(0, -50%, 0);
        -o-transform: translate3d(0, -50%, 0);
        transform: translate3d(0, -50%, 0); }
  .page-template-p-guardian-application form input, .page-template-p-guardian-application form textarea {
    border: none;
    border-bottom: 2px solid #f0f0f0;
    cursor: pointer; }
  .page-template-p-guardian-application form textarea {
    font-size: 0.7em;
    border: 1px solid #f0f0f0;
    padding: 10px; }
  .page-template-p-guardian-application form select {
    cursor: pointer;
    border: 1px solid #f0f0f0;
    border: none;
    border-radius: 0px;
    padding: 1em;
    margin: 2em 0;
    box-shadow: -5px 5px 5px #f0f0f0; }
    .page-template-p-guardian-application form select:hover {
      border-color: #cacaca; }
  .page-template-p-guardian-application form input:hover, .page-template-p-guardian-application form textarea:hover {
    border-color: #cacaca; }
  .page-template-p-guardian-application form input:active, .page-template-p-guardian-application form input:focus, .page-template-p-guardian-application form textarea:active, .page-template-p-guardian-application form textarea:focus, .page-template-p-guardian-application form select:active, .page-template-p-guardian-application form select:focus {
    border: none; }
  .page-template-p-guardian-application form textarea:focus {
    border: 1px solid #f0f0f0; }

.posts-con {
  text-align: left;
  margin: 0 auto;
  display: block; }
  @media screen and (min-width: 750px) {
    .posts-con {
      padding-top: 0; } }

.posts-con__post {
  display: block;
  margin-bottom: 0;
  vertical-align: top;
  width: 100%; }
  .posts-con__post:hover .posts-con__post__image-con__image, .posts-con__post:active .posts-con__post__image-con__image, .posts-con__post:focus .posts-con__post__image-con__image {
    transform: scale3d(1.05, 1.05, 1); }
    .posts-con__post:hover .posts-con__post__image-con__image:after, .posts-con__post:active .posts-con__post__image-con__image:after, .posts-con__post:focus .posts-con__post__image-con__image:after {
      opacity: 0.9; }

.posts-con__post__image-con {
  background: #f7f7f7;
  display: block;
  width: 100%;
  height: 70vh;
  max-height: 500px;
  position: relative;
  overflow: hidden; }

.posts-con__post__image-con__image {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1); }
  .posts-con__post__image-con__image:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    mix-blend-mode: hard-light;
    background: #48512A;
    transition: opacity 0.6s cubic-bezier(0.23, 0.01, 0, 1);
    opacity: 0; }

.posts-con__post__details {
  background-color: #fafafa;
  padding: 1.5em;
  text-align: center;
}

.posts-con__post__details__title h1 {
  line-height: 1.4em !important; }

.posts-con__post__details__sub {
  font-size: 0.8em;
  color: #1e1e1e;
  margin: 0.5em 0;
  margin-bottom: 0;}
  .posts-con__post__details__sub span {
    animation-delay: 1s; }

.view {
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  visibility: visible; }

.posts-con__view-con {
  text-align: right;
  padding: 2vw 2vw 8vh; }
  @media screen and (max-width: 600px) {
    .posts-con__view-con {
      display: none; } }

.posts-con__view-con__button {
  width: 20px;
  height: 20px;
  margin-left: 1em;
  position: relative;
  vertical-align: bottom; }
  .posts-con__view-con__button div {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1); }
  .posts-con__view-con__button span {
    background: #48512A;
    position: absolute;
    transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1); }

.posts-con__view-con__button--grid span {
  height: 40%;
  width: 40%; }

.posts-con__view-con__button--grid span:nth-of-type(1) {
  left: 0;
  top: 0; }

.posts-con__view-con__button--grid span:nth-of-type(2) {
  right: 0;
  top: 0; }

.posts-con__view-con__button--grid span:nth-of-type(3) {
  left: 0;
  bottom: 0; }

.posts-con__view-con__button--grid span:nth-of-type(4) {
  right: 0;
  bottom: 0; }

.posts-con__view-con__button--grid span:nth-of-type(5) {
  left: 0;
  bottom: -60%;
  opacity: 0;
  transform: translate3d(0, 20%, 0); }

.posts-con__view-con__button--grid span:nth-of-type(6) {
  right: 0;
  bottom: -60%;
  opacity: 0;
  transform: translate3d(0, 30%, 0); }

.posts-con__view-con__button--grid:hover div, .posts-con__view-con__button--grid:active div, .posts-con__view-con__button--grid:focus div {
  transform: translate3d(0, -60%, 0); }

.posts-con__view-con__button--grid:hover span:nth-of-type(1), .posts-con__view-con__button--grid:active span:nth-of-type(1), .posts-con__view-con__button--grid:focus span:nth-of-type(1) {
  opacity: 0;
  transform: translate3d(0, -30%, 0); }

.posts-con__view-con__button--grid:hover span:nth-of-type(2), .posts-con__view-con__button--grid:active span:nth-of-type(2), .posts-con__view-con__button--grid:focus span:nth-of-type(2) {
  opacity: 0;
  transform: translate3d(0, -20%, 0); }

.posts-con__view-con__button--grid:hover span:nth-of-type(5),
.posts-con__view-con__button--grid:hover span:nth-of-type(6), .posts-con__view-con__button--grid:active span:nth-of-type(5),
.posts-con__view-con__button--grid:active span:nth-of-type(6), .posts-con__view-con__button--grid:focus span:nth-of-type(5),
.posts-con__view-con__button--grid:focus span:nth-of-type(6) {
  opacity: 1;
  transform: translate3d(0, 0, 0); }

.posts-con__view-con__button--list span {
  height: 40%;
  left: 0;
  right: 0; }

.posts-con__view-con__button--list span:nth-of-type(1) {
  top: 0; }

.posts-con__view-con__button--list span:nth-of-type(2) {
  bottom: 0; }

.posts-con__view-con__button--list span:nth-of-type(3) {
  bottom: -60%;
  opacity: 0;
  transform: translate3d(0, 20%, 0); }

.posts-con__view-con__button--list:hover div, .posts-con__view-con__button--list:active div, .posts-con__view-con__button--list:focus div {
  transform: translate3d(0, -60%, 0); }

.posts-con__view-con__button--list:hover span:nth-of-type(1), .posts-con__view-con__button--list:active span:nth-of-type(1), .posts-con__view-con__button--list:focus span:nth-of-type(1) {
  opacity: 0;
  transform: translate3d(0, -20%, 0); }

.posts-con__view-con__button--list:hover span:nth-of-type(3), .posts-con__view-con__button--list:active span:nth-of-type(3), .posts-con__view-con__button--list:focus span:nth-of-type(3) {
  opacity: 1;
  transform: translate3d(0, 0, 0); }

.view--transition {
  opacity: 0;
  visibility: hidden; }

.grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; }
  .grid .posts-con__post__image-con {
    padding-bottom: 100%;
    height: auto; }
  @media screen and (min-width: 600px) {
    .grid .posts-con__post {
      display: inline-block;
      width: 100%; } }
  @media screen and (min-width: 1023px) {
    .grid .posts-con__post {
      width: 100%; } }
  @media screen and (min-width: 1400px) {
    .grid .posts-con__post {
      width: 100%; } }

.list .posts-con__post {
  display: block; }

.pagination {
  padding: 0 2vw;
  text-align: center;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 600; }

.pagination__page {
  padding: 1.5em;
  font-size: 0.7em;
  background: #48512A;
  color: white;
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  border-right: 2px solid #002a53;
  display: inline-block;
  overflow: hidden;
  z-index: 1; }
  .pagination__page:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #48512A;
    transform: scale3d(0, 1, 1);
    transform-origin: right;
    transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
    z-index: -1; }
  .pagination__page:last-of-type {
    border: 0; }
  .pagination__page:hover, .pagination__page:active, .pagination__page:focus {
    color: white; }
    .pagination__page:hover:before, .pagination__page:active:before, .pagination__page:focus:before {
      transform: scale3d(1, 1, 1);
      transform-origin: left; }

.pagination__page--current {
  background: #48512A;
  pointer-events: none; }



.post__con {
  display: block;
  text-align: left; }
  @media screen and (min-width: 1023px) {
    .post__con {
      width: 50%; } }

.post__con__content .content {
  opacity: 0;
  animation: fd 0.6s cubic-bezier(0.23, 0.01, 0, 1) forwards 1.3s; }

.post__con__content a {
  display: inline-block;
  z-index: 1;
  color: #48512A;
  text-shadow: .03em 0 white,-.03em 0 white,0 .03em white,0 -.03em white,.06em 0 white,-.06em 0 white,.09em 0 white,-.09em 0 white,.12em 0 white,-.12em 0 white,.15em 0 white,-.15em 0 white; }
  .post__con__content a:before, .post__con__content a:after {
    content: '';
    position: absolute;
    bottom: 0.3em;
    left: 0;
    right: 0;
    height: 1px;
    z-index: -1; }
  .post__con__content a:before {
    background: rgba(0, 55, 108, 0.2); }
  .post__con__content a:after {
    background: #48512A;
    transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
    transform: scale3d(0, 1, 1);
    transform-origin: right; }
  .post__con__content a:hover:after, .post__con__content a:active:after, .post__con__content a:focus:after {
    transform: scale3d(1, 1, 1);
    transform-origin: left; }

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

.post__con__content ul, .post__con__content ol {
  list-style: none; }
  .post__con__content ul li, .post__con__content ol li {
    position: relative;
    padding-left: 27px;
    margin-bottom: 10px; }
    @media screen and (min-width: 750px) {
      .post__con__content ul li, .post__con__content ol li {
        padding-left: 32px; } }
    .post__con__content ul li:before, .post__con__content ol li:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      display: inline-block;
      margin-right: 5px;
      box-sizing: border-box;
      top: 0.8em;
      transform: translate3d(0, -50%, 0); }
  .post__con__content ul ol, .post__con__content ul ul, .post__con__content ol ol, .post__con__content ol ul {
    margin-top: 10px; }

.post__con__content ul li:before {
  width: 8px;
  height: 8px;
  border: 3px solid #48512A;
  left: 6px; }
  @media screen and (min-width: 750px) {
    .post__con__content ul li:before {
      width: 10px;
      height: 10px; } }

.post__con__content ul li li:before {
  border-color: #48512A; }

.post__con__content ol li {
  counter-increment: step-counter; }
  .post__con__content ol li:before {
    width: 16px;
    height: 16px;
    background-color: #48512A; }
    @media screen and (min-width: 750px) {
      .post__con__content ol li:before {
        width: 20px;
        height: 20px; } }
  .post__con__content ol li:after {
    content: counter(step-counter);
    position: absolute;
    left: 8px;
    top: 0;
    font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
    font-size: 8px;
    font-weight: 700;
    transform: translate3d(-50%, 0, 0);
    color: white; }
    @media screen and (min-width: 750px) {
      .post__con__content ol li:after {
        font-size: 10px;
        left: 10px; } }
  .post__con__content ol li li {
    counter-increment: in-step-counter; }
    .post__con__content ol li li:before {
      background: #48512A; }
    .post__con__content ol li li:after {
      content: counter(in-step-counter); }

.post__con__content iframe {
  max-width: 100%; }

.post__con__content .fluid-video {
  width: calc(100% + 20vh);
  margin: 5vh -10vh;
  padding-bottom: 83.25%;
  height: 0;
  position: relative; }
  @media screen and (min-width: 750px) {
    .post__con__content .fluid-video {
      width: calc(100% + 16vw);
      margin: 5vh -8vw; } }
  @media screen and (min-width: 1400px) {
    .post__con__content .fluid-video {
      width: calc(100% + 14vw);
      margin: 5vh -7vw; } }
  .post__con__content .fluid-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.touch .post__con__content a:after {
  transform: scale3d(1, 1, 1); }

.post__con__content__details {
  margin-bottom: 5vh; }
  .post__con__content__details .title {
    font-size: 1.1em;
    color: #48512A; }
  .post__con__content__details .sub-title {
    font-size: 0.8em; }

.post__image-con {
  background: #f7f7f7;
  height: 50vh;
  position: relative; }
  @media screen and (min-width: 1023px) {
    .post__image-con {
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      width: 50%;
      height: auto; } }

.post__image-con__image {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0; }

.post__con__nav {
  line-height: 1em !important;
  position: relative;
  left: auto;
  display: inline-block;
  font-size: 0.7em;
  z-index: 10;
  padding: 0.7em;
  background: white;
  transition: color 0.6s cubic-bezier(0.23, 0.01, 0, 1); }
  .post__con__nav:before {
    content: '';
    background: #48512A;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    transform: scale3d(0, 1, 1);
    transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
    transform-origin: right;
    position: absolute;
    z-index: -1; }
  .post__con__nav:hover, .post__con__nav:active, .post__con__nav:focus {
    color: white; }
    .post__con__nav:hover:before, .post__con__nav:active:before, .post__con__nav:focus:before {
      transform: scale3d(1, 1, 1);
      transform-origin: left; }

.touch .post__con__nav {
  color: #48512A;
  display: block; }

.post__con__nav--close {
  top: 5vh;
  left: 5vh;
  position: absolute; }
  @media screen and (min-width: 1023px) {
    .post__con__nav--close {
      position: fixed; } }

.post__con__nav--direction {
  position: relative;
  margin-top: 10vh; }
  @media screen and (min-width: 1023px) {
    .post__con__nav--direction {
      position: fixed;
      right: 5vh;
      bottom: 5vh; } }
  @media screen and (max-width: 1023px) {
    .post__con__nav--direction a:nth-of-type(2) {
      float: right; } }
  .post__con__nav--direction a {
    display: block;
    float: left; }
    .post__con__nav--direction a:nth-of-type(2) {
      margin-left: 1em; }

@media screen and (min-width: 750px) {
  .parent-halves {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap; }
    .parent-halves a, .parent-halves section {
      width: 50%; } }

@media screen and (min-width: 750px) {
  .process-con {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap; } }

.checker-con--process {
  position: relative; }
  @media screen and (max-width: 750px) {
    .checker-con--process:nth-of-type(even) {
      background: #fafafa; } }
  @media screen and (min-width: 750px) {
    .checker-con--process {
      display: inline-block;
      width: 50%;
      vertical-align: top; }
      .checker-con--process:nth-of-type(2), .checker-con--process:nth-of-type(3), .checker-con--process:nth-of-type(6) {
        background: #fafafa; } }

.checker-con__process {
  margin-bottom: 6vh; }
  @media screen and (min-width: 750px) {
    .checker-con__process {
      margin-bottom: 2vh; } }

.checker-con__copy-con--process {
  display: block; }

.process-icon--contact {
  width: 50px;
  height: 63px; }

.process-icon--inspection {
  width: 50px;
  height: 52px; }

.process-icon--fitout {
  width: 80px;
  height: 24px; }

.process-icon--guardians {
  width: 80px;
  height: 40px; }

.process-icon--management {
  width: 50px;
  height: 67px; }

.process-icon--termination {
  width: 70px;
  height: 64px; }

.process-icon__path {
  stroke-width: 3px;
  stroke: #48512A;
  fill: none;
  transition: 1s cubic-bezier(0.23, 0.01, 0, 1);
  opacity: 0;
  stroke-linecap: round;
  stroke-linejoin: round; }

.in .process-icon__path {
  opacity: 1;
  stroke-dashoffset: 0 !important; }

.map-con {
  background: #f2f2f2;
  overflow: hidden;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  border-top: 0; }
  .map-con .cta {
    opacity: 1; }

.map-con__map {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1); }

.map-con__con {
  width: 70%;
  max-width: 480px; }

.map-con__con__copy-con {
  background: rgba(255, 255, 255, 0.96);
  color: #48512A;
  padding: 8vw;
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s, opacity 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s; }
  .map-con__con__copy-con .map-con__copy-con__method {
    display: block; }
    .map-con__con__copy-con .map-con__copy-con__method .title {
      display: inline-block; }
  @media screen and (min-width: 750px) {
    .map-con__con__copy-con {
      padding: 4vw; } }

.map-con__copy-con__title {
  font-size: 1.3em;
  margin-bottom: 4vh; }

.map-con__con__cta {
  background: white;
  margin-top: 5vh; }
  .map-con__con__cta .button--bottom div,
  .map-con__con__cta .button--top div {
    transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1); }
  .map-con__con__cta .button--bottom {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0); }
    .map-con__con__cta .button--bottom div {
      transform: translate3d(0, -105%, 0); }

.map-con--hide .map-con__map {
  transform: scale3d(1, 1, 1);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1) 0.1s; }

.map-con--hide .map-con__con {
  pointer-events: none; }

.map-con--hide .map-con__con__copy-con {
  opacity: 0;
  transform: scale3d(1.05, 1.05, 1);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1), opacity 0.6s cubic-bezier(0.23, 0.01, 0, 1); }

.map-con--hide .map-con__con__cta {
  pointer-events: all; }

.map-con--hide .button--bottom div {
  transform: translate3d(0, 0%, 0); }

.map-con--hide .button--top div {
  transform: translate3d(0, 105%, 0); }

.nav-arrows {
  display: none; }
  @media screen and (min-width: 750px) {
    .nav-arrows {
      display: block;
      position: fixed;
      bottom: 3vw;
      right: 3vw; }
      .nav-arrows .arrow {
        display: block;
        box-sizing: border-box; } }

.pop-up-con {
  z-index: 1;
  min-height: 100vh; }
  .pop-up-con .con {
    margin: 0 auto;
    max-width: 900px; }
  .pop-up-con .require-con__title {
    color: #48512A;
    margin-bottom: 4vh; }
  .pop-up-con .copy {
    margin-bottom: 8vh; }

.page-template-p-requirements .pop-up-con {
  background: #f7f7f7; }

.sign-up {
  color: #fff;
  background: #3C4323; }

.sign-up .con {
  margin: 0 auto;
  max-width: 400px;
  text-align: right; }

.sign-up .title, .sign-up__copy {
  text-align: center; }

.sign-up__copy {
  margin: 2vh auto 3vh;
  color: rgba(255, 255, 255, 0.7); }

.sign-up__input {
  transition: 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  margin: 0 20px 0 auto;
  font-size: 1.5em;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px); }

.sign-up__input input {
  color: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-bottom: 3px solid rgba(255, 255, 255, 0.3);
  background: 0 0;
  font-family: futura-pt,"Hammersmith One","Source sans pro","Open sans",freesans,sans-serif;
  width: 100%;
  text-align: left;
  padding: 5px; }

.sign-up__input span {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  overflow: hidden; }

.sign-up__input span:after, .sign-up__input span:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 120%; }

.sign-up__input span:before {
  right: 0;
  background: linear-gradient(45deg, rgba(0, 116, 213, 0), #48512A 20%);
  transition: -webkit-transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1), -webkit-transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0); }

.sign-up__input span:after {
  left: 0;
  background: linear-gradient(45deg, #48512A 80%, rgba(0, 116, 213, 0));
  transition: -webkit-transform 0s;
  transition: transform 0s;
  transition: transform 0s, -webkit-transform 0s;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0); }

.sign-up__input:active span:before, .sign-up__input:focus span:before, .sign-up__input:hover span:before {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  transition: -webkit-transform 0s .6s;
  transition: transform 0s .6s;
  transition: transform 0s .6s, -webkit-transform 0s .6s; }

.sign-up__input:active span:after, .sign-up__input:focus span:after, .sign-up__input:hover span:after {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  transition: -webkit-transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  transition: transform 0.6s cubic-bezier(0.23, 0.01, 0, 1), -webkit-transform 0.6s cubic-bezier(0.23, 0.01, 0, 1); }

.sign-up__submit {
  vertical-align: bottom;
  width: 40px;
  height: 40px;
  border: 3px solid #48512A;
  display: inline-block;
  position: relative;
  transition: background 0.6s cubic-bezier(0.23, 0.01, 0, 1); }

.sign-up__submit:after, .sign-up__submit:before {
  content: '';
  position: absolute;
  height: 3px;
  background: #48512A;
  transition: background 0.6s cubic-bezier(0.23, 0.01, 0, 1); }

.sign-up__submit:before {
  width: 20%;
  top: 60%;
  right: calc(50% + 1px);
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }

.sign-up__submit:after {
  width: 40%;
  top: 60%;
  left: calc(50% - 3px);
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.sign-up__submit:active, .sign-up__submit:focus, .sign-up__submit:hover {
  background: #48512A; }

.sign-up__submit:active:after, .sign-up__submit:active:before, .sign-up__submit:focus:after, .sign-up__submit:focus:before, .sign-up__submit:hover:after, .sign-up__submit:hover:before {
  background: #fff; }

.footer {
  background: #48512A;
  position: relative; }

.footer__logo {
  display: none; }
  @media screen and (min-width: 750px) {
    .footer__logo {
      display: inline-block;
      opacity: 0.7;
      position: absolute;
      bottom: 3rem;
      right: 8vw; }
      .footer__logo .logo-con__logo__border {
        stroke: white;
        fill: none;
        stroke-miterlimit: 10;
        stroke-width: 15px; }
      .footer__logo .logo-con__logo__letter {
        fill: white; } }
  @media screen and (min-width: 750px) and (min-width: 1400px) {
    .footer__logo {
      bottom: 7vw;
      right: 7vw; } }
  @media screen and (min-width: 750px) {
      .footer__logo:hover, .footer__logo:active, .footer__logo:focus {
        opacity: 1; } }

.footer__span {
  color: white;
  margin-bottom: 1em;
  display: block; }
  .footer__span .copy {
    margin-left: 1em;
    display: inline-block;
    width: 70%;
    vertical-align: top; }

@media screen and (min-width: 750px) {
  .footer__span--last {
    margin-bottom: 0!important; } }

.footer__span--small {
  margin-bottom: 0.8em; }
  @media screen and (min-width: 750px) {
    .footer__span--small {
      display: inline-block;
      margin-right: 0.8em; } }
  .footer__span--small .copy {
    margin-left: 0;
    font-size: 0.8em;
    opacity: 0.8;
    width: auto; }

a.footer__span--small .copy {
  border-bottom: 1px solid rgba(255, 255, 255, 0.8); }

.footer__social-con {
  margin-bottom: 0.8em; }
  .footer__social-con img {
    vertical-align: bottom;
    width: 28px;
    height: 28px; }
  @media screen and (min-width: 750px) {
    .footer__social-con {
      position: absolute;
      top: 3rem;
      right: 8vw;
      margin-top: 0; }
      .footer__social-con img {
        width: 33px;
        height: 33px; } }
  @media screen and (min-width: 1400px) {
    .footer__social-con {
      top: 7vw;
      right: 7vw; } }

.footer__social-con__icon {
  opacity: 0.7;
  transition: opacity 0.6s cubic-bezier(0.23, 0.01, 0, 1);
  display: inline-block;
  margin-left: 0.6vw; }
  .footer__social-con__icon:hover, .footer__social-con__icon:active, .footer__social-con__icon:focus {
    opacity: 1; }


/*
 * FAQs
*/
.short-ans {
  padding: 4vw;
  height: auto;
  background-color: white; }
  @media screen and (max-width: 750px) {
    .short-ans {
      padding: 8vw; } }

/*
 *  Masonry
*/

.index-masonry {
  width: 100%;
}

.index-element, .index-sizer {
  width: calc(100%);
}

@media (min-width: 500px) {
  .index-element, .index-sizer {
    width: calc(50% - 15px);
  }
}

@media (min-width: 800px) {
  .index-element, .index-sizer {
    width: calc(33.33% - 20px);
  }
}

.index-element {
  float: left;
  margin-bottom: 30px;
  margin-left: 30px;
}

.index-element:nth-of-type(3n + 1) {
  margin-left: 0;
}

.index-element a {
  display: flex!important;
  flex-direction: column!important;
  height: 100%;
}

.index-element a .posts-con__post__details {
  flex: 1;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
}

.image-bar {
  min-height: unset;
    padding: 8vw;
    width: 100%;
    padding-top: 4vh;
    padding-bottom: 4vh;
    text-align: center;
    background: #f7f6f5;
}

.image-bar .wrapper {
  margin-left: auto;
  margin-right: auto;
  display: inline-flex;
}

.image-bar .wrapper .image-holder {
  margin-right: 3em;
  max-width: 160px;
}

.image-bar .wrapper .image-holder:last-of-type {
  margin-right: 0em;
}

.image-bar .wrapper .image-holder img {
  width: 100%;
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s ease-in-out
}

.image-bar .wrapper .image-holder img:hover {
  opacity: 1;
}

.image-bar .image-holder h3 {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 500;
  font-size: 2em;
  margin-bottom: 0.5em;
  color: #48512A;
}

.image-bar .image-holder p {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 500;
  margin-bottom: 0;
  color: #272727;
}

.figures-bar .wrapper .image-holder {
  margin-right: 8em;
}

.fullwidth-title {
  border-bottom: 1px #f3f1f1 solid;
  border-top: 1px #f3f1f1 solid;
}

.fullwidth-title h3 {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #48512A;
}

@media (max-width: 1200px) {
  .image-bar {
    overflow-x: scroll;
  }

  .image-bar {
    cursor: url(/wp-content/themes/LCG_16/assets/vectors/horizontal-scroll.cur) 30 10, auto;
  }
  .image-bar .wrapper .image-holder {
    width: 130px;
    float: left;
  }
  .image-bar::-webkit-scrollbar {
    display: none;
  }
  .image-bar .wrapper .image-holder img {
    cursor: unset;
  }
}

/* PAGE BUILDER ALTERNATES
-------------------------------------------------------------------------------*/

/* MASTHEAD
-----------------------------------*/

.page_builder_wrapper .section-header .title h2 {
  font-size: 1.4rem;
  margin-top: 2rem;
  letter-spacing: 3px;
  display: none;
}

.page_builder_wrapper .section-intro__copy-con__copy {
  font-size: 1em;
}

/* CENTER TEXT BLOCK
-----------------------------------*/

.page_builder_wrapper .center_text {
  min-height: unset;
}

.page_builder_wrapper .center_text .copy-appear {
  text-align: center;
  margin: 0 auto;
}

.page_builder_wrapper .center_text .copy-appear p:last-of-type {
  margin-bottom: 0;
}

.page_builder_wrapper .center_text h2 {
  color: #48512A;
  margin-bottom: 5vh;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: initial;
}

/* JOBS BLOCK
-----------------------------------*/

.page_builder_wrapper .jobs {
  min-height: unset;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  display: flex;
}

.page_builder_wrapper .jobs .in {
  float: left;
  width: 23%;
}

.page_builder_wrapper .jobs .roles {
  float: left;
  width: 67%;
  margin-left: 10%;
}

.page_builder_wrapper .jobs .roles .job_role {
  background-color: #f8f8f8;
  padding: 1.5em 2em;
  display: flex;
  margin-top: 2vh;
  align-items: center;
}

.page_builder_wrapper .jobs .roles .job_role p {
  color: #48512A;
  margin-bottom: 5vh;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.8rem;
}

.page_builder_wrapper .jobs .roles .job_role:first-of-type {
  margin-top: 0vh;
}

.page_builder_wrapper .jobs .roles .job_role p {
  margin-bottom: 0;
}

.page_builder_wrapper .jobs .roles .job_role a {
  margin-left: auto;
}

.page_builder_wrapper .jobs .copy-appear {
  margin: 0 auto;
}

.page_builder_wrapper .jobs .copy-appear p:last-of-type {
  margin-bottom: 0;
}

.page_builder_wrapper .jobs h2 {
  color: #48512A;
  margin-bottom: 5vh;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: initial;
}

/* COPY & IMAGE BLOCK
-----------------------------------*/

.page_builder_wrapper .copy_image {
  min-height: unset;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  display: flex;
  align-items: center;
}

.page_builder_wrapper .copy_image h2 {
  color: #48512A;
  margin-bottom: 5vh;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: initial;
}

.page_builder_wrapper .copy_image .copy_area {
  width: 45%;
}

.page_builder_wrapper .copy_image .image_area {
  width: 45%;
  margin-left: auto;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page_builder_wrapper .copy_image .image_area p {
  position: absolute;
  z-index: 1000000;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: white;
  margin-bottom: 0;
}

.page_builder_wrapper .copy_image .image_area div {
  width: 100%;
  padding-top: 75%;
  background-size: cover;
  background-position: center;
  transition: 0.5s ease;
  position: relative;
}

.page_builder_wrapper .copy_image .image_area div::after {
  content: "";
  top: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #3C4323;
  opacity: 0;
  transition: 0.5s ease;
}

.page_builder_wrapper .copy_image .image_area:hover div {
  transform: scale(1.025);
}

.page_builder_wrapper .copy_image .image_area:hover div::after {
  opacity: 0.2;
}

.page_builder_wrapper .flipped .image_area {
  order: 0;
  margin-left: 0;
}

.page_builder_wrapper .flipped .copy_area {
  order: 1;
  margin-left: auto;
}

.page_builder_wrapper ._team {
  flex-wrap: wrap;
}

.page_builder_wrapper ._team .in {
  width: 45%;
  max-width: unset;
}

.page_builder_wrapper ._team .roles {
  width: 45%;
  height: fit-content;
  max-width: unset;
  background-color: #F0F1F3;
  padding: 3em 4em;
  position: relative;
}

.page_builder_wrapper ._team .roles p {
  margin-bottom: 0;
}

.page_builder_wrapper ._team .roles .box_link {
  position: absolute;
  background-color: #01376C;
  height: 3em;
  width: 3em;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page_builder_wrapper ._team .roles .box_link img {
  width: 50%;
}

.page_builder_wrapper ._team .team_grid {
  width: 100%;
  margin-top: 8vw;
  max-width: unset;
  display: flex;
  flex-wrap: wrap;
}

.page_builder_wrapper ._team .team_grid .box {
  width: 16%;
  padding-top: 16%;
  background-color: white;
  margin-left: 5%;
  height: 0;
  position: relative;
  text-align: center;
  margin-bottom: 4vw;
}

.page_builder_wrapper ._team .team_grid .box ._overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-image:  linear-gradient(transparent, #fafafa);
  opacity: 0;
  transition: 0.3s ease;
}

.page_builder_wrapper ._team .team_grid .box ._content {
  position: absolute;
  bottom: 1em;
  left: 0;
  right: 0;
  transform: translateY(30px);
  opacity: 0;
  transition: 0.4s ease;
}

.page_builder_wrapper ._team .team_grid .box:hover ._content {
  transform: translateY(0px);
  opacity: 1;
}

.page_builder_wrapper ._team .team_grid .box:hover ._overlay {
  opacity: 1;
}

.page_builder_wrapper ._team .team_grid .box ._content p {
  margin-bottom: 0;
}

.page_builder_wrapper ._team .team_grid .box ._content ._role {
  opacity: 0.5;
}

.page_builder_wrapper ._team .team_grid .box:first-of-type {
  margin-left: 0;
}

.page_builder_wrapper ._team .team_grid .box:nth-of-type(5n + 1) {
  margin-left: 0;
}


.single-knowledge-base .nav, .single-knowledge-base .nav-button, .single-knowledge-base .footer, .single-knowledge-base .sign-up {
    display: block;
}


@media (max-width: 600px) {
  .page_builder_wrapper ._team .team_grid .box {
    width: 47.5%;
    padding-top: 47.5%;
    background-color: orange;
    margin-left: 5%!important;
    height: 0;
    position: relative;
    text-align: center;
    margin-bottom: 4vw;
  }

  .page_builder_wrapper ._team .team_grid .box:nth-of-type(2n + 1) {
    margin-left: 0!important;
  }
  .page_builder_wrapper ._team .team_grid .box:nth-of-type(5n + 1) {
    margin-left: unset;
  }
}

.page_builder_wrapper .knowledge_base {
  flex-wrap: wrap;
  padding-top: 10vh;
}

.page_builder_wrapper .knowledge_base ._grid {
  width: 100%;
}

.page_builder_wrapper .knowledge_base .roles {
  width: calc(33.333% - 20px);
  background-color: #F0F1F3;
  padding: 3em 4em;
  text-align: center;
  margin-bottom: 30px;
}

.page_builder_wrapper .knowledge_base .roles p {
  margin-bottom: 0;
}

.page_builder_wrapper .knowledge_base .roles .box_link {
  position: absolute;
  background-color: #01376C;
  height: 3em;
  width: 3em;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page_builder_wrapper .knowledge_base .roles .box_link img {
  width: 50%;
}

.page_builder_wrapper .cards {
  overflow: auto;
}

.page_builder_wrapper .cards h2, .page_builder_wrapper .box_links h2 {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #48512A;
  line-height: 1.5em!important;
  margin-bottom: 4em;
  margin-top: -2em;
}

.page_builder_wrapper .cards ._card {
  width: calc(33.33% - 2%);
  float: left;
  margin-right: 3%;
  background-color: #fafafa;
  padding: 4em 3em;
  margin-bottom: 2em;
}

.page_builder_wrapper .cards ._card:nth-of-type(2n) {
  background-color: #FDFDFD;
}

.page_builder_wrapper .cards ._card:nth-of-type(3n) {
  margin-right: 0%;
}

.page_builder_wrapper .cards ._card p {
  display: block;
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  margin-top: 4vh;
  margin-bottom: 0;
}

.page_builder_wrapper .cards ._card ._subtitle {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 100;
  font-size: 0.9em;
  margin-bottom: 0.5em;
  margin-top: 0;
  text-transform: uppercase;
  opacity: 0.5;
}

.page_builder_wrapper .cards ._card h4 {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #48512A;
  line-height: 1.5em!important;
}



.page_builder_wrapper .box_links {
  min-height: unset;
  overflow: auto;
}

.page_builder_wrapper .box_links .image_area {
  width: calc(20% - 3.2%);
  float: left;
  background-color: #fff;
  margin-right: 4%;
  text-align: center;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;

}

.page_builder_wrapper .box_links .image_area .copy {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  position: absolute;
  margin-bottom: 0;
  color: #fff;
  font-weight: 700;
  bottom: 20px;
  padding: 0 20px;
  transition: 0.3s ease;
}

.page_builder_wrapper .box_links .image_area .link {
  font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
  position: absolute;
  text-transform: uppercase;
  bottom: 0;
  font-size: 0.75em;
  color: #fff;
  transform: translateY(50px);
  transition: 0.3s ease;
  margin-bottom: 20px;
}

.page_builder_wrapper .box_links .image_area div {
  width: 100%;
  padding-top: 100%;
  background-size: cover;
  background-position: center;
  transition: 0.5s ease;
  position: relative;
}

.page_builder_wrapper .box_links .image_area div::after {
  content: "";
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #3C4323;
  opacity: 0.5;
  transition: 0.5s ease;
}

.page_builder_wrapper .box_links .image_area:hover div::after {
  opacity: 0.8;
}

.page_builder_wrapper .box_links .image_area:hover .link {
  transform: translateY(0px);
}

.page_builder_wrapper .box_links .image_area:hover .copy {
  bottom: 50px;
}

.page_builder_wrapper .box_links .image_area:nth-of-type(5n) {
  margin-right: 0;
}


/* PAGE BUILDER MEDIA RULES
-------------------------------------------------------------------------------*/

@media (min-width: 800px) {


  /* MASTHEAD
  -----------------------------------*/

  .page_builder_wrapper .section-header .title h2 {
    display: block;
  }

}

@media (max-width: 800px) {

  /* CARDS BLOCK
  -----------------------------------*/

  .page_builder_wrapper .cards ._card {
    width: 100%;
    margin-right: 0!important;
  }

  .page_builder_wrapper .cards ._card p {
    margin-bottom: 0;
  }

  /* BOX LINKS
  -----------------------------------*/

  .page_builder_wrapper .box_links .image_area {
    width: 100%;
    margin-right: 0!important;
    margin-bottom: 2em;
  }

  .page_builder_wrapper .box_links .image_area div {
    padding-top: 50%;
  }



  /* JOBS BLOCK
  -----------------------------------*/

  .page_builder_wrapper .jobs {
    flex-direction: column;
  }

  .page_builder_wrapper .jobs .in {
    width: 100%;
  }

  .page_builder_wrapper .jobs .roles {
    width: 100%;
    margin: 0;
    margin-top: 5vh;
  }

  /* COPY & IMAGE BLOCK
  -----------------------------------*/

  .page_builder_wrapper .copy_image {
    flex-direction: column;
    padding-top: 0!important;
  }

  .page_builder_wrapper .copy_image .copy_area {
    width: 100%;
    margin-left: 0;
    order: 1;
  }

  .page_builder_wrapper .copy_image .image_area {
    width: calc(100% + 5vh);
    margin-left: 0;
    order: 0;
    margin-bottom: 5vh;
}


/* TYPEFORM EMBED FIX FOR ARTHUR
-----------------------------------*/

div .css-4ukwfm {
  height: unset!important;
  z-index: 99999999999!important;
  overflow: scroll!important;
}

.css-4ukwfm iframe {
  min-height: 1200vh!important;
  width: 100%;
}

div[data-qa="popup-mode-drawer_right"] {
  min-width: 90%
}

/* knowledge_base
-----------------------------------*/

.page_builder_wrapper .knowledge_base {
  padding-top: 10vh
}

.page_builder_wrapper .knowledge_base .roles {
  width: calc(50% - 15px);
}

}

@media (max-width: 550px) {

  /* knowledge_base
  -----------------------------------*/

  .page_builder_wrapper .knowledge_base {
    padding-top: 10vh
  }

  .page_builder_wrapper .knowledge_base .roles {
    width: calc(100%);
  }

  .page_builder_wrapper .knowledge_base .roles:last-of-type {
    margin-bottom: 0;
  }

}

.single-property .nav, .single-property .nav-button, .single-property .footer, .single-property .sign-up {
    display: block;
}

.single-property .image_area div:after {
  display: none;
}

/* LOCATIONS BLOCK
-----------------------------------*/

.copy_area ._locations {
  display: flex;
  margin-top: 3em;
}

.copy_area ._locations .third {
  text-align: center;
  width: 33.333%;
}

.copy_area ._locations .third img {
  width: 40%;
  margin-bottom: 0;
}

.copy_area ._locations .third p {
  margin-bottom: 0;
  opacity: 0.6;
  font-size: 0.9em;
  font-weight: 100;
}

._properties .copy_image .image_area div {
  padding-top: 100%;
}

._properties .copy_image .image_area div::after {
  display: none;
}

/* Text & Text Module
-------------------------------------------------------------------------------*/

.text_text {
  padding: 8vw;
}

.text_text .copy_area {
  padding-top: 8vw;
}

@media (min-width: 800px) {
  .text_text {
    position: relative;
  }

  .text_text .copy_area {
    padding-top: 0vw;
  }

  .text_text::after {
    content: ' ';
    position: absolute;
    width: 1px;
    background-color: #323232;
    height: calc(100% - 16vw);
    left: 50%;
    opacity: 0.3;
  }

  .text_text .copy_area:nth-of-type(2){
    margin-left: 10%;
  }
}

/* Latest Posts Module
-------------------------------------------------------------------------------*/

.copy_image .index-masonry {
  padding-top: 8vw;
}

.copy_image .index-masonry .index-element {
  margin-left: 0;
}

.copy_image .index-masonry .index-element:nth-of-type(2n) {
  margin-left: 30px;
}

@media (min-width: 800px) {
  .copy_image .index-masonry {
    padding-top: 0vw;
  }
  .copy_image .index-masonry .index-element {
    margin-left: 30px;
  }
  .copy_image .index-masonry .index-element:nth-of-type(1) {
    margin-left: 0px;
  }
}



/* Bootstrap Modals
-------------------------------------------------------------------------------*/

.modal-dialog .modal-content {
  border-radius: 0;
  border: none; }

.modal-dialog .screen-reader-response {
  display: none!important;
}

.modal-dialog .col-5 p {
  font-size: 1rem;
}

.modal-dialog .wpcf7-display-none {
  display: none;
}

.modal-dialog .wpcf7-submit {
  width: auto;
  margin-left: auto;
  padding: 1em 2em;
  font-size: 0.8em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #48512A;
}

.modal-dialog input {
  margin-bottom: 0.5em;
  font-size: 1rem;
}

.modal-dialog select {
  padding: 0.5em;
  font-size: 1rem;
  margin-bottom: 0.5em;
  line-height: 1em !important;
  height: 43px;
}

.wpcf7-form-control-wrap .menu-959 {
  position: relative;
}

.wpcf7-form-control-wrap.menu-959:after {
  content: " ";
  background-image: url(/wp-content/themes/LOWEworks/assets/vectors/arrow.svg);
  background-size: cover;
  position: absolute;
  height: 12px;
  width: 21px;
  right: 0.75em;
  top: 15px;
  opacity: 0.3;
}

  .card {
    border-radius: unset;
    border: none;
    box-shadow: #00000008 0 5px 10px 0;
    transition: 0.5s cubic-bezier(0.23, 0.01, 0, 1); }
    .card img {
      border-radius: unset; }
    .card .card-body .card-title {
      font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.2rem;
      color: #48512A;
      font-size: 0.85rem;
      text-decoration: none !important;
      margin-bottom: 0; }
    .card .card-body .card-text {
      font-family: "futura-pt", "Hammersmith One", "Source sans pro", "Open sans", "freesans", sans-serif;
      color: #272727;
      font-size: 0.9rem; }
      .card .card-body .card-text .icon img {
        width: 15px;
        height: auto;
        margin-right: 5px;
        margin-bottom: 3px; }
    .card:hover {
      transform: translateY(-5px);
      box-shadow: #00000012 0 5px 10px 0; }


/* Font Dupes
-------------------------------------------------------------------------------*/

.h1 {
  line-height: 1em !important;
  font-weight: 600;
}


/* Bootstrap Overrides
-------------------------------------------------------------------------------*/

.o-100 { opacity: 1; }
.o-75 {opacity: 0.75; }
.o-50 {opacity: 0.5; }
.o-25 {opacity: 0.25; }
.o-0 {opacity: 0; }

.min-height-100 { min-height: 100vh; }
.min-height-75 { min-height: 75vh; }
.min-height-50 { min-height: 50vh; }
.min-height-25 { min-height: 25vh; }
.min-height-unset { min-height: unset; }

.badge {
  border-radius: 0;
  font-weight: 500;
  padding: .25em 1em;
}

.badge-primary {
  color: #48512A;
  background-color: #DADCD4;
}

.lift {
    -webkit-transition: box-shadow .25s ease,-webkit-transform .25s ease;
    transition: box-shadow .25s ease,-webkit-transform .25s ease;
    transition: box-shadow .25s ease,transform .25s ease;
    transition: box-shadow .25s ease,transform .25s ease,-webkit-transform .25s ease;
}

.lift:focus, .lift:hover {
    -webkit-transform: translate3d(0,-3px,0);
    transform: translate3d(0,-3px,0);
}


.feather {height: 1em;width: 1em;stroke-width: 1.5;}


.flickity-button {
  background: none;
  border-radius: 0;
  border: 3px solid #DADCD4;
  color: #48512A;
}

.flickity-prev-next-button .flickity-button-icon {
  left: 19%;
}

.flickity-prev-next-button.previous .flickity-button-icon {
  left: 23%;
}

.flickity-page-dots {
  bottom: -50px;
}

.flickity-page-dots .dot {
  background: #DADCD4;
  transition: 0.3s ease;
}

.flickity-page-dots .dot.is-selected {
  background: #48512A;
}

.gm-control-active.gm-fullscreen-control, .gmnoprint {
  display: none!important;
}

section.white {
  background-color: #fff!important
}

section.white .col {
  background-color: #f8f8f8!important
}

section.grey {
  background-color: #f8f8f8!important
}

section.grey .col {
  background-color: #fff!important
}

@media (max-width: 800px) {

  .page_builder_wrapper section.pad-section {
    padding: 5vh 2.5vh;
  }
  .page_builder_wrapper section p {
    font-size: 1.5em;
  }

}

/* And here begins the WordPress fun.
-------------------------------------------------------------------------------*/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX3V0aWxpdGllcy5zY3NzIiwiX3Jlc2V0LnNjc3MiLCJfZ2xvYmFscy5zY3NzIiwiX2ludmlldy5zY3NzIiwiX25hdi5zY3NzIiwiX2hvbWUuc2NzcyIsIl9zZWN0aW9uLnNjc3MiLCJfc2hlZC5zY3NzIiwiX2NoZWNrZXIuc2NzcyIsIl9iZW5lZml0cy5zY3NzIiwiX2Zvcm0uc2NzcyIsIl9ndWFyZGlhbi1mb3JtLnNjc3MiLCJfam91cm5hbC5zY3NzIiwiX3Bvc3Quc2NzcyIsIl9wcm9jZXNzLnNjc3MiLCJfY29udGFjdC5zY3NzIiwiX25hdi1hcnJvd3Muc2NzcyIsIl9yZXF1aXJlLnNjc3MiLCJfbmV3c2xldHRlci5zY3NzIiwiX2Zvb3Rlci5zY3NzIiwiX2VkaXRzLnNjc3MiLCJfZmFxLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLypcblRoZW1lIE5hbWU6IFRoZSBIVE1MNSBSZXNldCBUaGVtZVxuVGhlbWUgVVJJOiBodHRwOi8vaHRtbDVyZXNldC5vcmdcbkRlc2NyaXB0aW9uOiBBIHN0eWxlLWZyZWUgdGhlbWUgdG8gZ2V0IHlvdSBzdGFydGVkIG9uIGFuIEhUTUw1LWJhc2VkIFdvcmRQcmVzcyB0aGVtZSBvZiB5b3VyIG93bi5cbkF1dGhvcjogTW9ua2V5IERvISArIEBja2hpY2tzXG5BdXRob3IgVVJJOiBodHRwOi8vbW9ua2V5ZG8uYml6XG5WZXJzaW9uOiAyLjBcbiovXG5cbi8qIE9rLCB0aGlzIGlzIHdoZXJlIHRoZSBmdW4gc3RhcnRzLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEEgTGludXgtIGFuZCBXaW5kb3dzLWZyaWVuZGx5IHNhbnMtc2VyaWYgZm9udCBzdGFjazogaHR0cDovL3Byb3NwZWN0cy5taHVycmVsbC5jby51ay9wb3N0L3VwZGF0aW5nLXRoZS1oZWx2ZXRpY2EtZm9udC1zdGFjayAqL1xuYm9keSB7LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWR9XG5cbi8qIFVzaW5nIGxvY2FsIGZvbnRzPyBDaGVjayBvdXQgRm9udCBTcXVpcnJlbCdzIHdlYmZvbnQgZ2VuZXJhdG9yOiBodHRwOi8vd3d3LmZvbnRzcXVpcnJlbC5jb20vdG9vbHMvd2ViZm9udC1nZW5lcmF0b3IgKi9cblxuLyogV2UgbGlrZSBvZmYtYmxhY2sgZm9yIHRleHQuICovXG5ib2R5LCBzZWxlY3QsIGlucHV0LCB0ZXh0YXJlYSB7Y29sb3I6ICMyNzI3Mjc7fVxuXG4vKiBNb3ppbGxhIGRvc2VuJ3Qgc3R5bGUgcGxhY2UgaG9sZGVycyBieSBkZWZhdWx0ICovXG5pbnB1dDotbW96LXBsYWNlaG9sZGVyIHsgY29sb3I6I2E5YTlhOTsgfVxudGV4dGFyZWE6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOiNhOWE5YTk7IH1cblxuQGltcG9ydCAnX3V0aWxpdGllcy5zY3NzJztcbkBpbXBvcnQgJ19yZXNldC5zY3NzJztcbkBpbXBvcnQgJ19nbG9iYWxzLnNjc3MnO1xuQGltcG9ydCAnX2ludmlldy5zY3NzJztcbkBpbXBvcnQgJ19uYXYuc2Nzcyc7XG5AaW1wb3J0ICdfaG9tZS5zY3NzJztcbkBpbXBvcnQgJ19zZWN0aW9uLnNjc3MnO1xuQGltcG9ydCAnX3NoZWQuc2Nzcyc7XG5AaW1wb3J0ICdfY2hlY2tlci5zY3NzJztcbkBpbXBvcnQgJ19iZW5lZml0cy5zY3NzJztcbkBpbXBvcnQgJ19mb3JtLnNjc3MnO1xuQGltcG9ydCAnX2d1YXJkaWFuLWZvcm0uc2Nzcyc7XG5AaW1wb3J0ICdfam91cm5hbC5zY3NzJztcbkBpbXBvcnQgJ19wb3N0LnNjc3MnO1xuQGltcG9ydCAnX3Byb2Nlc3Muc2Nzcyc7XG5AaW1wb3J0ICdfY29udGFjdC5zY3NzJztcbkBpbXBvcnQgJ19uYXYtYXJyb3dzLnNjc3MnO1xuQGltcG9ydCAnX3JlcXVpcmUuc2Nzcyc7XG5AaW1wb3J0ICdfbmV3c2xldHRlci5zY3NzJztcbkBpbXBvcnQgJ19mb290ZXIuc2Nzcyc7XG5AaW1wb3J0ICdfZWRpdHMuc2Nzcyc7XG5AaW1wb3J0ICdfZmFxLnNjc3MnO1xuXG5cbi8qIEFuZCBoZXJlIGJlZ2lucyB0aGUgV29yZFByZXNzIGZ1bi5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuIiwiLy8gQnJlYWsgcG9pbnRzXG5cbiRiYWJ5QmVhcjo0ODBweDtcbiR0ZWVuQmVhcjo2MDBweDtcbiRtYW1hQmVhcjo3NTBweDtcbiRtYW1hUGFwYUJlYXI6OTAwcHg7XG4kaGVhZGVyQlA6OTUwcHg7XG4kcGFwYUJlYXI6MTAyM3B4O1xuJHN1bW9CZWFyOjEyMDBweDtcbiRnaWFudEJlYXI6MTQwMHB4O1xuJGh1Z2VCZWFyOjE4ODVweDtcblxuJGVhc2U6IGN1YmljLWJlemllciguMjMsLjAxLDAsMSk7XG4kZWFzeTogY3ViaWMtYmV6aWVyKC44LDAsLjA4LDEpO1xuXG4kbHc6IDNweDtcbiRkdXJhdGlvbjogMC42cyAkZWFzZTtcblxuJGJhc2VDb2xvcjogIzAwMzc2QztcbiRhY2NlbnRDb2xvcjE6ICRiYXNlQ29sb3I7XG4kYWNjZW50RGFyazogIzFlMWUxZTtcbiR0ZXh0TGlnaHQ6ICNmZGZkZmQ7XG4kc3VjY2VzczogIzNkZjE3ZDtcbiRlcnJvcjogI2ZmMDAyYTtcbiRvbGRDb2xvcjogIzAwNzRENTtcblxuJGhlYWRGb250OiBcImZ1dHVyYS1wdFwiLCAnSGFtbWVyc21pdGggT25lJywgJ1NvdXJjZSBzYW5zIHBybycsICdPcGVuIHNhbnMnLCAnZnJlZXNhbnMnLCBzYW5zLXNlcmlmO1xuJHN1YkZvbnQ6ICdsZS1tb25kZS1saXZyZS1jbGFzc2ljLWJ5b2wnLCAgR2VvcmdpYSwgVGltZXMsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjtcblxuXG4vLyBBTklNQVRJT05TXG4vLyBGYWRlIEFuaW1hdGlvblxuXG5Aa2V5ZnJhbWVzIGZkIHtcbiAgdG97b3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSkgcm90YXRlKDBkZWcpO31cbn1cblxuQGtleWZyYW1lcyBmZE9wYWNpdHkge1xuICAwJXt9XG4gIDEwMCV7b3BhY2l0eTogMTt9XG59XG5cblxuLy8gTW92ZSB1cCBhbmltYXRpb25cblxuQGtleWZyYW1lcyBtb3ZlVXAge1xuICAwJXt9XG4gIDEwMCV7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTt9XG59XG5cblxuLy8gQnV0dG9uIE1peC1pblxuXG5AbWl4aW4gYnV0dG9uKCRiZXZlbCwgJGNvbG9yLCAkdGV4dENvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAkYmV2ZWwgMHB4IDBweCBkYXJrZW4oJGNvbG9yLCA4KSAhaW1wb3J0YW50O1xuICAtbW96LWJveC1zaGFkb3c6IDBweCAkYmV2ZWwgMHB4IDBweCBkYXJrZW4oJGNvbG9yLCA4KSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggJGJldmVsIDBweCAwcHggZGFya2VuKCRjb2xvciwgOCkgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkdGV4dENvbG9yICFpbXBvcnRhbnQ7XG5cbiAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDUpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggZGFya2VuKCRjb2xvciwgMTIpICFpbXBvcnRhbnQ7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggZGFya2VuKCRjb2xvciwgMTIpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IGRhcmtlbigkY29sb3IsIDEyKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYmV2ZWwpICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJldmVsKSAhaW1wb3J0YW50O1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRiZXZlbCkgIWltcG9ydGFudDtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJldmVsKSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8gQ2VudGVyIGVsZW1lbnRcblxuLmNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDtcbn1cblxuXG4vLyBzcGFucyBmb3IgbWVkaWEgcXVlcmllcyB3aXRoIEpTXG5cbi5tYW1hQmVhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAwO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRoZWFkZXJCUCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvKlxuXHRIVE1MNSBSZXNldCA6OiBzdHlsZS5jc3Ncblx0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHRXZSBoYXZlIGxlYXJuZWQgbXVjaCBmcm9tL2JlZW4gaW5zcGlyZWQgYnkvdGFrZW4gY29kZSB3aGVyZSBvZmZlcmVkIGZyb206XG5cblx0RXJpYyBNZXllclx0XHRcdFx0XHQ6OiBodHRwOi8vbWV5ZXJ3ZWIuY29tXG5cdEhUTUw1IERvY3Rvclx0XHRcdFx0OjogaHR0cDovL2h0bWw1ZG9jdG9yLmNvbVxuXHRhbmQgdGhlIEhUTUw1IEJvaWxlcnBsYXRlXHQ6OiBodHRwOi8vaHRtbDVib2lsZXJwbGF0ZS5jb21cblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIExldCdzIGRlZmF1bHQgdGhpcyBwdXBweSBvdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5odG1sLCBib2R5LCBib2R5IGRpdiwgc3Bhbiwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSwgYWJiciwgYWRkcmVzcywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzYW1wLCBzbWFsbCwgc3Ryb25nLCBzdWIsIHN1cCwgdmFyLCBiLCBpLCBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLCBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCwgdGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsIGFydGljbGUsIGFzaWRlLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBtZW51LCBuYXYsIHNlY3Rpb24sIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbywgZGV0YWlscywgc3VtbWFyeSB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xuXHRmb250LXNpemU6IDEwMCU7XG4vL1x0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuYXJ0aWNsZSwgYXNpZGUsIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIG5hdiwgc2VjdGlvbiwgZGV0YWlscywgc3VtbWFyeSB7ZGlzcGxheTogYmxvY2s7fVxuXG4vKiBIYW5kbGUgYm94LXNpemluZyB3aGlsZSBiZXR0ZXIgYWRkcmVzc2luZyBjaGlsZCBlbGVtZW50czpcbiAgIGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvICovXG5odG1sIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG5cdGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8qIGNvbnNpZGVyIHJlc2V0dGluZyB0aGUgZGVmYXVsdCBjdXJzb3I6IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL211cnRhdWdoLzUyNDcxNTQgKi9cblxuLyogUmVzcG9uc2l2ZSBpbWFnZXMgYW5kIG90aGVyIGVtYmVkZGVkIG9iamVjdHNcbiAgIE5vdGU6IGtlZXBpbmcgSU1HIGhlcmUgd2lsbCBjYXVzZSBwcm9ibGVtcyBpZiB5b3UncmUgdXNpbmcgZm9yZWdyb3VuZCBpbWFnZXMgYXMgc3ByaXRlcy5cbiAgIElmIHRoaXMgZGVmYXVsdCBzZXR0aW5nIGZvciBpbWFnZXMgaXMgY2F1c2luZyBpc3N1ZXMsIHlvdSBtaWdodCB3YW50IHRvIHJlcGxhY2UgaXQgd2l0aCBhIC5yZXNwb25zaXZlIGNsYXNzIGluc3RlYWQuICovXG5pbWcsXG5vYmplY3QsXG5lbWJlZCB7bWF4LXdpZHRoOiAxMDAlO31cblxuLyogZm9yY2UgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIgdG8gcHJldmVudCBhIGp1bXB5IHBhZ2UgKi9cbmh0bWwge292ZXJmbG93LXk6IHNjcm9sbDt9XG5cbi8qIHdlIHVzZSBhIGxvdCBvZiBVTHMgdGhhdCBhcmVuJ3QgYnVsbGV0ZWQuXG5cdGRvbid0IGZvcmdldCB0byByZXN0b3JlIHRoZSBidWxsZXRzIHdpdGhpbiBjb250ZW50LiAqL1xudWwge2xpc3Qtc3R5bGU6IG5vbmU7fVxuXG5ibG9ja3F1b3RlLCBxIHtxdW90ZXM6IG5vbmU7fVxuXG5ibG9ja3F1b3RlOmJlZm9yZSxcbmJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSxcbnE6YWZ0ZXIge2NvbnRlbnQ6ICcnOyBjb250ZW50OiBub25lO31cblxuYSB7bWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBmb250LXNpemU6IDEwMCU7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7fVxuXG5kZWwge3RleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO31cblxuYWJiclt0aXRsZV0sIGRmblt0aXRsZV0ge2JvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzAwMDsgY3Vyc29yOiBoZWxwO31cblxuLyogdGFibGVzIHN0aWxsIG5lZWQgY2VsbHNwYWNpbmc9XCIwXCIgaW4gdGhlIG1hcmt1cCAqL1xudGFibGUge2JvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IGJvcmRlci1zcGFjaW5nOiAwO31cbnRoIHtmb250LXdlaWdodDogYm9sZDsgdmVydGljYWwtYWxpZ246IGJvdHRvbTt9XG50ZCB7Zm9udC13ZWlnaHQ6IG5vcm1hbDsgdmVydGljYWwtYWxpZ246IHRvcDt9XG5cbmhyIHtkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAxcHg7IGJvcmRlcjogMDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7IG1hcmdpbjogMWVtIDA7IHBhZGRpbmc6IDA7fVxuXG5pbnB1dCwgc2VsZWN0IHt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO31cblxucHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlOyAvKiBDU1MyICovXG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyAvKiBDU1MgMi4xICovXG4gICAgd2hpdGUtc3BhY2U6IHByZS1saW5lOyAvKiBDU1MgMyAoYW5kIDIuMSBhcyB3ZWxsLCBhY3R1YWxseSkgKi9cbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC8qIElFICovXG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7dmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO31cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7dmVydGljYWwtYWxpZ246IGJvdHRvbTt9XG4uaWU3IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO31cbi5pZTYgaW5wdXQge3ZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTt9XG5cbnNlbGVjdCwgaW5wdXQsIHRleHRhcmVhIHtmb250OiA5OSUgc2Fucy1zZXJpZjt9XG5cbnRhYmxlIHtmb250LXNpemU6IGluaGVyaXQ7IGZvbnQ6IDEwMCU7fVxuXG5zbWFsbCB7Zm9udC1zaXplOiA4NSU7fVxuXG5zdHJvbmcge2ZvbnQtd2VpZ2h0OiBib2xkO31cblxudGQsIHRkIGltZyB7dmVydGljYWwtYWxpZ246IHRvcDt9XG5cbi8qIE1ha2Ugc3VyZSBzdXAgYW5kIHN1YiBkb24ndCBtZXNzIHdpdGggeW91ciBsaW5lLWhlaWdodHMgaHR0cDovL2dpc3QuZ2l0aHViLmNvbS80MTM5MzAgKi9cbnN1Yiwgc3VwIHtmb250LXNpemU6IDc1JTsgbGluZS1oZWlnaHQ6IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTt9XG5zdXAge3RvcDogLTAuNWVtO31cbnN1YiB7Ym90dG9tOiAtMC4yNWVtO31cblxuLyogc3RhbmRhcmRpemUgYW55IG1vbm9zcGFjZWQgZWxlbWVudHMgKi9cbnByZSwgY29kZSwga2JkLCBzYW1wIHtmb250LWZhbWlseTogbW9ub3NwYWNlLCBzYW5zLXNlcmlmO31cblxuLyogaGFuZCBjdXJzb3Igb24gY2xpY2thYmxlIGVsZW1lbnRzICovXG4uY2xpY2thYmxlLFxubGFiZWwsXG5pbnB1dFt0eXBlPWJ1dHRvbl0sXG5pbnB1dFt0eXBlPXN1Ym1pdF0sXG5pbnB1dFt0eXBlPWZpbGVdLFxuYnV0dG9uIHtjdXJzb3I6IHBvaW50ZXI7fVxuXG4vKiBXZWJraXQgYnJvd3NlcnMgYWRkIGEgMnB4IG1hcmdpbiBvdXRzaWRlIHRoZSBjaHJvbWUgb2YgZm9ybSBlbGVtZW50cyAqL1xuYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7bWFyZ2luOiAwO31cblxuLyogbWFrZSBidXR0b25zIHBsYXkgbmljZSBpbiBJRSAqL1xuYnV0dG9uLFxuaW5wdXRbdHlwZT1idXR0b25dIHt3aWR0aDogYXV0bzsgb3ZlcmZsb3c6IHZpc2libGU7fVxuXG4vKiBzY2FsZSBpbWFnZXMgaW4gSUU3IG1vcmUgYXR0cmFjdGl2ZWx5ICovXG4uaWU3IGltZyB7LW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzt9XG5cbi8qIHByZXZlbnQgQkcgaW1hZ2UgZmxpY2tlciB1cG9uIGhvdmVyXG4gICAoY29tbWVudGVkIG91dCBhcyB1c2FnZSBpcyByYXJlLCBhbmQgdGhlIGZpbHRlciBzeW50YXggbWVzc2VzIHdpdGggc29tZSBwcmUtcHJvY2Vzc29ycylcbi5pZTYgaHRtbCB7ZmlsdGVyOiBleHByZXNzaW9uKGRvY3VtZW50LmV4ZWNDb21tYW5kKFwiQmFja2dyb3VuZEltYWdlQ2FjaGVcIiwgZmFsc2UsIHRydWUpKTt9XG4qL1xuXG4vKiBsZXQncyBjbGVhciBzb21lIGZsb2F0cyAqL1xuLmNsZWFyZml4OmJlZm9yZSwgLmNsZWFyZml4OmFmdGVyIHsgY29udGVudDogXCJcXDAwMjBcIjsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuLmNsZWFyZml4OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cbi5jbGVhcmZpeCB7IHpvb206IDE7IH0iLCJcbioge1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDEuNmVtICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG4jd3BhZG1pbmJhciwgI3dwYWRtaW5iYXIgKiB7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbmlucyB7YmFja2dyb3VuZC1jb2xvcjogJGFjY2VudENvbG9yMTsgY29sb3I6ICMwMDA7IHRleHQtZGVjb3JhdGlvbjogbm9uZTt9XG5tYXJrIHtiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50Q29sb3IxOyBjb2xvcjogIzAwMDsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXdlaWdodDogYm9sZDt9XG5cbjo6LW1vei1zZWxlY3Rpb257YmFja2dyb3VuZDogJGFjY2VudENvbG9yMTsgY29sb3I6ICNmZmY7IHRleHQtc2hhZG93OiBub25lO31cbjo6c2VsZWN0aW9uIHtiYWNrZ3JvdW5kOiAkYWNjZW50Q29sb3IxOyBjb2xvcjogI2ZmZjsgdGV4dC1zaGFkb3c6IG5vbmU7fVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkdGV4dExpZ2h0LCAxKTtcbn1cblxucCwgb2wsIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogM3ZoO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xuICAgIG1hcmdpbi1ib3R0b206IDJ2aDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRnaWFudEJlYXIpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0dmg7XG4gIH1cbiAgLy9cbiAgLy8gJjpsYXN0LW9mLXR5cGUge1xuICAvLyAgIG1hcmdpbi1ib3R0b206IDA7XG4gIC8vIH1cbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogMC41cyAkZWFzZTtcbiAgY29sb3I6ICRiYXNlQ29sb3I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRhY2NlbnRDb2xvcjE7XG4gIH1cbn1cblxuYTpob3Zlclxue1xuICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgY3Vyc29yOnBvaW50ZXI7XG59XG5cbiNoZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiN3cmFwcGVyIHtcbiAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG5pbWcge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1kcmFnOiBub25lO1xufVxuXG5cbi5wcmVsb2FkICoge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tcy10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIC1vLXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gUmVtb3ZlIEJ1dHRvbiBTdHlsaW5nXG5cbi5idXR0b25Ob1N0eWxlIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjA7XG4gIGJvcmRlci1yYWRpdXM6MDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogY3Vyc29yOiBkZWZhdWx0OyAqL1xuICBmb250OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIGZvciBpbnB1dCAqL1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBmb3IgYnV0dG9uICovXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkRm9udDtcbn1cblxuLy9oaWRlIHN0dWZmIGFjY2Vzc2libHkgd2hlcmUgbmVlZGVkXG5cbi5lbGVtZW50LWludmlzaWJsZSwgLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tbGVmdDogLTEwMDAwcHggIWltcG9ydGFudDtcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4vLyBDbGVhciBmbG9hdFxuXG4uY2Y6YmVmb3JlLFxuLmNmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiOyAvKiAxICovXG4gICAgZGlzcGxheTogdGFibGU7IC8qIDIgKi9cbn1cblxuLmNmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbn1cbi5jZiB7XG4gICAgKnpvb206IDE7XG59XG5cbio6Zm9jdXMge1xuXHRvdXRsaW5lOiAwO1xufVxuXG5cbi8vaGlkZSBzdHVmZiBhY2Nlc3NpYmx5IHdoZXJlIG5lZWRlZFxuXG4uZWxlbWVudC1pbnZpc2libGUsIC5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0bWFyZ2luLWxlZnQ6IC0xMDAwMHB4ICFpbXBvcnRhbnQ7XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLmRpc2FibGUtaG92ZXIsXG4uZGlzYWJsZS1ob3ZlciAqIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubm9TY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG5cbi8vIFRvcCBhbmQgYm90dG9tIGFuY2hvcnNcblxuLmF0Qm90dG9tLCAuYXRUb3Age1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vLyBDb250ZW50IHdyYXBwZXJcblxuLmNvbnRlbnQtd3JhcHBlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRlZW5CZWFyKSB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcGFwYUJlYXIpIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuXG5cbi8vIG1hcmdpbiB0b3Bcbi5jb250ZW50LXdyYXBwZXItLW10IHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMWVtICsgNnZoKTtcbiAgfVxufVxuXG5cblxuLy8gUGFnZSB0cmFuc2l0aW9uc1xuXG4ucGFnZS10cmFuc2l0aW9uIHsgLy8gc2V0IHVwIG9mIHBhZ2UgdHJhbnNpdG9uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogJGJhc2VDb2xvcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuN3MgJGVhc3kgMC4ycztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDEwMiUsMCk7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi53b29jb21tZXJjZSAucGFnZS10cmFuc2l0aW9uIHtcbiAgYmFja2dyb3VuZDogZGFya2VuKCR0ZXh0TGlnaHQsIDEpO1xufVxuXG4ucHJvamVjdC1pcy1sb2FkaW5nIHtcbiAgYW5pbWF0aW9uOiBsb2FkLXByb2plY3QgMC43cyAkZWFzeSBmb3J3YXJkcyAwLjJzO1xufVxuXG4ubmV4dC1wcm9qZWN0LWxvYWRpbmcge1xuICBhbmltYXRpb246IG5leHQtcHJvamVjdCAwLjdzICRlYXN5IGZvcndhcmRzIDAuMXM7XG59XG5cbi5wcmV2LXByb2plY3QtbG9hZGluZyB7XG4gIGFuaW1hdGlvbjogcHJldi1wcm9qZWN0IDAuN3MgJGVhc3kgZm9yd2FyZHMgMC4xcztcbn1cblxuLmNvbnRlbnQtLWV4aXQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLC01dmgsMCk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbkBrZXlmcmFtZXMgbG9hZC1wcm9qZWN0IHtcbiAgZnJvbXt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMTAyJSwwKX1cbiAgdG97dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCl9XG59XG5cbkBrZXlmcmFtZXMgbmV4dC1wcm9qZWN0IHtcbiAgZnJvbXt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMiUsMCwwKX1cbiAgdG97dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCl9XG59XG5cbkBrZXlmcmFtZXMgcHJldi1wcm9qZWN0IHtcbiAgZnJvbXt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMiUsMCwwKX1cbiAgdG97dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCl9XG59XG5cblxuXG4vLyBDbG9zZSBidXR0b24vbGlua1xuXG5cbi5jbG9zZS1idXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiAwLjVzICRlYXNlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC8vIHotaW5kZXg6IDU7XG5cbiAgLnRvcCwgLmJvdHRvbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuXG4gIC5ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMnB4O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgfVxuXG4gIC50b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApO1xuICAgIGJveC1zaGFkb3c6IDZweCAycHggMXB4IDFweCAkYmFzZUNvbG9yO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gIH1cblxuICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cbiAgICAuYm90dG9tIHtcbiAgICAgIGFuaW1hdGlvbjogY2xvc2VCZWZvcmUgMC40cyAkZWFzeSBmb3J3YXJkcztcbiAgICB9XG5cbiAgICAudG9wIHtcbiAgICAgIGFuaW1hdGlvbjogY2xvc2VBZnRlciAwLjVzICRlYXN5IGZvcndhcmRzIDAuMXM7XG4gICAgfVxufVxufVxuXG5cbi8vIDQwNCBwYWdlIHN0eWxpbmdcblxuLmZvZiB7XG4gIGNvbG9yOiAkYmFzZUNvbG9yO1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwxMDAlLDApO1xuICBhbmltYXRpb246IGZkIDAuNXMgJGVhc2UgMC4ycyBmb3J3YXJkcztcbn1cblxuXG4uY2xpcCB7IC8vIGNsaXAgZWxlbWVudFxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGFuaW1hdGlvbjogZmQgMC44cyAkZWFzZSBmb3J3YXJkcyAwLjZzO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW0gIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY2xpcC0tYmVsb3cgc3BhbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwxMDElLDApO1xufVxuXG4uY2xpcC0tYWJvdmUgc3BhbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtMTAxJSwwKTtcbn1cblxuXG4ucGFkLXNlY3Rpb24geyAvLyBwYWRkaW5nIHNlY3Rpb25cbiAgcGFkZGluZzogMTB2aDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBwYWRkaW5nOiA4dnc7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZ2lhbnRCZWFyKSB7XG4gICAgcGFkZGluZzogN3Z3O1xuICB9XG59XG5cblxuXG4vLyB0eXBlXG5cbi8vIHRpdGxlXG4udGl0bGUge1xuICBmb250LWZhbWlseTogJGhlYWRGb250O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBzdWIgdGl0bGVcbi5zdWItdGl0bGUge1xuICBmb250LWZhbWlseTogJGhlYWRGb250O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIGg0IHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG4gIC8vICY6bGFzdC1vZi10eXBlIHtcbiAgLy8gICBmb250LXNpemU6IDAuN2VtO1xuICAvLyB9XG59XG5cbi8vIGNvcHlcbi5jb3B5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZEZvbnQ7XG4gIC8vIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuXG5cbi8vIGhlYWRpbmdzXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG59XG5cblxuXG4vLyBhcnJvd3NcblxuLmFycm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTVweDtcbiAgcGFkZGluZzogMTBweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IDAuNXMgJGVhc2U7XG5cbiAgLmxpbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6ICRsdztcbiAgICBib3JkZXItcmFkaXVzOiAkbHc7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLDEsMSk7XG4gICAgICAvLyBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogMC41cyAkZWFzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRsdztcbiAgICB9XG4gIH1cblxuICAubGluZS0tb25lIHtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDFweCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAubGluZS0tdHdvIHtcbiAgICByaWdodDogY2FsYyg1MCUgLSAxcHgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuXG4gICAgJjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgLmxpbmUge1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gYXJyb3cgZG93blxuLmFycm93LS1kb3duIHtcblxuICAubGluZSB7XG4gICAgYm90dG9tOiAwO1xuICB9XG5cbiAgLmxpbmUtLW9uZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuXG4gIC5saW5lLS10d28ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMzAlLDApO1xuICB9XG59XG5cbi8vIGFycm93IHVwXG4uYXJyb3ctLXVwIHtcblxuICAubGluZSB7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgLmxpbmUtLW9uZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG5cbiAgLmxpbmUtLXR3byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTMwJSwwKTtcbiAgfVxufVxuXG4uYXJyb3ctLWxpZ2h0IC5saW5lIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi5hcnJvdy0tbGlnaHQtZGFyayAubGluZTphZnRlciB7XG4gIGJhY2tncm91bmQ6ICRiYXNlQ29sb3I7XG59XG5cbi5hcnJvdy0tZGFyayAubGluZSB7XG4gIGJhY2tncm91bmQ6ICRiYXNlQ29sb3I7XG59XG5cbi5hcnJvdy0tZGFyayAubGluZTphZnRlciB7XG4gIGJhY2tncm91bmQ6ICRhY2NlbnRDb2xvcjE7XG59XG5cblxuXG4vLyBzZWN0aW9uIGhlaWdodFxuXG4uc2VjdGlvbi1mdWxsIHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbi5zZWN0aW9uLWhhbGYge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICB9XG59XG5cblxuXG4vLyBjYWxsIHRvIGFjdGlvblxuXG4uY3RhIHtcbiAgcGFkZGluZzogMS44ZW07XG4gIGNvbG9yOiAkYmFzZUNvbG9yO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiAkZHVyYXRpb24sIG9wYWNpdHkgJGR1cmF0aW9uIDAuOHM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGVlbkJlYXIpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAyNTBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgc3BhbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAkbHcgcmdiYSgkYmFzZUNvbG9yLDAuMSk7XG5cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yMTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAkbHc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLDEsMSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyAkZWFzZSAwLjNzO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgd2lkdGg6ICRsdztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDAsMSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyAkZWFzZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDEpIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbi5jdGE6aG92ZXIsXG4uY3RhOmFjdGl2ZSxcbi5jdGE6Zm9jdXMsXG4uY3RhLWNvbnQ6aG92ZXIgLmN0YSB7XG4gIGNvbG9yOiAkYWNjZW50Q29sb3IxO1xuXG4gIHNwYW4ge1xuXG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzICRlYXNlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgJGVhc2UgMC4zcztcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDEpIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIGN0YSBidXR0b25zXG5cbmJ1dHRvbi5jdGEge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5cblxuLy8gY2VudGVyZWQgY29udGFpbmVyXG4udGV4dC1sZWZ0IHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4vLyBTaG93cmVlbFxuLnNob3dyZWVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgLnN3aXBlci1zbGlkZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgLnRleHQtY29udCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICBtYXJnaW46IDEwMHB4IGF1dG87XG4gICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICB9XG4gIH1cbn1cbiIsIlxyXG5cclxuLy8gdGl0bGUgYXBwZWFyIHdpdGggY2xpcCBvbiBzY3JvbGxcclxuXHJcbi5jbGlwLWFwcGVhciB7XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xyXG4gICAgc3BhbiB7XHJcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcclxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRkdXJhdGlvbiAwLjNzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNsaXAtYXBwZWFyLS1iZWxvdyBzcGFuIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMTAxJSwwKTtcclxufVxyXG5cclxuLmNsaXAtYXBwZWFyLS1hYm92ZSBzcGFuIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTEwMSUsMCk7XHJcbn1cclxuXHJcbi5pbiAuY2xpcC1hcHBlYXIgc3BhbiB7XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gY29weSBhcHBlYXJpbmcgb24gc2Nyb2xsXHJcblxyXG4uY29weS1hcHBlYXIge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgYW5pbWF0aW9uOiBmZCAxcyAkZWFzZSBmb3J3YXJkcyAwLjZzO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwxZW0sMCk7XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xyXG4gICAgdHJhbnNpdGlvbjogJGR1cmF0aW9uIDAuNnM7XHJcbiAgICBhbmltYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uaW4gLmNvcHktYXBwZWFyIHtcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gaW1hZ2UgYXBwZWFyIG9uIHNjcm9sbFxyXG5cclxuLmltYWdlLWFwcGVhciB7XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XHJcbiAgICAvLyBmaWx0ZXI6IGJsdXIoMnB4KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LDEuMDUsMSk7XHJcbiAgICB0cmFuc2l0aW9uOiA1cyAkZWFzZTtcclxuICB9XHJcbn1cclxuXHJcbi5pbiAuaW1hZ2UtYXBwZWFyIHtcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcclxuICAgIC8vIGZpbHRlcjogYmx1cigwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vIGFwcGVhcmluZyBidXR0b25zXHJcblxyXG4uY3RhIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uaW4gLmN0YSB7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG4iLCJcbi5uYXYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgei1pbmRleDogMTAwO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRoZWFkZXJCUCkge1xuICAgIHRyYW5zaXRpb246ICRkdXJhdGlvbjtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGhlYWRlckJQKSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG59XG5cblxuXG4vLyBuYXYgc2Nyb2xsZWQgY2xhc3NcblxuLm5hdi0tc2Nyb2xsZWQge1xuICAubWVudSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC0xMDElLDApO1xuICB9XG59XG5cblxuXG4vLyBtZW51IG1vYmlsZSA+IGRlc2t0b3BcblxuLm1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC01MCUsMCk7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYgPiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRoZWFkZXJCUCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogODAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtMTA0JSwwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAtNTAlO1xuICAgICAgcmlnaHQ6IC01MCU7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKHdoaXRlLDAuOTgpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkZHVyYXRpb247XG4gICAgfVxuXG4gICAgJiA+ICBsaSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjZlbTtcblxuICAgICAgICAgICAgJjpob3ZlciB7IFxuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXYtLW9wZW4ge1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGhlYWRlckJQKSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgLm1lbnUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBtZW51IGljb25cblxuLm5hdi1idXR0b24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbjogNnZ3O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB6LWluZGV4OiAxMDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNnZ3O1xuICAgIGxlZnQ6IC0xLjV2dztcbiAgICByaWdodDogLTZ2dztcbiAgICBib3R0b206IC0xLjV2dztcbiAgfVxuXG4gIHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogJGx3O1xuICAgIGJhY2tncm91bmQ6ICRhY2NlbnRDb2xvcjE7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRkdXJhdGlvbiwgYmFja2dyb3VuZCAkZHVyYXRpb247XG4gICAgei1pbmRleDogMTA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOm50aC1vZi10eXBlKDEpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtMjUwJSwwKTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSkgdHJhbnNsYXRlM2QoMCwtNTAlLDApO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkZHVyYXRpb24sIHRyYW5zZm9ybSAkZHVyYXRpb24gMC4xcztcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwxNTAlLDApO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRoZWFkZXJCUCkge1xuICAgIHNwYW4ge1xuICAgICAgJjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNTAlLDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRkdXJhdGlvbiwgdHJhbnNmb3JtICRkdXJhdGlvbiAwLjJzO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChjYWxjKDEwMCUgKyA2dncpLC01MCUsMCkgc2NhbGUzZCgwLjUsMSwxKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTUwJSwwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRkdXJhdGlvbiwgdHJhbnNmb3JtICRkdXJhdGlvbiAwLjJzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRoZWFkZXJCUCkge1xuICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAzdmg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IC0zdmg7XG4gICAgICBsZWZ0OiAtMS41dmg7XG4gICAgICByaWdodDogLTN2aDtcbiAgICAgIGJvdHRvbTogLTEuNXZoO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBzcGFuOm50aC1vZi10eXBlKDIpLCB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSkgdHJhbnNsYXRlM2QoLTE1JSwtNTAlLDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2LWJ1dHRvbi0tY2xvc2UgeyAvLyB0byBjbG9zZVxuXG4gICYubmF2LWJ1dHRvbi0td2hpdGUge1xuICAgIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgc3BhbiB7XG4gICAgJjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTI1MCUsMCk7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpIHRyYW5zbGF0ZTNkKDAsLTUwJSwwKTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24gMC4xcywgYmFja2dyb3VuZCAkZHVyYXRpb247XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMTUwJSwwKTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkaGVhZGVyQlApIHtcbiAgICBzcGFuIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTUwJSwwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoY2FsYygxMDAlICsgNnZ3KSwtNTAlLDApIHNjYWxlM2QoMC41LDEsMSkgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTUwJSwwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIHdoaXRlIG5hdiBtZW51IGJ1dHRvblxuXG4ubmF2LWJ1dHRvbi0td2hpdGUge1xuICBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRoZWFkZXJCUCkge1xuICAgICAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yMVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gdHJhbnNwYXJlbnQgaWYgYmFja2dyb3VuZCBpbWFnZVxuXG4ubmF2LS1ub2JrIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGhlYWRlckJQKSB7XG5cbiAgICAubWVudTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLm5hdl9fbG9nby1jb25fX2xvZ29fX2JvcmRlci0tYm90dG9tIHtcbiAgICAgIHN0cm9rZTogd2hpdGU7XG4gICAgfVxuXG4gICAgLm5hdl9fbG9nby1jb25fX2xvZ29fX2xldHRlciB7XG4gICAgICBmaWxsOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAubmF2X19uYXYtaXRlbSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5zZWN0aW9uLWhlYWRlcl9fbmF2LXRhcmdldCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvdHRvbTogNnZoO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIC8vIGJhY2tncm91bmQ6IHJlZDtcbn1cblxuXG5cbi8vIGxvZ29cblxuLm5hdl9fbG9nby1jb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNnZ3O1xuICBsZWZ0OiA2dnc7XG4gIHotaW5kZXg6IDE7XG4gIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRoZWFkZXJCUCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTUwJSwwKTtcbiAgICBsZWZ0OiAzdmg7XG4gICAgdG9wOiA1MCU7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG5cbiAgICAubmF2X19sb2dvLWNvbl9fbG9nb19fYm9yZGVyLS10b3Age1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgfVxuXG4gICAgLy8gLm5hdl9fbG9nby1jb25fX2xvZ29fX2JhY2sge1xuICAgIC8vICAgZmlsbDogJGFjY2VudENvbG9yMTtcbiAgICAvLyB9XG5cbiAgICAubmF2X19sb2dvLWNvbl9fbG9nb19fbGV0dGVyIHtcbiAgICAgIGZpbGw6ICRhY2NlbnRDb2xvcjE7XG4gICAgfVxuICB9XG59XG5cbi5sb2dvLWNvbl9fbG9nbyB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDIzLjdweDtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgLy8gYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi5uYXZfX2xvZ28tY29uX19sb2dvX19iYWNrIHtcbiAgdHJhbnNpdGlvbjogZmlsbCAwLjVzICRlYXNlO1xuICBmaWxsOiByZ2JhKCRhY2NlbnRDb2xvcjEsMCk7XG59XG5cbi5uYXZfX2xvZ28tY29uX19sb2dvX19ib3JkZXIge1xuICB0cmFuc2l0aW9uOiAwLjhzICRlYXNlO1xuICBmaWxsOiBub25lO1xuICBzdHJva2UtbWl0ZXJsaW1pdDoxMDtcbiAgc3Ryb2tlLXdpZHRoOjE1cHg7XG59XG5cbi5uYXZfX2xvZ28tY29uX19sb2dvX19ib3JkZXItLWJvdHRvbSB7XG4gIHN0cm9rZTogJGJhc2VDb2xvcjtcbn1cblxuLmhvbWUge1xuICAubmF2X19sb2dvLWNvbl9fbG9nb19fYm9yZGVyLS1ib3R0b20ge1xuICAgIGFuaW1hdGlvbjogZHJhdyAxLjJzICRlYXNlIGZvcndhcmRzIDFzO1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDEwMDA7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDEwMDA7XG5cbiAgICBAa2V5ZnJhbWVzIGRyYXcge1xuICAgICAgdG97c3Ryb2tlLWRhc2hvZmZzZXQ6IDB9XG4gICAgfVxuICB9XG4gIC5uYXZfX2xvZ28tY29uX19sb2dvX19sZXR0ZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYW5pbWF0aW9uOiBmZE9wYWNpdHkgMC42cyBmb3J3YXJkcyAxLjRzO1xuICB9XG59XG5cbi5uYXZfX2xvZ28tY29uX19sb2dvX19ib3JkZXItLXRvcCB7XG4gIHN0cm9rZTogJGFjY2VudENvbG9yMTtcbiAgc3Ryb2tlLWRhc2hhcnJheTogMTAwMDtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDEwMDA7XG59XG5cbi5uYXZfX2xvZ28tY29uX19sb2dvX19sZXR0ZXIge1xuICBmaWxsOiAkYmFzZUNvbG9yO1xuICB0cmFuc2l0aW9uOiAwLjVzICRlYXNlO1xufVxuXG5cblxuLy8gbmF2IGl0ZW1zXG5cbi5uYXZfX25hdi1pdGVtIHtcbiAgcGFkZGluZzogM3ZoIDAgNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJGR1cmF0aW9uO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAkbHc7XG4gICAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yMTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwxLDEpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzICRlYXNlO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gYWN0aXZlIG5hdiBpdGVtXG5cbi5wYWdlLWFib3V0IC5uYXZfX25hdi1pdGVtLS1hYm91dCxcbi5wYWdlLWd1YXJkaWFucyAubmF2X19uYXYtaXRlbS0tZ3VhcmRpYW5zLFxuLnBhZ2UtbGFuZGxvcmRzIC5uYXZfX25hdi1pdGVtLS1sYW5kbG9yZHMsXG4ucGFnZS1qb3VybmFsIC5uYXZfX25hdi1pdGVtLS1qb3VybmFsLFxuLmJsb2cgLm5hdl9fbmF2LWl0ZW0tLWpvdXJuYWwsXG4ucGFnZS1jb250YWN0IC5uYXZfX25hdi1pdGVtLS1jb250YWN0IHtcbiAgJjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gIH1cbn1cbiIsIlxuXG4uc3BsaXQtY29uIHtcbiAgYmFja2dyb3VuZDogJGFjY2VudERhcms7XG4gIG1pbi1oZWlnaHQ6NTAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgcmlnaHQ6MDtcbiAgbGVmdDowO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6bnRoLW9mLXR5cGUoMSkge1xuICAgIHRvcDogMDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgICBoZWlnaHQ6IDUwdmg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5cblxuXG4vLyBzZWN0aW9uIGltYWdlXG5cbi5zcGxpdC1jb25fX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNpdGlvbjogMC44cyAkZWFzZTtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlQ29sb3I7XG4gICAgb3BhY2l0eTogMC4yO1xuICAgIHRyYW5zaXRpb246IDAuOHMgJGVhc2U7XG4gICAgbWl4LWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7XG4gIH1cbn1cblxuLnRvdWNoIC5zcGxpdC1jb25fX2ltYWdlOmFmdGVyIHtcbiAgb3BhY2l0eTogMC4zO1xufVxuXG4uc3BsaXQtY29uIHtcblxuICAmOm50aC1vZi10eXBlKDEpIC5zcGxpdC1jb25fX2ltYWdlIHtcbiAgICByaWdodDogLTMlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMi41JSwwLDApO1xuICB9XG5cbiAgJjpudGgtb2YtdHlwZSgyKSAuc3BsaXQtY29uX19pbWFnZSB7XG4gICAgbGVmdDogLTMlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMi41JSwwLDApO1xuICB9XG59XG5cblxuLy8gc2VjdGlvbiBjb3B5XG5cbi5zcGxpdC1jb25fX2NvcHktY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKTtcbiAgY29sb3I6IHdoaXRlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAkdGVlbkJlYXI7XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi5zcGxpdC1jb25fX2NvcHktY29uX190aXRsZSB7IC8vIHNlY3Rpb24gdGl0bGVcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgbWFyZ2luOiAzdmg7XG5cbiAgc3BhbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDEwMCUsMCk7XG4gIH1cbn1cblxuLnNwbGl0LWNvbl9fY29weS1jb25fX2NvcHkge1xuICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwxMDAlLDApO1xuICAgIHBhZGRpbmc6IDAgMjAlO1xuXG4gICAgc3BhbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMnZoLDApO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IDAuOHMgJGVhc2U7XG5cbiAgICAgIGFuaW1hdGlvbjogZmQgMS4ycyAkZWFzZSBmb3J3YXJkcyAxLjNzO1xuICAgIH1cbiAgfVxufVxuXG4uc3BsaXQtY29uX19jb3B5LWNvbl9faWNvbi1jb24ge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtMTAwJSwwKTtcbiAgfVxufVxuXG4uc3BsaXQtY29uX19jb3B5LWNvbl9faWNvbi1jb25fX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTJ2aCwwKTtcbiAgdHJhbnNpdGlvbjogMC44cyAkZWFzZTtcblxuICBhbmltYXRpb246IGZkIDEuMnMgJGVhc2UgZm9yd2FyZHMgMC45cztcbiAgb3BhY2l0eTogMDtcbn1cblxuLm5vLXRvdWNoZXZlbnRzIC5zcGxpdC1jb25fX2NvcHktY29uX19pY29uLWNvbl9faWNvbixcbi5uby10b3VjaGV2ZW50cyAuc3BsaXQtY29uX19jb3B5LWNvbl9fY29weSBzcGFuIHtcbiAgYW5pbWF0aW9uOiBub25lO1xufVxuXG4uc3BsaXQtY29uX19jb3B5LWNvbl9faWNvbi1jb25fX2ljb25fX3N2ZyB7IC8vIGljb24gc3ZnXG4gIGhlaWdodDogNjBweDtcblxuICAmLS1sYW5kcyB7XG4gICAgd2lkdGg6IDY2cHg7XG4gIH1cblxuICAmLS1ndWFyZHMge1xuICAgIHdpZHRoOiA1NXB4O1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgaGVpZ2h0OiA4MHB4O1xuXG4gICAgJi0tbGFuZHMge1xuICAgICAgd2lkdGg6IDkwcHg7XG4gICAgfVxuXG4gICAgJi0tZ3VhcmRzIHtcbiAgICAgIHdpZHRoOiA3M3B4O1xuICAgIH1cbiAgfVxuXG4gIC5wYXRoIHtcbiAgICBmaWxsOiBub25lO1xuICAgIHN0cm9rZTogd2hpdGU7XG4gICAgc3Ryb2tlLW1pdGVybGltaXQ6IDEwO1xuICAgIHN0cm9rZS13aWR0aDogN3B4XG4gIH1cblxuICAucGF0aC0tdGhpbiB7XG4gICAgc3Ryb2tlLXdpZHRoOiA0cHhcbiAgfVxuXG4gIC5rZXkge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzcyAkZWFzZTtcbiAgfVxuXG4gIC5ob3VzZSB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOHMgJGVhc2U7XG4gIH1cbn1cblxuLm5vLXRvdWNoIC5zcGxpdC1jb24tLWd1YXJkaWFucyAuaG91c2Uge1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMC44LDAuOCwxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLm5vLXRvdWNoIC5zcGxpdC1jb24tLWxhbmRsb3JkcyAua2V5IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZykgdHJhbnNsYXRlM2QoMCwtMjAlLDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG59XG5cblxuXG4vLyBtb2JpbGUgc2VlIHRocm91Z2ggaWNvbnMgb24gdG9wXG5cbi5zcGxpdC1jb25fX2NvcHktY29uX19pY29uLWNvbiB7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgei1pbmRleDogMTtcblxuICAgICZfX2ljb25fX3N2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gc2VjdGlvbiBob3ZlciBzdGF0ZXNcblxuLnNwbGl0LWNvbjpob3ZlciB7XG5cbiAgLnNwbGl0LWNvbl9faW1hZ2Uge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwLjk1O1xuICAgIH1cbiAgfVxuXG4gIC5zcGxpdC1jb25fX2NvcHktY29uX19pY29uLWNvbl9faWNvbixcbiAgLnNwbGl0LWNvbl9fY29weS1jb25fX2NvcHkgc3BhbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIC5zcGxpdC1jb25fX2NvcHktY29uX19jb3B5IHNwYW4ge1xuICAgIHRyYW5zaXRpb246IDAuOHMgJGVhc2UgMC4xcztcbiAgfVxuXG4gICYuc3BsaXQtY29uLS1ndWFyZGlhbnMgLmhvdXNlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xuICB9XG5cbiAgJi5zcGxpdC1jb24tLWxhbmRsb3JkcyAua2V5IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGUzZCgwLDEwJSwwKTtcbiAgfVxufVxuXG5cblxuLy8gaG9tZSBwYWdlIG1lbnVcblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XG5cbiAgLy8gLmhvbWUgLm5hdiB7XG4gIC8vICAgb3BhY2l0eTogMDtcbiAgLy8gICBkaXNwbGF5OiBub25lO1xuICAvLyAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uO1xuICAvLyB9XG59XG5cblxuLy8gTE9XRUtFWVxuXG4ucGFnZS10ZW1wbGF0ZS1wLWtleSAuc3ViLXRpdGxlLCAucGFnZS1sYW5kbG9yZHMgLnN1Yi10aXRsZSB7XG4gIG1hcmdpbjogMjBweCBhdXRvIDBweDtcbiAgY29sb3I6ICM0YTRhNGE7XG59XG5cbi5ibG9nLXByZXZpZXcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA1MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTAwcHggMDtcbiAgdmVydGljYWwtYWxpZ246dG9wO1xuXG4gIC5jaGVja2VyLWNvbl9faW1hZ2UtY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAudGl0bGUge1xuICAgIG1heC13aWR0aDogOTAlO1xuICAgIG1hcmdpbjogMjBweCBhdXRvIDBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCl7XG4gIC5ibG9nLXByZXZpZXcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cbn1cblxuXG4vLyBLRVkgUEFHRVxuLmZ1bGwtaGVpZ2h0IHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG4udmVydC1jZW50cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApO1xufSIsIlxuLy8gaGVhZGVyXG5cbi5zZWN0aW9uLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICRiYXNlQ29sb3I7XG4gIHotaW5kZXg6IDE7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgcGFkZGluZzogY2FsYyg2dncgKyAxZW0pO1xuICB9XG59XG5cbi5zZWN0aW9uLWhlYWRlci5zZWN0aW9uLWZ1bGwge1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMi43ZW07XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZUNvbG9yO1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgICB0cmFuc2l0aW9uOiAwLjhzICRlYXNlO1xuICAgIG1peC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0O1xuICB9XG59XG5cbi5zZWN0aW9uLWhlYWRlcl9fdGl0bGUgeyAvLyBzZWN0aW9uIHRpdGxlXG4gIHotaW5kZXg6IDE7XG5cbiAgc3BhbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDEwMSUsMCk7XG4gIH1cbn1cblxuXG4vLyBoZWFkZXIgaW1hZ2VcblxuLnNlY3Rpb24taGVhZGVyX19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLy8gdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsMS4wNSwxKTtcbiAgICAvLyBhbmltYXRpb246IGZkIDhzICRlYXNlIGZvcndhcmRzO1xuICB9XG59XG5cblxuLnNlY3Rpb24taGVhZGVyX19jcnVtYnMgeyAvLyBicmVhZCBjcnVtYnNcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgY29sb3I6IHJnYmEoJGJhc2VDb2xvciwgMC4yKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IGNhbGMoMWVtICsgNnZoKTtcbiAgICBsZWZ0OiAxMHZ3O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRnaWFudEJlYXIpIHtcbiAgICBsZWZ0OiA4dnc7XG4gIH1cbn1cblxuXG4uc2VjdGlvbi1oZWFkZXJfX2NydW1icy0tYm90dG9tIHsgLy8gYnJlYWQgY3J1bWJzIGF0IGJvdHRvbVxuICBkaXNwbGF5OiBub25lO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbih3aGl0ZSwzKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICB9XG59XG5cblxuLnNlY3Rpb24taGVhZGVyX19zY3JvbGwgeyAvLyBzY3JvbGwgcHJvbXB0XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHZoO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbn1cblxuXG5cbi8vIHNlY3Rpb24gaW50cm9cblxuLnNlY3Rpb24taW50cm8ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtaW4taGVpZ2h0OiA2MHZoO1xuICBiYWNrZ3JvdW5kOiBkYXJrZW4od2hpdGUsIDIpO1xufVxuXG4uc2VjdGlvbi1pbnRyb19fY29weS1jb25fX3RpdGxlIHtcbiAgY29sb3I6ICRiYXNlQ29sb3I7XG4gIG1hcmdpbi1ib3R0b206IDV2aDtcbn1cblxuLnNlY3Rpb24taW50cm9fX2NvcHktY29uX19jb3B5IHtcbiAgbWF4LXdpZHRoOiAkdGVlbkJlYXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAwO1xuICAvLyBhbmltYXRpb246IGZkIDAuOHMgJGVhc2UgZm9yd2FyZHMgMC42cztcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICAvLyB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiAwLjhzO1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICBtYXgtd2lkdGg6ICRtYW1hQmVhcjtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICB9XG59XG5cbi5pbiAuc2VjdGlvbi1pbnRyb19fY29weS1jb25fX3RpdGxlIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cbn1cblxuLmluIC5zZWN0aW9uLWludHJvX19jb3B5LWNvbl9fY29weSB7XG4gIG9wYWNpdHk6IDE7XG59XG4iLCIubGNnLXNsaWRlc2hvdywgLnNoZWQtcmVlbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogOTB2aDtcblx0bWluLWhlaWdodDogNjB2aDtcblxuXHRsaSB7XG5cdFx0Ly8gd2lkdGg6IDEwMCU7XG5cdFx0Ly8gaGVpZ2h0OiAxMDAlO1xuXHRcdC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHQvLyB0b3A6IDBweDtcblx0XHQvLyBsZWZ0OiAwcHg7XG5cblx0XHRpbWcge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0fVxuXHR9XG59XG5cbi5zaGVkLXJlZWwsIC5zZWN0aW9uLXZpZGVvIHtcblx0d2lkdGg6IDkwJTtcblx0bWFyZ2luOiBhdXRvO1xuXHRwYWRkaW5nOiA3dmggMHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDIzcHgpe1xuXHQucGFnZS10ZW1wbGF0ZS1wLXNoZWQge1xuXHRcdC5wb3N0X19jb24ge1xuXHRcdFx0d2lkdGg6IDgwJTtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQxNXB4KXtcblx0LnNoZWQtcmVlbCwgLnNlY3Rpb24tdmlkZW8ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogYXV0bztcblx0XHRwYWRkaW5nOiA3dmggMHB4O1xuXHR9XG5cbn0iLCJcbi5jaGVja2VyLWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAudGl0bGUsIC5jb3B5LCAuc3ViLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLmN0YSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJi5zZWN0aW9uLWhhbGYge1xuICAgIC50aXRsZSwgLmNvcHksIC5zdWItdGl0bGUge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNoZWNrZXItY29uOm50aC1vZi10eXBlKG9kZCkge1xuICAuY2hlY2tlci1jb25fX2NvcHktY29uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLmNoZWNrZXItY29uX19pbWFnZS1jb24ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLmNoZWNrZXItY29uOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgLmNoZWNrZXItY29uX19jb3B5LWNvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmNoZWNrZXItY29uX19pbWFnZS1jb24ge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmNoZWNrZXItY29uX19pbWFnZS1jb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKCRhY2NlbnREYXJrLDAuMSk7XG4gIGhlaWdodDogNTB2aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLmNoZWNrZXItY29uX19pbWFnZS1jb25fX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG59XG5cblxuLmNoZWNrZXItY29uX19pbWFnZS1jb24sXG4uY2hlY2tlci1jb25fX2NvcHktY29uIHtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uY2hlY2tlci1jb25fX2NvcHktY29uX190aXRsZSB7XG4gIGNvbG9yOiAkYmFzZUNvbG9yO1xufVxuXG4uY2hlY2tlci1jb25fX2NvcHktY29uX19zdWItdGl0bGUge1xuICBmb250LXNpemU6IDAuOGVtO1xuICBtYXJnaW4tdG9wOiAydmg7XG4gIGFuaW1hdGlvbi1kZWxheTogMC44cyAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjZzICFpbXBvcnRhbnQ7XG59XG5cbi5jaGVja2VyLWNvbl9fY29weS1jb25fX2NvcHkge1xuICBwYWRkaW5nOiA0dmggMDtcblxuICBhIHtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDAuMWVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFzZUNvbG9yLCAwLjIpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLDEsMSk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb247XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgcGFkZGluZzogNHZoO1xuICB9XG59XG5cbi5zZWN0aW9uLWZ1bGwgLmNoZWNrZXItY29uX19jb3B5LWNvbl9fY29weSB7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgcGFkZGluZzogNnZoIDAgMDtcbiAgfVxufVxuXG5cbi5zZWN0aW9uLWZ1bGwgLmNoZWNrZXItY29uX19saW5rIHsgLy8gc2VjdGlvbiBsaW5rXG4gIG1hcmdpbi10b3A6IDR2aDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBtYXJnaW4tdG9wOiA2dmg7XG4gIH1cbn1cblxuXG5cbi8vIGJhY2sgdG8gdG9wXG5cbi50by10b3AtY29uIHtcbiAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAudG8tdG9wLWNvbl9fc3BhbiB7XG4gICAgY29sb3I6IHJnYmEod2hpdGUsMC44KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkZHVyYXRpb247XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG5cbiAgICAudG8tdG9wLWNvbl9fc3BhbiB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgLmxpbmU6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLmFycm93LS11cCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTMwJSwwKTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIGVsZW1lbnQgdG8gY2hlY2sgZGl2IGlzIGluIHZpZXdcblxuLnZpZXctY2hlY2tlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICB0cmFuc2l0aW9uOiAkZHVyYXRpb247XG59XG5cbi8vIC5pbi52aWV3LWNoZWNrZXIge1xuLy8gICBiYWNrZ3JvdW5kOiByZWQ7XG4vLyB9XG5cbi5zZWN0aW9uLWZ1bGwgLnZpZXctY2hlY2tlciB7XG4gIHRvcDogNTB2aDtcbn1cblxuLnNlY3Rpb24taGFsZiAudmlldy1jaGVja2VyIHtcbiAgdG9wOiAyNXZoO1xufVxuIiwiXG4uYmVuLWNvbiB7XG4gIGJhY2tncm91bmQ6IGRhcmtlbih3aGl0ZSwzLjUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmNvbiB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRkdXJhdGlvbiAwLjFzO1xuICAgIHBhZGRpbmc6IDV2aDtcbiAgfVxufVxuXG4uYmVuLWNvbl9fdGl0bGUge1xuICBmb250LXNpemU6IDEuM2VtO1xuICBtYXJnaW4tYm90dG9tOiAxMHZoO1xuICBjb2xvcjogJGJhc2VDb2xvcjtcbn1cblxuLmJlbi1jb25fX2JlbmVmaXRzIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5jb2luLW1hc2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA2MCU7XG4gIG1heC13aWR0aDogMTUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luOiAzdmggYXV0byAzdmg7XG4gIGJveC1zaGFkb3c6IC0zcHggNXB4IDZweCByZ2JhKDIzMywgMjMzLCAyMzMsIDAuMyk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICBcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7IGxlZnQ6IDUwJTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApO1xuICAgICAgd2lkdGg6IDE1MCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgICB9XG59XG5cbi5jdGEtY29udCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgXG4gICY6aG92ZXIge1xuICAgIC5jb2luLW1hc2sge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IC00cHggNnB4IDZweCByZ2JhKDIzMywgMjMzLCAyMzMsIDAuOCk7XG4gICAgfVxuICAgIC5jdGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cblxuXG4gIG1hcmdpbjogMnZ3IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBtYXJnaW46IDElIDElO1xuICAgIHdpZHRoOiA0NyU7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc3Vtb0JlYXIpIHtcbiAgICBtYXJnaW46IDElIDElO1xuICAgIHdpZHRoOiAzMCU7XG4gIH1cbn1cblxuLmluLmJlbi1jb25fX3RpdGxlIHNwYW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbn1cblxuLnBhZC1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZiLWhpZ2hsaWdodCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgLmNvaW4tbWFzayB7XG4gICAgd2lkdGg6IDU1cHg7XG4gICAgbWFyZ2luOiAwIDAgNXB4ICAwOyBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxufVxuXG5cblxuLy8gcG9wIHVwIGRlc2NyaXB0aW9uXG5cbi5iZW4tc2hyaW5rIC5jb24ge1xuICAvLyB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwwLjk1LDEpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uO1xufVxuXG4uYmVuLWNvbl9fYmVuZWZpdHNfX2JlbmVmaXQtZGVzYyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKGRhcmtlbih3aGl0ZSwzLjUpLDAuOTgpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiAkZHVyYXRpb247XG4gIHotaW5kZXg6IDE7XG5cbiAgLmNlbnRlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRkdXJhdGlvbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKSBzY2FsZTNkKDEuMDUsMS4wNSwxKSFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBtYXgtd2lkdGg6ICR0ZWVuQmVhcjtcbiAgfVxufVxuXG4uYmVuLWNvbl9fYmVuZWZpdHNfX2JlbmVmaXQtZGVzY19fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzdmg7XG4gIGNvbG9yOiAkYmFzZUNvbG9yO1xufVxuXG4uYmVuZWZpdC0tc2VsZWN0ZWQge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiAkZHVyYXRpb24gMC4xcztcblxuICAuY2VudGVyIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uIDAuMXM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCkgc2NhbGUzZCgxLDEsMSkhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8gY2xvc2UgYnV0dG9uXG5cbi5zZWN0aW9uLWNsb3NlIHtcbiAgLy8gZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiA1dmg7XG59XG4iLCJcblxuLy8gZm9ybVxuXG4ucGFnZS10ZW1wbGF0ZS1wLWZvcm0gLnBvcC11cC1jb24ge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBtYXJnaW46IC00dncgYXV0bztcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc3Vtb0JlYXIpIHtcbiAgICBtYXJnaW46IC01dncgYXV0bztcbiAgfVxufVxuXG5ib2R5Om5vdCgucGFnZS10ZW1wbGF0ZS1wLWd1YXJkaWFuLWFwcGxpY2F0aW9uKSBmb3JtIHtcbiAgLy8gcGFkZGluZzogMCAxMHZoIDV2aDtcbiAgLy8gbWFyZ2luOiAtMTB2aCBhdXRvIDA7XG4gIC8vIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBtYXgtd2lkdGg6ICR0ZWVuQmVhcjtcbiAgICBwYWRkaW5nOiAwIDAgMTB2dztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzdW1vQmVhcikge1xuICAgIHBhZGRpbmc6IDAgMCA4dnc7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICBsYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC5jdGEge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICBicixcbiAgLmFqYXgtbG9hZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhLFxuICBzZWxlY3Qge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZEZvbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6ICRsdyBzb2xpZCByZ2JhKCRiYXNlQ29sb3IsIDAuMSk7XG4gICAgcGFkZGluZzogMC43ZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIgJGR1cmF0aW9uO1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICB0ZXh0YXJlYSB7XG4gICAgcmVzaXplOiBub25lO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXZ3O1xuICB9XG5cbiAgLy8gaW5wdXQgbGFiZWxzXG4gIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgfVxufVxuXG5cbi53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi8vIGlucHV0IGNvbnRhaW5lcnNcblxuLmlucHV0LWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMnZ3O1xufVxuXG4uaW5wdXQtY29uX19pbnB1dF9zcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMHB4ICRsdyByZ2JhKCRiYXNlQ29sb3IsMC4xKTtcbiAgdHJhbnNpdGlvbjogJGR1cmF0aW9uO1xuXG4gICY6YWZ0ZXIsXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yMTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGhlaWdodDogJGx3O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLDEsMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgJGVhc2UgMC4zcztcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIHdpZHRoOiAkbHc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDAsMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgJGVhc2U7XG4gIH1cblxuICAmOm50aC1vZi10eXBlKDEpIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gICAgfVxuICB9XG5cbiAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gICAgfVxuICB9XG59XG5cbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3R7XG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnRDb2xvcjE7XG4gIH1cbn1cblxuLmlucHV0LWZvY3VzIHtcbiAgY29sb3I6ICRhY2NlbnRDb2xvcjE7XG5cbiAgLmlucHV0LWNvbl9faW5wdXRfc3BhbiB7XG5cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyAkZWFzZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzICRlYXNlIDAuM3M7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBwcm9wZXJ0aWVzIHNlbGVjdGlvblxuXG4ucHJvcGVydGllcyB7XG5cbiAgJjphZnRlcixcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogJGx3O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogOHB4O1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGFjY2VudERhcmssIDcwKTtcbiAgICB0cmFuc2l0aW9uOiAkZHVyYXRpb247XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEuM2VtO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICByaWdodDogMS4zZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChjYWxjKC0xMDAlICsgNC41cHgpLDAsMCkgcm90YXRlKDQ1ZGVnKTtcbiAgfVxufVxuXG4uaW52YWxpZCAucHJvcGVydGllcyB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICByaWdodDogNTBweDtcbiAgfVxufVxuXG4uaW5wdXQtY29uIHtcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuXG4gICAgLnByb3BlcnRpZXM6YWZ0ZXIsXG4gICAgLnByb3BlcnRpZXM6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnRDb2xvcjFcbiAgICB9XG5cbiAgICAucHJvcGVydGllczpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnByb3BlcnRpZXM6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChjYWxjKC0xMDAlICsgNC41cHgpLDAsMCkgcm90YXRlKDQ1ZGVnKSFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBzdWJtaXQgYnV0dG9uXG5cbi5zdWJtaXQtY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZvcm0tc3VibWl0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgaW5wdXQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAkbHcgcmdiYSgkYmFzZUNvbG9yLDAuMSk7XG5cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yMTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAkbHc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLDEsMSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyAkZWFzZSAwLjNzO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgd2lkdGg6ICRsdztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDAsMSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyAkZWFzZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDEpIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkYWNjZW50Q29sb3IxO1xuXG4gICAgc3BhbiB7XG5cbiAgICAgICY6YWZ0ZXIsXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgJGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyAkZWFzZSAwLjNzO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDEpIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuXG5cbi8vIGZvcm0gbWVzc2FnaW5nXG5cbi53cGNmNy1ub3QtdmFsaWQtdGlwIHsgLy8gZXJyb3JcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMWVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTUwJSwwKTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAvLyBhbmltYXRpb246IGZkT3BhY2l0eSAkZHVyYXRpb24gZm9yd2FyZHMgMC4xcztcbn1cblxuLnByb3BlcnRpZXMgLndwY2Y3LW5vdC12YWxpZC10aXAge1xuICByaWdodDogY2FsYygxZW0gKyAzMHB4KTtcbn1cblxuLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZEZvbnQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMWVtIDEuNGVtICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoJGJhc2VDb2xvciwgMC4xKTtcbiAgY29sb3I6ICRiYXNlQ29sb3I7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogNHZoIDAgMDtcbn1cblxuLmludmFsaWQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCxcbi5zZW50IC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuXG4uc2VudCB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHdoaXRlLDAuOSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG4gIC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCkgc2NhbGUzZCgwLjUsMC41LDEpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQ6ICRzdWNjZXNzO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGFuaW1hdGlvbjogc3VjY2Vzcy1ncm93ICRkdXJhdGlvbiBmb3J3YXJkcyAwLjRzO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogJGx3O1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIHRvcDogNjAlO1xuICAgICAgcmlnaHQ6IGNhbGMoNTAlICsgMXB4KTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlM2QoMCwxLDEpO1xuICAgICAgYW5pbWF0aW9uOiB0aWNrLWJlZm9yZSAkZHVyYXRpb24gZm9yd2FyZHMgMC43cztcblxuICAgICAgQGtleWZyYW1lcyB0aWNrLWJlZm9yZSB7XG4gICAgICAgIHRve3RyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZTNkKDEsMSwxKX1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICB0b3A6IDYwJTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gM3B4KTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlM2QoMCwxLDEpO1xuICAgICAgYW5pbWF0aW9uOiB0aWNrLWFmdGVyICRkdXJhdGlvbiBmb3J3YXJkcyAxcztcblxuICAgICAgQGtleWZyYW1lcyB0aWNrLWFmdGVyIHtcbiAgICAgICAgdG97dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZTNkKDEsMSwxKX1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIHN1Y2Nlc3MtZ3JvdyB7XG4gICAgICB0b3t0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKSBzY2FsZTNkKDEsMSwxKTsgb3BhY2l0eTogMX1cbiAgICB9XG4gIH1cblxufVxuXG4vLyBjcm9zcyAvIHRpY2sgY2hlY2tlclxuXG4uaW5wdXQtY2hlY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDUwcHg7XG4gIHotaW5kZXg6IDE7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLDAsMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24sIG9wYWNpdHkgJGR1cmF0aW9uO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAkbHc7XG4gIH1cbn1cblxuLmNvcnJlY3QuaW5wdXQtY2hlY2sgeyAvLyBjb3JyZWN0XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3VjY2VzcztcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICB3aWR0aDogOHB4O1xuICAgIHRvcDogNjAlO1xuICAgIHJpZ2h0OiBjYWxjKDUwJSArIDFweCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgdG9wOiA2MCU7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAzcHgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxufVxuXG4uZXJyb3IuaW5wdXQtY2hlY2sgeyAvLyBlcnJvclxuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJGVycm9yO1xuICB9XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJVxuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApIHJvdGF0ZSg0NWRlZyk7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxufVxuXG4ucHJvcGVydGllcyAuaW5wdXQtY2hlY2sge1xuICByaWdodDogY2FsYygxZW0gKyAzMHB4KTtcbn1cbiIsIi5wYWdlLXRlbXBsYXRlLXAtZ3VhcmRpYW4tYXBwbGljYXRpb24ge1xuXG4gICRkYXJrR3JleTogI2YwZjBmMDtcbiAgJHNwYWNpbmc6IDNlbTtcblxuXG4gICAgLmctcGFnaW5hdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMmVtIGF1dG8gMWVtO1xuICAgICAgY29sb3I6ICNkYWRhZGE7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGJveC1zaGFkb3c6IC01cHggNXB4IDE1cHggJGRhcmtHcmV5O1xuICAgICAgZGl2IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICAgICAgY29sb3I6IHJnYigzOSwzOSwzOSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya0dyZXk7XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZUNvbG9yO1xuICAgICAgICB9XG5cblxuICAgICAgfVxuICAgIH1cblxuICAgIC5nLXBhZ2luYXRpb24tYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAuZy1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiA1cHggMWVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZUNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAtNXB4IDVweCAxNXB4ICRkYXJrR3JleTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFxuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuXG4gICAgaDIge1xuICAgICAgY29sb3I6ICNkYWRhZGE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5sb3dlLXN0ZXAgaDMge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zZW0gIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIH1cbiAgICBcbiAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICBcbiAgICBsYWJlbCwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIHAsIHNwYW4sIGEsIGgyLCBoMywgbGkge1xuICAgICBmb250LWZhbWlseTogJGhlYWRGb250O1xuICAgfVxuXG4gIFxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiAkc3BhY2luZyA1JSAkc3BhY2luZyAwOyBcbiAgICB9XG4gICAgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbjogJHNwYWNpbmcgMDtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuXG4gICAgLmxvd2Utc3RlcCB7XG4gICAgICBib3gtc2hhZG93OiAtNXB4IDVweCAxNXB4ICRkYXJrR3JleTtcbiAgICAgIHBhZGRpbmc6IDQwcHggNjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dF9jb250IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW46IDQwcHggYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB9XG5cbiAgICAuZy1pbnB1dC1jaGVjayB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmctaW5wdXQtY2hlY2sgaW5wdXQsIC5zbWFsbC1saXN0IGxpIC5jaGVjay1ib3gge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogJGRhcmtHcmV5O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkZGFya0dyZXksIDE1JSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5nLWlucHV0LWNoZWNrIGlucHV0LCAuc21hbGwtbGlzdCBsaSB7XG4gICAgICAgJjpjaGVja2VkLCAmLmNoZWNrZWQgLmNoZWNrLWJveCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHN1Y2Nlc3M7XG5cbiAgICAgICAgICAvLyBjaGVja21hcmtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTsgbGVmdDogNTAlO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKTtcbiAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCk7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy92ZWN0b3JzL3RpY2suc3ZnJyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbWFsbC1saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDJlbSAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNWVtKTtcbiAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICBtYXJnaW46IDAgMCAxZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cbiAgICAgICAgLmNoZWNrLWJveCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvOyByaWdodDogMHB4O1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC01MCUsMCk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNTAlLDApO1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNTAlLDApO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNTAlLDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZGFya0dyZXk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG4gICAgc2VsZWN0IHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrR3JleTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgIG1hcmdpbjogJHNwYWNpbmcgLSAxZW0gMDtcbiAgICAgIGJveC1zaGFkb3c6IC01cHggNXB4IDVweCAkZGFya0dyZXk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkZGFya0dyZXksIDE1JSk7ICBcbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXQ6aG92ZXIsIHRleHRhcmVhOmhvdmVye1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGRhcmtHcmV5LCAxNSUpO1xuICAgIH1cbiAgICAgaW5wdXQ6YWN0aXZlLCBpbnB1dDpmb2N1cywgdGV4dGFyZWE6YWN0aXZlLCB0ZXh0YXJlYTpmb2N1cywgc2VsZWN0OmFjdGl2ZSwgc2VsZWN0OmZvY3VzIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgdGV4dGFyZWE6Zm9jdXN7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgIH1cbiAgfVxufSIsIlxuLnBvc3RzLWNvbiB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAvLyBvcGFjaXR5OiAwO1xuICAvLyB0cmFuc2l0aW9uOiAkZHVyYXRpb247XG4gIC8vIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwydmgsMCk7XG4gIC8vIGFuaW1hdGlvbjogZmQgMnMgZm9yd2FyZHMgMXM7XG59XG5cbi5wb3N0cy1jb25fX3Bvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTR2aDtcbiAgcGFkZGluZzogMCAydnc7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcblxuICAgIC5wb3N0cy1jb25fX3Bvc3RfX2ltYWdlLWNvbl9faW1hZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsMS4wNSwxKTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnBvc3RzLWNvbl9fcG9zdF9faW1hZ2UtY29uIHsgLy8gcG9zdCBpbWFnZVxuICBiYWNrZ3JvdW5kOiBkYXJrZW4od2hpdGUsMyk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogM3ZoO1xuICBoZWlnaHQ6IDcwdmg7XG4gIG1heC1oZWlnaHQ6IDUwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wb3N0cy1jb25fX3Bvc3RfX2ltYWdlLWNvbl9faW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRkdXJhdGlvbjtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1peC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRiYXNlQ29sb3I7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb247XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5cbi5wb3N0cy1jb25fX3Bvc3RfX2RldGFpbHNfX3RpdGxlIGgxIHsgLy8gcG9zdCB0aXRsZVxuICBsaW5lLWhlaWdodDogMS40ZW0gIWltcG9ydGFudDtcbn1cblxuLnBvc3RzLWNvbl9fcG9zdF9fZGV0YWlsc19fc3ViIHsgLy8gYXV0aG9yIGFuZCBkYXRlXG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIGNvbG9yOiAkYWNjZW50RGFyaztcbiAgbWFyZ2luOiAwLjVlbSAwO1xuXG4gIHNwYW4ge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gIH1cbn1cblxuXG5cbi8vIHBvc3QgdmlldyBjb250cm9sXG5cbi52aWV3IHsgLy8gcG9zdHMgY29udGFpbmVyXG4gIHRyYW5zaXRpb246ICRkdXJhdGlvbjtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLnBvc3RzLWNvbl9fdmlldy1jb24ge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZzogMnZ3IDJ2dyA4dmg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRlZW5CZWFyKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9zdHMtY29uX192aWV3LWNvbl9fYnV0dG9uIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXG4gIGRpdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gYm9yZGVyLXJhZGl1czogNWVtO1xuICAgIHRyYW5zaXRpb246ICRkdXJhdGlvbjtcbiAgfVxufVxuXG4ucG9zdHMtY29uX192aWV3LWNvbl9fYnV0dG9uLS1ncmlkIHsgLy8gZ3JpZCBidXR0b25cblxuICBzcGFuIHtcbiAgICBoZWlnaHQ6IDQwJTtcbiAgICB3aWR0aDogNDAlO1xuICB9XG5cbiAgc3BhbjpudGgtb2YtdHlwZSgxKSB7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cblxuICBzcGFuOm50aC1vZi10eXBlKDIpIHtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gIH1cblxuICBzcGFuOm50aC1vZi10eXBlKDMpIHtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG4gIHNwYW46bnRoLW9mLXR5cGUoNCkge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG4gIHNwYW46bnRoLW9mLXR5cGUoNSkge1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAtNjAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDIwJSwwKTtcbiAgfVxuXG4gIHNwYW46bnRoLW9mLXR5cGUoNikge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogLTYwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwzMCUsMCk7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG5cbiAgICBkaXYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC02MCUsMCk7XG4gICAgfVxuXG4gICAgc3BhbjpudGgtb2YtdHlwZSgxKXtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTMwJSwwKTtcbiAgICB9XG5cbiAgICBzcGFuOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTIwJSwwKTtcbiAgICB9XG5cbiAgICBzcGFuOm50aC1vZi10eXBlKDUpLFxuICAgIHNwYW46bnRoLW9mLXR5cGUoNikge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIH1cbiAgfVxufVxuXG4ucG9zdHMtY29uX192aWV3LWNvbl9fYnV0dG9uLS1saXN0IHsgLy8gbGlzdCBidXR0b25cblxuICBzcGFuIHtcbiAgICBoZWlnaHQ6IDQwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgc3BhbjpudGgtb2YtdHlwZSgxKSB7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgc3BhbjpudGgtb2YtdHlwZSgyKSB7XG4gICAgYm90dG9tOiAwO1xuICB9XG5cbiAgc3BhbjpudGgtb2YtdHlwZSgzKSB7XG4gICAgYm90dG9tOiAtNjAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDIwJSwwKTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcblxuICAgIGRpdiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTYwJSwwKTtcbiAgICB9XG5cbiAgICBzcGFuOm50aC1vZi10eXBlKDEpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTIwJSwwKTtcbiAgICB9XG5cbiAgICBzcGFuOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIGdyaWQgLyBsaXN0IHZpZXcgY2xhc3Nlc1xuXG4udmlldy0tdHJhbnNpdGlvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgLnBvc3RzLWNvbl9fcG9zdF9faW1hZ2UtY29uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAucG9zdHMtY29uX19wb3N0IHtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0ZWVuQmVhcikge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcGFwYUJlYXIpIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZ2lhbnRCZWFyKSB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgIH1cbiAgfVxufVxuXG5cbi5saXN0IC5wb3N0cy1jb25fX3Bvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG5cbi8vIHBhZ2luYXRpb25cblxuLnBhZ2luYXRpb24ge1xuICBwYWRkaW5nOiAwIDJ2dztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJGhlYWRGb250O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ucGFnaW5hdGlvbl9fcGFnZSB7IC8vIHBhZ2UgbnVtYmVyc1xuICBwYWRkaW5nOiAxLjVlbTtcbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgYmFja2dyb3VuZDogJGJhc2VDb2xvcjtcbiAgY29sb3I6IHdoaXRlO1xuICB0cmFuc2l0aW9uOiAkZHVyYXRpb247XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIGRhcmtlbigkYmFzZUNvbG9yLCA1KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6ICRhY2NlbnRDb2xvcjE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsMSwxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLnBhZ2luYXRpb25fX3BhZ2UtLWN1cnJlbnQgeyAvLyBwYWdlIG51bWJlcnNcbiAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yMTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCJcblxuLnNpbmdsZSAubmF2LFxuLnNpbmdsZSAubmF2LWJ1dHRvbixcbi5zaW5nbGUgLmZvb3Rlcixcbi5zaW5nbGUgLnNpZ24tdXAsXG4ucGFnZS1jb250YWN0IC5mb290ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucG9zdF9fY29uIHsgLy8gcG9zdCBjb250ZW50XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRwYXBhQmVhcikge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLnBvc3RfX2Nvbl9fY29udGVudCB7XG5cbiAgLmNvbnRlbnQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDJ2aCwwKTtcbiAgICBhbmltYXRpb246IGZkICRkdXJhdGlvbiBmb3J3YXJkcyAxLjNzO1xuICB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6ICRhY2NlbnRDb2xvcjE7XG4gICAgdGV4dC1zaGFkb3c6IC4wM2VtIDAgd2hpdGUsLS4wM2VtIDAgd2hpdGUsMCAuMDNlbSB3aGl0ZSwwIC0uMDNlbSB3aGl0ZSwuMDZlbSAwIHdoaXRlLC0uMDZlbSAwIHdoaXRlLC4wOWVtIDAgd2hpdGUsLS4wOWVtIDAgd2hpdGUsLjEyZW0gMCB3aGl0ZSwtLjEyZW0gMCB3aGl0ZSwuMTVlbSAwIHdoaXRlLC0uMTVlbSAwIHdoaXRlO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMC4zZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhc2VDb2xvciwgMC4yKVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yMTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb247XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwxLDEpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgdWwsIG9sIHsgLy8gbGlzdCBzdHlsaW5nXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAvLyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHRvcDogMC44ZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNTAlLDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIG9sLCB1bCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIHVsIGxpIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBib3JkZXI6ICRsdyBzb2xpZCAkYWNjZW50Q29sb3IxO1xuICAgICAgbGVmdDogNnB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaTpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFzZUNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIG9sIGxpIHtcbiAgICBjb3VudGVyLWluY3JlbWVudDogc3RlcC1jb3VudGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50Q29sb3IxO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoc3RlcC1jb3VudGVyKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDhweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZEZvbnQ7XG4gICAgICBmb250LXNpemU6IDhweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsMCwwKTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogaW4tc3RlcC1jb3VudGVyO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYXNlQ29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKGluLXN0ZXAtY291bnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyB2aWRlb1xuXG4gIGlmcmFtZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZsdWlkLXZpZGVvIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMjB2aCk7XG4gICAgbWFyZ2luOiA1dmggLTEwdmg7XG4gICAgcGFkZGluZy1ib3R0b206IDgzLjI1JTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMTZ2dyk7XG4gICAgICBtYXJnaW46IDV2aCAtOHZ3O1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRnaWFudEJlYXIpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxNHZ3KTtcbiAgICAgIG1hcmdpbjogNXZoIC03dnc7XG4gICAgfVxuXG4gICAgaWZyYW1lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLnRvdWNoIC5wb3N0X19jb25fX2NvbnRlbnQgYTphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG59XG5cbi5wb3N0X19jb25fX2NvbnRlbnRfX2RldGFpbHMgeyAvLyB0aXRsZSwgYXV0aG9yLCBkYXRlXG4gIG1hcmdpbi1ib3R0b206IDV2aDtcblxuICAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgY29sb3I6ICRiYXNlQ29sb3I7XG4gIH1cblxuICAuc3ViLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICB9XG59XG5cblxuXG4vLyBwb3N0IGltYWdlXG5cbi5wb3N0X19pbWFnZS1jb24ge1xuICBiYWNrZ3JvdW5kOiBkYXJrZW4od2hpdGUsMyk7XG4gIGhlaWdodDogNTB2aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRwYXBhQmVhcikge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5wb3N0X19pbWFnZS1jb25fX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG59XG5cblxuXG4vLyBwb3N0IG5hdiArIGNsb3NlXG5cbi5wb3N0X19jb25fX25hdiB7XG4gIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDAuN2VtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJGR1cmF0aW9uO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiAkYWNjZW50Q29sb3IxO1xuICAgIGxlZnQ6MDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLDEsMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRkdXJhdGlvbjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHdoaXRlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi50b3VjaCAucG9zdF9fY29uX19uYXYge1xuICBjb2xvcjogJGFjY2VudENvbG9yMTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wb3N0X19jb25fX25hdi0tY2xvc2UgeyAvLyBjbG9zZSBidXR0b25cbiAgdG9wOiA1dmg7XG4gIGxlZnQ6IDV2aDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRwYXBhQmVhcikge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxufVxuXG4ucG9zdF9fY29uX19uYXYtLWRpcmVjdGlvbiB7IC8vIGRpcmVjdGlvbiBidXR0b25zXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gYm9yZGVyLXJhZGl1czogNWVtO1xuICBtYXJnaW4tdG9wOiAxMHZoO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRwYXBhQmVhcikge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogNXZoO1xuICAgIGJvdHRvbTogNXZoO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBhcGFCZWFyKSB7XG4gICAgYTpudGgtb2YtdHlwZSgyKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIC8vIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgkYmFzZUNvbG9yLDAuMSk7XG4gICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gc3BsaXQgYm90dG9tIHNlY3Rpb25zIGlmIHBhcmVudCBwYWdlXG5cbi5wYXJlbnQtaGFsdmVzIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIGEsIHNlY3Rpb24ge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wcm9jZXNzLWNvbiB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuLmNoZWNrZXItY29uLS1wcm9jZXNzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtYW1hQmVhcikge1xuICAgICY6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgYmFja2dyb3VuZDogZGFya2VuKHdoaXRlLCAyKTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgJjpudGgtb2YtdHlwZSgyKSxcbiAgICAmOm50aC1vZi10eXBlKDMpLFxuICAgICY6bnRoLW9mLXR5cGUoNikge1xuICAgICAgYmFja2dyb3VuZDogZGFya2VuKHdoaXRlLCAyKTtcbiAgICB9XG4gIH1cbn1cblxuLmNoZWNrZXItY29uX19wcm9jZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogNnZoO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xuICAgIG1hcmdpbi1ib3R0b206IDJ2aDtcbiAgfVxufVxuXG4uY2hlY2tlci1jb25fX2NvcHktY29uLS1wcm9jZXNzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wcm9jZXNzLWljb24tLWNvbnRhY3QgeyAvLyBwaG9uZVxuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA2M3B4O1xufVxuXG4ucHJvY2Vzcy1pY29uLS1pbnNwZWN0aW9uIHsgLy8gbWFnbmlmeWluZyBnbGFzc1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MnB4O1xufVxuXG4ucHJvY2Vzcy1pY29uLS1maXRvdXQgeyAvLyBzcGFubmVyIGdsYXNzXG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5cbi5wcm9jZXNzLWljb24tLWd1YXJkaWFucyB7IC8vIGtleSBnbGFzc1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ucHJvY2Vzcy1pY29uLS1tYW5hZ2VtZW50IHsgLy8gbG9jayBnbGFzc1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA2N3B4O1xufVxuXG4ucHJvY2Vzcy1pY29uLS10ZXJtaW5hdGlvbiB7IC8vIGhhbmRzaGFrZSBnbGFzc1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiA2NHB4O1xufVxuXG4ucHJvY2Vzcy1pY29uX19wYXRoIHtcbiAgc3Ryb2tlLXdpZHRoOiAkbHc7XG4gIHN0cm9rZTogJGJhc2VDb2xvcjtcbiAgZmlsbDogbm9uZTtcbiAgdHJhbnNpdGlvbjogMXMgJGVhc2U7XG4gIG9wYWNpdHk6IDA7XG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbn1cblxuLmluIC5wcm9jZXNzLWljb25fX3BhdGgge1xuICBvcGFjaXR5OiAxO1xuICBzdHJva2UtZGFzaG9mZnNldDogMCFpbXBvcnRhbnQ7XG59XG4iLCJcblxuLm1hcC1jb24ge1xuICBiYWNrZ3JvdW5kOiBkYXJrZW4od2hpdGUsIDUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgLy8gYm9yZGVyOiAyMHB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItdG9wOiAwO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xuICAgIHRvcDogY2FsYygxZW0gKyA2dmgpO1xuICB9XG5cbiAgLmN0YSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cblxuLy8gZ29vZ2xlIG1hcFxuXG4ubWFwLWNvbl9fbWFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb247XG4gIC8vIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LDAuOTUsMSk7XG59XG5cblxuXG4vLyBjb250YWN0IGRldGFpbHNcblxuLm1hcC1jb25fX2NvbiB7XG4gIHdpZHRoOiA3MCU7XG4gIG1heC13aWR0aDogJGJhYnlCZWFyO1xufVxuXG4ubWFwLWNvbl9fY29uX19jb3B5LWNvbiB7IC8vIGNvbnRhY3QgY29weSBjb250YWluZXJcbiAgLy8gZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSh3aGl0ZSwwLjk2KTtcbiAgY29sb3I6ICRiYXNlQ29sb3I7XG4gIHBhZGRpbmc6IDh2dztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRkdXJhdGlvbiAwLjFzLCBvcGFjaXR5ICRkdXJhdGlvbiAwLjFzO1xuXG4gIC5tYXAtY29uX19jb3B5LWNvbl9fbWV0aG9kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC50aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgcGFkZGluZzogNHZ3O1xuICB9XG59XG5cbi5tYXAtY29uX19jb3B5LWNvbl9fdGl0bGUgeyAvLyBjb250YWluZXIgdGl0bGVcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgbWFyZ2luLWJvdHRvbTogNHZoO1xufVxuXG5cblxuLy8gdG9nZ2xlIGJ1dHRvblxuXG4ubWFwLWNvbl9fY29uX19jdGEge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgbWFyZ2luLXRvcDogNXZoO1xuXG4gIC5idXR0b24tLWJvdHRvbSBkaXYsXG4gIC5idXR0b24tLXRvcCBkaXYge1xuICAgIHRyYW5zaXRpb246ICRkdXJhdGlvbjtcbiAgfVxuXG4gIC5idXR0b24tLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKTtcblxuICAgIGRpdiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTEwNSUsMCk7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyB0b2dnbGUgY2xhc3Nlc1xuXG4ubWFwLWNvbi0taGlkZSB7XG5cbiAgLm1hcC1jb25fX21hcCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uIDAuMXM7XG4gIH1cblxuICAubWFwLWNvbl9fY29uIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC5tYXAtY29uX19jb25fX2NvcHktY29uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LDEuMDUsMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRkdXJhdGlvbiwgb3BhY2l0eSAkZHVyYXRpb247XG4gIH1cblxuICAubWFwLWNvbl9fY29uX19jdGEge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cblxuICAuYnV0dG9uLS1ib3R0b20gZGl2IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCUsMCk7XG4gIH1cblxuICAuYnV0dG9uLS10b3AgZGl2IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMTA1JSwwKTtcbiAgfVxufVxuIiwiXG5cbi5uYXYtYXJyb3dzIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAzdnc7XG4gICAgcmlnaHQ6IDN2dztcblxuICAgIC5hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICB9XG59XG4iLCJcblxuLnBvcC11cC1jb24ge1xuICAvLyBwb3NpdGlvbjogZml4ZWQ7XG4gIC8vIHRvcDogMDtcbiAgLy8gbGVmdDogMDtcbiAgLy8gYm90dG9tOiAwO1xuICAvLyByaWdodDogMDtcbiAgLy8gYmFja2dyb3VuZDogZGFya2VuKHdoaXRlLDMpO1xuICB6LWluZGV4OiAxO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcblxuICAuY29uIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6ICRtYW1hUGFwYUJlYXI7XG4gIH1cblxuICAucmVxdWlyZS1jb25fX3RpdGxlIHtcbiAgICBjb2xvcjogJGFjY2VudENvbG9yMTtcbiAgICBtYXJnaW4tYm90dG9tOiA0dmg7XG4gIH1cblxuICAuY29weSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHZoO1xuICB9XG59XG5cbi5wYWdlLXRlbXBsYXRlLXAtcmVxdWlyZW1lbnRzIC5wb3AtdXAtY29uIHtcbiAgYmFja2dyb3VuZDogZGFya2VuKHdoaXRlLDMpO1xufVxuIiwiLnNpZ24tdXB7XG5cdGNvbG9yOiNmZmY7XG5cdGJhY2tncm91bmQ6IzAwMjI0M1xufVxuLnNpZ24tdXAgLmNvbiB7XG5cdG1hcmdpbjowIGF1dG87XG5cdG1heC13aWR0aDo0MDBweDtcblx0dGV4dC1hbGlnbjpyaWdodFxufVxuXG4uc2lnbi11cCAudGl0bGUgLCAuc2lnbi11cF9fY29weXtcblx0dGV4dC1hbGlnbjpjZW50ZXJcbn1cbi5zaWduLXVwX19jb3B5e1xuXHRtYXJnaW46MnZoIGF1dG8gM3ZoO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpXG59XG4uc2lnbi11cF9faW5wdXR7XG5cdHRyYW5zaXRpb246LjZzIGN1YmljLWJlemllciguMjMsLjAxLDAsMSk7XG5cdG1hcmdpbjowIDIwcHggMCBhdXRvO1xuXHRmb250LXNpemU6MS41ZW07XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0d2lkdGg6Y2FsYygxMDAlIC0gODBweClcbn1cblxuLnNpZ24tdXBfX2lucHV0IGlucHV0e1xuXHRjb2xvcjojZmZmO1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcblx0LW1vei1hcHBlYXJhbmNlOm5vbmU7XG5cdGFwcGVhcmFuY2U6bm9uZTtcblx0Ym9yZGVyOm5vbmU7XG5cdGJvcmRlci1ib3R0b206M3B4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpO1xuXHRiYWNrZ3JvdW5kOjAgMDtcblx0Zm9udC1mYW1pbHk6ZnV0dXJhLXB0LFwiSGFtbWVyc21pdGggT25lXCIsXCJTb3VyY2Ugc2FucyBwcm9cIixcIk9wZW4gc2Fuc1wiLGZyZWVzYW5zLHNhbnMtc2VyaWY7XG5cdHdpZHRoOjEwMCU7XG5cdHRleHQtYWxpZ246bGVmdDtcblx0cGFkZGluZzogNXB4O1xufVxuLnNpZ24tdXBfX2lucHV0IHNwYW57XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRib3R0b206MDtcblx0bGVmdDowO1xuXHRyaWdodDowO1xuXHRoZWlnaHQ6M3B4O1xuXHRvdmVyZmxvdzpoaWRkZW5cbn1cblxuLnNpZ24tdXBfX2lucHV0IHNwYW46YWZ0ZXIsLnNpZ24tdXBfX2lucHV0IHNwYW46YmVmb3Jle1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0dG9wOjA7XG5cdGJvdHRvbTowO1xuXHR3aWR0aDoxMjAlXG59XG4uc2lnbi11cF9faW5wdXQgc3BhbjpiZWZvcmV7XG5cdHJpZ2h0OjA7XG5cdGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMCwxMTYsMjEzLDApLCRiYXNlQ29sb3IgMjAlKTtcblx0dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuNnMgY3ViaWMtYmV6aWVyKC4yMywuMDEsMCwxKTtcblx0dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjZzIGN1YmljLWJlemllciguMjMsLjAxLDAsMSk7XG5cdHRyYW5zaXRpb246dHJhbnNmb3JtIC42cyBjdWJpYy1iZXppZXIoLjIzLC4wMSwwLDEpLCAtd2Via2l0LXRyYW5zZm9ybSAuNnMgY3ViaWMtYmV6aWVyKC4yMywuMDEsMCwxKTtcblx0LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApXG59XG4uc2lnbi11cF9faW5wdXQgc3BhbjphZnRlcntcblx0bGVmdDowO1xuXHRiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg0NWRlZywkYmFzZUNvbG9yIDgwJSxyZ2JhKDAsMTE2LDIxMywwKSk7XG5cdHRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMHM7XG5cdHRyYW5zaXRpb246dHJhbnNmb3JtIDBzO1xuXHR0cmFuc2l0aW9uOnRyYW5zZm9ybSAwcywgLXdlYmtpdC10cmFuc2Zvcm0gMHM7XG5cdC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7XG5cdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApXG59XG4uc2lnbi11cF9faW5wdXQ6YWN0aXZlIHNwYW46YmVmb3JlLC5zaWduLXVwX19pbnB1dDpmb2N1cyBzcGFuOmJlZm9yZSwuc2lnbi11cF9faW5wdXQ6aG92ZXIgc3BhbjpiZWZvcmV7XG5cdC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAwcyAuNnM7XG5cdHRyYW5zaXRpb246dHJhbnNmb3JtIDBzIC42cztcblx0dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMHMgLjZzLCAtd2Via2l0LXRyYW5zZm9ybSAwcyAuNnNcbn1cbi5zaWduLXVwX19pbnB1dDphY3RpdmUgc3BhbjphZnRlciwuc2lnbi11cF9faW5wdXQ6Zm9jdXMgc3BhbjphZnRlciwuc2lnbi11cF9faW5wdXQ6aG92ZXIgc3BhbjphZnRlcntcblx0LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO1xuXHR0cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC42cyBjdWJpYy1iZXppZXIoLjIzLC4wMSwwLDEpO1xuXHR0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNnMgY3ViaWMtYmV6aWVyKC4yMywuMDEsMCwxKTtcblx0dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjZzIGN1YmljLWJlemllciguMjMsLjAxLDAsMSksIC13ZWJraXQtdHJhbnNmb3JtIC42cyBjdWJpYy1iZXppZXIoLjIzLC4wMSwwLDEpXG59XG4uc2lnbi11cF9fc3VibWl0e1xuXHR2ZXJ0aWNhbC1hbGlnbjpib3R0b207XG5cdHdpZHRoOjMzcHg7XG5cdGhlaWdodDozM3B4O1xuXHRib3JkZXI6M3B4IHNvbGlkICRiYXNlQ29sb3I7XG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC42cyBjdWJpYy1iZXppZXIoLjIzLC4wMSwwLDEpXG59XG4uc2lnbi11cF9fc3VibWl0OmFmdGVyLC5zaWduLXVwX19zdWJtaXQ6YmVmb3Jle1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0aGVpZ2h0OjNweDtcblx0YmFja2dyb3VuZDokYmFzZUNvbG9yO1xuXHR0cmFuc2l0aW9uOmJhY2tncm91bmQgLjZzIGN1YmljLWJlemllciguMjMsLjAxLDAsMSlcbn1cbi5zaWduLXVwX19zdWJtaXQ6YmVmb3Jle1xuXHR3aWR0aDoyMCU7XG5cdHRvcDo2MCU7XG5cdHJpZ2h0OmNhbGMoNTAlICsgMXB4KTtcblx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0O1xuXHR0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0O1xuXHQtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xuXHR0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKVxufVxuLnNpZ24tdXBfX3N1Ym1pdDphZnRlcntcblx0d2lkdGg6NDAlO1xuXHR0b3A6NjAlO1xuXHRsZWZ0OmNhbGMoNTAlIC0gM3B4KTtcblx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmxlZnQ7XG5cdHRyYW5zZm9ybS1vcmlnaW46bGVmdDtcblx0LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7XG5cdHRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKVxufVxuLnNpZ24tdXBfX3N1Ym1pdDphY3RpdmUsLnNpZ24tdXBfX3N1Ym1pdDpmb2N1cywuc2lnbi11cF9fc3VibWl0OmhvdmVye1xuXHRiYWNrZ3JvdW5kOiRiYXNlQ29sb3Jcbn1cbi5zaWduLXVwX19zdWJtaXQ6YWN0aXZlOmFmdGVyLC5zaWduLXVwX19zdWJtaXQ6YWN0aXZlOmJlZm9yZSwuc2lnbi11cF9fc3VibWl0OmZvY3VzOmFmdGVyLC5zaWduLXVwX19zdWJtaXQ6Zm9jdXM6YmVmb3JlLC5zaWduLXVwX19zdWJtaXQ6aG92ZXI6YWZ0ZXIsLnNpZ24tdXBfX3N1Ym1pdDpob3ZlcjpiZWZvcmV7XG5cdGJhY2tncm91bmQ6I2ZmZlxufVxuIiwiXG5cbi5mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAkYmFzZUNvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLmZvb3Rlcl9fbG9nbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1hbWFCZWFyKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAubG9nby1jb25fX2xvZ29fX2JvcmRlciB7XG4gICAgICBzdHJva2U6IHdoaXRlO1xuICAgICAgZmlsbDogbm9uZTtcbiAgICAgIHN0cm9rZS1taXRlcmxpbWl0OjEwO1xuICAgICAgc3Ryb2tlLXdpZHRoOjE1cHg7XG4gICAgfVxuXG4gICAgLmxvZ28tY29uX19sb2dvX19sZXR0ZXIge1xuICAgICAgZmlsbDogd2hpdGU7XG4gICAgfVxuXG4gICAgYm90dG9tOiA4dnc7XG4gICAgcmlnaHQ6IDh2dztcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRnaWFudEJlYXIpIHtcbiAgICAgIGJvdHRvbTogN3Z3O1xuICAgICAgcmlnaHQ6IDd2dztcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlcl9fc3BhbiB7IC8vIGFkZHJlc3NcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC5jb3B5IHtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNzAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbn1cblxuLmZvb3Rlcl9fc3Bhbi0tbGFzdCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuXG4uZm9vdGVyX19zcGFuLS1zbWFsbCB7XG4gIG1hcmdpbi1ib3R0b206IDAuOGVtO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYW1hQmVhcikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOGVtO1xuICB9XG5cbiAgLmNvcHkge1xuICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgZm9udC1zaXplOjAuOGVtO1xuICAgIG9wYWNpdHk6MC44O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbmEuZm9vdGVyX19zcGFuLS1zbWFsbCAuY29weSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKHdoaXRlLCAwLjgpO1xufVxuXG5cblxuLy8gc29jaWFsIGljb25zXG5cbi5mb290ZXJfX3NvY2lhbC1jb24ge1xuICAvLyBtYXJnaW4tdG9wOiA0dmg7XG4gIG1hcmdpbi1ib3R0b206IDAuOGVtO1xuXG4gIGltZyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFtYUJlYXIpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4dnc7XG4gICAgcmlnaHQ6IDh2dztcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAzM3B4O1xuICAgICAgaGVpZ2h0OiAzM3B4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRnaWFudEJlYXIpIHtcbiAgICB0b3A6IDd2dztcbiAgICByaWdodDogN3Z3O1xuICB9XG59XG5cbi5mb290ZXJfX3NvY2lhbC1jb25fX2ljb24ge1xuICBvcGFjaXR5OiAwLjc7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjZ2dztcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuIiwiLnBhZ2UtdGVtcGxhdGUtcC1wcm9wZXJ0aWVzIC5zZWN0aW9uLWZ1bGwge1xuICBtaW4taGVpZ2h0OiA1MHZoO1xufSIsIi8qXG4gKiBGQVFzXG4qL1xuXG4uc2hvcnQtYW5zIHtcbiAgcGFkZGluZzogNHZ3O1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lk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 */
