/*-- -------------------------- -->
<---        Core Styles         -->
<--- -------------------------- -*/
/* CodeStitch Core Styles + Reset */
@media only screen and (min-width: 0px) {
  /* All elements in the library derive their variables and base styles from this central sheet, simplifying site-wide edits. For instance, if you want to modify how your h2's appear across the site, you just update it once in the global styles, and the changes apply everywhere. */
  :root {
    /* OPTION 1: Balanced & Approachable (My Recommendation) */
    --primary: #5C3470;
    /* Rich purple - main CTAs, links */
    --primaryLight: #8B6B9F;
    /* Lighter purple - hover states, accents */
    --secondary: #D4A742;
    /* Warm gold - secondary CTAs, highlights */
    --secondaryLight: #F4C542;
    /* Bright gold - hover states, special elements */
    --headerColor: #2A2332;
    /* Deep purple-black - headings */
    --bodyTextColor: #51465D;
    /* Purple-gray - body text */
    --bodyTextColorWhite: #FDFBF7;
    /* Warm off-white - text on dark backgrounds */
    /* 13px - 16px */
    --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
    /* 31px - 49px */
    --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem);
    --bodyFontSize: 1rem;
    /* 60px - 100px top and bottom */
    --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
    --headerFont: "Playfair Display", Arial, sans-serif;
    --bodyFont: "Playfair Display", Arial, sans-serif;
  }
  html,
  body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    font-family: var(--bodyFont);
    font-size: 100%;
    color: var(--bodyTextColor);
    scroll-behavior: smooth;
  }
  *,
  *:before,
  *:after {
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  .cs-topper {
    font-size: var(--topperFontSize);
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: inherit;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.25rem;
    display: block;
  }
  .cs-title {
    font-size: var(--headerFontSize);
    font-weight: 900;
    line-height: 1.2em;
    text-align: inherit;
    max-width: 43.75rem;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
    position: relative;
  }
  .cs-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 40.625rem;
    margin: 0;
    color: var(--bodyTextColor);
  }
}
/* Components + Utilities */
@media only screen and (min-width: 0px) {
  .skip {
    z-index: -1111111;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
  }
  .cs-button-solid {
    z-index: 1;
    position: relative;
    display: inline-block;
    background-color: var(--primary);
    width: auto;
    padding: 1rem 2rem;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1em;
    font-weight: bold;
    border-radius: 0.25rem;
    overflow: hidden;
    color: var(--bodyTextColorWhite);
    transition: color 0.3s;
    transition-delay: 0.1s;
    text-align: center;
  }
  .cs-button-solid:hover {
    color: #fff;
  }
  .cs-button-solid:hover:before {
    width: 100%;
  }
  .cs-button-solid:before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    opacity: 1;
    display: block;
    background-color: #000;
    height: 100%;
    width: 0;
    transition: width 0.3s;
  }
  .cs-button-outline {
    z-index: 1;
    position: relative;
    display: inline-block;
    width: auto;
    padding: 1rem 2rem;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1em;
    font-weight: bold;
    border: 2px solid #000;
    color: #000;
    transition: color 0.3s;
    transition-delay: 0.1s;
    text-align: center;
  }
  .cs-button-outline:hover {
    color: #fff;
  }
  .cs-button-outline:hover:before {
    width: 100%;
  }
  .cs-button-outline:before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    opacity: 1;
    display: block;
    background-color: #000;
    height: 100%;
    width: 0;
    transition: width 0.3s;
  }
  .cs-color {
    color: var(--primary);
  }
  .cs-bold {
    font-weight: 700;
  }
  .cs-hide-on-mobile {
    display: none !important;
  }
}
/* Desktop Utilities */
@media only screen and (min-width: 64rem) {
  .cs-hide-on-mobile {
    display: block !important;
  }
  .cs-hide-on-desktop {
    display: none !important;
  }
}
/* Base Element Styles */
@media only screen and (min-width: 0px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: var(--headerFont);
    line-height: 1.2em;
    color: var(--headerColor);
  }
  p,
  li,
  a {
    font-size: 1rem;
    line-height: 1.5em;
  }
  p,
  li {
    color: var(--bodyTextColor);
  }
  p a,
  li a {
    color: var(--primary);
  }
  a:hover,
  button:hover {
    cursor: pointer;
  }
}
/* Fonts */
@media only screen and (min-width: 0px) {
  /* playfair-display-regular - latin */
  @font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/playfair-display-v40-latin-regular.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* playfair-display-700 - latin */
  @font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/playfair-display-v40-latin-700.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* playfair-display-900 - latin */
  @font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/playfair-display-v40-latin-900.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
}
/* Mobile - 360px */
/* Desktop - 1024px */
/*-- -------------------------- -->
<---     Mobile Navigation      -->
<--- -------------------------- -*/
/* Mobile - 1023px */
@media only screen and (max-width: 1023.5px) {
  body.cs-open {
    overflow: hidden;
  }
  body.scroll #cs-navigation:before {
    height: 100%;
  }
  #cs-navigation {
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 1.25rem 1rem;
    background: rgba(26, 26, 26, 0.08);
    position: fixed;
    z-index: 10000;
    backdrop-filter: blur(27px);
  }
  #cs-navigation:before {
    content: "";
    width: 100%;
    height: 0%;
    background: #1a1a1a;
    opacity: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transition: height 0.3s;
  }
  #cs-navigation:after {
    content: "";
    width: 100%;
    height: 0vh;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    display: block;
    position: absolute;
    top: 0%;
    right: 0;
    z-index: -1100;
    transition: height 0.5s, opacity 0.5s;
    backdrop-filter: blur(10px);
  }
  #cs-navigation.cs-active {
    background-color: #1a1a1a;
  }
  #cs-navigation.cs-active:after {
    height: 150vh;
    opacity: 1;
  }
  #cs-navigation.cs-active .cs-ul-wrapper {
    opacity: 1;
    transform: scaleY(1);
    transition-delay: 0.15s;
  }
  #cs-navigation.cs-active .cs-li {
    opacity: 1;
    transform: translateY(0);
  }
  #cs-navigation .cs-container {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  #cs-navigation .cs-logo {
    width: auto;
    /* 56px - 80px */
    height: clamp(5.5rem, 5vw, 5rem);
    margin: 0 auto 0 0;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
  }
  #cs-navigation .cs-logo img {
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    -o-object-fit: contain;
       object-fit: contain;
  }
  #cs-navigation .cs-toggle {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 0 0 auto;
    background-color: var(--primary);
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 10;
    transition: transform 0.6s;
  }
  #cs-navigation .cs-toggle.cs-active {
    transform: rotate(180deg);
  }
  #cs-navigation .cs-active .cs-line1 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(225deg);
  }
  #cs-navigation .cs-active .cs-line2 {
    top: 50%;
    transform: translate(-50%, -50%) translateY(0) rotate(-225deg);
    transform-origin: center;
  }
  #cs-navigation .cs-active .cs-line3 {
    opacity: 0;
    bottom: 100%;
  }
  #cs-navigation .cs-box {
    /* 24px - 28px */
    width: clamp(1.5rem, 2vw, 1.75rem);
    height: 1rem;
    position: relative;
  }
  #cs-navigation .cs-line {
    width: 100%;
    height: 2px;
    background-color: #fafbfc;
    border-radius: 2px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  #cs-navigation .cs-line1 {
    top: 0;
    transition: transform 0.5s, top 0.3s, left 0.3s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
    transform-origin: center;
  }
  #cs-navigation .cs-line2 {
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: top 0.3s, left 0.3s, transform 0.5s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
  }
  #cs-navigation .cs-line3 {
    bottom: 0;
    transition: bottom 0.3s, opacity 0.3s;
  }
}
/*-- -------------------------- -->
<---   Mobile Navigation Menu   -->
<--- -------------------------- -*/
/* Small Desktop - 1024px */
@media only screen and (max-width: 1023.5px) {
  #cs-navigation .cs-ul-wrapper {
    width: 100%;
    height: 100vh;
    padding-bottom: 2.4em;
    opacity: 0;
    background-color: #fff;
    box-shadow: inset rgba(0, 0, 0, 0.2) 0px 8px 24px;
    overflow: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: -1;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.4s, opacity 0.3s;
  }
  #cs-navigation .cs-ul {
    margin: 0;
    padding: 3rem 0 0 0;
    width: 100%;
    height: auto;
    max-height: 65vh;
    overflow: scroll;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
  }
  #cs-navigation .cs-li {
    list-style: none;
    margin-right: 0;
    /* transition from these values */
    transform: translateY(-4.375rem);
    opacity: 0;
    transition: transform 0.6s, opacity 0.9s;
  }
  #cs-navigation .cs-li:nth-of-type(1) {
    transition-delay: 0.05s;
  }
  #cs-navigation .cs-li:nth-of-type(2) {
    transition-delay: 0.1s;
  }
  #cs-navigation .cs-li:nth-of-type(3) {
    transition-delay: 0.15s;
  }
  #cs-navigation .cs-li:nth-of-type(4) {
    transition-delay: 0.2s;
  }
  #cs-navigation .cs-li:nth-of-type(5) {
    transition-delay: 0.25s;
  }
  #cs-navigation .cs-li:nth-of-type(6) {
    transition-delay: 0.3s;
  }
  #cs-navigation .cs-li:nth-of-type(7) {
    transition-delay: 0.35s;
  }
  #cs-navigation .cs-li:nth-of-type(8) {
    transition-delay: 0.4s;
  }
  #cs-navigation .cs-li:nth-of-type(9) {
    transition-delay: 0.45s;
  }
  #cs-navigation .cs-li-link {
    /* 16px - 24px */
    font-size: clamp(1rem, 3vw, 1.5rem);
    line-height: 1.2em;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;
    margin: 0;
    padding: 0.25rem;
    color: var(--headerColor);
    display: inline-block;
    position: relative;
  }
  #cs-navigation .cs-li-link:before {
    /* active state underline */
    content: "";
    width: 100%;
    height: 1px;
    background: currentColor;
    opacity: 1;
    position: absolute;
    display: none;
    bottom: -0.125rem;
    left: 0;
  }
  #cs-navigation .cs-li-link.cs-active {
    color: var(--primary);
  }
  #cs-navigation .cs-li-link.cs-active:before {
    display: block;
  }
  #cs-navigation .cs-button-solid {
    display: none;
  }
}
/*-- -------------------------- -->
<---     Navigation Dropdown    -->
<--- -------------------------- -*/
/* Mobile - 1023px */
@media only screen and (max-width: 1023.5px) {
  #cs-navigation .cs-li {
    text-align: center;
    width: 100%;
    display: block;
  }
  #cs-navigation .cs-dropdown {
    position: relative;
    color: var(--bodyTextColorWhite);
  }
  #cs-navigation .cs-dropdown .cs-dropdown-toggle {
    /* Reset default button styles */
    background: none;
    border: none;
    font-family: inherit;
    text-align: inherit;
    cursor: pointer;
    /* Remove any default focus styles */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-ul {
    height: auto;
    opacity: 1;
    visibility: visible;
    margin: 0.75rem 0 0 0;
    padding: 0.75rem 0;
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-link {
    opacity: 1;
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-icon {
    transform: translateY(-50%) rotate(180deg);
  }
  #cs-navigation .cs-dropdown .cs-li-link {
    position: relative;
    transition: opacity 0.3s;
  }
  #cs-navigation .cs-drop-icon {
    width: 0.9375rem;
    height: auto;
    position: absolute;
    top: 50%;
    right: -1.25rem;
    transform: translateY(-50%);
    transition: transform 0.3s;
  }
  #cs-navigation .cs-drop-ul {
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    background-color: var(--primary);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    transition: padding 0.3s, margin 0.3s, height 0.3s, opacity 0.3s, visibility 0.3s;
  }
  #cs-navigation .cs-drop-li {
    list-style: none;
  }
  #cs-navigation .cs-li-link.cs-drop-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 2vw, 1.25rem);
    padding: 0.25rem;
    color: #fff;
  }
  #cs-navigation .cs-li-link.cs-drop-link:focus-visible {
    outline-offset: -2px;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 1024px) {
  #cs-navigation .cs-dropdown {
    position: relative;
  }
  #cs-navigation .cs-dropdown .cs-dropdown-toggle {
    /* Reset default button styles */
    background: none;
    border: none;
    font-family: inherit;
    text-align: inherit;
    cursor: pointer;
    /* Remove any default focus styles */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  #cs-navigation .cs-dropdown:hover,
  #cs-navigation .cs-dropdown.cs-active {
    cursor: pointer;
  }
  #cs-navigation .cs-dropdown:hover .cs-drop-ul,
  #cs-navigation .cs-dropdown.cs-active .cs-drop-ul {
    transform: scaleY(1);
    opacity: 1;
    visibility: visible;
  }
  #cs-navigation .cs-dropdown:hover .cs-drop-li,
  #cs-navigation .cs-dropdown.cs-active .cs-drop-li {
    opacity: 1;
    transform: translateY(0);
  }
  #cs-navigation .cs-drop-icon {
    width: 0.9375rem;
    height: auto;
    display: inline-block;
  }
  #cs-navigation .cs-drop-ul {
    min-width: 12.5rem;
    margin: 0;
    padding: 0;
    background-color: #1a1a1a;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    border-bottom: 5px solid var(--primary);
    /* if you have 8 or more links in your dropdown nav, uncomment the columns property to make the list into 2 even columns. Change it to 3 or 4 if you need extra columns. Then remove the transition delays on the cs-drop-li so they don't have weird scattered animations */
    position: absolute;
    top: calc(100% - 2px);
    z-index: 100;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.3s, visibility 0.3s, opacity 0.3s;
  }
  #cs-navigation .cs-drop-li {
    list-style: none;
    font-size: 1rem;
    text-decoration: none;
    opacity: 0;
    width: 100%;
    height: auto;
    display: block;
    transform: translateY(-0.625rem);
    transition: opacity 0.6s, transform 0.6s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(1) {
    transition-delay: 0.05s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(2) {
    transition-delay: 0.1s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(3) {
    transition-delay: 0.15s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(4) {
    transition-delay: 0.2s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(5) {
    transition-delay: 0.25s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(6) {
    transition-delay: 0.3s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(7) {
    transition-delay: 0.35s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(8) {
    transition-delay: 0.4s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(9) {
    transition-delay: 0.45s;
  }
  #cs-navigation .cs-li-link:hover .cs-drop-icon {
    filter: grayscale(1) brightness(1000%);
  }
  #cs-navigation .cs-li-link.cs-drop-link {
    white-space: nowrap;
    width: 100%;
    font-size: 1rem;
    line-height: 1.5em;
    text-decoration: none;
    padding: 0.75rem;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    color: var(--bodyTextColorWhite);
    display: block;
    transition: color 0.3s, background-color 0.3s;
  }
  #cs-navigation .cs-li-link.cs-drop-link:hover {
    background-color: var(--primary);
    color: var(--bodyTextColorWhite);
  }
  #cs-navigation .cs-li-link.cs-drop-link:focus-visible {
    outline-offset: -2px;
  }
  #cs-navigation .cs-li-link.cs-drop-link:before {
    display: none;
  }
}
/*-- -------------------------- -->
<---     Desktop Navigation     -->
<--- -------------------------- -*/
/* Small Desktop - 1024px */
@media only screen and (min-width: 1024px) {
  body.scroll {
    /* when the scroll class is on the body, run these styles */
  }
  body.scroll #cs-navigation:before {
    height: 100%;
  }
  #cs-navigation {
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0 1rem;
    background: rgba(26, 26, 26, 0.08);
    position: fixed;
    z-index: 10000;
    backdrop-filter: blur(27px);
  }
  #cs-navigation:before {
    /* on scroll background */
    content: "";
    width: 100%;
    height: 0%;
    background: #1a1a1a;
    opacity: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transition: height 0.3s;
  }
  #cs-navigation .cs-container {
    width: 100%;
    max-width: 80rem;
    /* same height as the cs-ul-wrapper */
    height: 6.25rem;
    margin: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
    position: relative;
  }
  #cs-navigation .cs-toggle {
    display: none;
  }
  #cs-navigation .cs-logo {
    width: auto;
    height: 6.25rem;
    /* margin-right auto pushes everything away from it to the right */
    margin: 0 auto 0 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
  }
  #cs-navigation .cs-logo img {
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    -o-object-fit: contain;
       object-fit: contain;
  }
  #cs-navigation .cs-ul-wrapper {
    /* absolutely positioned to be dead center */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #cs-navigation .cs-ul {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1.5rem;
  }
  #cs-navigation .cs-li {
    list-style: none;
    padding: 2.5rem 0;
    /* prevent flexbox from squishing it */
    flex: none;
  }
  #cs-navigation .cs-li-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 0.6vw, 1rem);
    font-weight: 700;
    line-height: 1.5em;
    text-transform: uppercase;
    text-decoration: none;
    margin: 0;
    padding: 0 1rem;
    color: var(--bodyTextColorWhite);
    display: block;
    position: relative;
    z-index: 1;
    transition: color 0.3s;
  }
  #cs-navigation .cs-li-link:before {
    /* on scroll background */
    content: "";
    width: 100%;
    height: 2.5rem;
    background: var(--primary);
    opacity: 0;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    transform: translate(-50%, -50%) scale(1.2);
    transition: opacity 0.3s, transform 0.3s;
  }
  #cs-navigation .cs-li-link:hover:before {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  #cs-navigation .cs-li-link.cs-active:before {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  #cs-navigation .cs-button-solid {
    font-size: 1rem;
    font-weight: 700;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-align: center;
    text-decoration: none;
    min-width: 9.375rem;
    margin: 0;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    padding: 0 2rem;
    background-color: transparent;
    color: #fff;
    border: 1px solid var(--primary);
    display: inline-block;
    position: relative;
    z-index: 1;
  }
  #cs-navigation .cs-button-solid:before {
    content: "";
    width: 0%;
    height: 100%;
    background: var(--primary);
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #cs-navigation .cs-button-solid:hover:before {
    width: 100%;
  }
}
/*-- -------------------------- -->
<---          Banner            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0em) {
  #banner-1004 {
    padding: 0 1rem;
    /* 160px - 245px */
    padding-top: clamp(10rem, 25vw, 15.3125rem);
    padding-bottom: 7.5rem;
    background-color: #000;
    position: relative;
    z-index: 1;
  }
  #banner-1004 .cs-container {
    text-align: center;
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  #banner-1004 .cs-picture {
    width: 100%;
    margin: 0 0 0.75rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    position: relative;
  }
  #banner-1004 .cs-picture:before {
    /* left line */
    content: "";
    width: 50%;
    max-width: 9.375rem;
    height: 1px;
    background: #b4b2c7;
    opacity: 1;
    position: relative;
    display: block;
  }
  #banner-1004 .cs-picture:after {
    /* right line */
    content: "";
    width: 50%;
    max-width: 9.375rem;
    height: 1px;
    background: #b4b2c7;
    opacity: 1;
    position: relative;
    display: block;
  }
  #banner-1004 .cs-icon {
    width: 40%;
    /* 100px - 180px */
    max-width: clamp(6.25rem, 18vw, 11.25rem);
    height: auto;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #banner-1004 .cs-int-title {
    /* 39px - 61px */
    font-size: clamp(2.4375rem, 6.5vw, 3.8125rem);
    font-weight: 900;
    line-height: 1.2em;
    text-align: center;
    max-width: 43.75rem;
    margin: 0 0 1rem 0;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #banner-1004 .cs-text {
    color: var(--bodyTextColorWhite);
  }
  #banner-1004 .cs-background {
    width: 100%;
    height: 100%;
    opacity: 0.7;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: -1;
  }
  #banner-1004 .cs-background:before {
    /* black overlay box */
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.72;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #banner-1004 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/*-- -------------------------- -->
<---      Call To Action        -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cta-2372 {
    padding: var(--sectionPadding);
  }
  #cta-2372 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    padding: clamp(2rem, 8vw, 3.75rem) clamp(1rem, 6vw, 6.75rem) 0;
    background-color: #5C3470;
    border-radius: 1rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
    position: relative;
    z-index: 1;
  }
  #cta-2372 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    max-width: 36.25rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }
  #cta-2372 .cs-title {
    text-align: inherit;
    margin-bottom: 2rem;
    /* 48px - 64px */
    padding-bottom: clamp(3rem, 6vw, 4rem);
    color: var(--bodyTextColorWhite);
    position: relative;
    z-index: 1;
  }
  #cta-2372 .cs-title:before {
    content: '';
    width: 100vw;
    height: 1px;
    background: #D2D8DF;
    opacity: 0.2;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  #cta-2372 .cs-text {
    margin-bottom: 1rem;
    color: var(--bodyTextColorWhite);
  }
  #cta-2372 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #cta-2372 .cs-button-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
    padding-bottom: 1rem;
  }
  #cta-2372 .cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    margin: 0;
    color: var(--headerColor);
    min-width: 9.375rem;
    padding: 0 1.5rem;
    background-color: var(--secondary);
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
  }
  #cta-2372 .cs-button-solid:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 0%;
    background: #fff;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: 0.25rem;
    transition: width 0.3s;
  }
  #cta-2372 .cs-button-solid:hover:before {
    width: 100%;
  }
  #cta-2372 .cs-button-transparent {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    width: 11.25rem;
    /* 46px - 56px */
    height: clamp(2.875rem, 5.5vw, 3.5rem);
    text-decoration: none;
    font-weight: 700;
    margin: 0;
    color: #fff;
    padding: 0;
    background-color: transparent;
    border: 1px solid var(--bodyTextColorWhite);
    box-sizing: border-box;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    transition: color / 3s;
  }
  #cta-2372 .cs-button-transparent:before {
    content: "";
    position: absolute;
    display: block;
    background: #fff;
    opacity: 1;
    /* so it sits on top of the border */
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    z-index: -1;
    transform-origin: left;
    /* this is what creates the grow affect on hover */
    transform: scaleX(0);
    transition: transform 0.3s;
  }
  #cta-2372 .cs-button-transparent:hover {
    color: #1a1a1a;
  }
  #cta-2372 .cs-button-transparent:hover:before {
    transform: scaleX(1);
  }
}
/* Tablet - 700px */
@media only screen and (min-width: 43.75rem) {
  #cta-2372 .cs-container {
    padding-bottom: 3.75rem;
    flex-direction: column;
    align-items: center;
  }
  #cta-2372 .cs-content {
    width: 45vw;
  }
  #cta-2372 .cs-graphic {
    width: 40vw;
    position: absolute;
    bottom: 0rem;
    right: 1.125rem;
    z-index: 1;
  }
}
/*-- -------------------------- -->
<---          Footer            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cs-footer-266 {
    padding: var(--sectionPadding);
    background-color: #EDE6F5;
    /* Navigation Links */
    /* Contact Links */
  }
  #cs-footer-266 .cs-container {
    width: 100%;
    /* reset on tablet */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    /* 68px - 100px */
    -moz-column-gap: clamp(4.25rem, calc(8% + 2vw), 6.25rem);
         column-gap: clamp(4.25rem, calc(8% + 2vw), 6.25rem);
  }
  #cs-footer-266 .cs-logo-group {
    /* takes up all the space, lets the other ul's wrap below it */
    width: 100%;
    position: relative;
  }
  #cs-footer-266 .cs-logo {
    /* 210px - 240px */
    width: clamp(13.125rem, 8vw, 15rem);
    height: auto;
    display: block;
    /* 28px - 44px */
    margin-bottom: clamp(1.75rem, 4.17vw, 2.75rem);
  }
  #cs-footer-266 .cs-logo-img {
    width: 100%;
    height: auto;
  }
  #cs-footer-266 .cs-nav {
    padding: 0;
    margin: 0;
  }
  #cs-footer-266 .cs-nav-li {
    list-style: none;
    line-height: 1.5em;
    margin-bottom: 0.5rem;
  }
  #cs-footer-266 .cs-nav-li:last-of-type {
    margin-bottom: 0;
  }
  #cs-footer-266 .cs-header {
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 700;
    margin-bottom: 0.875rem;
    color: var(--bodyTextColor);
    position: relative;
    display: block;
  }
  #cs-footer-266 .cs-nav-link {
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.5em;
    color: var(--bodyTextColor);
    position: relative;
  }
  #cs-footer-266 .cs-nav-link:before {
    /* underline */
    content: "";
    width: 0%;
    height: 0.125rem;
    background: var(--bodyTextColor);
    opacity: 1;
    position: absolute;
    display: block;
    bottom: -0.125rem;
    left: 0;
    transition: width 0.3s;
  }
  #cs-footer-266 .cs-nav-link:hover:before {
    width: 100%;
  }
  #cs-footer-266 .cs-contact {
    margin: 0;
    padding: 0;
    width: auto;
    display: flex;
    flex-direction: column;
    align-self: stretch;
  }
  #cs-footer-266 .cs-contact-li {
    list-style: none;
  }
  #cs-footer-266 .cs-contact-link {
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.5em;
    text-align: left;
    color: var(--bodyTextColor);
    display: inline-block;
  }
  #cs-footer-266 .cs-contact-link:hover {
    text-decoration: underline;
  }
  #cs-footer-266 .cs-address {
    font-size: 1rem;
    margin-bottom: 1.25rem;
  }
  #cs-footer-266 .cs-social-group {
    /* pushes away from the other flex items */
    margin-top: auto;
    margin-left: auto;
  }
  #cs-footer-266 .cs-social {
    display: inline-flex;
    justify-content: flex-start;
    gap: 0.75rem;
  }
  #cs-footer-266 .cs-social-link {
    width: 1.5rem;
    height: 1.5rem;
    background-color: #4e4b66;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    transition: transform 0.3s, background-color 0.3s;
  }
  #cs-footer-266 .cs-social-link:hover {
    background-color: var(--primary);
    transform: translateY(-0.1875rem);
  }
  #cs-footer-266 .cs-social-img {
    height: 0.8125rem;
    width: auto;
    display: block;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cs-footer-266 .cs-container {
    max-width: 80rem;
    row-gap: 0;
  }
  #cs-footer-266 .cs-logo-group {
    width: auto;
    /* pushes everything to the right of it as far as possible in a flexbox */
    margin-right: auto;
  }
  #cs-footer-266 .cs-text {
    width: 80%;
    max-width: 19.0625rem;
    margin: 0;
  }
  #cs-footer-266 .cs-nav,
  #cs-footer-266 .cs-contact {
    /* 8px - 12px */
    margin-top: clamp(0.5rem, 1.2vw, 0.75rem);
  }
}
/* Mobile - 360px */
/* you can copy and paste these styles into the section CSS where you placed the #list-1165 HTML, or you can place it in your global stylesheet so you can reuse the HTML in any Side By Side section on your site. That way when you make changes to it, it will also change everywhere in the site */
@media only screen and (min-width: 0rem) {
  #list-1165 {
    max-width: 39.375rem;
    margin: 0 0 2rem 0;
    padding: 0;
    /* clips the bullets to create the half circle */
    overflow: hidden;
  }
  #list-1165 .cs-li {
    list-style: none;
    margin: 0 0 0.5rem 0;
    color: var(--bodyTextColor);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.75rem;
    position: relative;
  }
  #list-1165 .cs-li:before {
    /* bullet */
    content: "";
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.25rem;
    background-image: url('/assets/images/star.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    flex: none;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hc3NldHMvbGVzcy9yb290Lmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O2tDQUVrQztBQUNsQyxtQ0FBbUM7QUFTbkM7RUFQRSx1UkFBdVI7RUFTeFI7SUFQRywwREFBMEQ7SUFTNUQsa0JBQUE7SUFQRSxtQ0FBbUM7SUFRckMsdUJBQUE7SUFORSwyQ0FBMkM7SUFPN0Msb0JBQUE7SUFMRSwyQ0FBMkM7SUFNN0MseUJBQUE7SUFKRSxpREFBaUQ7SUFLbkQsc0JBQUE7SUFIRSxpQ0FBaUM7SUFJbkMsd0JBQUE7SUFGRSw0QkFBNEI7SUFHOUIsNkJBQUE7SUFERSw4Q0FBOEM7SUFDOUMsZ0JBQWdCO0lBR2xCLCtDQUFBO0lBREUsZ0JBQWdCO0lBR2xCLG9EQUFBO0lBQ0Esb0JBQUE7SUFERSxnQ0FBZ0M7SUFHbEMsc0RBQUE7SUFFQSxtREFBQTtJQUNBLGlEQUFBO0VBRkE7RUFLRDs7SUFFQyxTQUFBO0lBQ0EsVUFBQTtJQUNBLGtCQUFBO0lBQ0EsNEJBQUE7SUFDQSxlQUFBO0lBQ0YsMkJBQUE7SUFDRSx1QkFBQTtFQUhBO0VBTUQ7OztJQUZHLHFEQUFxRDtJQU12RCxzQkFBQTtJQUNBLFNBQUE7SUFDQSxVQUFBO0VBSkE7RUFPRDtJQUNDLGdDQUFBO0lBQ0Esa0JBQUE7SUFDQSx5QkFBQTtJQUNBLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxnQkFBQTtJQUNBLHFCQUFBO0lBQ0Esc0JBQUE7SUFDQSxjQUFBO0VBTEE7RUFRRDtJQUNDLGdDQUFBO0lBQ0EsZ0JBQUE7SUFDQSxrQkFBQTtJQUNBLG1CQUFBO0lBQ0EsbUJBQUE7SUFDQSxrQkFBQTtJQUNBLHlCQUFBO0lBQ0Esa0JBQUE7RUFOQTtFQVNEO0lBQ0MsOEJBQUE7SUFDQSxrQkFBQTtJQUNBLG1CQUFBO0lBQ0EsV0FBQTtJQUNBLG9CQUFBO0lBQ0EsU0FBQTtJQUNBLDJCQUFBO0VBUEE7QUFDRjtBQUNBLDJCQUEyQjtBQVUzQjtFQUVDO0lBQ0MsaUJBQUE7SUFD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SUFDQSxVQUFBO0VBak5kO0FBQ0YiLCJmaWxlIjoicm9vdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIENPREVTVElUQ0ggR0xPQkFMIFNUWUxFU1xuLy8gQ29yZSBzdHlsZXNoZWV0IGNvbnRhaW5pbmcgQ1NTIHZhcmlhYmxlcywgYmFzZSBlbGVtZW50XG4vLyBzdHlsaW5nLCB0eXBvZ3JhcGh5IHJ1bGVzLCB1dGlsaXR5IGNsYXNzZXMsIGNvbXBvbmVudCBzdHlsZXMsIG5hdmlnYXRpb24sXG4vLyBmb290ZXIsIGFuZCBvdGhlciByZXBlYXRlZCBzZWN0aW9uIHN0eWxlcyBmb3IgdGhlIGVudGlyZSBzaXRlXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgIENvcmUgU3R5bGVzICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBDb2RlU3RpdGNoIENvcmUgU3R5bGVzICsgUmVzZXQgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG5cdC8qIEFsbCBlbGVtZW50cyBpbiB0aGUgbGlicmFyeSBkZXJpdmUgdGhlaXIgdmFyaWFibGVzIGFuZCBiYXNlIHN0eWxlcyBmcm9tIHRoaXMgY2VudHJhbCBzaGVldCwgc2ltcGxpZnlpbmcgc2l0ZS13aWRlIGVkaXRzLiBGb3IgaW5zdGFuY2UsIGlmIHlvdSB3YW50IHRvIG1vZGlmeSBob3cgeW91ciBoMidzIGFwcGVhciBhY3Jvc3MgdGhlIHNpdGUsIHlvdSBqdXN0IHVwZGF0ZSBpdCBvbmNlIGluIHRoZSBnbG9iYWwgc3R5bGVzLCBhbmQgdGhlIGNoYW5nZXMgYXBwbHkgZXZlcnl3aGVyZS4gKi9cblx0OnJvb3Qge1xuXHRcdC8qIE9QVElPTiAxOiBCYWxhbmNlZCAmIEFwcHJvYWNoYWJsZSAoTXkgUmVjb21tZW5kYXRpb24pICovXG5cdFx0LS1wcmltYXJ5OiAjNUMzNDcwOyAgICAgICAgICAgLyogUmljaCBwdXJwbGUgLSBtYWluIENUQXMsIGxpbmtzICovXG5cdFx0LS1wcmltYXJ5TGlnaHQ6ICM4QjZCOUY7ICAgICAgLyogTGlnaHRlciBwdXJwbGUgLSBob3ZlciBzdGF0ZXMsIGFjY2VudHMgKi9cblx0XHQtLXNlY29uZGFyeTogI0Q0QTc0MjsgICAgICAgICAvKiBXYXJtIGdvbGQgLSBzZWNvbmRhcnkgQ1RBcywgaGlnaGxpZ2h0cyAqL1xuXHRcdC0tc2Vjb25kYXJ5TGlnaHQ6ICNGNEM1NDI7ICAgIC8qIEJyaWdodCBnb2xkIC0gaG92ZXIgc3RhdGVzLCBzcGVjaWFsIGVsZW1lbnRzICovXG5cdFx0LS1oZWFkZXJDb2xvcjogIzJBMjMzMjsgICAgICAgLyogRGVlcCBwdXJwbGUtYmxhY2sgLSBoZWFkaW5ncyAqL1xuXHRcdC0tYm9keVRleHRDb2xvcjogIzUxNDY1RDsgICAgIC8qIFB1cnBsZS1ncmF5IC0gYm9keSB0ZXh0ICovXG5cdFx0LS1ib2R5VGV4dENvbG9yV2hpdGU6ICNGREZCRjc7IC8qIFdhcm0gb2ZmLXdoaXRlIC0gdGV4dCBvbiBkYXJrIGJhY2tncm91bmRzICovXG5cblx0XHQvKiAxM3B4IC0gMTZweCAqL1xuXHRcdC0tdG9wcGVyRm9udFNpemU6IGNsYW1wKDAuODEyNXJlbSwgMS42dncsIDFyZW0pO1xuXHRcdC8qIDMxcHggLSA0OXB4ICovXG5cdFx0LS1oZWFkZXJGb250U2l6ZTogY2xhbXAoMS45Mzc1cmVtLCAzLjl2dywgMy4wNjI1cmVtKTtcblx0XHQtLWJvZHlGb250U2l6ZTogMXJlbTtcblx0XHQvKiA2MHB4IC0gMTAwcHggdG9wIGFuZCBib3R0b20gKi9cblx0XHQtLXNlY3Rpb25QYWRkaW5nOiBjbGFtcCgzLjc1cmVtLCA3LjgydncsIDYuMjVyZW0pIDFyZW07XG5cblx0XHQtLWhlYWRlckZvbnQ6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcblx0XHQtLWJvZHlGb250OiBcIlBsYXlmYWlyIERpc3BsYXlcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdH1cblxuXHRodG1sLFxuXHRib2R5IHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWJvZHlGb250KTtcblx0XHRmb250LXNpemU6IDEwMCU7XG5jb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcik7XG5cdFx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG5cdH1cblxuXHQqLFxuXHQqOmJlZm9yZSxcblx0KjphZnRlciB7XG5cdFx0LyogcHJldmVudHMgcGFkZGluZyBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdC5jcy10b3BwZXIge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tdG9wcGVyRm9udFNpemUpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHRleHQtYWxpZ246IGluaGVyaXQ7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Y29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQuY3MtdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyRm9udFNpemUpO1xuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHRcdHRleHQtYWxpZ246IGluaGVyaXQ7XG5cdFx0bWF4LXdpZHRoOiA0My43NXJlbTtcblx0XHRtYXJnaW46IDAgMCAxcmVtIDA7XG5cdFx0Y29sb3I6IHZhcigtLWhlYWRlckNvbG9yKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQuY3MtdGV4dCB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1ib2R5Rm9udFNpemUpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0XHR0ZXh0LWFsaWduOiBpbmhlcml0O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogNDAuNjI1cmVtO1xuXHRcdG1hcmdpbjogMDtcblx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcik7XG5cdH1cbn1cblxuLyogQ29tcG9uZW50cyArIFV0aWxpdGllcyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcblx0Ly8gSGlkZGVuIHNjcmVlbiByZWFkZXIgc2tpcCBuYXYgYnV0dG9uXG5cdC5za2lwIHtcblx0XHR6LWluZGV4OiAtMTExMTExMTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdC8vIEJ1dHRvbnMgLSBjYW4gYmUgcmVwbGFjZWQgdXNpbmcgQ29kZVN0aXRjaCdzIFwiQnV0dG9uXCIgU3RpdGNoZXMuIE1ha2Ugc3VyZSB0byBjbGVhciB0aGUgZGVmYXVsdCAuY3MtYnV0dG9uLXNvbGlkL291dGxpbmUgc3R5bGVzIGZyb20gYW55IG5ldyBzdGl0Y2hlcyB5b3UgcGxhY2UuXG5cdC5jcy1idXR0b24tc29saWQge1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblx0XHR3aWR0aDogYXV0bztcblx0XHRwYWRkaW5nOiAoMTYvMTZyZW0pICgzMi8xNnJlbSk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdGxpbmUtaGVpZ2h0OiAoMTYvMTZlbSk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogKDQvMTZyZW0pO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHQvLyBUcmFuc2l0aW9uIFByb3BlcnRpZXNcblx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdFx0Ly9UcmFuc2l0aW9uIHByb3BlcnRpZXNcblx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0dHJhbnNpdGlvbjogd2lkdGggMC4zcztcblx0XHR9XG5cdH1cblxuXHQuY3MtYnV0dG9uLW91dGxpbmUge1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogYXV0bztcblx0XHRwYWRkaW5nOiAoMTYvMTZyZW0pICgzMi8xNnJlbSk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdGxpbmUtaGVpZ2h0OiAoMTYvMTZlbSk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgIzAwMDtcblxuXHRcdC8vIFRyYW5zaXRpb24gUHJvcGVydGllc1xuXHRcdGNvbG9yOiAjMDAwO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMC4xcztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHQvL1RyYW5zaXRpb24gcHJvcGVydGllc1xuXHRcdFx0d2lkdGg6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xuXHRcdH1cblx0fVxuXG5cdC8vIFV0aWxpdGllcyAtIHNtYWxsIGNsYXNzZXMgdXNlZnVsIGluIHZhcmlvdXMgY29tbW9uIHNpdHVhdGlvbnNcblx0LmNzLWNvbG9yIHtcblx0XHRjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cdH1cblxuXHQuY3MtYm9sZCB7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0fVxuXG5cdC5jcy1oaWRlLW9uLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi8qIERlc2t0b3AgVXRpbGl0aWVzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0cmVtKSB7XG5cdC5jcy1oaWRlLW9uLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0fVxuXG5cdC5jcy1oaWRlLW9uLWRlc2t0b3Age1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuXG4vKiBCYXNlIEVsZW1lbnQgU3R5bGVzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkge1xuXHRoMSxcblx0aDIsXG5cdGgzLFxuXHRoNCxcblx0aDUsXG5cdGg2IHtcblx0XHRmb250LWZhbWlseTogdmFyKC0taGVhZGVyRm9udCk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHRcdGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG5cdH1cblxuXHRwLFxuXHRsaSxcblx0YSB7XG5cdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0fVxuXG5cdHAsXG5cdGxpIHtcblx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcik7XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblx0XHR9XG5cdH1cblxuXHRhLFxuXHRidXR0b24ge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblx0fVxufVxuXG4vKiBGb250cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcblx0Ly8gR3JhYiB5b3VyIGZvbnRzIHRvIGxvY2FsbHkgaG9zdCBmcm9tIGh0dHBzOi8vZ3dmaC5tcmFuZnRsLmNvbS9mb250c1xuLyogcGxheWZhaXItZGlzcGxheS1yZWd1bGFyIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7IC8qIENoZWNrIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9AZm9udC1mYWNlL2ZvbnQtZGlzcGxheSBmb3Igb3RoZXIgb3B0aW9ucy4gKi9cbiAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybCgnLi4vZm9udHMvcGxheWZhaXItZGlzcGxheS12NDAtbGF0aW4tcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTsgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuLyogcGxheWZhaXItZGlzcGxheS03MDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgLyogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0Bmb250LWZhY2UvZm9udC1kaXNwbGF5IGZvciBvdGhlciBvcHRpb25zLiAqL1xuICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLi9mb250cy9wbGF5ZmFpci1kaXNwbGF5LXY0MC1sYXRpbi03MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7IC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cbi8qIHBsYXlmYWlyLWRpc3BsYXktOTAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7IC8qIENoZWNrIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9AZm9udC1mYWNlL2ZvbnQtZGlzcGxheSBmb3Igb3RoZXIgb3B0aW9ucy4gKi9cbiAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBzcmM6IHVybCgnLi4vZm9udHMvcGxheWZhaXItZGlzcGxheS12NDAtbGF0aW4tOTAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpOyAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG59XG5cbi8qIE1vYmlsZSAtIDM2MHB4ICovXG5cbi8qIERlc2t0b3AgLSAxMDI0cHggKi9cblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgIE1vYmlsZSBOYXZpZ2F0aW9uICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAxMDIzcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy41cHgpIHtcblx0Ym9keSB7XG5cdFx0Ji5jcy1vcGVuIHtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0fVxuXG5cdFx0Ji5zY3JvbGwge1xuXHRcdFx0I2NzLW5hdmlnYXRpb24ge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0I2NzLW5hdmlnYXRpb24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdC8qIHByZXZlbnRzIHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRwYWRkaW5nOiAoMjAvMTZyZW0pICgxNi8xNnJlbSk7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNiwgMjYsIDI2LCAwLjA4KTtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0ei1pbmRleDogMTAwMDA7XG4td2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigyN3B4KTtcblx0XHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjdweCk7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDAlO1xuXHRcdFx0YmFja2dyb3VuZDogIzFhMWExYTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcztcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMHZoO1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwJTtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0ei1pbmRleDogLTExMDA7XG5cdFx0XHR0cmFuc2l0aW9uOiBoZWlnaHQgMC41cywgb3BhY2l0eSAwLjVzO1xuXHRcdFx0LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG5cdFx0XHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG5cdFx0fVxuXG5cdFx0Ji5jcy1hY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRoZWlnaHQ6IDE1MHZoO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3MtdWwtd3JhcHBlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjE1cztcblx0XHRcdH1cblxuXHRcdFx0LmNzLWxpIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1jb250YWluZXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0LmNzLWxvZ28ge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHQvKiA1NnB4IC0gODBweCAqL1xuXHRcdFx0aGVpZ2h0OiBjbGFtcCg1LjVyZW0sIDV2dywgNXJlbSk7XG5cdFx0XHRtYXJnaW46IDAgYXV0byAwIDA7XG5cdFx0XHQvKiBwcmV2ZW50cyBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgaGVpZ2h0IGFuZCB3aWR0aCAqL1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0ei1pbmRleDogMTA7XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdC8qIGVuc3VyZXMgdGhlIGltYWdlIG5ldmVyIG92ZXJmbG93cyB0aGUgY29udGFpbmVyLiBJdCBzdGF5cyBjb250YWluZWQgd2l0aGluIGl0J3Mgd2lkdGggYW5kIGhlaWdodCBhbmQgZXhwYW5kcyB0byBmaWxsIGl0IHRoZW4gc3RvcHMgb25jZSBpdCByZWFjaGVzIGFuIGVkZ2UgKi9cblx0XHRcdFx0b2JqZWN0LWZpdDogY29udGFpbjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtdG9nZ2xlIHtcblx0XHRcdHdpZHRoOiAoNTYvMTZyZW0pO1xuXHRcdFx0aGVpZ2h0OiAoNTYvMTZyZW0pO1xuXHRcdFx0bWFyZ2luOiAwIDAgMCBhdXRvO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDogMTA7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cztcblxuXHRcdFx0Ji5jcy1hY3RpdmUge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1hY3RpdmUge1xuXHRcdFx0LmNzLWxpbmUxIHtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgyMjVkZWcpO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3MtbGluZTIge1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlWSgwKSByb3RhdGUoLTIyNWRlZyk7XG5cdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblx0XHRcdH1cblxuXHRcdFx0LmNzLWxpbmUzIHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0Ym90dG9tOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1ib3gge1xuXHRcdFx0LyogMjRweCAtIDI4cHggKi9cblx0XHRcdHdpZHRoOiBjbGFtcCgxLjVyZW0sIDJ2dywgMS43NXJlbSk7XG5cdFx0XHRoZWlnaHQ6ICgxNi8xNnJlbSk7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXG5cdFx0LmNzLWxpbmUge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDJweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmYWZiZmM7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0fVxuXG5cdFx0LmNzLWxpbmUxIHtcblx0XHRcdHRvcDogMDtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzLCB0b3AgMC4zcywgbGVmdCAwLjNzO1xuXHRcdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAwLjdzO1xuXHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcblx0XHRcdGFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbDtcblx0XHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdH1cblxuXHRcdC5jcy1saW5lMiB7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0dHJhbnNpdGlvbjogdG9wIDAuM3MsIGxlZnQgMC4zcywgdHJhbnNmb3JtIDAuNXM7XG5cdFx0XHRhbmltYXRpb24tZHVyYXRpb246IDAuN3M7XG5cdFx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuXHRcdFx0YW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsO1xuXHRcdFx0YW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG5cdFx0fVxuXG5cdFx0LmNzLWxpbmUzIHtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHRyYW5zaXRpb246IGJvdHRvbSAwLjNzLCBvcGFjaXR5IDAuM3M7XG5cdFx0fVxuXHR9XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgTW9iaWxlIE5hdmlnYXRpb24gTWVudSAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogU21hbGwgRGVza3RvcCAtIDEwMjRweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjVweCkge1xuXHQjY3MtbmF2aWdhdGlvbiB7XG5cdFx0LmNzLXVsLXdyYXBwZXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdFx0cGFkZGluZy1ib3R0b206ICg0OC8yMGVtKTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgcmdiYSgwLCAwLCAwLCAwLjIpIDBweCA4cHggMjRweDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWSgwKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzLCBvcGFjaXR5IDAuM3M7XG5cdFx0fVxuXG5cdFx0LmNzLXVsIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6ICg0OC8xNnJlbSkgMCAwIDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdG1heC1oZWlnaHQ6IDY1dmg7XG5cdFx0XHRvdmVyZmxvdzogc2Nyb2xsO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAoMjAvMTZyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy1saSB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0LyogdHJhbnNpdGlvbiBmcm9tIHRoZXNlIHZhbHVlcyAqL1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00LjM3NXJlbSk7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIG9wYWNpdHkgMC45cztcblxuXHRcdFx0JjpudGgtb2YtdHlwZSgxKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMDVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSgyKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDMpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4xNXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDQpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4ycztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoNSkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoNikge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjNzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg3KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMzVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg4KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuNHM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDkpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC40NXM7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWxpLWxpbmsge1xuXHRcdFx0LyogMTZweCAtIDI0cHggKi9cblx0XHRcdGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgM3Z3LCAxLjVyZW0pO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMC4yNXJlbTtcblx0XHRcdGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0LyogYWN0aXZlIHN0YXRlIHVuZGVybGluZSAqL1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxcHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRib3R0b206ICgtMi8xNnJlbSk7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCYuY3MtYWN0aXZlIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtYnV0dG9uLXNvbGlkIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICBOYXZpZ2F0aW9uIERyb3Bkb3duICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogTW9iaWxlIC0gMTAyM3B4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuNXB4KSB7XG5cdCNjcy1uYXZpZ2F0aW9uIHtcblx0XHQuY3MtbGkge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cblx0XHQuY3MtZHJvcGRvd24ge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cblx0XHRcdC5jcy1kcm9wZG93bi10b2dnbGUge1xuXHRcdFx0XHQvKiBSZXNldCBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMgKi9cblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0XHRcdFx0dGV4dC1hbGlnbjogaW5oZXJpdDtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0XHRcdC8qIFJlbW92ZSBhbnkgZGVmYXVsdCBmb2N1cyBzdHlsZXMgKi9cblx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0XHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHRcdGFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHQmLmNzLWFjdGl2ZSB7XG5cdFx0XHRcdC5jcy1kcm9wLXVsIHtcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdFx0XHRcdG1hcmdpbjogKDEyLzE2cmVtKSAwIDAgMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAoMTIvMTZyZW0pIDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY3MtZHJvcC1saW5rIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNzLWRyb3AtaWNvbiB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5jcy1saS1saW5rIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWRyb3AtaWNvbiB7XG5cdFx0XHR3aWR0aDogKDE1LzE2cmVtKTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0cmlnaHQ6ICgtMjAvMTZyZW0pO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cdFx0fVxuXG5cdFx0LmNzLWRyb3AtdWwge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogKDEyLzE2cmVtKTtcblx0XHRcdHRyYW5zaXRpb246IHBhZGRpbmcgMC4zcywgbWFyZ2luIDAuM3MsIGhlaWdodCAwLjNzLCBvcGFjaXR5IDAuM3MsIHZpc2liaWxpdHkgMC4zcztcblx0XHR9XG5cblx0XHQuY3MtZHJvcC1saSB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdH1cblxuXHRcdC5jcy1saS1saW5rIHtcblx0XHRcdCYuY3MtZHJvcC1saW5rIHtcblx0XHRcdFx0LyogMTRweCAtIDE2cHggKi9cblx0XHRcdFx0Zm9udC1zaXplOiBjbGFtcCgwLjg3NXJlbSwgMnZ3LCAxLjI1cmVtKTtcblx0XHRcdFx0cGFkZGluZzogMC4yNXJlbTtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cblx0XHRcdFx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdFx0XHRvdXRsaW5lLW9mZnNldDogLTJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKiBEZXNrdG9wIC0gMTAyNHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQjY3MtbmF2aWdhdGlvbiB7XG5cdFx0LmNzLWRyb3Bkb3duIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0LmNzLWRyb3Bkb3duLXRvZ2dsZSB7XG5cdFx0XHRcdC8qIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxlcyAqL1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBpbmhlcml0O1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRcdFx0LyogUmVtb3ZlIGFueSBkZWZhdWx0IGZvY3VzIHN0eWxlcyAqL1xuXHRcdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHRcdC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdFx0YXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCYuY3MtYWN0aXZlIHtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHQuY3MtZHJvcC11bCB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZVkoMSk7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNzLWRyb3AtbGkge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWRyb3AtaWNvbiB7XG5cdFx0XHR3aWR0aDogKDE1LzE2cmVtKTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cblx0XHQuY3MtZHJvcC11bCB7XG5cdFx0XHRtaW4td2lkdGg6ICgyMDAvMTZyZW0pO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB2YXIoLS1wcmltYXJ5KTtcblx0XHRcdC8qIGlmIHlvdSBoYXZlIDggb3IgbW9yZSBsaW5rcyBpbiB5b3VyIGRyb3Bkb3duIG5hdiwgdW5jb21tZW50IHRoZSBjb2x1bW5zIHByb3BlcnR5IHRvIG1ha2UgdGhlIGxpc3QgaW50byAyIGV2ZW4gY29sdW1ucy4gQ2hhbmdlIGl0IHRvIDMgb3IgNCBpZiB5b3UgbmVlZCBleHRyYSBjb2x1bW5zLiBUaGVuIHJlbW92ZSB0aGUgdHJhbnNpdGlvbiBkZWxheXMgb24gdGhlIGNzLWRyb3AtbGkgc28gdGhleSBkb24ndCBoYXZlIHdlaXJkIHNjYXR0ZXJlZCBhbmltYXRpb25zICovXG5cdFx0XHQvLyBjb2x1bW5zOiAyO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiBjYWxjKDEwMCUgLSAycHgpO1xuXHRcdFx0ei1pbmRleDogMTAwO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVkoMCk7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgdmlzaWJpbGl0eSAwLjNzLCBvcGFjaXR5IDAuM3M7XG5cdFx0fVxuXG5cdFx0LmNzLWRyb3AtbGkge1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdGZvbnQtc2l6ZTogKDE2LzE2cmVtKTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjYyNXJlbSk7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMsIHRyYW5zZm9ybSAwLjZzO1xuXG5cdFx0XHQmOm50aC1vZi10eXBlKDEpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4wNXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDIpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4xcztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoMykge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjE1cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoNCkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg1KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg2KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDcpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4zNXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDgpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC40cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoOSkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjQ1cztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtbGktbGluayB7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0LmNzLWRyb3AtaWNvbiB7XG5cdFx0XHRcdFx0ZmlsdGVyOiBncmF5c2NhbGUoMSkgYnJpZ2h0bmVzcygxMDAwJSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYuY3MtZHJvcC1saW5rIHtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGZvbnQtc2l6ZTogKDE2LzE2cmVtKTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdHBhZGRpbmc6ICgxMi8xNnJlbSk7XG5cdFx0XHRcdC8qIHByZXZlbnRzIHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG5cdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMC4zcywgYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdFx0XHRvdXRsaW5lLW9mZnNldDogLTJweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICBEZXNrdG9wIE5hdmlnYXRpb24gICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogU21hbGwgRGVza3RvcCAtIDEwMjRweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0Ym9keS5zY3JvbGwge1xuXHRcdC8qIHdoZW4gdGhlIHNjcm9sbCBjbGFzcyBpcyBvbiB0aGUgYm9keSwgcnVuIHRoZXNlIHN0eWxlcyAqL1xuXHRcdCNjcy1uYXZpZ2F0aW9uIHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCNjcy1uYXZpZ2F0aW9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHQvKiBwcmV2ZW50cyBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgaGVpZ2h0IGFuZCB3aWR0aCAqL1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0cGFkZGluZzogMCAoMTYvMTZyZW0pO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjYsIDI2LCAyNiwgMC4wOCk7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHotaW5kZXg6IDEwMDAwO1xuXHRcdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDI3cHgpO1xuXHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cigyN3B4KTtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdC8qIG9uIHNjcm9sbCBiYWNrZ3JvdW5kICovXG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDAlO1xuXHRcdFx0YmFja2dyb3VuZDogIzFhMWExYTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcztcblx0XHR9XG5cblx0XHQuY3MtY29udGFpbmVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAoMTI4MC8xNnJlbSk7XG5cdFx0XHQvKiBzYW1lIGhlaWdodCBhcyB0aGUgY3MtdWwtd3JhcHBlciAqL1xuXHRcdFx0aGVpZ2h0OiAoMTAwLzE2cmVtKTtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogKDI0LzE2cmVtKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cblx0XHQuY3MtdG9nZ2xlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmNzLWxvZ28ge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRoZWlnaHQ6ICgxMDAvMTZyZW0pO1xuXHRcdFx0LyogbWFyZ2luLXJpZ2h0IGF1dG8gcHVzaGVzIGV2ZXJ5dGhpbmcgYXdheSBmcm9tIGl0IHRvIHRoZSByaWdodCAqL1xuXHRcdFx0bWFyZ2luOiAwIGF1dG8gMCAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHR6LWluZGV4OiAxMDA7XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdC8qIGVuc3VyZXMgdGhlIGltYWdlIG5ldmVyIG92ZXJmbG93cyB0aGUgY29udGFpbmVyLiBJdCBzdGF5cyBjb250YWluZWQgd2l0aGluIGl0J3Mgd2lkdGggYW5kIGhlaWdodCBhbmQgZXhwYW5kcyB0byBmaWxsIGl0IHRoZW4gc3RvcHMgb25jZSBpdCByZWFjaGVzIGFuIGVkZ2UgKi9cblx0XHRcdFx0b2JqZWN0LWZpdDogY29udGFpbjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtdWwtd3JhcHBlciB7XG5cdFx0XHQvKiBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgdG8gYmUgZGVhZCBjZW50ZXIgKi9cblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0fVxuXG5cdFx0LmNzLXVsIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAoMjQvMTZyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy1saSB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0cGFkZGluZzogKDQwLzE2cmVtKSAwO1xuXHRcdFx0LyogcHJldmVudCBmbGV4Ym94IGZyb20gc3F1aXNoaW5nIGl0ICovXG5cdFx0XHRmbGV4OiBub25lO1xuXHRcdH1cblxuXHRcdC5jcy1saS1saW5rIHtcblx0XHRcdC8qIDE0cHggLSAxNnB4ICovXG5cdFx0XHRmb250LXNpemU6IGNsYW1wKDAuODc1cmVtLCAwLjZ2dywgMXJlbSk7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDAgKDE2LzE2cmVtKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHQvKiBvbiBzY3JvbGwgYmFja2dyb3VuZCAqL1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAoNDAvMTZyZW0pO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMik7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLmNzLWFjdGl2ZSB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWJ1dHRvbi1zb2xpZCB7XG5cdFx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0LyogNDZweCAtIDU2cHggKi9cblx0XHRcdGxpbmUtaGVpZ2h0OiBjbGFtcCgyLjg3NWVtLCA1LjV2dywgMy41ZW0pO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0bWluLXdpZHRoOiAoMTUwLzE2cmVtKTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdC8qIHByZXZlbnRzIHBhZGRpbmcgZnJvbSBhZGRpbmcgdG8gdGhlIHdpZHRoICovXG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0cGFkZGluZzogMCAoMzIvMTZyZW0pO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnkpO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDogMTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHR3aWR0aDogMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeSk7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdFx0dHJhbnNpdGlvbjogd2lkdGggMC4zcztcblx0XHRcdH1cblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgICAgQmFubmVyICAgICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAzNjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIHtcbiAgICAjYmFubmVyLTEwMDQge1xuICAgICAgICBwYWRkaW5nOiAwICgxNi8xNnJlbSk7XG4gICAgICAgIC8qIDE2MHB4IC0gMjQ1cHggKi9cbiAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDEwcmVtLCAyNXZ3LCAxNS4zMTI1cmVtKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICgxMjAvMTZyZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgLmNzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogKDEyODAvMTZyZW0pO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcGljdHVyZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICgxMi8xNnJlbSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAoMTYvMTZyZW0pO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLyogbGVmdCBsaW5lICovXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogKDE1MC8xNnJlbSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2I0YjJjNztcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgLyogcmlnaHQgbGluZSAqL1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICgxNTAvMTZyZW0pO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNiNGIyYzc7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgLyogMTAwcHggLSAxODBweCAqL1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjbGFtcCg2LjI1cmVtLCAxOHZ3LCAxMS4yNXJlbSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAvKiBwcmV2ZW50cyBmbGV4Ym94IGZyb20gc3F1aXNoaW5nIGl0ICovXG4gICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWludC10aXRsZSB7XG4gICAgICAgICAgICAvKiAzOXB4IC0gNjFweCAqL1xuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjQzNzVyZW0sIDYuNXZ3LCAzLjgxMjVyZW0pO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1heC13aWR0aDogKDcwMC8xNnJlbSk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAoMTYvMTZyZW0pIDA7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy10ZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWJhY2tncm91bmQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC8qIGJsYWNrIG92ZXJsYXkgYm94ICovXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjcyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG4vKi0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPC0tLSAgICAgIENhbGwgVG8gQWN0aW9uICAgICAgICAtLT5cbjwtLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLSovXG5cbi8qIE1vYmlsZSAtIDM2MHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDByZW0pIHtcbiAgICAjY3RhLTIzNzIge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zZWN0aW9uUGFkZGluZyk7XG5cbiAgICAgICAgLmNzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogKDEyODAvMTZyZW0pO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogY2xhbXAoMnJlbSwgOHZ3LCAzLjc1cmVtKSBjbGFtcCgxcmVtLCA2dncsIDYuNzVyZW0pIDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUMzNDcwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogKDE2LzE2cmVtKTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAvKiA0OHB4IC0gNjRweCAqL1xuICAgICAgICAgICAgZ2FwOiBjbGFtcCgzcmVtLCA2dncsIDRyZW0pO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jb250ZW50IHtcbiAgICAgICAgICAgIC8qIHNldCB0ZXh0IGFsaWduIHRvIGxlZnQgaWYgY29udGVudCBuZWVkcyB0byBiZSBsZWZ0IGFsaWduZWQgKi9cbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAoNTgwLzE2cmVtKTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC8qIGNlbnRlcnMgY29udGVudCBob3Jpem9udGFsbHksIHNldCB0byBmbGV4LXN0YXJ0IHRvIGxlZnQgYWxpZ24gKi9cbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdGl0bGUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICgzMi8xNnJlbSk7XG4gICAgICAgICAgICAvKiA0OHB4IC0gNjRweCAqL1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDNyZW0sIDZ2dywgNHJlbSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0QyRDhERjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoMTYvMTZyZW0pO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoMzIvMTZyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblx0XHRcdFx0LmNzLWJ1dHRvbi1ib3gge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogKDIwLzE2cmVtKTtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWJ1dHRvbi1zb2xpZCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxNi8xNnJlbSk7XG4gICAgICAgICAgICAvKiA0NnB4IC0gNTZweCAqL1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDIuODc1ZW0sIDUuNXZ3LCAzLjVlbSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdCAgICBcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHQgICAgICAgIFx0dGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlckNvbG9yKTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogKDE1MC8xNnJlbSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICgyNC8xNnJlbSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgLyogcHJldmVudHMgcGFkZGluZyBmcm9tIGFkZGluZyB0byB0aGUgd2lkdGggKi9cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogKDQvMTZyZW0pO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4zcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblx0XHRcdFx0LmNzLWJ1dHRvbi10cmFuc3BhcmVudCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxNi8xNnJlbSk7XG4gICAgICAgICAgICAvKiA0NnB4IC0gNTZweCAqL1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDIuODc1cmVtLCA1LjV2dywgMy41cmVtKTtcbiAgICAgICAgICAgIHdpZHRoOiAoMTgwLzE2cmVtKTtcbiAgICAgICAgICAgIC8qIDQ2cHggLSA1NnB4ICovXG4gICAgICAgICAgICBoZWlnaHQ6IGNsYW1wKDIuODc1cmVtLCA1LjV2dywgMy41cmVtKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLyAzcztcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAvKiBzbyBpdCBzaXRzIG9uIHRvcCBvZiB0aGUgYm9yZGVyICovXG4gICAgICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgICAgICAgICAgLyogdGhpcyBpcyB3aGF0IGNyZWF0ZXMgdGhlIGdyb3cgYWZmZWN0IG9uIGhvdmVyICovXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMWExYTFhO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBUYWJsZXQgLSA3MDBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NXJlbSkge1xuICAgICNjdGEtMjM3MiB7XG4gICAgICAgIC5jcy1jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICg2MC8xNnJlbSk7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiA0NXZ3O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWdyYXBoaWMge1xuICAgICAgICAgICAgd2lkdGg6IDQwdnc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206ICgwLzE2cmVtKTtcbiAgICAgICAgICAgIHJpZ2h0OiAoMTgvMTZyZW0pO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICAgICAgIEZvb3RlciAgICAgICAgICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogTW9iaWxlIC0gMzYwcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHJlbSkge1xuICAgICNjcy1mb290ZXItMjY2IHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc2VjdGlvblBhZGRpbmcpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRURFNkY1O1xuXG4gICAgICAgIC5jcy1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAvKiByZXNldCBvbiB0YWJsZXQgKi9cbiAgICAgICAgICAgIG1heC13aWR0aDogKDU1MC8xNnJlbSk7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAvKiA2OHB4IC0gMTAwcHggKi9cbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IGNsYW1wKDQuMjVyZW0sIGNhbGMoOCUgKyAydncpLCA2LjI1cmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1sb2dvLWdyb3VwIHtcbiAgICAgICAgICAgIC8qIHRha2VzIHVwIGFsbCB0aGUgc3BhY2UsIGxldHMgdGhlIG90aGVyIHVsJ3Mgd3JhcCBiZWxvdyBpdCAqL1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbG9nbyB7XG4gICAgICAgICAgICAvKiAyMTBweCAtIDI0MHB4ICovXG4gICAgICAgICAgICB3aWR0aDogY2xhbXAoMTMuMTI1cmVtLCA4dncsIDE1cmVtKTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLyogMjhweCAtIDQ0cHggKi9cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDEuNzVyZW0sIDQuMTd2dywgMi43NXJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbG9nby1pbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH0gLyogTmF2aWdhdGlvbiBMaW5rcyAqL1xuICAgICAgICAuY3MtbmF2IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbmF2LWxpIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoOC8xNnJlbSk7XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAoMTYvMTZyZW0pO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICgxNC8xNnJlbSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcik7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1uYXYtbGluayB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxNi8xNnJlbSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcik7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAvKiB1bmRlcmxpbmUgKi9cbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICgyLzE2cmVtKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBib3R0b206ICgtMi8xNnJlbSk7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIENvbnRhY3QgTGlua3MgKi9cbiAgICAgICAgLmNzLWNvbnRhY3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWNvbnRhY3QtbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jb250YWN0LWxpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiAoMTYvMTZyZW0pO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYWRkcmVzcyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxNi8xNnJlbSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoMjAvMTZyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXNvY2lhbC1ncm91cCB7XG4gICAgICAgICAgICAvKiBwdXNoZXMgYXdheSBmcm9tIHRoZSBvdGhlciBmbGV4IGl0ZW1zICovXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuY3Mtc29jaWFsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZ2FwOiAoMTIvMTZyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXNvY2lhbC1saW5rIHtcbiAgICAgICAgICAgIHdpZHRoOiAoMjQvMTZyZW0pO1xuICAgICAgICAgICAgaGVpZ2h0OiAoMjQvMTZyZW0pO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRlNGI2NjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4zcyxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4xODc1cmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1zb2NpYWwtaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogKDEzLzE2cmVtKTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFRhYmxldCAtIDc2OHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4cmVtKSB7XG4gICAgI2NzLWZvb3Rlci0yNjYge1xuICAgICAgICAuY3MtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogKDEyODAvMTZyZW0pO1xuICAgICAgICAgICAgcm93LWdhcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1sb2dvLWdyb3VwIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgLyogcHVzaGVzIGV2ZXJ5dGhpbmcgdG8gdGhlIHJpZ2h0IG9mIGl0IGFzIGZhciBhcyBwb3NzaWJsZSBpbiBhIGZsZXhib3ggKi9cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy10ZXh0IHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICgzMDUvMTZyZW0pO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLW5hdixcbiAgICAgICAgLmNzLWNvbnRhY3Qge1xuICAgICAgICAgICAgLyogOHB4IC0gMTJweCAqL1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogY2xhbXAoMC41cmVtLCAxLjJ2dywgMC43NXJlbSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbi8qIE1vYmlsZSAtIDM2MHB4ICovXG4vKiB5b3UgY2FuIGNvcHkgYW5kIHBhc3RlIHRoZXNlIHN0eWxlcyBpbnRvIHRoZSBzZWN0aW9uIENTUyB3aGVyZSB5b3UgcGxhY2VkIHRoZSAjbGlzdC0xMTY1IEhUTUwsIG9yIHlvdSBjYW4gcGxhY2UgaXQgaW4geW91ciBnbG9iYWwgc3R5bGVzaGVldCBzbyB5b3UgY2FuIHJldXNlIHRoZSBIVE1MIGluIGFueSBTaWRlIEJ5IFNpZGUgc2VjdGlvbiBvbiB5b3VyIHNpdGUuIFRoYXQgd2F5IHdoZW4geW91IG1ha2UgY2hhbmdlcyB0byBpdCwgaXQgd2lsbCBhbHNvIGNoYW5nZSBldmVyeXdoZXJlIGluIHRoZSBzaXRlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDByZW0pIHtcbiAgICAjbGlzdC0xMTY1IHtcbiAgICAgICAgbWF4LXdpZHRoOiAoNjMwLzE2cmVtKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgKDMyLzE2cmVtKSAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAvKiBjbGlwcyB0aGUgYnVsbGV0cyB0byBjcmVhdGUgdGhlIGhhbGYgY2lyY2xlICovXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmNzLWxpIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAoOC8xNnJlbSkgMDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGdhcDogKDEyLzE2cmVtKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC8qIGJ1bGxldCAqL1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICgyMC8xNnJlbSk7ICAvLyBNYWtlIGl0IGJpZ2dlciB0byBzZWUgdGhlIHN0YXJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICgyMC8xNnJlbSk7IC8vIE1ha2UgaXQgYmlnZ2VyIHRvIHNlZSB0aGUgc3RhclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICg0LzE2cmVtKTsgLy8gQWRqdXN0IGFsaWdubWVudFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvc3Rhci5wbmcnKTsgLy8gQWRkIGxlYWRpbmcgc2xhc2hcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IC8vIEZJVCBUSEUgSU1BR0VcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyAvLyBOTyBSRVBFQVRcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IC8vIENFTlRFUiBJVFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl19 */