/* CSS Document */
@font-face {
  font-family: 'BebasNeue';
  src: url("../fonts/BebasNeue-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/BebasNeue-Regular.woff") format("woff"), url("../fonts/BebasNeue-Regular.ttf") format("truetype"), url("../fonts/BebasNeue-Regular.svg#BebasNeue-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Anton';
  src: url("../fonts/anton-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/anton-regular-webfont.woff") format("woff"), url("../fonts/anton-regular-webfont.ttf") format("truetype"), url("../fonts/anton-regular-webfont.svg#anton-regular-webfont") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* END for SOHF campaign - unlink once campagn finishes */
@font-face {
  font-family: 'HelveticaNeue';
  src: url("../fonts/HelveticaNeue-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeue-Medium.woff") format("woff"), url("../fonts/HelveticaNeue-Medium.ttf") format("truetype"), url("../fonts/HelveticaNeue-Medium.svg#HelveticaNeue-Medium") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'HelveticaNeue';
  src: url("../fonts/HelveticaNeue-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeue-Bold.woff") format("woff"), url("../fonts/HelveticaNeue-Bold.ttf") format("truetype"), url("../fonts/HelveticaNeue-Bold.svg#HelveticaNeue-Bold") format("svg");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'AvenirNext';
  src: url("../fonts/AvenirNextLTPro-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/AvenirNextLTPro-Regular.woff") format("woff"), url("../fonts/AvenirNextLTPro-Regular.ttf") format("truetype"), url("../fonts/AvenirNextLTPro-Regular.svg#AvenirNextLTPro-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'AvenirNext';
  src: url("../fonts/AvenirNextLTPro-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/AvenirNextLTPro-Bold.woff") format("woff"), url("../fonts/AvenirNextLTPro-Bold.ttf") format("truetype"), url("../fonts/AvenirNextLTPro-Bold.svg#AvenirNextLTPro-Bold") format("svg");
  font-weight: bold;
  font-style: normal;
}

body {
  margin: 0;
  font-family: "BebasNeue", Helvetica, Arial, "sans-serif";
  color: #fff;
  background-color: #000;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  margin-top: 0;
}

h1, h2, h3 {
  font-size: 2.16em;
  margin-bottom: 2.70833%;
}

a {
  color: inherit;
}

form > div {
  padding-bottom: 0.5em;
}

.sub-container {
  margin-top: 1em;
}

.submit {
  margin-left: 0.5em;
  float: right;
  cursor: pointer;
}

label {
  font-size: 1.48em;
}

.text-input {
  color: #fff;
  background: #000;
  font-family: "BebasNeue", Helvetica, Arial, "sans-serif";
  padding: 0.8em 1em;
  box-sizing: border-box;
  display: block;
  width: 100%;
  border: none;
  border: 2px solid transparent;
}

.error {
  color: #ff0000;
  border: 2px solid #ff0000;
}

.button {
  color: #000;
  background: #fff;
  padding: 0.4em 1em 0.25em 1em;
  text-decoration: none;
  min-width: 5em;
  display: inline-block;
  font-size: 1.32em;
  text-align: center;
  text-transform: uppercase;
  border: none;
  font-size: 1em;
  font-family: "BebasNeue", Helvetica, Arial, "sans-serif";
}

.button.black {
  background: #000;
  color: #fff;
}

.button.large {
  font-size: 1.28em;
}

main {
  padding: 2.60417% 4.27083% 4.27083% 4.27083%;
  clear: both;
  overflow: hidden;
}

section {
  margin-bottom: 4.27083%;
  overflow: hidden;
}

.wrapper {
  padding-top: 3.6em;
}

img {
  max-width: 100%;
}

.white-bg {
  background: #fff;
  color: #000;
}

header {
  background-color: #000;
  overflow: hidden;
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  border-bottom: 1px solid #fff;
  box-shadow: 0em 0em 1em rgba(0, 0, 0, 0.5);
}

header > div {
  padding: 0.28474% 4.27083%;
}

.logo-cntainer {
  float: left;
  width: 80%;
}

button.hamburger {
  float: right;
  margin-top: 0em;
  display: block;
  cursor: pointer;
  z-index: 150;
}

.social-box {
  padding: 6.25% 4.27083% 1.04167% 4.27083%;
  text-align: center;
}

.social-box h3 {
  font-size: 2em;
  margin-top: 0.5em;
  margin-bottom: 1em;
}

footer {
  clear: both;
  padding: 3.125% 4.27083%;
  border-top: 1px solid #fff;
  color: #fff;
  text-align: center;
}

footer a {
  color: #fff;
  text-decoration: none;
}

.sub-footer {
  font-family: Helvetica, Arial, "sans-serif";
  font-size: 12px;
  box-shadow: 0 0 2em #fff;
  box-shadow: 0 0 2em rgba(255, 255, 255, 0.3);
  padding: 1.5625% 4.27083%;
}

.copyright {
  float: right;
  font-family: Helvetica, Arial, "sans-serif";
  font-size: 0.96em;
}

.footer-menu {
  font-family: "BebasNeue", Helvetica, Arial, "sans-serif";
}

.footer-menu a {
  margin: 0 0.25em;
}

.footer-logo {
  margin-bottom: 1.4em;
}

.footer-logo img {
  width: 9.68em;
  position: relative;
  left: 1.36em;
}

.social-container {
  margin-top: 1.4em;
  margin-bottom: 1.4em;
}

.social-container img {
  width: 2.56em;
}

.social-container a {
  margin: 0 0.5em;
}

.pledge-large {
  font-size: 4em;
  text-align: center;
}

div.banner {
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-size: cover;
  background-position: center left;
  overflow: hidden;
  color: #000;
  position: relative;
}

div.banner.self-size {
  padding-top: 94.66463%;
}

div.banner > div.page-heading-text {
  padding: 2.08333% 4.27083%;
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
}

div.banner > div.pledges {
  float: right;
  margin-bottom: 10em;
  margin-top: 3.22917%;
  margin-right: 4.27083%;
}

div.banner > div.home-text {
  padding: 8em 4.27083% 4.27083% 4.27083%;
}

div.banner > div.home-text > h1 {
  width: 40%;
  margin-top: 0;
}

div.banner > div.home-text > p {
  width: 70%;
}

div.white-container {
  background-color: #fff;
  overflow: hidden;
  display: block;
}

ul {
  padding-left: 0.8em;
}

li.error {
  border: 0;
}

nav.menu {
  background: #fff;
  position: fixed;
  right: 0;
  top: 0;
  height: 100%;
  color: #000;
  overflow: auto;
  transform: translateX(100%);
  transition: transform 0.4s;
  box-shadow: 0em 0em 1em rgba(0, 0, 0, 0.5);
  z-index: 99;
}

nav.menu.open {
  transform: translateX(0%);
}

nav.menu ul {
  margin: 3.6em 0 0 0;
  padding: 2em 1em;
  list-style: none;
}

nav.menu ul li {
  padding: 0.75em 1.5em;
  text-transform: uppercase;
  font-size: 2em;
  white-space: nowrap;
  text-align: right;
}

nav.menu ul li > a {
  white-space: nowrap;
  color: inherit;
  text-decoration: none;
  display: block;
}

.menu-closer-bg {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 98;
  display: none;
}

.menu-closer-bg.active {
  display: block;
}

.split-section .split {
  box-sizing: border-box;
  padding: 4.27083%;
  display: table;
  height: 19.6em;
  vertical-align: bottom;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  background-size: cover;
  margin-bottom: 4.27083%;
}

.split-section .split p {
  color: #d8d7d6;
  margin-bottom: 1.25em;
}

.split-section .split > div {
  display: table-row;
}

.split-section .split > div > div {
  display: table-cell;
  vertical-align: bottom;
  text-align: center;
}

.pledges {
  margin: 2.4em auto;
  padding: 0.48em;
  border: 0.12em solid #fff;
  max-width: 20em;
  text-align: center;
  color: #fff;
}

.pledges .pledge-number {
  font-size: 3.6em;
}

.three-part {
  margin-left: -0.82em;
  margin-right: -0.82em;
}

.three-part h3 {
  text-align: center;
  margin: 0.82em 0;
  font-size: 1.6em;
}

.three-part p {
  text-align: center;
  margin-bottom: 0;
}

.three-part > div {
  box-sizing: border-box;
  padding: 0.62em;
}

.three-part > div > div {
  padding: 1.64em;
}

.three-part > div img {
  width: 100%;
}

.two-part {
  margin-left: -0.82em;
  margin-right: -0.82em;
}

.two-part h3 {
  text-align: center;
  margin: 0.82em 0;
  font-size: 1.6em;
}

.two-part p {
  text-align: center;
  margin-bottom: 0;
}

.two-part > div {
  box-sizing: border-box;
  padding: 0.62em;
}

.two-part > div > div {
  padding: 1.64em;
}

.two-part > div img {
  width: 100%;
}

.three-part-flush {
  margin-left: -0.82em;
  margin-right: -0.82em;
}

.three-part-flush h3 {
  text-align: center;
  margin: 0.82em 0;
  font-size: 1.6em;
  padding-left: 1.64em;
  padding-right: 1.64em;
}

.three-part-flush p {
  text-align: center;
  margin-bottom: 0;
  padding-left: 1.64em;
  padding-right: 1.64em;
}

.three-part-flush > div {
  box-sizing: border-box;
  padding: 0.62em;
}

.three-part-flush > div > div {
  padding-bottom: 1.64em;
}

.three-part-flush > div > div.no-pad {
  padding: 0;
}

.three-part-flush > div img {
  width: 100%;
}

.thanks {
  text-align: center;
}

.thanks h2 {
  font-size: 3.52em;
  margin-bottom: 0.5em;
  margin-bottom: 0.25em;
}

.thanks p {
  margin: 0 15%;
}

.thanks .ty-button-container {
  margin: 1.64em 0;
}

.thanks .ty-button-container > a {
  margin: 0 0.5em;
}

@media screen and (min-width: 564px) {
  header {
    font-size: 22px;
  }
}

/* Tablet CSS  */
@media screen and (min-width: 768px) {
  div.banner > div.home-text {
    padding: 11.2em 4.27083% 4.27083% 4.27083%;
  }
  div.banner > div.home-text > h1 {
    width: 50%;
    margin-top: 0;
  }
  div.banner > div.home-text > p {
    width: 55%;
  }
  div.banner.self-size {
    padding-top: 26.40625%;
  }
  div.banner > div.pledges {
    margin-top: 10em;
    margin-bottom: 2.91667%;
  }
  .split-section {
    clear: both;
    overflow: hidden;
  }
  .split-section .split {
    width: 47.86458%;
    float: left;
  }
  .split-section .split.split-r {
    float: right;
  }
  .three-part {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .three-part > div {
    width: 33.33%;
    float: left;
  }
  .three-part > div > div {
    display: block;
    height: 100%;
  }
  .three-part-flush {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .three-part-flush > div {
    width: 33.33%;
    float: left;
  }
  .three-part-flush > div > div {
    display: block;
    height: 100%;
  }
  .social-box {
    float: right;
  }
  .wol-text {
    float: left;
    width: 54%;
  }
}

/* Desktop CSS */
@media screen and (min-width: 1024px) {
  button.hamburger {
    display: none;
  }
  .logo-cntainer {
    width: 23.8041%;
  }
  .logo-cntainer .logo img {
    width: 100%;
  }
  nav.menu {
    background: transparent;
    height: auto;
    overflow: visible;
    z-index: 101;
    color: #fff;
    transform: translateX(0%);
  }
  nav.menu ul {
    margin: 0.93em 0 0 0;
    padding: 0.25em 3.28em 0.25em 0.25em;
    list-style: none;
  }
  nav.menu ul li {
    padding: 0.5em 0.5em;
    display: inline;
    font-size: 1.28em;
  }
  nav.menu ul li:last-child {
    padding-right: 0;
  }
  nav.menu ul li > a {
    display: inline;
  }
  div.banner > div.home-text {
    padding: 14.8em 4.27083% 4.27083% 4.27083%;
  }
  div.banner > div.home-text > h1 {
    width: 50%;
  }
  div.banner > div.home-text > p {
    width: 40%;
  }
  .split-section .split {
    height: 31.2em;
  }
  .two-part {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .two-part > div {
    width: 50%;
    box-sizing: border-box;
    float: left;
  }
  .two-part > div > div {
    display: block;
    height: 100%;
  }
}

@media screen and (min-width: 1280px) {
  .wrapper {
    padding-top: 3.3em;
  }
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 0.82em 0.82em;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}

.hamburger:focus {
  outline: 0;
}

.hamburger:hover {
  opacity: 1;
}

.hamburger.is-active:hover {
  opacity: 1;
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #fff;
}

.hamburger-box {
  width: 2.5em;
  height: 1.6em;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.1em;
}

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 2.5em;
  height: 0.2em;
  background-color: #fff;
  border-radius: 0.25em;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}

.hamburger-inner::before {
  top: -0.7em;
}

.hamburger-inner::after {
  bottom: -0.7em;
}

/*
   * 3DX
   */
.hamburger--3dx .hamburger-box {
  perspective: 5em;
}

.hamburger--3dx .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateY(180deg);
}

.hamburger--3dx.is-active .hamburger-inner::before {
  transform: translate3d(0, 0.7em, 0) rotate(45deg);
}

.hamburger--3dx.is-active .hamburger-inner::after {
  transform: translate3d(0, -0.7em, 0) rotate(-45deg);
}

/*
   * 3DX Reverse
   */
.hamburger--3dx-r .hamburger-box {
  perspective: 5em;
}

.hamburger--3dx-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateY(-180deg);
}

.hamburger--3dx-r.is-active .hamburger-inner::before {
  transform: translate3d(0, 0.7em, 0) rotate(45deg);
}

.hamburger--3dx-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -0.7em, 0) rotate(-45deg);
}

/*
   * 3DY
   */
.hamburger--3dy .hamburger-box {
  perspective: 5em;
}

.hamburger--3dy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(-180deg);
}

.hamburger--3dy.is-active .hamburger-inner::before {
  transform: translate3d(0, 0.7em, 0) rotate(45deg);
}

.hamburger--3dy.is-active .hamburger-inner::after {
  transform: translate3d(0, -0.7em, 0) rotate(-45deg);
}

/*
   * 3DY Reverse
   */
.hamburger--3dy-r .hamburger-box {
  perspective: 5em;
}

.hamburger--3dy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg);
}

.hamburger--3dy-r.is-active .hamburger-inner::before {
  transform: translate3d(0, 0.7em, 0) rotate(45deg);
}

.hamburger--3dy-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -0.7em, 0) rotate(-45deg);
}

/*
   * 3DXY
   */
.hamburger--3dxy .hamburger-box {
  perspective: 5em;
}

.hamburger--3dxy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dxy.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg);
}

.hamburger--3dxy.is-active .hamburger-inner::before {
  transform: translate3d(0, 0.7em, 0) rotate(45deg);
}

.hamburger--3dxy.is-active .hamburger-inner::after {
  transform: translate3d(0, -0.7em, 0) rotate(-45deg);
}

/*
   * 3DXY Reverse
   */
.hamburger--3dxy-r .hamburger-box {
  perspective: 5em;
}

.hamburger--3dxy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dxy-r .hamburger-inner::before, .hamburger--3dxy-r .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dxy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg);
}

.hamburger--3dxy-r.is-active .hamburger-inner::before {
  transform: translate3d(0, 0.7em, 0) rotate(45deg);
}

.hamburger--3dxy-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -0.7em, 0) rotate(-45deg);
}

/*
   * Arrow
   */
.hamburger--arrow.is-active .hamburger-inner::before {
  transform: translate3d(-0.5em, 0, 0) rotate(-45deg) scale(0.7, 1);
}

.hamburger--arrow.is-active .hamburger-inner::after {
  transform: translate3d(-0.5em, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
   * Arrow Right
   */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  transform: translate3d(0.5em, 0, 0) rotate(45deg) scale(0.7, 1);
}

.hamburger--arrow-r.is-active .hamburger-inner::after {
  transform: translate3d(0.5em, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
   * Arrow Alt
   */
.hamburger--arrowalt .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hamburger--arrowalt .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hamburger--arrowalt.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(-0.5em, -0.625em, 0) rotate(-45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

.hamburger--arrowalt.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(-0.5em, 0.625em, 0) rotate(45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
   * Arrow Alt Right
   */
.hamburger--arrowalt-r .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hamburger--arrowalt-r .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hamburger--arrowalt-r.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(0.5em, -0.625em, 0) rotate(45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

.hamburger--arrowalt-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(0.5em, 0.625em, 0) rotate(-45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
   * Arrow Turn
   */
.hamburger--arrowturn.is-active .hamburger-inner {
  transform: rotate(-180deg);
}

.hamburger--arrowturn.is-active .hamburger-inner::before {
  transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

.hamburger--arrowturn.is-active .hamburger-inner::after {
  transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
   * Arrow Turn Right
   */
.hamburger--arrowturn-r.is-active .hamburger-inner {
  transform: rotate(-180deg);
}

.hamburger--arrowturn-r.is-active .hamburger-inner::before {
  transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

.hamburger--arrowturn-r.is-active .hamburger-inner::after {
  transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
   * Boring
   */
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  transition-property: none;
}

.hamburger--boring.is-active .hamburger-inner {
  transform: rotate(45deg);
}

.hamburger--boring.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}

.hamburger--boring.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
}

/*
   * Collapse
   */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse .hamburger-inner::after {
  top: -1.4em;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

.hamburger--collapse .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse.is-active .hamburger-inner {
  transform: translate3d(0, -0.7em, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--collapse.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}

.hamburger--collapse.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Collapse Reverse
   */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse-r .hamburger-inner::after {
  top: -1.4em;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

.hamburger--collapse-r .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse-r.is-active .hamburger-inner {
  transform: translate3d(0, -0.7em, 0) rotate(45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--collapse-r.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}

.hamburger--collapse-r.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Elastic
   */
.hamburger--elastic .hamburger-inner {
  top: 0.1em;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic .hamburger-inner::before {
  top: 0.7em;
  transition: opacity 0.125s 0.275s ease;
}

.hamburger--elastic .hamburger-inner::after {
  top: 1.4em;
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic.is-active .hamburger-inner {
  transform: translate3d(0, 0.7em, 0) rotate(135deg);
  transition-delay: 0.075s;
}

.hamburger--elastic.is-active .hamburger-inner::before {
  transition-delay: 0s;
  opacity: 0;
}

.hamburger--elastic.is-active .hamburger-inner::after {
  transform: translate3d(0, -1.4em, 0) rotate(-270deg);
  transition-delay: 0.075s;
}

/*
   * Elastic Reverse
   */
.hamburger--elastic-r .hamburger-inner {
  top: 0.1em;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic-r .hamburger-inner::before {
  top: 0.7em;
  transition: opacity 0.125s 0.275s ease;
}

.hamburger--elastic-r .hamburger-inner::after {
  top: 1.4em;
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic-r.is-active .hamburger-inner {
  transform: translate3d(0, 0.7em, 0) rotate(-135deg);
  transition-delay: 0.075s;
}

.hamburger--elastic-r.is-active .hamburger-inner::before {
  transition-delay: 0s;
  opacity: 0;
}

.hamburger--elastic-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -1.4em, 0) rotate(270deg);
  transition-delay: 0.075s;
}

/*
   * Emphatic
   */
.hamburger--emphatic {
  overflow: hidden;
}

.hamburger--emphatic .hamburger-inner {
  transition: background-color 0.125s 0.175s ease-in;
}

.hamburger--emphatic .hamburger-inner::before {
  left: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
}

.hamburger--emphatic .hamburger-inner::after {
  top: 0.7em;
  right: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
}

.hamburger--emphatic.is-active .hamburger-inner {
  transition-delay: 0s;
  transition-timing-function: ease-out;
  background-color: transparent !important;
}

.hamburger--emphatic.is-active .hamburger-inner::before {
  left: -5em;
  top: -5em;
  transform: translate3d(5em, 5em, 0) rotate(45deg);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.hamburger--emphatic.is-active .hamburger-inner::after {
  right: -5em;
  top: -5em;
  transform: translate3d(-5em, 5em, 0) rotate(-45deg);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
   * Emphatic Reverse
   */
.hamburger--emphatic-r {
  overflow: hidden;
}

.hamburger--emphatic-r .hamburger-inner {
  transition: background-color 0.125s 0.175s ease-in;
}

.hamburger--emphatic-r .hamburger-inner::before {
  left: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
}

.hamburger--emphatic-r .hamburger-inner::after {
  top: 0.7em;
  right: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
}

.hamburger--emphatic-r.is-active .hamburger-inner {
  transition-delay: 0s;
  transition-timing-function: ease-out;
  background-color: transparent !important;
}

.hamburger--emphatic-r.is-active .hamburger-inner::before {
  left: -5em;
  top: 5em;
  transform: translate3d(5em, -5em, 0) rotate(-45deg);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.hamburger--emphatic-r.is-active .hamburger-inner::after {
  right: -5em;
  top: 5em;
  transform: translate3d(-5em, -5em, 0) rotate(45deg);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
   * Minus
   */
.hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {
  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear;
}

.hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {
  opacity: 0;
  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear;
}

.hamburger--minus.is-active .hamburger-inner::before {
  top: 0;
}

.hamburger--minus.is-active .hamburger-inner::after {
  bottom: 0;
}

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 0.1em;
}

.hamburger--slider .hamburger-inner::before {
  top: 0.7em;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}

.hamburger--slider .hamburger-inner::after {
  top: 1.4em;
}

.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 0.7em, 0) rotate(45deg);
}

.hamburger--slider.is-active .hamburger-inner::before {
  transform: rotate(-45deg) translate3d(-0.35714em, -0.5em, 0);
  opacity: 0;
}

.hamburger--slider.is-active .hamburger-inner::after {
  transform: translate3d(0, -1.4em, 0) rotate(-90deg);
}

/*
   * Slider Reverse
   */
.hamburger--slider-r .hamburger-inner {
  top: 0.1em;
}

.hamburger--slider-r .hamburger-inner::before {
  top: 0.7em;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}

.hamburger--slider-r .hamburger-inner::after {
  top: 1.4em;
}

.hamburger--slider-r.is-active .hamburger-inner {
  transform: translate3d(0, 0.7em, 0) rotate(-45deg);
}

.hamburger--slider-r.is-active .hamburger-inner::before {
  transform: rotate(45deg) translate3d(0.35714em, -0.5em, 0);
  opacity: 0;
}

.hamburger--slider-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -1.4em, 0) rotate(90deg);
}

/*
   * Spin
   */
.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin .hamburger-inner::before {
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}

.hamburger--spin .hamburger-inner::after {
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin.is-active .hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--spin.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}

.hamburger--spin.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Spin Reverse
   */
.hamburger--spin-r .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin-r .hamburger-inner::before {
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}

.hamburger--spin-r .hamburger-inner::after {
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin-r.is-active .hamburger-inner {
  transform: rotate(-225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--spin-r.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}

.hamburger--spin-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(90deg);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Spring
   */
.hamburger--spring .hamburger-inner {
  top: 0.1em;
  transition: background-color 0s 0.13s linear;
}

.hamburger--spring .hamburger-inner::before {
  top: 0.7em;
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring .hamburger-inner::after {
  top: 1.4em;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring.is-active .hamburger-inner {
  transition-delay: 0.22s;
  background-color: transparent !important;
}

.hamburger--spring.is-active .hamburger-inner::before {
  top: 0;
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translate3d(0, 0.7em, 0) rotate(45deg);
}

.hamburger--spring.is-active .hamburger-inner::after {
  top: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translate3d(0, 0.7em, 0) rotate(-45deg);
}

/*
   * Spring Reverse
   */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring-r .hamburger-inner::after {
  top: -1.4em;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear;
}

.hamburger--spring-r .hamburger-inner::before {
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring-r.is-active .hamburger-inner {
  transform: translate3d(0, -0.7em, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--spring-r.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear;
}

.hamburger--spring-r.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(90deg);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Stand
   */
.hamburger--stand .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
}

.hamburger--stand .hamburger-inner::before {
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand .hamburger-inner::after {
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand.is-active .hamburger-inner {
  transform: rotate(90deg);
  background-color: transparent !important;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
}

.hamburger--stand.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-45deg);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--stand.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(45deg);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Stand Reverse
   */
.hamburger--stand-r .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
}

.hamburger--stand-r .hamburger-inner::before {
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand-r .hamburger-inner::after {
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand-r.is-active .hamburger-inner {
  transform: rotate(-90deg);
  background-color: transparent !important;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
}

.hamburger--stand-r.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-45deg);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--stand-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(45deg);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Squeeze
   */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}

.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}

.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Vortex
   */
.hamburger--vortex .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
  transition-duration: 0s;
  transition-delay: 0.1s;
  transition-timing-function: linear;
}

.hamburger--vortex .hamburger-inner::before {
  transition-property: top, opacity;
}

.hamburger--vortex .hamburger-inner::after {
  transition-property: bottom, transform;
}

.hamburger--vortex.is-active .hamburger-inner {
  transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
  transition-delay: 0s;
}

.hamburger--vortex.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}

.hamburger--vortex.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(90deg);
}

/*
   * Vortex Reverse
   */
.hamburger--vortex-r .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
  transition-duration: 0s;
  transition-delay: 0.1s;
  transition-timing-function: linear;
}

.hamburger--vortex-r .hamburger-inner::before {
  transition-property: top, opacity;
}

.hamburger--vortex-r .hamburger-inner::after {
  transition-property: bottom, transform;
}

.hamburger--vortex-r.is-active .hamburger-inner {
  transform: rotate(-765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
  transition-delay: 0s;
}

.hamburger--vortex-r.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}

.hamburger--vortex-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
}

/*

    Icons provided by icomoon.io
	
	This section as well as the "icons" folder can be removed if using other cutom icons such as fontawsome icons.

*/
@font-face {
  font-family: 'checkradios-icons';
  src: url("/assets/fonts/icons/icomoon.eot?-8aafzo");
  src: url("/assets/fonts/icons/icomoon.eot?#iefix-8aafzo") format("embedded-opentype"), url("/assets/fonts/icons/icomoon.woff?-8aafzo") format("woff"), url("/assets/fonts/icons/icomoon.ttf?-8aafzo") format("truetype"), url("/assets/fonts/icons/icomoon.svg?-8aafzo#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}

.icon-checkradios-checkmark, .icon-checkradios-circle {
  font-family: 'checkradios-icons';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*Icon Placeholder*/
.checkradios-checkbox:after, .checkradios-radio:after {
  content: "";
  height: 100%;
  width: 100%;
  position: relative;
  display: block;
  vertical-align: bottom;
}

/*Icons*/
.checkradios-checkbox.icon-checkradios-checkmark:before {
  content: "\e600";
  color: #0066ad;
}

.checkradios-checkbox.icon-checkradios-circle:before {
  content: "\e601";
  color: #0066ad;
}

.checkradios-checkbox:before {
  content: "\e600";
  color: transparent;
}

.checkradios-radio:before {
  content: "\e601";
  color: transparent;
}

/*icomoon section end*/
/*

    Default Styles for checkradios
	
*/
.checkradios-checkbox, .checkradios-radio {
  font-family: 'checkradios-icons';
  position: relative;
  display: inline-block;
  vertical-align: bottom;
  text-align: center;
  border: solid #797979 0.1875em;
  width: 1em;
  height: 1em;
  cursor: pointer;
  padding: 0.2em;
  margin-right: 0.5em;
  font-size: 1.5em;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  overflow: hidden;
}

.checkradios-checkbox {
  float: left;
  float: left;
}

.checkradios-radio {
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}

/*Focus*/
/*Hide original*/
.checkradios-checkbox input[type=checkbox], .checkradios-radio input[type=radio] {
  margin: 0;
  position: absolute;
  top: 0;
  left: -9999%;
  width: 100%;
  height: 100%;
  position: absolute;
  display: inline-block;
  vertical-align: bottom;
}

/*Default styles section end*/
#home-intro-banner {
  background-image: url("/assets/images/banner-home-m.jpg");
  background-image: url("/assets/images/banner-home-m.jpg");
}

@media screen and (min-width: 320px) {
  #home-intro-banner {
    background-image: url("/assets/images/banner-home-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-resolution: 192dpi) and (min-width: 320px), only screen and (min-resolution: 2dppx) and (min-width: 320px) {
  #home-intro-banner {
    background-image: url("/assets/images/banner-home-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-resolution: 288dpi) and (min-width: 320px), only screen and (min-resolution: 3dppx) and (min-width: 320px) {
  #home-intro-banner {
    background-image: url("/assets/images/banner-home-m-3x.jpg");
  }
}

@media screen and (min-width: 640px) {
  #home-intro-banner {
    background-image: url("/assets/images/banner-home-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-resolution: 192dpi) and (min-width: 640px), only screen and (min-resolution: 2dppx) and (min-width: 640px) {
  #home-intro-banner {
    background-image: url("/assets/images/banner-home-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-resolution: 288dpi) and (min-width: 640px), only screen and (min-resolution: 3dppx) and (min-width: 640px) {
  #home-intro-banner {
    background-image: url("/assets/images/banner-home-m-3x.jpg");
  }
}

@media screen and (min-width: 768px) {
  #home-intro-banner {
    background-image: url("/assets/images/banner-home-d-768px.jpg");
  }
}

@media screen and (min-width: 1080px) {
  #home-intro-banner {
    background-image: url("/assets/images/banner-home-d-1080px.jpg");
  }
}

@media screen and (min-width: 1280px) {
  #home-intro-banner {
    background-image: url("/assets/images/banner-home-d-1280px.jpg");
  }
}

@media screen and (min-width: 1440px) {
  #home-intro-banner {
    background-image: url("/assets/images/banner-home-d-1440px.jpg");
  }
}

.slit-image-1 {
  background-image: url("/assets/images/get-the-cut-m.jpg");
  background-image: url("/assets/images/get-the-cut-m.jpg");
}

@media screen and (min-width: 320px) {
  .slit-image-1 {
    background-image: url("/assets/images/get-the-cut-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-resolution: 192dpi) and (min-width: 320px), only screen and (min-resolution: 2dppx) and (min-width: 320px) {
  .slit-image-1 {
    background-image: url("/assets/images/get-the-cut-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-resolution: 288dpi) and (min-width: 320px), only screen and (min-resolution: 3dppx) and (min-width: 320px) {
  .slit-image-1 {
    background-image: url("/assets/images/get-the-cut-m-3x.jpg");
  }
}

@media screen and (min-width: 640px) {
  .slit-image-1 {
    background-image: url("/assets/images/get-the-cut-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-resolution: 192dpi) and (min-width: 640px), only screen and (min-resolution: 2dppx) and (min-width: 640px) {
  .slit-image-1 {
    background-image: url("/assets/images/get-the-cut-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-resolution: 288dpi) and (min-width: 640px), only screen and (min-resolution: 3dppx) and (min-width: 640px) {
  .slit-image-1 {
    background-image: url("/assets/images/get-the-cut-m-3x.jpg");
  }
}

@media screen and (min-width: 768px) {
  .slit-image-1 {
    background-image: url("/assets/images/get-the-cut-d-768px.jpg");
  }
}

@media screen and (min-width: 1080px) {
  .slit-image-1 {
    background-image: url("/assets/images/get-the-cut-d-1080px.jpg");
  }
}

@media screen and (min-width: 1280px) {
  .slit-image-1 {
    background-image: url("/assets/images/get-the-cut-d-1280px.jpg");
  }
}

@media screen and (min-width: 1440px) {
  .slit-image-1 {
    background-image: url("/assets/images/get-the-cut-d-1440px.jpg");
  }
}

.slit-image-2 {
  background-image: url("/assets/images/take-the-pledge-m.jpg");
  background-image: url("/assets/images/take-the-pledge-m.jpg");
}

@media screen and (min-width: 320px) {
  .slit-image-2 {
    background-image: url("/assets/images/take-the-pledge-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-resolution: 192dpi) and (min-width: 320px), only screen and (min-resolution: 2dppx) and (min-width: 320px) {
  .slit-image-2 {
    background-image: url("/assets/images/take-the-pledge-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-resolution: 288dpi) and (min-width: 320px), only screen and (min-resolution: 3dppx) and (min-width: 320px) {
  .slit-image-2 {
    background-image: url("/assets/images/take-the-pledge-m-3x.jpg");
  }
}

@media screen and (min-width: 640px) {
  .slit-image-2 {
    background-image: url("/assets/images/take-the-pledge-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-resolution: 192dpi) and (min-width: 640px), only screen and (min-resolution: 2dppx) and (min-width: 640px) {
  .slit-image-2 {
    background-image: url("/assets/images/take-the-pledge-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-resolution: 288dpi) and (min-width: 640px), only screen and (min-resolution: 3dppx) and (min-width: 640px) {
  .slit-image-2 {
    background-image: url("/assets/images/take-the-pledge-m-3x.jpg");
  }
}

@media screen and (min-width: 768px) {
  .slit-image-2 {
    background-image: url("/assets/images/take-the-pledge-d-768px.jpg");
  }
}

@media screen and (min-width: 1080px) {
  .slit-image-2 {
    background-image: url("/assets/images/take-the-pledge-d-1080px.jpg");
  }
}

@media screen and (min-width: 1280px) {
  .slit-image-2 {
    background-image: url("/assets/images/take-the-pledge-d-1280px.jpg");
  }
}

@media screen and (min-width: 1440px) {
  .slit-image-2 {
    background-image: url("/assets/images/take-the-pledge-d-1440px.jpg");
  }
}

.slit-image-3 {
  background-image: url("/assets/images/join-the-wall-of-legends-m.jpg");
  background-image: url("/assets/images/join-the-wall-of-legends-m.jpg");
}

@media screen and (min-width: 320px) {
  .slit-image-3 {
    background-image: url("/assets/images/join-the-wall-of-legends-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-resolution: 192dpi) and (min-width: 320px), only screen and (min-resolution: 2dppx) and (min-width: 320px) {
  .slit-image-3 {
    background-image: url("/assets/images/join-the-wall-of-legends-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-resolution: 288dpi) and (min-width: 320px), only screen and (min-resolution: 3dppx) and (min-width: 320px) {
  .slit-image-3 {
    background-image: url("/assets/images/join-the-wall-of-legends-m-3x.jpg");
  }
}

@media screen and (min-width: 640px) {
  .slit-image-3 {
    background-image: url("/assets/images/join-the-wall-of-legends-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-resolution: 192dpi) and (min-width: 640px), only screen and (min-resolution: 2dppx) and (min-width: 640px) {
  .slit-image-3 {
    background-image: url("/assets/images/join-the-wall-of-legends-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-resolution: 288dpi) and (min-width: 640px), only screen and (min-resolution: 3dppx) and (min-width: 640px) {
  .slit-image-3 {
    background-image: url("/assets/images/join-the-wall-of-legends-m-3x.jpg");
  }
}

@media screen and (min-width: 768px) {
  .slit-image-3 {
    background-image: url("/assets/images/join-the-wall-of-legends-d-768px.jpg");
  }
}

@media screen and (min-width: 1080px) {
  .slit-image-3 {
    background-image: url("/assets/images/join-the-wall-of-legends-d-1080px.jpg");
  }
}

@media screen and (min-width: 1280px) {
  .slit-image-3 {
    background-image: url("/assets/images/join-the-wall-of-legends-d-1280px.jpg");
  }
}

@media screen and (min-width: 1440px) {
  .slit-image-3 {
    background-image: url("/assets/images/join-the-wall-of-legends-d-1440px.jpg");
  }
}

.slit-image-4 {
  background-image: url("/assets/images/learn-more-m.jpg");
  background-image: url("/assets/images/learn-more-m.jpg");
}

@media screen and (min-width: 320px) {
  .slit-image-4 {
    background-image: url("/assets/images/learn-more-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-resolution: 192dpi) and (min-width: 320px), only screen and (min-resolution: 2dppx) and (min-width: 320px) {
  .slit-image-4 {
    background-image: url("/assets/images/learn-more-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-resolution: 288dpi) and (min-width: 320px), only screen and (min-resolution: 3dppx) and (min-width: 320px) {
  .slit-image-4 {
    background-image: url("/assets/images/learn-more-m-3x.jpg");
  }
}

@media screen and (min-width: 640px) {
  .slit-image-4 {
    background-image: url("/assets/images/learn-more-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-resolution: 192dpi) and (min-width: 640px), only screen and (min-resolution: 2dppx) and (min-width: 640px) {
  .slit-image-4 {
    background-image: url("/assets/images/learn-more-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-resolution: 288dpi) and (min-width: 640px), only screen and (min-resolution: 3dppx) and (min-width: 640px) {
  .slit-image-4 {
    background-image: url("/assets/images/learn-more-m-3x.jpg");
  }
}

@media screen and (min-width: 768px) {
  .slit-image-4 {
    background-image: url("/assets/images/learn-more-d-768px.jpg");
  }
}

@media screen and (min-width: 1080px) {
  .slit-image-4 {
    background-image: url("/assets/images/learn-more-d-1080px.jpg");
  }
}

@media screen and (min-width: 1280px) {
  .slit-image-4 {
    background-image: url("/assets/images/learn-more-d-1280px.jpg");
  }
}

@media screen and (min-width: 1440px) {
  .slit-image-4 {
    background-image: url("/assets/images/learn-more-d-1440px.jpg");
  }
}

#banner-take-the-pledge {
  background-image: url("/assets/images/banner-take-the-pledge-m.jpg");
  background-image: url("/assets/images/banner-take-the-pledge-m.jpg");
}

@media screen and (min-width: 320px) {
  #banner-take-the-pledge {
    background-image: url("/assets/images/banner-take-the-pledge-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-resolution: 192dpi) and (min-width: 320px), only screen and (min-resolution: 2dppx) and (min-width: 320px) {
  #banner-take-the-pledge {
    background-image: url("/assets/images/banner-take-the-pledge-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-resolution: 288dpi) and (min-width: 320px), only screen and (min-resolution: 3dppx) and (min-width: 320px) {
  #banner-take-the-pledge {
    background-image: url("/assets/images/banner-take-the-pledge-m-3x.jpg");
  }
}

@media screen and (min-width: 640px) {
  #banner-take-the-pledge {
    background-image: url("/assets/images/banner-take-the-pledge-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-resolution: 192dpi) and (min-width: 640px), only screen and (min-resolution: 2dppx) and (min-width: 640px) {
  #banner-take-the-pledge {
    background-image: url("/assets/images/banner-take-the-pledge-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-resolution: 288dpi) and (min-width: 640px), only screen and (min-resolution: 3dppx) and (min-width: 640px) {
  #banner-take-the-pledge {
    background-image: url("/assets/images/banner-take-the-pledge-m-3x.jpg");
  }
}

@media screen and (min-width: 768px) {
  #banner-take-the-pledge {
    background-image: url("/assets/images/banner-take-the-pledge-d-768px.jpg");
  }
}

@media screen and (min-width: 1080px) {
  #banner-take-the-pledge {
    background-image: url("/assets/images/banner-take-the-pledge-d-1080px.jpg");
  }
}

@media screen and (min-width: 1280px) {
  #banner-take-the-pledge {
    background-image: url("/assets/images/banner-take-the-pledge-d-1280px.jpg");
  }
}

@media screen and (min-width: 1440px) {
  #banner-take-the-pledge {
    background-image: url("/assets/images/banner-take-the-pledge-d-1440px.jpg");
  }
}

#banner-about {
  background-image: url("/assets/images/banner-about-m.jpg");
  background-image: url("/assets/images/banner-about-m.jpg");
}

@media screen and (min-width: 320px) {
  #banner-about {
    background-image: url("/assets/images/banner-about-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-resolution: 192dpi) and (min-width: 320px), only screen and (min-resolution: 2dppx) and (min-width: 320px) {
  #banner-about {
    background-image: url("/assets/images/banner-about-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-resolution: 288dpi) and (min-width: 320px), only screen and (min-resolution: 3dppx) and (min-width: 320px) {
  #banner-about {
    background-image: url("/assets/images/banner-about-m-3x.jpg");
  }
}

@media screen and (min-width: 640px) {
  #banner-about {
    background-image: url("/assets/images/banner-about-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-resolution: 192dpi) and (min-width: 640px), only screen and (min-resolution: 2dppx) and (min-width: 640px) {
  #banner-about {
    background-image: url("/assets/images/banner-about-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-resolution: 288dpi) and (min-width: 640px), only screen and (min-resolution: 3dppx) and (min-width: 640px) {
  #banner-about {
    background-image: url("/assets/images/banner-about-m-3x.jpg");
  }
}

@media screen and (min-width: 768px) {
  #banner-about {
    background-image: url("/assets/images/banner-about-d-768px.jpg");
  }
}

@media screen and (min-width: 1080px) {
  #banner-about {
    background-image: url("/assets/images/banner-about-d-1080px.jpg");
  }
}

@media screen and (min-width: 1280px) {
  #banner-about {
    background-image: url("/assets/images/banner-about-d-1280px.jpg");
  }
}

@media screen and (min-width: 1440px) {
  #banner-about {
    background-image: url("/assets/images/banner-about-d-1440px.jpg");
  }
}

#banner-get-the-cut {
  background-image: url("/assets/images/banner-get-the-cut-m.jpg");
  background-image: url("/assets/images/banner-get-the-cut-m.jpg");
}

@media screen and (min-width: 320px) {
  #banner-get-the-cut {
    background-image: url("/assets/images/banner-get-the-cut-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-resolution: 192dpi) and (min-width: 320px), only screen and (min-resolution: 2dppx) and (min-width: 320px) {
  #banner-get-the-cut {
    background-image: url("/assets/images/banner-get-the-cut-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-resolution: 288dpi) and (min-width: 320px), only screen and (min-resolution: 3dppx) and (min-width: 320px) {
  #banner-get-the-cut {
    background-image: url("/assets/images/banner-get-the-cut-m-3x.jpg");
  }
}

@media screen and (min-width: 640px) {
  #banner-get-the-cut {
    background-image: url("/assets/images/banner-get-the-cut-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-resolution: 192dpi) and (min-width: 640px), only screen and (min-resolution: 2dppx) and (min-width: 640px) {
  #banner-get-the-cut {
    background-image: url("/assets/images/banner-get-the-cut-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-resolution: 288dpi) and (min-width: 640px), only screen and (min-resolution: 3dppx) and (min-width: 640px) {
  #banner-get-the-cut {
    background-image: url("/assets/images/banner-get-the-cut-m-3x.jpg");
  }
}

@media screen and (min-width: 768px) {
  #banner-get-the-cut {
    background-image: url("/assets/images/banner-get-the-cut-d-768px.jpg");
  }
}

@media screen and (min-width: 1080px) {
  #banner-get-the-cut {
    background-image: url("/assets/images/banner-get-the-cut-d-1080px.jpg");
  }
}

@media screen and (min-width: 1280px) {
  #banner-get-the-cut {
    background-image: url("/assets/images/banner-get-the-cut-d-1280px.jpg");
  }
}

@media screen and (min-width: 1440px) {
  #banner-get-the-cut {
    background-image: url("/assets/images/banner-get-the-cut-d-1440px.jpg");
  }
}

#wol-about {
  background-image: url("/assets/images/banner-wall-of-legends-m.jpg");
  background-image: url("/assets/images/banner-wall-of-legends-m.jpg");
}

@media screen and (min-width: 320px) {
  #wol-about {
    background-image: url("/assets/images/banner-wall-of-legends-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-resolution: 192dpi) and (min-width: 320px), only screen and (min-resolution: 2dppx) and (min-width: 320px) {
  #wol-about {
    background-image: url("/assets/images/banner-wall-of-legends-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-resolution: 288dpi) and (min-width: 320px), only screen and (min-resolution: 3dppx) and (min-width: 320px) {
  #wol-about {
    background-image: url("/assets/images/banner-wall-of-legends-m-3x.jpg");
  }
}

@media screen and (min-width: 640px) {
  #wol-about {
    background-image: url("/assets/images/banner-wall-of-legends-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-resolution: 192dpi) and (min-width: 640px), only screen and (min-resolution: 2dppx) and (min-width: 640px) {
  #wol-about {
    background-image: url("/assets/images/banner-wall-of-legends-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-resolution: 288dpi) and (min-width: 640px), only screen and (min-resolution: 3dppx) and (min-width: 640px) {
  #wol-about {
    background-image: url("/assets/images/banner-wall-of-legends-m-3x.jpg");
  }
}

@media screen and (min-width: 768px) {
  #wol-about {
    background-image: url("/assets/images/banner-wall-of-legends-d-768px.jpg");
  }
}

@media screen and (min-width: 1080px) {
  #wol-about {
    background-image: url("/assets/images/banner-wall-of-legends-d-1080px.jpg");
  }
}

@media screen and (min-width: 1280px) {
  #wol-about {
    background-image: url("/assets/images/banner-wall-of-legends-d-1280px.jpg");
  }
}

@media screen and (min-width: 1440px) {
  #wol-about {
    background-image: url("/assets/images/banner-wall-of-legends-d-1440px.jpg");
  }
}

#victim-banner {
  background-image: url("/assets/images/banner-victim-help-m.jpg");
  background-image: url("/assets/images/banner-victim-help-m.jpg");
}

@media screen and (min-width: 320px) {
  #victim-banner {
    background-image: url("/assets/images/banner-victim-help-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-resolution: 192dpi) and (min-width: 320px), only screen and (min-resolution: 2dppx) and (min-width: 320px) {
  #victim-banner {
    background-image: url("/assets/images/banner-victim-help-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-resolution: 288dpi) and (min-width: 320px), only screen and (min-resolution: 3dppx) and (min-width: 320px) {
  #victim-banner {
    background-image: url("/assets/images/banner-victim-help-m-3x.jpg");
  }
}

@media screen and (min-width: 640px) {
  #victim-banner {
    background-image: url("/assets/images/banner-victim-help-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-resolution: 192dpi) and (min-width: 640px), only screen and (min-resolution: 2dppx) and (min-width: 640px) {
  #victim-banner {
    background-image: url("/assets/images/banner-victim-help-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-resolution: 288dpi) and (min-width: 640px), only screen and (min-resolution: 3dppx) and (min-width: 640px) {
  #victim-banner {
    background-image: url("/assets/images/banner-victim-help-m-3x.jpg");
  }
}

@media screen and (min-width: 768px) {
  #victim-banner {
    background-image: url("/assets/images/banner-victim-help-d-768px.jpg");
  }
}

@media screen and (min-width: 1080px) {
  #victim-banner {
    background-image: url("/assets/images/banner-victim-help-d-1080px.jpg");
  }
}

@media screen and (min-width: 1280px) {
  #victim-banner {
    background-image: url("/assets/images/banner-victim-help-d-1280px.jpg");
  }
}

@media screen and (min-width: 1440px) {
  #victim-banner {
    background-image: url("/assets/images/banner-victim-help-d-1440px.jpg");
  }
}

#contact-banner {
  background-image: url("/assets/images/banner-contact-m.jpg");
  background-image: url("/assets/images/banner-contact-m.jpg");
}

@media screen and (min-width: 320px) {
  #contact-banner {
    background-image: url("/assets/images/banner-contact-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-resolution: 192dpi) and (min-width: 320px), only screen and (min-resolution: 2dppx) and (min-width: 320px) {
  #contact-banner {
    background-image: url("/assets/images/banner-contact-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-resolution: 288dpi) and (min-width: 320px), only screen and (min-resolution: 3dppx) and (min-width: 320px) {
  #contact-banner {
    background-image: url("/assets/images/banner-contact-m-3x.jpg");
  }
}

@media screen and (min-width: 640px) {
  #contact-banner {
    background-image: url("/assets/images/banner-contact-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-resolution: 192dpi) and (min-width: 640px), only screen and (min-resolution: 2dppx) and (min-width: 640px) {
  #contact-banner {
    background-image: url("/assets/images/banner-contact-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-resolution: 288dpi) and (min-width: 640px), only screen and (min-resolution: 3dppx) and (min-width: 640px) {
  #contact-banner {
    background-image: url("/assets/images/banner-contact-m-3x.jpg");
  }
}

@media screen and (min-width: 768px) {
  #contact-banner {
    background-image: url("/assets/images/banner-contact-d-768px.jpg");
  }
}

@media screen and (min-width: 1080px) {
  #contact-banner {
    background-image: url("/assets/images/banner-contact-d-1080px.jpg");
  }
}

@media screen and (min-width: 1280px) {
  #contact-banner {
    background-image: url("/assets/images/banner-contact-d-1280px.jpg");
  }
}

@media screen and (min-width: 1440px) {
  #contact-banner {
    background-image: url("/assets/images/banner-contact-d-1440px.jpg");
  }
}

#terms-banner {
  background-image: url("/assets/images/banner-terms-m.jpg");
  background-image: url("/assets/images/banner-terms-m.jpg");
}

@media screen and (min-width: 320px) {
  #terms-banner {
    background-image: url("/assets/images/banner-terms-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px), only screen and (min-resolution: 192dpi) and (min-width: 320px), only screen and (min-resolution: 2dppx) and (min-width: 320px) {
  #terms-banner {
    background-image: url("/assets/images/banner-terms-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 320px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-device-pixel-ratio: 3) and (min-width: 320px), only screen and (min-resolution: 288dpi) and (min-width: 320px), only screen and (min-resolution: 3dppx) and (min-width: 320px) {
  #terms-banner {
    background-image: url("/assets/images/banner-terms-m-3x.jpg");
  }
}

@media screen and (min-width: 640px) {
  #terms-banner {
    background-image: url("/assets/images/banner-terms-m.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-device-pixel-ratio: 2) and (min-width: 640px), only screen and (min-resolution: 192dpi) and (min-width: 640px), only screen and (min-resolution: 2dppx) and (min-width: 640px) {
  #terms-banner {
    background-image: url("/assets/images/banner-terms-m-2x.jpg");
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min--moz-device-pixel-ratio: 3) and (min-width: 640px), only screen and (-o-min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-device-pixel-ratio: 3) and (min-width: 640px), only screen and (min-resolution: 288dpi) and (min-width: 640px), only screen and (min-resolution: 3dppx) and (min-width: 640px) {
  #terms-banner {
    background-image: url("/assets/images/banner-terms-m-3x.jpg");
  }
}

@media screen and (min-width: 768px) {
  #terms-banner {
    background-image: url("/assets/images/banner-terms-d-768px.jpg");
  }
}

@media screen and (min-width: 1080px) {
  #terms-banner {
    background-image: url("/assets/images/banner-terms-d-1080px.jpg");
  }
}

@media screen and (min-width: 1280px) {
  #terms-banner {
    background-image: url("/assets/images/banner-terms-d-1280px.jpg");
  }
}

@media screen and (min-width: 1440px) {
  #terms-banner {
    background-image: url("/assets/images/banner-terms-d-1440px.jpg");
  }
}

/*

.header-bg{
    @include set-crossdivice-image('bg-main-banner-blue', '.jpg');
}

header.top-mobile {
    .rmm.style{        
        ul{
            background-image: url("../images/menu-bg-m-3x.png");
        }
    }
}

.home-intro-section{
    @include set-crossdivice-image('mannequin', '.jpg');
    
    >div{
        @include set-mobile-image('home-intro-bg', '.jpg');
        
        //background-image: url("../images/home-intro-bg-m-3x.jpg");
    }
}


.home-pillar-split-info{
    @include set-crossdivice-image('pillar-split-home', '.jpg');
}

.home-recipes-section{
    @include set-crossdivice-image('recipes-section-bg', '.jpg');
}

.home-exercise-section{
    @include set-crossdivice-image('home-exercise-section-bg', '.jpg');
}

.home-whats-happening-section{
    @include set-crossdivice-image('home-whats-happening-bg', '.jpg');
}

.home-support-section{
    @include set-crossdivice-image('home-support-team-bg', '.jpg');
}

#piller-sec-bg-1{
    @include set-crossdivice-image('intro-bg-cardiovascular', '.jpg');
}


.carousel-section-1{
    @include set-crossdivice-image('section-bg-cardiovascular-1', '.jpg');
}

.carousel-section-2{
    @include set-crossdivice-image('section-bg-cardiovascular-2', '.jpg');
}

#piller-sec-bg-2{
    @include set-crossdivice-image('intro-bg-life', '.jpg');
}

.carousel-section-3{
    @include set-crossdivice-image('section-bg-life-1', '.jpg');
}

.carousel-section-4-1{
    @include set-crossdivice-image('section-bg-life-2', '.jpg');
}


#piller-sec-bg-3{
    @include set-crossdivice-image('intro-bg-metabolic', '.jpg');
}

.carousel-section-4{
    @include set-crossdivice-image('section-bg-metabolic-1', '.jpg');
}

.carousel-section-5{
    @include set-crossdivice-image('section-bg-metabolic-2', '.jpg');
}

#piller-sec-bg-4{
    @include set-crossdivice-image('intro-bg-renal', '.jpg');
}

.carousel-section-6{
    @include set-crossdivice-image('section-bg-renal-1', '.jpg');
}

.carousel-section-7{
    @include set-crossdivice-image('section-bg-renal-2', '.jpg');
}


.pillar-list-bg-1{
    @include set-crossdivice-image('pillar-list-bg-1', '.jpg');
}

.article-details-bg-1{
    @include set-crossdivice-image('details-bg', '.jpg');
}


.support-intro-section{
    @include set-crossdivice-image('support-intro-bg', '.jpg');    
}

.support{
    @include set-crossdivice-image('support-bg', '.jpg'); 
}
*/
/* CSS Document */
html {
  font-size: 16px;
}

/*

@media screen and (min-width:768px){  
    html{
        font-size: getdpx(27);
        font-size: (13.5 / 768) * 100 +vw;
    }
}


@media screen and (min-width:1024px){   
    html{
        font-size: 14px;
        font-size: (14 / 1024) * 100 +vw;
        //font-size: 16px;
        //font-size: (16 / 1440) * 100 +vw;
        
    }
}

@media screen and (min-width:1280px){   
    html{
        font-size: 16px;
        //font-size: (16 / 1280) * 100 +vw;
        //font-size: (16 / 1440) * 100 +vw;
        font-size: 1.14286vw;
    }
}
*/
html {
  font-size: 14px;
  font-size: 3.88889vw;
}

@media screen and (min-width: 768px) {
  html {
    font-size: 16px;
    font-size: 2.08333vw;
  }
}

@media screen and (min-width: 1024px) {
  html {
    font-size: 13.33333px;
    font-size: 1.30208vw;
  }
}

@media screen and (min-width: 1280px) {
  html {
    font-size: 16.66667px;
    font-size: 1.30208vw;
  }
}

@media screen and (min-width: 1920px) {
  html {
    font-size: 25px;
    font-size: 1.30208vw;
  }
}

.desktop-only {
  display: none;
}

@media screen and (min-width: 768px) {
  .desktop-only {
    display: block;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXMiOlsiYXBwLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfZnVuY3Rpb25zLnNjc3MiLCJfZm9udHMuc2NzcyIsIl8xLmRlZmF1bHQuc2NzcyIsIl8yLm1vYmlsZS5zY3NzIiwiXzIudGFibGV0LnNjc3MiLCJfMy5kZXNrdG9wLnNjc3MiLCJoYW1idXJnZXJzL2hhbWJ1cmdlcnMuc2NzcyIsImhhbWJ1cmdlcnMvX2Jhc2Uuc2NzcyIsImhhbWJ1cmdlcnMvdHlwZXMvXzNkeC5zY3NzIiwiaGFtYnVyZ2Vycy90eXBlcy9fM2R4LXIuc2NzcyIsImhhbWJ1cmdlcnMvdHlwZXMvXzNkeS5zY3NzIiwiaGFtYnVyZ2Vycy90eXBlcy9fM2R5LXIuc2NzcyIsImhhbWJ1cmdlcnMvdHlwZXMvXzNkeHkuc2NzcyIsImhhbWJ1cmdlcnMvdHlwZXMvXzNkeHktci5zY3NzIiwiaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3cuc2NzcyIsImhhbWJ1cmdlcnMvdHlwZXMvX2Fycm93LXIuc2NzcyIsImhhbWJ1cmdlcnMvdHlwZXMvX2Fycm93YWx0LnNjc3MiLCJoYW1idXJnZXJzL3R5cGVzL19hcnJvd2FsdC1yLnNjc3MiLCJoYW1idXJnZXJzL3R5cGVzL19hcnJvd3R1cm4uc2NzcyIsImhhbWJ1cmdlcnMvdHlwZXMvX2Fycm93dHVybi1yLnNjc3MiLCJoYW1idXJnZXJzL3R5cGVzL19ib3Jpbmcuc2NzcyIsImhhbWJ1cmdlcnMvdHlwZXMvX2NvbGxhcHNlLnNjc3MiLCJoYW1idXJnZXJzL3R5cGVzL19jb2xsYXBzZS1yLnNjc3MiLCJoYW1idXJnZXJzL3R5cGVzL19lbGFzdGljLnNjc3MiLCJoYW1idXJnZXJzL3R5cGVzL19lbGFzdGljLXIuc2NzcyIsImhhbWJ1cmdlcnMvdHlwZXMvX2VtcGhhdGljLnNjc3MiLCJoYW1idXJnZXJzL3R5cGVzL19lbXBoYXRpYy1yLnNjc3MiLCJoYW1idXJnZXJzL3R5cGVzL19taW51cy5zY3NzIiwiaGFtYnVyZ2Vycy90eXBlcy9fc2xpZGVyLnNjc3MiLCJoYW1idXJnZXJzL3R5cGVzL19zbGlkZXItci5zY3NzIiwiaGFtYnVyZ2Vycy90eXBlcy9fc3Bpbi5zY3NzIiwiaGFtYnVyZ2Vycy90eXBlcy9fc3Bpbi1yLnNjc3MiLCJoYW1idXJnZXJzL3R5cGVzL19zcHJpbmcuc2NzcyIsImhhbWJ1cmdlcnMvdHlwZXMvX3NwcmluZy1yLnNjc3MiLCJoYW1idXJnZXJzL3R5cGVzL19zdGFuZC5zY3NzIiwiaGFtYnVyZ2Vycy90eXBlcy9fc3RhbmQtci5zY3NzIiwiaGFtYnVyZ2Vycy90eXBlcy9fc3F1ZWV6ZS5zY3NzIiwiaGFtYnVyZ2Vycy90eXBlcy9fdm9ydGV4LnNjc3MiLCJoYW1idXJnZXJzL3R5cGVzL192b3J0ZXgtci5zY3NzIiwiY2hlY2tib3gvX2NoZWNrcmFkaW9zLnNjc3MiLCJfaW1hZ2VzLnNjc3MiLCJfZm9udC1zaXppbmcuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBWYXJpYWJsZXNcclxuQGltcG9ydCBcIl92YXJpYWJsZXNcIjtcclxuLy8gRnVuY3Rpb25zXHJcbkBpbXBvcnQgXCJfZnVuY3Rpb25zXCI7XHJcbi8vIEZvbnRzXHJcbkBpbXBvcnQgXCJfZm9udHNcIjtcclxuLy8gRGVmYXVsdCBcclxuQGltcG9ydCBcIl8xLmRlZmF1bHRcIjtcclxuLy8gTW9iaWxlIFxyXG5AaW1wb3J0IFwiXzIubW9iaWxlXCI7XHJcbi8vIFRhYmV0XHJcbkBpbXBvcnQgXCJfMi50YWJsZXRcIjtcclxuLy8gRGVza3RvcCBcclxuQGltcG9ydCBcIl8zLmRlc2t0b3BcIjsgXHJcbi8vIFBsdWdpbnNcclxuQGltcG9ydCBcImhhbWJ1cmdlcnMvaGFtYnVyZ2Vyc1wiOyBcclxuQGltcG9ydCBcImNoZWNrYm94L19jaGVja3JhZGlvc1wiO1xyXG4vLyBJbWFnZXMgXHJcbkBpbXBvcnQgXCJfaW1hZ2VzXCI7XHJcbi8vIGZvbnQgc2l6aW5nIHNldHNcclxuQGltcG9ydCBcIl9mb250LXNpemluZ1wiOyIsIlxyXG4vLyBnZW5lcmFsXHJcbiRib2R5LWJnLWNvbG9yOiAjZmZmO1xyXG4kYm9keS1mb250LWNvbG9yOiAjZmZmO1xyXG5cclxuXHJcbi8vKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBTQVNTIFZBUlMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovXHJcblxyXG4kcmV0aW5hX3JhdGlvIDogMTsgXHRcdFx0XHRcdFx0Ly8gdGhlIHBzZCB3YXMgZGVzaWduZWQgYXQgcmV0aW5hIDN4XHJcbiRyZXRpbmFfcmF0aW9fZGVza3RvcCA6IDE7IFx0XHRcdFx0Ly8gdGhlIGRlc2t0b3AgcHNkIHdhcyBkZXNpZ25lZCBhdCByZXRpbmEgMnhcclxuJHRvcF9mb250X3NpemUgOiAxNnB4OyBcdFx0XHRcdFx0Ly8gYm9keSBmb250IHNpemUuLi4gYWxsIG90aGVyIGZvbnRzIHdpbGwgYmUgaW4gZW1zIGluaGVyaXRlZCBmcm9tIHRoaXNcclxuJHRvcF9mb250X3NpemVfZGVza3RvcCA6IDI1cHg7IFx0XHRcdC8vIGJvZHkgZm9udCBzaXplIGZvciBkZXNrdG9wLi4uIGFsbCBvdGhlciBmb250cyB3aWxsIGJlIGluIGVtcyBpbmhlcml0ZWQgZnJvbSB0aGlzXHJcbiIsIi8vIGZ1bmN0aW9ucyBpbmNsdWRlXHJcblxyXG5AZnVuY3Rpb24gZ2V0cGVyYygkdGFyZ2V0LCRjb250ZXh0KSB7IFxyXG5cdEByZXR1cm4gdW5xdW90ZSgoJHRhcmdldC8kY29udGV4dCoxMDApK1wiJVwiKTsgXHJcbn1cclxuXHJcbkBmdW5jdGlvbiBnZXRlbSgkdGFyZ2V0LCRjb250ZXh0KSB7IFxyXG5cdEByZXR1cm4gdW5xdW90ZSgoJHRhcmdldC8kY29udGV4dCkrXCJlbVwiKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdldGVtVygkdGFyZ2V0KSB7IFxyXG5cdEByZXR1cm4gdW5xdW90ZSgoKCR0YXJnZXQvJHJldGluYV9yYXRpbykgLyAoKCR0b3BfZm9udF9zaXplLzFweC8kcmV0aW5hX3JhdGlvKSogMS40KStcImVtXCIpKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdldGRlbVcoJHRhcmdldCkgeyBcclxuXHRAcmV0dXJuIHVucXVvdGUoKCgkdGFyZ2V0LyRyZXRpbmFfcmF0aW9fZGVza3RvcCkgLyAoJHRvcF9mb250X3NpemVfZGVza3RvcCAvMXB4IC8gJHJldGluYV9yYXRpb19kZXNrdG9wKStcImVtXCIpKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdldGdlbSgkdGFyZ2V0KSB7IFxyXG5cdEByZXR1cm4gdW5xdW90ZSgoJHRhcmdldC8oJHRvcF9mb250X3NpemUvMXB4KSkrXCJlbVwiKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdldGdkZW0oJHRhcmdldCkgeyBcclxuXHRAcmV0dXJuIHVucXVvdGUoKCR0YXJnZXQvKCR0b3BfZm9udF9zaXplX2Rlc2t0b3AvMXB4KSkrXCJlbVwiKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdldHB4KCR0YXJnZXQpIHsgXHJcblx0QHJldHVybiB1bnF1b3RlKCgkdGFyZ2V0LyRyZXRpbmFfcmF0aW8pK1wicHhcIik7XHJcbn0gXHJcblxyXG5AZnVuY3Rpb24gZ2V0ZHB4KCR0YXJnZXQpIHsgXHJcblx0QHJldHVybiB1bnF1b3RlKCgkdGFyZ2V0LyRyZXRpbmFfcmF0aW9fZGVza3RvcCkrXCJweFwiKTtcclxufSBcclxuXHJcblxyXG4vLyRicmVhay1wb2ludHMtbW9iaWxlOiAzNjBweCA3MjBweCAxMDgwcHg7XHJcbi8vJGJyZWFrLXBvaW50cy1kZXNrdG9wOiAxMDI0cHggMTQ0MHB4O1xyXG5cclxuJGJyZWFrLXBvaW50cy1tb2JpbGU6IDMyMHB4IDY0MHB4O1xyXG4kYnJlYWstcG9pbnRzLWRlc2t0b3A6IDc2OHB4IDEwODBweCAxMjgwcHggMTQ0MHB4O1xyXG5cclxuQG1peGluIHNldC1jcm9zc2RpdmljZS1pbWFnZSgkaW1hZ2UtbmFtZSwgJGltYWdlLWV4dCkge1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBzZXQtbW9iaWxlLWltYWdlKCRpbWFnZS1uYW1lLCAkaW1hZ2UtZXh0KSA7XHJcbiAgICBAaW5jbHVkZSBzZXQtZGVza3RvcC1pbWFnZSgkaW1hZ2UtbmFtZSwgJGltYWdlLWV4dCk7XHJcbn1cclxuXHJcbkBtaXhpbiBzZXQtbW9iaWxlLWltYWdlKCRpbWFnZS1uYW1lLCAkaW1hZ2UtZXh0KSB7XHJcbiAgICBcclxuICAgIEBlYWNoICRjdXJyZW50LXNldCBpbiAkYnJlYWstcG9pbnRzLW1vYmlsZXsgICAgICBcclxuICAgICAgICAkaTogaW5kZXgoJGJyZWFrLXBvaW50cy1tb2JpbGUsICRjdXJyZW50LXNldCk7XHJcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2UtcXVlcnktZGVmYXVsdCgkaW1hZ2UtbmFtZSwgJGltYWdlLWV4dCwgJ20nLCBudGgoJGJyZWFrLXBvaW50cy1tb2JpbGUsICRpKSk7XHJcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2UtcXVlcnktSGlEUEkoJGltYWdlLW5hbWUsICRpbWFnZS1leHQsICdtJywgbnRoKCRicmVhay1wb2ludHMtbW9iaWxlLCAkaSksIDIpOyBcclxuICAgICAgICBAaW5jbHVkZSBpbWFnZS1xdWVyeS1IaURQSSgkaW1hZ2UtbmFtZSwgJGltYWdlLWV4dCwgJ20nLCBudGgoJGJyZWFrLXBvaW50cy1tb2JpbGUsICRpKSwgMyk7IFxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gc2V0LWRlc2t0b3AtaW1hZ2UoJGltYWdlLW5hbWUsICRpbWFnZS1leHQpIHtcclxuICAgIFxyXG4gICAgQGVhY2ggJGN1cnJlbnQtc2V0IGluICRicmVhay1wb2ludHMtZGVza3RvcHsgICAgICAgXHJcbiAgICAgICAgJGk6IGluZGV4KCRicmVhay1wb2ludHMtZGVza3RvcCwgJGN1cnJlbnQtc2V0KTtcclxuICAgICAgICBAaW5jbHVkZSBpbWFnZS1xdWVyeS1kZXNrLWRlZmF1bHQoJGltYWdlLW5hbWUsICRpbWFnZS1leHQsICdkJywgbnRoKCRicmVhay1wb2ludHMtZGVza3RvcCwgJGkpKTtcclxuICAgICAgICAvL0BpbmNsdWRlIGltYWdlLXF1ZXJ5LUhpRFBJKCRpbWFnZS1uYW1lLCAkaW1hZ2UtZXh0LCAnZCcsIG50aCgkYnJlYWstcG9pbnRzLWRlc2t0b3AsICRpKSwgMik7IFxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gaW1hZ2UtcXVlcnktZGVmYXVsdCgkaW1hZ2UtbmFtZSwgJGltYWdlLWV4dCwgJHNldC10eXBlLCAkaW1hZ2UtbWluLXdpZHRoKSB7XHJcbiAgICBcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL1wiICsgJGltYWdlLW5hbWUrIFwiLVwiICsgJHNldC10eXBlICsgJGltYWdlLWV4dCk7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkaW1hZ2UtbWluLXdpZHRoKXsgXHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvXCIgKyAkaW1hZ2UtbmFtZSsgXCItXCIgKyAkc2V0LXR5cGUgKyAkaW1hZ2UtZXh0KTsgXHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuQG1peGluIGltYWdlLXF1ZXJ5LWRlc2stZGVmYXVsdCgkaW1hZ2UtbmFtZSwgJGltYWdlLWV4dCwgJHNldC10eXBlLCAkaW1hZ2UtbWluLXdpZHRoKSB7XHJcbiAgICBcclxuICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvXCIgKyAkaW1hZ2UtbmFtZSsgXCItXCIgKyAkc2V0LXR5cGUgKyAkaW1hZ2UtZXh0KTtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRpbWFnZS1taW4td2lkdGgpeyBcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9cIiArICRpbWFnZS1uYW1lKyBcIi1kLVwiICsgJGltYWdlLW1pbi13aWR0aCArICRpbWFnZS1leHQpOyBcclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG5AbWl4aW4gaW1hZ2UtcXVlcnktSGlEUEkoJGltYWdlLW5hbWUsICRpbWFnZS1leHQsICRzZXQtdHlwZSwgJGltYWdlLW1pbi13aWR0aCwgJHBpeGVsLXJhdGlvKSB7XHJcbiAgICBAbWVkaWFcclxuICAgIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcGl4ZWwtcmF0aW8pICAgICAgICAgICAgIGFuZCAobWluLXdpZHRoOiAkaW1hZ2UtbWluLXdpZHRoKSxcclxuICAgIG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAkcGl4ZWwtcmF0aW8pICAgICAgICAgICAgIGFuZCAobWluLXdpZHRoOiAkaW1hZ2UtbWluLXdpZHRoKSxcclxuICAgIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcGl4ZWwtcmF0aW8vMSkgICAgICAgICAgIGFuZCAobWluLXdpZHRoOiAkaW1hZ2UtbWluLXdpZHRoKSxcclxuICAgIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcGl4ZWwtcmF0aW8pICAgICAgICAgICAgIGFuZCAobWluLXdpZHRoOiAkaW1hZ2UtbWluLXdpZHRoKSxcclxuICAgIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAkcGl4ZWwtcmF0aW8qOTYrJ2RwaScpICAgIGFuZCAobWluLXdpZHRoOiAkaW1hZ2UtbWluLXdpZHRoKSxcclxuICAgIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAkcGl4ZWwtcmF0aW8rJ2RwcHgnKSAgICAgIGFuZCAobWluLXdpZHRoOiAkaW1hZ2UtbWluLXdpZHRoKSB7IFxyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9cIiArICRpbWFnZS1uYW1lICsgXCItXCIgKyAkc2V0LXR5cGUgKyBcIi1cIiskcGl4ZWwtcmF0aW8rXCJ4XCIgKyAkaW1hZ2UtZXh0KTsgXHJcblxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbiIsIi8qIENTUyBEb2N1bWVudCAqL1xyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdCZWJhc05ldWUnO1xyXG4gIHNyYzogdXJsKCcuLi9mb250cy9CZWJhc05ldWUtUmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAgXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL0JlYmFzTmV1ZS1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL0JlYmFzTmV1ZS1SZWd1bGFyLnR0ZicpICBmb3JtYXQoJ3RydWV0eXBlJyksIFxyXG4gICAgICAgdXJsKCcuLi9mb250cy9CZWJhc05ldWUtUmVndWxhci5zdmcjQmViYXNOZXVlLVJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0FudG9uJztcclxuICBzcmM6IHVybCgnLi4vZm9udHMvYW50b24tcmVndWxhci13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksICBcclxuICAgICAgIHVybCgnLi4vZm9udHMvYW50b24tcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL2FudG9uLXJlZ3VsYXItd2ViZm9udC50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpLCBcclxuICAgICAgIHVybCgnLi4vZm9udHMvYW50b24tcmVndWxhci13ZWJmb250LnN2ZyNhbnRvbi1yZWd1bGFyLXdlYmZvbnQnKSBmb3JtYXQoJ3N2ZycpO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG4vKiBFTkQgZm9yIFNPSEYgY2FtcGFpZ24gLSB1bmxpbmsgb25jZSBjYW1wYWduIGZpbmlzaGVzICovXHJcblxyXG5cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhTmV1ZSc7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0hlbHZldGljYU5ldWUtTWVkaXVtLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksICBcclxuICAgICAgIHVybCgnLi4vZm9udHMvSGVsdmV0aWNhTmV1ZS1NZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpLCBcclxuICAgICAgIHVybCgnLi4vZm9udHMvSGVsdmV0aWNhTmV1ZS1NZWRpdW0udHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL0hlbHZldGljYU5ldWUtTWVkaXVtLnN2ZyNIZWx2ZXRpY2FOZXVlLU1lZGl1bScpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhTmV1ZSc7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0hlbHZldGljYU5ldWUtQm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAgXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL0hlbHZldGljYU5ldWUtQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIFxyXG4gICAgICAgdXJsKCcuLi9mb250cy9IZWx2ZXRpY2FOZXVlLUJvbGQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL0hlbHZldGljYU5ldWUtQm9sZC5zdmcjSGVsdmV0aWNhTmV1ZS1Cb2xkJykgZm9ybWF0KCdzdmcnKTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnQXZlbmlyTmV4dCc7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0F2ZW5pck5leHRMVFByby1SZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksICBcclxuICAgICAgIHVybCgnLi4vZm9udHMvQXZlbmlyTmV4dExUUHJvLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLCBcclxuICAgICAgIHVybCgnLi4vZm9udHMvQXZlbmlyTmV4dExUUHJvLVJlZ3VsYXIudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL0F2ZW5pck5leHRMVFByby1SZWd1bGFyLnN2ZyNBdmVuaXJOZXh0TFRQcm8tUmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnQXZlbmlyTmV4dCc7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0F2ZW5pck5leHRMVFByby1Cb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksICBcclxuICAgICAgIHVybCgnLi4vZm9udHMvQXZlbmlyTmV4dExUUHJvLUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLCBcclxuICAgICAgIHVybCgnLi4vZm9udHMvQXZlbmlyTmV4dExUUHJvLUJvbGQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL0F2ZW5pck5leHRMVFByby1Cb2xkLnN2ZyNBdmVuaXJOZXh0TFRQcm8tQm9sZCcpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59IiwiXHJcblxyXG5ib2R5e1xyXG4gICAgbWFyZ2luOiAwOyAgXHJcbiAgICBmb250LWZhbWlseTogXCJCZWJhc05ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJzYW5zLXNlcmlmXCI7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbmgxLGgyLGgzLGg0LGg1LGg2e1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuXHJcbmgxLGgyLGgze1xyXG4gICBmb250LXNpemU6IGdldGdkZW0oNTQpOyBcclxuICAgbWFyZ2luLWJvdHRvbTogZ2V0cGVyYyg1MiwxOTIwKTtcclxufVxyXG5cclxuYXtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG59XHJcblxyXG5mb3Jte1xyXG4gICAgPmRpdntcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdWItY29udGFpbmVye1xyXG4gICAgbWFyZ2luLXRvcDogMWVtO1xyXG59XHJcblxyXG4uc3VibWl0e1xyXG4gICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5sYWJlbHtcclxuICAgIGZvbnQtc2l6ZTogZ2V0Z2RlbSgzNyk7XHJcbn1cclxuXHJcbi50ZXh0LWlucHV0e1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgZm9udC1mYW1pbHk6IFwiQmViYXNOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIFwic2Fucy1zZXJpZlwiO1xyXG4gICAgcGFkZGluZzogMC44ZW0gMWVtO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmVycm9ye1xyXG4gICAgY29sb3I6ICNmZjAwMDA7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmYwMDAwO1xyXG59XHJcblxyXG4uYnV0dG9ue1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgcGFkZGluZzogMC40ZW0gMWVtIDAuMjVlbSAxZW07XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBtaW4td2lkdGg6IDVlbTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtc2l6ZTogZ2V0Z2RlbSgzMyk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBmb250LWZhbWlseTogXCJCZWJhc05ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJzYW5zLXNlcmlmXCI7XHJcbiAgICBcclxuICAgICYuYmxhY2t7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJi5sYXJnZXtcclxuICAgICAgICBmb250LXNpemU6IGdldGdkZW0oMzIpOyBcclxuICAgIH1cclxuICAgIFxyXG4gICAgXHJcbn1cclxuXHJcbm1haW57XHJcbiAgICBwYWRkaW5nOiAgZ2V0cGVyYyg1MCwxOTIwKSBnZXRwZXJjKDgyLDE5MjApIGdldHBlcmMoODIsMTkyMCkgZ2V0cGVyYyg4MiwxOTIwKTsgXHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbnNlY3Rpb257XHJcbiAgICBtYXJnaW4tYm90dG9tOiBnZXRwZXJjKDgyLDE5MjApO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLndyYXBwZXJ7XHJcbiAgICBwYWRkaW5nLXRvcDogMy42ZW07XHJcbn1cclxuXHJcbmltZ3tcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLndoaXRlLWJne1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG5oZWFkZXJ7ICAgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHotaW5kZXg6IDEwMDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xyXG4gICAgYm94LXNoYWRvdzogMGVtIDBlbSAxZW0gcmdiYSgwLDAsMCwwLjUpO1xyXG4gICAgLy9taW4taGVpZ2h0OiAzLjZlbTtcclxuICAgIFxyXG4gICAgPmRpdntcclxuICAgICAgICBwYWRkaW5nOiBnZXRwZXJjKDUsMTc1NikgZ2V0cGVyYyg4MiwxOTIwKTtcclxuICAgIH1cclxufVxyXG5cclxuLmxvZ28tY250YWluZXJ7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiA4MCU7XHJcbn1cclxuXHJcbmJ1dHRvbi5oYW1idXJnZXJ7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tdG9wOiAwZW07XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHotaW5kZXg6IDE1MDtcclxufVxyXG5cclxuXHJcbi5zb2NpYWwtYm94e1xyXG4gICAgcGFkZGluZzogZ2V0cGVyYygxMjAsMTkyMCkgZ2V0cGVyYyg4MiwxOTIwKSBnZXRwZXJjKDIwLDE5MjApIGdldHBlcmMoODIsMTkyMCk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBcclxuICAgIGgze1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICAgIH1cclxufVxyXG5cclxuZm9vdGVye1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBwYWRkaW5nOiBnZXRwZXJjKDYwLDE5MjApIGdldHBlcmMoODIsMTkyMCk7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgXHJcbiAgICBhe1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICAgIFxyXG59XHJcbiAgICBcclxuLnN1Yi1mb290ZXJ7XHJcbiAgICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgXCJzYW5zLXNlcmlmXCI7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMmVtICNmZmY7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMmVtIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtcclxuICAgIHBhZGRpbmc6IGdldHBlcmMoMzAsMTkyMCkgZ2V0cGVyYyg4MiwxOTIwKTtcclxufVxyXG5cclxuLmNvcHlyaWdodHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBcInNhbnMtc2VyaWZcIjtcclxuICAgIGZvbnQtc2l6ZTogZ2V0Z2RlbSgyNCk7XHJcbn1cclxuXHJcbi5mb290ZXItbWVudXtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkJlYmFzTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBcInNhbnMtc2VyaWZcIjtcclxuICAgIFxyXG4gICAgYXtcclxuICAgICAgICBtYXJnaW46IDAgMC4yNWVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLWxvZ297XHJcbiAgICBtYXJnaW4tYm90dG9tOiBnZXRnZGVtKDM1KTtcclxuICAgIFxyXG4gICAgaW1ne1xyXG4gICAgICAgIHdpZHRoOiBnZXRnZGVtKDI0Mik7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGxlZnQ6IGdldGdkZW0oMzQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc29jaWFsLWNvbnRhaW5lcntcclxuICAgIG1hcmdpbi10b3A6IGdldGdkZW0oMzUpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogZ2V0Z2RlbSgzNSk7XHJcbiAgICBcclxuICAgIGltZ3tcclxuICAgICAgICB3aWR0aDogZ2V0Z2RlbSg2NCk7IFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBhe1xyXG4gICAgICAgIG1hcmdpbjogMCAwLjVlbTtcclxuICAgIH1cclxufVxyXG5cclxuLnBsZWRnZS1sYXJnZXtcclxuICAgIGZvbnQtc2l6ZTogNGVtO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5kaXYuYmFubmVye1xyXG4gICAgLy9taW4taGVpZ2h0OiAyOWVtO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgXHJcbiAgICAmLnNlbGYtc2l6ZXtcclxuICAgICAgICBwYWRkaW5nLXRvcDogZ2V0cGVyYygxMjQyLDEzMTIpOyBcclxuICAgIH1cclxuICAgIFxyXG4gICAgPmRpdi5wYWdlLWhlYWRpbmctdGV4dHtcclxuICAgICAgICBwYWRkaW5nOiBnZXRwZXJjKDQwLDE5MjApIGdldHBlcmMoODIsMTkyMCk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICA+ZGl2LnBsZWRnZXN7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwZW07XHJcbiAgICAgICAgbWFyZ2luLXRvcDogZ2V0cGVyYyg2MiwxOTIwKTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGdldHBlcmMoODIsMTkyMCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgID5kaXYuaG9tZS10ZXh0e1xyXG4gICAgICAgIHBhZGRpbmc6IDhlbSBnZXRwZXJjKDgyLDE5MjApIGdldHBlcmMoODIsMTkyMCkgZ2V0cGVyYyg4MiwxOTIwKTtcclxuICAgICAgICBcclxuICAgICAgICA+aDF7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgID5we1xyXG4gICAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZGl2LndoaXRlLWNvbnRhaW5lcntcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbnVse1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwLjhlbTtcclxufVxyXG5cclxubGkuZXJyb3J7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbm5hdi5tZW51e1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHM7XHJcbiAgICBib3gtc2hhZG93OiAwZW0gMGVtIDFlbSByZ2JhKDAsMCwwLDAuNSk7XHJcbiAgICB6LWluZGV4OiA5OTtcclxuICAgIFxyXG4gICAgJi5vcGVue1xyXG4gICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKTtcclxuICAgIH0gXHJcbiAgICBcclxuICAgIFxyXG4gICAgdWx7XHJcbiAgICAgICAgbWFyZ2luOiAzLjZlbSAwIDAgMDsgXHJcbiAgICAgICAgcGFkZGluZzogMmVtIDFlbTtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGxpe1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjc1ZW0gMS41ZW07XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZ2V0Z2VtKDMyKTtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA+YXtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1lbnUtY2xvc2VyLWJne1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogOTg7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgXHJcbiAgICAmLmFjdGl2ZXtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLnNwbGl0LXNlY3Rpb257XHJcbiAgICAuc3BsaXR7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBwYWRkaW5nOmdldHBlcmMoODIsMTkyMCk7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgaGVpZ2h0OiBnZXRnZGVtKDQ5MCk7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBnZXRwZXJjKDgyLDE5MjApO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZDhkN2Q2O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgID5kaXZ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgID5kaXZ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBsZWRnZXN7XHJcbiAgICBtYXJnaW46IGdldGdkZW0oNjApIGF1dG87XHJcbiAgICBwYWRkaW5nOiBnZXRnZGVtKDEyKTtcclxuICAgIGJvcmRlcjpnZXRnZGVtKDMpIHNvbGlkICNmZmY7XHJcbiAgICBtYXgtd2lkdGg6IGdldGdkZW0oNTAwKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgXHJcbiAgICAucGxlZGdlLW51bWJlcntcclxuICAgICAgICBmb250LXNpemU6IGdldGdkZW0oOTApXHJcbiAgICB9XHJcbn1cclxuXHJcbi50aHJlZS1wYXJ0e1xyXG4gICAgbWFyZ2luLWxlZnQ6IGdldGdkZW0oLTgyLzQpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBnZXRnZGVtKC04Mi80KTtcclxuICAgIFxyXG4gICAgaDN7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogZ2V0Z2RlbSg4Mi80KSAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZ2V0Z2RlbSg0MCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICBcclxuICAgID5kaXZ7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBwYWRkaW5nOmdldGdkZW0oKDgyLzQpLTUpO1xyXG4gICAgICAgIFxyXG4gICAgICAgID5kaXZ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6Z2V0Z2RlbSg4Mi8yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50d28tcGFydHtcclxuICAgIG1hcmdpbi1sZWZ0OiBnZXRnZGVtKC04Mi80KTtcclxuICAgIG1hcmdpbi1yaWdodDogZ2V0Z2RlbSgtODIvNCk7XHJcbiAgICBcclxuICAgIGgze1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IGdldGdkZW0oODIvNCkgMDtcclxuICAgICAgICBmb250LXNpemU6IGdldGdkZW0oNDApO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwe1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICA+ZGl2e1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgcGFkZGluZzpnZXRnZGVtKCg4Mi80KS01KTtcclxuICAgICAgICBcclxuICAgICAgICA+ZGl2e1xyXG4gICAgICAgICAgICBwYWRkaW5nOmdldGdkZW0oODIvMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIGltZ3tcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGhyZWUtcGFydC1mbHVzaHtcclxuICAgIG1hcmdpbi1sZWZ0OiBnZXRnZGVtKC04Mi80KTtcclxuICAgIG1hcmdpbi1yaWdodDogZ2V0Z2RlbSgtODIvNCk7XHJcbiAgICBcclxuICAgIGgze1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IGdldGdkZW0oODIvNCkgMDtcclxuICAgICAgICBmb250LXNpemU6IGdldGdkZW0oNDApO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDpnZXRnZGVtKDgyLzIpO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6Z2V0Z2RlbSg4Mi8yKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6Z2V0Z2RlbSg4Mi8yKTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OmdldGdkZW0oODIvMik7XHJcbiAgICB9XHJcbiAgICBcclxuICAgID5kaXZ7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBwYWRkaW5nOmdldGdkZW0oKDgyLzQpLTUpO1xyXG4gICAgICAgIFxyXG4gICAgICAgID5kaXZ7XHJcbiAgICAgICAgICAgcGFkZGluZy1ib3R0b206Z2V0Z2RlbSg4Mi8yKTsgXHJcbiAgICAgICAgICAgICYubm8tcGFke1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRoYW5rc3tcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIFxyXG4gICAgaDJ7XHJcbiAgICAgICAgZm9udC1zaXplOiBnZXRnZGVtKDg4KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNWVtOyBcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHtcclxuICAgICAgICBtYXJnaW46IDAgMTUlXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC50eS1idXR0b24tY29udGFpbmVye1xyXG4gICAgICAgIG1hcmdpbjogZ2V0Z2RlbSg4Mi8yKSAwOyBcclxuICAgICAgICA+YXtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAuNWVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo1NjRweCl7XHJcbiAgICBoZWFkZXJ7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgfVxyXG59IiwiIiwiLyogVGFibGV0IENTUyAgKi9cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpe1xyXG4gICAgXHJcbiAgICBkaXYuYmFubmVye1xyXG4gICAgICAgID5kaXYuaG9tZS10ZXh0e1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBnZXRnZGVtKDI4MCkgZ2V0cGVyYyg4MiwxOTIwKSBnZXRwZXJjKDgyLDE5MjApIGdldHBlcmMoODIsMTkyMCk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA+aDF7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID5we1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDU1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLnNlbGYtc2l6ZXtcclxuICAgICAgICBwYWRkaW5nLXRvcDogZ2V0cGVyYyg1MDcsMTkyMCk7IFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgPmRpdi5wbGVkZ2Vze1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMGVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBnZXRwZXJjKDU2LDE5MjApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLnNwbGl0LXNlY3Rpb257XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBcclxuICAgICAgICAuc3BsaXR7XHJcbiAgICAgICAgICAgIHdpZHRoOiBnZXRwZXJjKCgxOTIwLzIpLSg4Mi8yKSwxOTIwKTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLnNwbGl0LXJ7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC50aHJlZS1wYXJ0e1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgXHJcbiAgICAgICAgPmRpdntcclxuICAgICAgICAgICAgd2lkdGg6IDMzLjMzJTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA+ZGl2e1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC50aHJlZS1wYXJ0LWZsdXNoe1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgXHJcbiAgICAgICAgPmRpdntcclxuICAgICAgICAgICAgd2lkdGg6IDMzLjMzJTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA+ZGl2e1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zb2NpYWwtYm94e1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLndvbC10ZXh0e1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHdpZHRoOiA1NCU7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogRGVza3RvcCBDU1MgKi9cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTAyNHB4KXtcclxuICAgIGJ1dHRvbi5oYW1idXJnZXJ7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmxvZ28tY250YWluZXJ7XHJcbiAgICAgICAgd2lkdGg6IGdldHBlcmMoNDE4LDE3NTYpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5sb2dve1xyXG4gICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgbmF2Lm1lbnV7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSk7XHJcblxyXG4gICAgICAgIHVse1xyXG4gICAgICAgICAgICBtYXJnaW46IDAuOTNlbSAwIDAgMDsgXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMjVlbSBnZXRnZGVtKDgyKSAwLjI1ZW0gMC4yNWVtO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVlbSAwLjVlbTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZ2V0Z2RlbSgzMik7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPmF7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBkaXYuYmFubmVye1xyXG4gICAgICAgID5kaXYuaG9tZS10ZXh0e1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBnZXRnZGVtKDM3MCkgZ2V0cGVyYyg4MiwxOTIwKSBnZXRwZXJjKDgyLDE5MjApIGdldHBlcmMoODIsMTkyMCk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA+aDF7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+cHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zcGxpdC1zZWN0aW9ue1xyXG4gICAgICAgIC5zcGxpdHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBnZXRnZGVtKDc4MCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAudHdvLXBhcnR7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBcclxuICAgICAgICA+ZGl2e1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgID5kaXZ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjgwcHgpe1xyXG4gICAgLndyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzLjNlbTtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNDQwcHgpe1xyXG4gICAgXHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTkyMHB4KXtcclxuICAgXHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG4vKiFcclxuICogSGFtYnVyZ2Vyc1xyXG4gKiBAZGVzY3JpcHRpb24gVGFzdHkgQ1NTLWFuaW1hdGVkIGhhbWJ1cmdlcnNcclxuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxyXG4gKiBAc2l0ZSBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vyc1xyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcclxuICovXHJcblxyXG4vLyBTZXR0aW5nc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4kaGFtYnVyZ2VyLXBhZGRpbmcteCAgICAgICAgICAgOiAwLjgyZW0gIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItcGFkZGluZy15ICAgICAgICAgICA6IDAuODJlbSAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci13aWR0aCAgICAgICAgIDogMi41ZW0gIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICAgICAgICA6IDAuMmVtICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgICAgICAgOiAwLjVlbSAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzIDogMC4yNWVtICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgICAgICAgOiAxICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvciAgOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1vcGFjaXR5OiAkaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgIWRlZmF1bHQ7XHJcblxyXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXHJcbi8vIHNldCAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgYXMgdHJ1ZSBhbmRcclxuLy8gY2hhbmdlIHRoZSB2YWx1ZSBvZiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciBhY2NvcmRpbmdseS5cclxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyICAgOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgICAgICAgOiBvcGFjaXR5KDUwJSkgIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItYWN0aXZlLWhvdmVyLWZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgIWRlZmF1bHQ7XHJcblxyXG4vLyBUeXBlcyAoUmVtb3ZlIG9yIGNvbW1lbnQgb3V0IHdoYXQgeW91IGRvbuKAmXQgbmVlZClcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuJGhhbWJ1cmdlci10eXBlczogKFxyXG4gIDNkeCxcclxuICAzZHgtcixcclxuICAzZHksXHJcbiAgM2R5LXIsXHJcbiAgM2R4eSxcclxuICAzZHh5LXIsXHJcbiAgYXJyb3csXHJcbiAgYXJyb3ctcixcclxuICBhcnJvd2FsdCxcclxuICBhcnJvd2FsdC1yLFxyXG4gIGFycm93dHVybixcclxuICBhcnJvd3R1cm4tcixcclxuICBib3JpbmcsXHJcbiAgY29sbGFwc2UsXHJcbiAgY29sbGFwc2UtcixcclxuICBlbGFzdGljLFxyXG4gIGVsYXN0aWMtcixcclxuICBlbXBoYXRpYyxcclxuICBlbXBoYXRpYy1yLFxyXG4gIG1pbnVzLFxyXG4gIHNsaWRlcixcclxuICBzbGlkZXItcixcclxuICBzcGluLFxyXG4gIHNwaW4tcixcclxuICBzcHJpbmcsXHJcbiAgc3ByaW5nLXIsXHJcbiAgc3RhbmQsXHJcbiAgc3RhbmQtcixcclxuICBzcXVlZXplLFxyXG4gIHZvcnRleCxcclxuICB2b3J0ZXgtclxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gQmFzZSBIYW1idXJnZXIgKFdlIG5lZWQgdGhpcylcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQGltcG9ydCBcImJhc2VcIjtcclxuXHJcbi8vIEhhbWJ1cmdlciB0eXBlc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AaW1wb3J0IFwidHlwZXMvM2R4XCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy8zZHgtclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvM2R5XCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy8zZHktclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvM2R4eVwiO1xyXG5AaW1wb3J0IFwidHlwZXMvM2R4eS1yXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd1wiO1xyXG5AaW1wb3J0IFwidHlwZXMvYXJyb3ctclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHRcIjtcclxuQGltcG9ydCBcInR5cGVzL2Fycm93YWx0LXJcIjtcclxuQGltcG9ydCBcInR5cGVzL2Fycm93dHVyblwiO1xyXG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuLXJcIjtcclxuQGltcG9ydCBcInR5cGVzL2JvcmluZ1wiO1xyXG5AaW1wb3J0IFwidHlwZXMvY29sbGFwc2VcIjtcclxuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlLXJcIjtcclxuQGltcG9ydCBcInR5cGVzL2VsYXN0aWNcIjtcclxuQGltcG9ydCBcInR5cGVzL2VsYXN0aWMtclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWNcIjtcclxuQGltcG9ydCBcInR5cGVzL2VtcGhhdGljLXJcIjtcclxuQGltcG9ydCBcInR5cGVzL21pbnVzXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXJcIjtcclxuQGltcG9ydCBcInR5cGVzL3NsaWRlci1yXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9zcGluXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9zcGluLXJcIjtcclxuQGltcG9ydCBcInR5cGVzL3NwcmluZ1wiO1xyXG5AaW1wb3J0IFwidHlwZXMvc3ByaW5nLXJcIjtcclxuQGltcG9ydCBcInR5cGVzL3N0YW5kXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9zdGFuZC1yXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9zcXVlZXplXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXhcIjtcclxuQGltcG9ydCBcInR5cGVzL3ZvcnRleC1yXCI7XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBDb29raW5nIHVwIGFkZGl0aW9uYWwgdHlwZXM6XHJcbi8vXHJcbi8vIFRoZSBTYXNzIGZvciBlYWNoIGhhbWJ1cmdlciB0eXBlIHNob3VsZCBiZSBuZXN0ZWRcclxuLy8gaW5zaWRlIGFuIEBpZiBkaXJlY3RpdmUgdG8gY2hlY2sgd2hldGhlciBvciBub3RcclxuLy8gaXQgZXhpc3RzIGluICRoYW1idXJnZXItdHlwZXMgc28gb25seSB0aGUgQ1NTIGZvclxyXG4vLyBpbmNsdWRlZCB0eXBlcyBhcmUgZ2VuZXJhdGVkLlxyXG4vL1xyXG4vLyBlLmcuIGhhbWJ1cmdlcnMvdHlwZXMvX25ldy10eXBlLnNjc3NcclxuLy9cclxuLy8gQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIG5ldy10eXBlKSB7XHJcbi8vICAgLmhhbWJ1cmdlci0tbmV3LXR5cGUge1xyXG4vLyAgICAgLi4uXHJcbi8vICAgfVxyXG4vLyB9XHJcbiIsIi8vIEhhbWJ1cmdlclxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4uaGFtYnVyZ2VyIHtcclxuICBwYWRkaW5nOiAkaGFtYnVyZ2VyLXBhZGRpbmcteSAkaGFtYnVyZ2VyLXBhZGRpbmcteDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuXHJcbiAgLy8gTm9ybWFsaXplICg8YnV0dG9uPilcclxuICBmb250OiBpbmhlcml0O1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBcclxuICAmOmZvY3VzIHtvdXRsaW5lOjA7fVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIEBpZiAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgPT0gdHJ1ZSB7XHJcbiAgICAgIGZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXI7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyID09IHRydWUge1xyXG4gICAgICAgIGZpbHRlcjogJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItZmlsdGVyO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1vcGFjaXR5O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmhhbWJ1cmdlci1pbm5lcixcclxuICAgIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcclxuICAgIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1hY3RpdmUtbGF5ZXItY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaGFtYnVyZ2VyLWJveCB7XHJcbiAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XHJcbiAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDMgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5oYW1idXJnZXItaW5uZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gLTI7XHJcblxyXG4gICYsXHJcbiAgJjo6YmVmb3JlLFxyXG4gICY6OmFmdGVyIHtcclxuICAgIHdpZHRoOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItbGF5ZXItY29sb3I7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXM7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcclxuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xyXG4gIH1cclxuXHJcbiAgJjo6YmVmb3JlLFxyXG4gICY6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcclxuICB9XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIGJvdHRvbTogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4KSB7XG4gIC8qXG4gICAqIDNEWFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4IHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHgtcikge1xuICAvKlxuICAgKiAzRFggUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4LXIge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHkpIHtcbiAgLypcbiAgICogM0RZXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHkge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKC0xODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHktcikge1xuICAvKlxuICAgKiAzRFkgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R5LXIge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeHkpIHtcbiAgLypcbiAgICogM0RYWVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4eSB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGVZKDE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeHktcikge1xuICAvKlxuICAgKiAzRFhZIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeHktciB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGVZKDE4MGRlZykgcm90YXRlWigtMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3cpIHtcbiAgLypcbiAgICogQXJyb3dcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93LmlzLWFjdGl2ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yLCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvdy1yKSB7XG4gIC8qXG4gICAqIEFycm93IFJpZ2h0XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvdy1yLmlzLWFjdGl2ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjIsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjIsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3dhbHQpIHtcbiAgLypcbiAgICogQXJyb3cgQWx0XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvd2FsdCB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMjUsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yNSwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93YWx0LXIpIHtcbiAgLypcbiAgICogQXJyb3cgQWx0IFJpZ2h0XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvd2FsdC1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjI1LCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjI1LCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93dHVybikge1xuICAvKlxuICAgKiBBcnJvdyBUdXJuXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvd3R1cm4uaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDhweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93dHVybi1yKSB7XG4gIC8qXG4gICAqIEFycm93IFR1cm4gUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93dHVybi1yLmlzLWFjdGl2ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLThweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGJvcmluZykge1xuICAvKlxuICAgKiBCb3JpbmdcbiAgICovXG4gIC5oYW1idXJnZXItLWJvcmluZyB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmLFxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGNvbGxhcHNlKSB7XG4gIC8qXG4gICAqIENvbGxhcHNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIDAuMjJzIGxpbmVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGNvbGxhcHNlLXIpIHtcbiAgLypcbiAgICogQ29sbGFwc2UgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tY29sbGFwc2UtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTEsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4yMnMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTZzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbGFzdGljKSB7XG4gIC8qXG4gICAqIEVsYXN0aWNcbiAgICovXG4gIC5oYW1idXJnZXItLWVsYXN0aWMge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI3NXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xMjVzIDAuMjc1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI3NXMgY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSgtMjcwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbGFzdGljLXIpIHtcbiAgLypcbiAgICogRWxhc3RpYyBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI3NXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xMjVzIDAuMjc1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI3NXMgY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbXBoYXRpYykge1xuICAvKlxuICAgKiBFbXBoYXRpY1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICByaWdodCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMTI1cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVtcGhhdGljLXIpIHtcbiAgLypcbiAgICogRW1waGF0aWMgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMtciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTIsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4xMjVzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgbWludXMpIHtcbiAgLypcbiAgICogTWludXNcbiAgICovXG4gIC5oYW1idXJnZXItLW1pbnVzIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDhzIDBzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wOHMgMHMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMHMgbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA4cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wOHMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwcyAwLjA4cyBsaW5lYXI7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc2xpZGVyKSB7XG4gIC8qXG4gICAqIFNsaWRlclxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc2xpZGVyIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0LCAwKSByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoIC8gLTcsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIC0xLCAwKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc2xpZGVyLXIpIHtcbiAgLypcbiAgICogU2xpZGVyIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXNsaWRlci1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0LCAwKSByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoIC8gNywgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogLTEsIDApO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQgKiAtMiwgMCkgcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwaW4pIHtcbiAgLypcbiAgICogU3BpblxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3BpbiB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjIycztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4yNXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4yNXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMjJzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIDAuMTJzIGVhc2Utb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwaW4tcikge1xuICAvKlxuICAgKiBTcGluIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXNwaW4tciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjIycztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4yNXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4yNXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMjJzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjI1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjEycyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwcmluZykge1xuICAvKlxuICAgKiBTcHJpbmdcbiAgICovXG4gIC5oYW1idXJnZXItLXNwcmluZyB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMHMgMC4xM3MgbGluZWFyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTVzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgMC4yMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwcmluZy1yKSB7XG4gIC8qXG4gICAqIFNwcmluZyBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcHJpbmctciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDBzIGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwcyAwLjIycyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHN0YW5kKSB7XG4gIC8qXG4gICAqIFN0YW5kXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zdGFuZCB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjA3NXMgbGluZWFyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzdGFuZC1yKSB7XG4gIC8qXG4gICAqIFN0YW5kIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXN0YW5kLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4wNzVzIGxpbmVhcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjA3NXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xNXMgbGluZWFyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNxdWVlemUpIHtcbiAgLypcbiAgICogU3F1ZWV6ZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3F1ZWV6ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjA3NXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xMnMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjA3NXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMTJzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMDc1cyAwLjEycyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgdm9ydGV4KSB7XG4gIC8qXG4gICAqIFZvcnRleFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tdm9ydGV4IHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIG9wYWNpdHk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDc2NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCB2b3J0ZXgtcikge1xuICAvKlxuICAgKiBWb3J0ZXggUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgb3BhY2l0eTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3R0b20sIHRyYW5zZm9ybTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTc2NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKlxyXG5cclxuICAgIEljb25zIHByb3ZpZGVkIGJ5IGljb21vb24uaW9cclxuXHRcclxuXHRUaGlzIHNlY3Rpb24gYXMgd2VsbCBhcyB0aGUgXCJpY29uc1wiIGZvbGRlciBjYW4gYmUgcmVtb3ZlZCBpZiB1c2luZyBvdGhlciBjdXRvbSBpY29ucyBzdWNoIGFzIGZvbnRhd3NvbWUgaWNvbnMuXHJcblxyXG4qL1xyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ2NoZWNrcmFkaW9zLWljb25zJztcclxuXHRzcmM6dXJsKCcvYXNzZXRzL2ZvbnRzL2ljb25zL2ljb21vb24uZW90Py04YWFmem8nKTtcclxuXHRzcmM6dXJsKCcvYXNzZXRzL2ZvbnRzL2ljb25zL2ljb21vb24uZW90PyNpZWZpeC04YWFmem8nKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy9hc3NldHMvZm9udHMvaWNvbnMvaWNvbW9vbi53b2ZmPy04YWFmem8nKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHRcdHVybCgnL2Fzc2V0cy9mb250cy9pY29ucy9pY29tb29uLnR0Zj8tOGFhZnpvJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG5cdFx0dXJsKCcvYXNzZXRzL2ZvbnRzL2ljb25zL2ljb21vb24uc3ZnPy04YWFmem8jaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbi5pY29uLWNoZWNrcmFkaW9zLWNoZWNrbWFyaywgLmljb24tY2hlY2tyYWRpb3MtY2lyY2xle1xyXG5cdGZvbnQtZmFtaWx5OiAnY2hlY2tyYWRpb3MtaWNvbnMnO1xyXG5cdHNwZWFrOiBub25lO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgXHJcblx0XHJcblx0LyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXHJcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxuXHJcbi8qSWNvbiBQbGFjZWhvbGRlciovXHJcbi5jaGVja3JhZGlvcy1jaGVja2JveDphZnRlciwuY2hlY2tyYWRpb3MtcmFkaW86YWZ0ZXJ7XHJcbiAgICBcclxuXHRjb250ZW50OlwiXCI7XHJcblx0aGVpZ2h0OjEwMCU7XHJcblx0d2lkdGg6MTAwJTtcclxuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRkaXNwbGF5OmJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOmJvdHRvbTtcclxuXHJcbn1cclxuXHJcbi8qSWNvbnMqL1xyXG4uY2hlY2tyYWRpb3MtY2hlY2tib3guaWNvbi1jaGVja3JhZGlvcy1jaGVja21hcms6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZTYwMFwiO1xyXG4gICAgY29sb3I6IzAwNjZhZDtcclxufVxyXG5cclxuLmNoZWNrcmFkaW9zLWNoZWNrYm94Lmljb24tY2hlY2tyYWRpb3MtY2lyY2xlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU2MDFcIjtcclxuICAgIGNvbG9yOiMwMDY2YWQ7XHJcbn1cclxuXHJcbi5jaGVja3JhZGlvcy1jaGVja2JveDpiZWZvcmV7XHJcbiAgICBjb250ZW50OiBcIlxcZTYwMFwiO1xyXG4gICAgY29sb3I6dHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5jaGVja3JhZGlvcy1yYWRpbzpiZWZvcmV7XHJcbiAgICBjb250ZW50OiBcIlxcZTYwMVwiO1xyXG4gICAgY29sb3I6dHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcblxyXG5cclxuLyppY29tb29uIHNlY3Rpb24gZW5kKi9cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuICAgIERlZmF1bHQgU3R5bGVzIGZvciBjaGVja3JhZGlvc1xyXG5cdFxyXG4qL1xyXG4uY2hlY2tyYWRpb3MtY2hlY2tib3gsIC5jaGVja3JhZGlvcy1yYWRpb3tcclxuICAgIGZvbnQtZmFtaWx5OiAnY2hlY2tyYWRpb3MtaWNvbnMnO1xyXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOmJvdHRvbTtcclxuXHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRib3JkZXI6IHNvbGlkICM3OTc5NzkgZ2V0Z2VtKDMpO1xyXG5cdFxyXG5cdHdpZHRoOjFlbTtcclxuXHRoZWlnaHQ6MWVtO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRwYWRkaW5nOjAuMmVtO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcclxuICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcblx0XHJcblx0LW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuXHQtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG5cdG92ZXJmbG93OmhpZGRlbjtcclxufVxyXG5cclxuICAgICBcclxuLmNoZWNrcmFkaW9zLWNoZWNrYm94e1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAvL21hcmdpbi1ib3R0b206IDFlbTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uY2hlY2tyYWRpb3MtcmFkaW97XHJcblxyXG5cdC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHJcbn1cclxuXHJcbi8qRm9jdXMqL1xyXG4uY2hlY2tyYWRpb3MtY2hlY2tib3guZm9jdXMsIC5jaGVja3JhZGlvcy1yYWRpby5mb2N1c3tcclxuXHJcbn1cclxuXHJcbi8qSGlkZSBvcmlnaW5hbCovXHJcbi5jaGVja3JhZGlvcy1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNoZWNrcmFkaW9zLXJhZGlvIGlucHV0W3R5cGU9cmFkaW9de1xyXG4gICAgXHJcblx0bWFyZ2luOjA7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0dG9wOjA7XHJcblx0bGVmdDotOTk5OSU7XHJcblx0d2lkdGg6MTAwJTtcclxuXHRoZWlnaHQ6MTAwJTtcclxuXHRcclxuXHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHR2ZXJ0aWNhbC1hbGlnbjpib3R0b207XHJcblxyXG59XHJcblxyXG5cclxuLypEZWZhdWx0IHN0eWxlcyBzZWN0aW9uIGVuZCovXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCJcclxuI2hvbWUtaW50cm8tYmFubmVye1xyXG4gICAgQGluY2x1ZGUgc2V0LWNyb3NzZGl2aWNlLWltYWdlKCdiYW5uZXItaG9tZScsICcuanBnJyk7XHJcbn1cclxuXHJcbi5zbGl0LWltYWdlLTF7XHJcbiAgICBAaW5jbHVkZSBzZXQtY3Jvc3NkaXZpY2UtaW1hZ2UoJ2dldC10aGUtY3V0JywgJy5qcGcnKTtcclxufVxyXG5cclxuLnNsaXQtaW1hZ2UtMntcclxuICAgIEBpbmNsdWRlIHNldC1jcm9zc2RpdmljZS1pbWFnZSgndGFrZS10aGUtcGxlZGdlJywgJy5qcGcnKTtcclxufVxyXG5cclxuLnNsaXQtaW1hZ2UtM3tcclxuICAgIEBpbmNsdWRlIHNldC1jcm9zc2RpdmljZS1pbWFnZSgnam9pbi10aGUtd2FsbC1vZi1sZWdlbmRzJywgJy5qcGcnKTtcclxufVxyXG5cclxuLnNsaXQtaW1hZ2UtNHtcclxuICAgIEBpbmNsdWRlIHNldC1jcm9zc2RpdmljZS1pbWFnZSgnbGVhcm4tbW9yZScsICcuanBnJyk7XHJcbn1cclxuXHJcbiNiYW5uZXItdGFrZS10aGUtcGxlZGdle1xyXG4gICAgQGluY2x1ZGUgc2V0LWNyb3NzZGl2aWNlLWltYWdlKCdiYW5uZXItdGFrZS10aGUtcGxlZGdlJywgJy5qcGcnKTtcclxufVxyXG5cclxuI2Jhbm5lci1hYm91dHtcclxuICAgIEBpbmNsdWRlIHNldC1jcm9zc2RpdmljZS1pbWFnZSgnYmFubmVyLWFib3V0JywgJy5qcGcnKTtcclxufVxyXG5cclxuI2Jhbm5lci1nZXQtdGhlLWN1dHtcclxuICAgIEBpbmNsdWRlIHNldC1jcm9zc2RpdmljZS1pbWFnZSgnYmFubmVyLWdldC10aGUtY3V0JywgJy5qcGcnKTtcclxufVxyXG5cclxuI3dvbC1hYm91dHtcclxuICAgQGluY2x1ZGUgc2V0LWNyb3NzZGl2aWNlLWltYWdlKCdiYW5uZXItd2FsbC1vZi1sZWdlbmRzJywgJy5qcGcnKTsgXHJcbn1cclxuXHJcbiN2aWN0aW0tYmFubmVye1xyXG4gICBAaW5jbHVkZSBzZXQtY3Jvc3NkaXZpY2UtaW1hZ2UoJ2Jhbm5lci12aWN0aW0taGVscCcsICcuanBnJyk7IFxyXG59XHJcblxyXG4jY29udGFjdC1iYW5uZXJ7XHJcbiAgICBAaW5jbHVkZSBzZXQtY3Jvc3NkaXZpY2UtaW1hZ2UoJ2Jhbm5lci1jb250YWN0JywgJy5qcGcnKTsgXHJcbn1cclxuXHJcbiN0ZXJtcy1iYW5uZXJ7XHJcbiAgICBAaW5jbHVkZSBzZXQtY3Jvc3NkaXZpY2UtaW1hZ2UoJ2Jhbm5lci10ZXJtcycsICcuanBnJyk7IFxyXG59XHJcblxyXG4vKlxyXG5cclxuLmhlYWRlci1iZ3tcclxuICAgIEBpbmNsdWRlIHNldC1jcm9zc2RpdmljZS1pbWFnZSgnYmctbWFpbi1iYW5uZXItYmx1ZScsICcuanBnJyk7XHJcbn1cclxuXHJcbmhlYWRlci50b3AtbW9iaWxlIHtcclxuICAgIC5ybW0uc3R5bGV7ICAgICAgICBcclxuICAgICAgICB1bHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21lbnUtYmctbS0zeC5wbmdcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaG9tZS1pbnRyby1zZWN0aW9ue1xyXG4gICAgQGluY2x1ZGUgc2V0LWNyb3NzZGl2aWNlLWltYWdlKCdtYW5uZXF1aW4nLCAnLmpwZycpO1xyXG4gICAgXHJcbiAgICA+ZGl2e1xyXG4gICAgICAgIEBpbmNsdWRlIHNldC1tb2JpbGUtaW1hZ2UoJ2hvbWUtaW50cm8tYmcnLCAnLmpwZycpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2hvbWUtaW50cm8tYmctbS0zeC5qcGdcIik7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uaG9tZS1waWxsYXItc3BsaXQtaW5mb3tcclxuICAgIEBpbmNsdWRlIHNldC1jcm9zc2RpdmljZS1pbWFnZSgncGlsbGFyLXNwbGl0LWhvbWUnLCAnLmpwZycpO1xyXG59XHJcblxyXG4uaG9tZS1yZWNpcGVzLXNlY3Rpb257XHJcbiAgICBAaW5jbHVkZSBzZXQtY3Jvc3NkaXZpY2UtaW1hZ2UoJ3JlY2lwZXMtc2VjdGlvbi1iZycsICcuanBnJyk7XHJcbn1cclxuXHJcbi5ob21lLWV4ZXJjaXNlLXNlY3Rpb257XHJcbiAgICBAaW5jbHVkZSBzZXQtY3Jvc3NkaXZpY2UtaW1hZ2UoJ2hvbWUtZXhlcmNpc2Utc2VjdGlvbi1iZycsICcuanBnJyk7XHJcbn1cclxuXHJcbi5ob21lLXdoYXRzLWhhcHBlbmluZy1zZWN0aW9ue1xyXG4gICAgQGluY2x1ZGUgc2V0LWNyb3NzZGl2aWNlLWltYWdlKCdob21lLXdoYXRzLWhhcHBlbmluZy1iZycsICcuanBnJyk7XHJcbn1cclxuXHJcbi5ob21lLXN1cHBvcnQtc2VjdGlvbntcclxuICAgIEBpbmNsdWRlIHNldC1jcm9zc2RpdmljZS1pbWFnZSgnaG9tZS1zdXBwb3J0LXRlYW0tYmcnLCAnLmpwZycpO1xyXG59XHJcblxyXG4jcGlsbGVyLXNlYy1iZy0xe1xyXG4gICAgQGluY2x1ZGUgc2V0LWNyb3NzZGl2aWNlLWltYWdlKCdpbnRyby1iZy1jYXJkaW92YXNjdWxhcicsICcuanBnJyk7XHJcbn1cclxuXHJcblxyXG4uY2Fyb3VzZWwtc2VjdGlvbi0xe1xyXG4gICAgQGluY2x1ZGUgc2V0LWNyb3NzZGl2aWNlLWltYWdlKCdzZWN0aW9uLWJnLWNhcmRpb3Zhc2N1bGFyLTEnLCAnLmpwZycpO1xyXG59XHJcblxyXG4uY2Fyb3VzZWwtc2VjdGlvbi0ye1xyXG4gICAgQGluY2x1ZGUgc2V0LWNyb3NzZGl2aWNlLWltYWdlKCdzZWN0aW9uLWJnLWNhcmRpb3Zhc2N1bGFyLTInLCAnLmpwZycpO1xyXG59XHJcblxyXG4jcGlsbGVyLXNlYy1iZy0ye1xyXG4gICAgQGluY2x1ZGUgc2V0LWNyb3NzZGl2aWNlLWltYWdlKCdpbnRyby1iZy1saWZlJywgJy5qcGcnKTtcclxufVxyXG5cclxuLmNhcm91c2VsLXNlY3Rpb24tM3tcclxuICAgIEBpbmNsdWRlIHNldC1jcm9zc2RpdmljZS1pbWFnZSgnc2VjdGlvbi1iZy1saWZlLTEnLCAnLmpwZycpO1xyXG59XHJcblxyXG4uY2Fyb3VzZWwtc2VjdGlvbi00LTF7XHJcbiAgICBAaW5jbHVkZSBzZXQtY3Jvc3NkaXZpY2UtaW1hZ2UoJ3NlY3Rpb24tYmctbGlmZS0yJywgJy5qcGcnKTtcclxufVxyXG5cclxuXHJcbiNwaWxsZXItc2VjLWJnLTN7XHJcbiAgICBAaW5jbHVkZSBzZXQtY3Jvc3NkaXZpY2UtaW1hZ2UoJ2ludHJvLWJnLW1ldGFib2xpYycsICcuanBnJyk7XHJcbn1cclxuXHJcbi5jYXJvdXNlbC1zZWN0aW9uLTR7XHJcbiAgICBAaW5jbHVkZSBzZXQtY3Jvc3NkaXZpY2UtaW1hZ2UoJ3NlY3Rpb24tYmctbWV0YWJvbGljLTEnLCAnLmpwZycpO1xyXG59XHJcblxyXG4uY2Fyb3VzZWwtc2VjdGlvbi01e1xyXG4gICAgQGluY2x1ZGUgc2V0LWNyb3NzZGl2aWNlLWltYWdlKCdzZWN0aW9uLWJnLW1ldGFib2xpYy0yJywgJy5qcGcnKTtcclxufVxyXG5cclxuI3BpbGxlci1zZWMtYmctNHtcclxuICAgIEBpbmNsdWRlIHNldC1jcm9zc2RpdmljZS1pbWFnZSgnaW50cm8tYmctcmVuYWwnLCAnLmpwZycpO1xyXG59XHJcblxyXG4uY2Fyb3VzZWwtc2VjdGlvbi02e1xyXG4gICAgQGluY2x1ZGUgc2V0LWNyb3NzZGl2aWNlLWltYWdlKCdzZWN0aW9uLWJnLXJlbmFsLTEnLCAnLmpwZycpO1xyXG59XHJcblxyXG4uY2Fyb3VzZWwtc2VjdGlvbi03e1xyXG4gICAgQGluY2x1ZGUgc2V0LWNyb3NzZGl2aWNlLWltYWdlKCdzZWN0aW9uLWJnLXJlbmFsLTInLCAnLmpwZycpO1xyXG59XHJcblxyXG5cclxuLnBpbGxhci1saXN0LWJnLTF7XHJcbiAgICBAaW5jbHVkZSBzZXQtY3Jvc3NkaXZpY2UtaW1hZ2UoJ3BpbGxhci1saXN0LWJnLTEnLCAnLmpwZycpO1xyXG59XHJcblxyXG4uYXJ0aWNsZS1kZXRhaWxzLWJnLTF7XHJcbiAgICBAaW5jbHVkZSBzZXQtY3Jvc3NkaXZpY2UtaW1hZ2UoJ2RldGFpbHMtYmcnLCAnLmpwZycpO1xyXG59XHJcblxyXG5cclxuLnN1cHBvcnQtaW50cm8tc2VjdGlvbntcclxuICAgIEBpbmNsdWRlIHNldC1jcm9zc2RpdmljZS1pbWFnZSgnc3VwcG9ydC1pbnRyby1iZycsICcuanBnJyk7ICAgIFxyXG59XHJcblxyXG4uc3VwcG9ydHtcclxuICAgIEBpbmNsdWRlIHNldC1jcm9zc2RpdmljZS1pbWFnZSgnc3VwcG9ydC1iZycsICcuanBnJyk7IFxyXG59XHJcbiovXHJcbiIsIi8qIENTUyBEb2N1bWVudCAqL1xyXG5cclxuaHRtbHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIC8vZm9udC1zaXplOiAoMTYgLyAzNjApICogMTAwICt2dztcclxuICAgIFxyXG59XHJcbi8qXHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KXsgIFxyXG4gICAgaHRtbHtcclxuICAgICAgICBmb250LXNpemU6IGdldGRweCgyNyk7XHJcbiAgICAgICAgZm9udC1zaXplOiAoMTMuNSAvIDc2OCkgKiAxMDAgK3Z3O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMDI0cHgpeyAgIFxyXG4gICAgaHRtbHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAoMTQgLyAxMDI0KSAqIDEwMCArdnc7XHJcbiAgICAgICAgLy9mb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgLy9mb250LXNpemU6ICgxNiAvIDE0NDApICogMTAwICt2dztcclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjgwcHgpeyAgIFxyXG4gICAgaHRtbHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgLy9mb250LXNpemU6ICgxNiAvIDEyODApICogMTAwICt2dztcclxuICAgICAgICAvL2ZvbnQtc2l6ZTogKDE2IC8gMTQ0MCkgKiAxMDAgK3Z3O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xNDI4NnZ3O1xyXG4gICAgfVxyXG59XHJcbiovXHJcbiBcclxuaHRtbHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDsgXHJcbiAgICBmb250LXNpemU6ICgoMTQgLyAzNjApICogMTAwKSArdnc7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpeyAgIFxyXG4gICAgaHRtbHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7IFxyXG4gICAgICAgIGZvbnQtc2l6ZTogKCgxNiAvIDc2OCkgKiAxMDApICt2dztcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMDI0cHgpeyAgIFxyXG4gICAgaHRtbHtcclxuICAgICAgICBmb250LXNpemU6ICgoMjUgLyAxOTIwKSoxMDI0KSArIHB4OyBcclxuICAgICAgICBmb250LXNpemU6ICgoMjUgLyAxOTIwKSoxMDApICt2dztcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjgwcHgpeyAgIFxyXG4gICAgaHRtbHtcclxuICAgICAgICBmb250LXNpemU6ICgoMjUgLyAxOTIwKSoxMjgwKSArIHB4OyBcclxuICAgICAgICBmb250LXNpemU6ICgoMjUgLyAxOTIwKSoxMDApICt2dztcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxOTIwcHgpeyAgIFxyXG4gICAgaHRtbHtcclxuICAgICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAoKDI1IC8gMTkyMCkqMTAwKSArdnc7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kZXNrdG9wLW9ubHl7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KXsgXHJcbiAgICAuZGVza3RvcC1vbmx5e1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUdBQSxrQkFBa0I7QUFFbEIsVUFBVTtFQUNSLFdBQVcsRUFBRSxXQUFXO0VBQ3hCLEdBQUcsRUFBRSw0Q0FBNEMsQ0FBQywyQkFBMkIsRUFDeEUsc0NBQXNDLENBQUMsY0FBYyxFQUNyRCxxQ0FBcUMsQ0FBRSxrQkFBa0IsRUFDekQsdURBQXVELENBQUMsYUFBYTtFQUMxRSxXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFV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 */
