/*=============================
=            Fonts            =
=============================*/
/*==============================
=          Font Sizes          =
==============================*/
/*==============================
=         Font Weights         =
==============================*/
/*==============================
=            Colors            =
==============================*/
/*==============================
=           Containers         =
==============================*/
/*==============================
=             Sizes            =
==============================*/
/*==============================
=          Breakpoints         =
==============================*/
#hero {
  height: 36rem;
  max-height: calc(100vh - (6.625rem + 10rem));
}

#hero.simple {
  height: 33rem;
}

#hero.simple > *:first-child {
  height: 28rem;
}

#hero.simple > *:first-child .container2 {
  top: 60%;
}

#hero.simple .title {
  text-align: center;
}

@media (max-width: 767px) {
  #hero.simple {
    margin-top: 5rem;
    height: 19.9375rem;
  }
  #hero.simple > *:first-child {
    height: 14rem;
  }
}

@media (min-width: 1200px) {
  #hero:not(.simple) > *:first-child .container2 {
    top: 52%;
  }
}

#hero .logo {
  display: none;
}

#hero > *:first-child {
  height: 36rem;
  max-height: calc(100vh - (5rem + 6.625rem + 10rem));
}

@media (max-width: 1023px) {
  #hero .bg-container {
    background-position: 100%;
  }
}

@media (max-width: 479px) {
  #hero {
    height: 23.9375rem;
    max-height: calc(100vh - (5rem + 10rem));
  }
  #hero > *:first-child {
    height: 18rem;
    max-height: calc(100vh - (5.9375rem + 5rem + 10rem));
  }
  #hero .bg-container {
    background-position: 100%;
  }
}

@media (max-height: 479px) {
  #hero {
    max-height: 100vh;
  }
  #hero > *:first-child {
    max-height: calc(100vh - 6.625rem);
  }
}

main p {
  font-size: 1.125rem;
  color: #131417;
  letter-spacing: 0.1px;
  line-height: 1.75rem;
}

@media (max-width: 767px) {
  main p {
    font-size: 1rem;
    letter-spacing: 0.013rem;
    line-height: 1.625rem;
  }
}

main p:not(:last-child) {
  margin-bottom: 1.25rem;
}

main figure:not([class]) img {
  width: 100%;
}

main figure:not(.video), main .video-container {
  overflow: hidden;
}

@media (max-width: 767px) {
  main figure:not(.video):not(:first-child), main .video-container:not(:first-child) {
    margin-top: 1.875rem;
  }
  main figure:not(.video):not(:last-child), main .video-container:not(:last-child) {
    margin-bottom: 1.875rem;
  }
}

main figure:not(.video) {
  background: #e9eaee;
}

main figure:not(.video) img {
  height: auto;
  display: block;
  max-width: 100%;
}

main figure:not(.video) figcaption {
  padding-left: 1.875rem;
  padding-right: 1.875rem;
}

@media (min-width: 480px) {
  main figure:not(.video).left, main figure:not(.video).right {
    max-width: 13.5rem;
  }
  main figure:not(.video).left img, main figure:not(.video).right img {
    width: auto;
    min-width: 13.5rem;
    min-height: 13.5rem;
  }
  main figure:not(.video).left img:not(.loaded), main figure:not(.video).right img:not(.loaded) {
    min-height: 13.5rem;
  }
  main figure:not(.video).left {
    float: left;
    margin-right: 1rem;
  }
  main figure:not(.video).right {
    float: right;
    margin-left: 1rem;
  }
  main figure:not(.video):not([class]):not(:first-child) {
    margin-top: 1.875rem;
  }
  main figure:not(.video):not([class]):not(:last-child) {
    margin-bottom: 1.875rem;
  }
}

@media (min-width: 1200px) {
  main figure:not(.video).left, main figure:not(.video).right {
    max-width: 20rem;
  }
  main figure:not(.video).left img, main figure:not(.video).right img {
    min-width: 20rem;
  }
  main figure:not(.video).left img:not(.loaded), main figure:not(.video).right img:not(.loaded) {
    min-height: 21.25rem;
  }
  main figure:not(.video).left {
    margin-right: 2.5rem;
    margin-bottom: 2rem;
  }
  main figure:not(.video).right {
    margin-left: 2.5rem;
    margin-bottom: 2rem;
  }
  main figure:not(.video).small {
    max-width: 12.5rem;
  }
}

@media (max-width: 479px) {
  main figure:not(.video) img {
    width: 100%;
  }
}

main figcaption, main .caption {
  font-size: 1rem;
  background: #f8f8f9;
  padding-top: 1.5rem;
  line-height: 1.625rem;
  padding-bottom: 1.25rem;
}

@media (max-width: 479px) {
  main figcaption, main .caption {
    padding-top: .9375rem;
    padding-bottom: .8125rem;
  }
}

h1 {
  color: #173366;
  font-size: 3rem;
  line-height: 4.0625rem;
}

h1:not(:last-child) {
  margin-bottom: 1.3125rem;
}

@media (max-width: 767px) {
  h1 {
    font-size: 2.375rem;
    line-height: 2.875rem;
  }
  h1:not(:last-child) {
    margin-bottom: .9375rem;
  }
}

h2:not(:first-child), h3:not(:first-child) {
  margin-top: 3.125rem;
}

@media (max-width: 1366px) {
  h2:not(:first-child), h3:not(:first-child) {
    margin-top: 2rem;
  }
}

h2:not(:last-child), h3:not(:last-child) {
  margin-bottom: 1.25rem;
}

@media (max-width: 767px) {
  h2, h3 {
    font-size: 2rem;
    letter-spacing: 0.031rem;
    line-height: 2.5rem;
  }
  h2:not(:first-child), h3:not(:first-child) {
    margin-top: 2.5rem;
  }
  h2:not(:last-child), h3:not(:last-child) {
    margin-bottom: .9375rem;
  }
}

h3 {
  color: #173366;
}

h4 {
  font-size: 1.438rem;
  letter-spacing: 0.1px;
  line-height: 1.75rem;
}

h4:not(:first-child) {
  margin-top: 3.125rem;
}

h4:not(:last-child) {
  margin-bottom: 1.1875rem;
}

@media (max-width: 767px) {
  h4:not(:first-child) {
    margin-top: 2.6875rem;
  }
  h4:not(:last-child) {
    margin-bottom: .875rem;
  }
}

.breadcrumbs {
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  line-height: 1.75rem;
}

.breadcrumbs li:not(:last-child):after {
  content: '';
  vertical-align: -2px;
  display: inline-block;
  margin: 0 1rem 0 .75rem;
  width: 0.625rem;
  height: 1rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("/assets/images/icons/breadcrumb-arrow.svg");
}

@media (max-width: 767px) {
  .breadcrumbs li:not(:last-child):after {
    vertical-align: 0;
    margin: 0 .5rem;
    width: 0.3rem;
    height: 0.5rem;
  }
}

.breadcrumbs a {
  text-decoration: none;
}

.breadcrumbs a:hover, .breadcrumbs a:focus, .breadcrumbs a:active {
  text-decoration: underline;
}

@media (min-width: 768px) {
  .breadcrumbs {
    font-size: 1.25rem;
  }
}

@media (max-width: 767px) {
  .breadcrumbs li:last-child {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 20rem;
  }
}

/*=============================
=           Sections          =
=============================*/
@media (max-width: 1199px) {
  section.full, section.sidebar {
    padding: 5.625rem 0;
  }
}

@media (max-width: 767px) {
  section.full, section.sidebar {
    padding: 1.875rem 0 2.5rem;
  }
}

section.full {
  background: #F2F3F5;
  text-align: center;
}

section.full > .container1 > *:not(.cards-container):not(.text-image) {
  max-width: 57.5rem;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1200px) {
  section.full {
    padding: 5.875rem 0 6.875rem;
  }
}

section.sidebar .container1, .text-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

section.sidebar .content {
  width: 100%;
}

@media (min-width: 1024px) {
  section.sidebar .content {
    width: 62.209%;
    max-width: 50rem;
  }
}

@media (min-width: 1024px) and (max-width: 1366px) {
  section.sidebar .content {
    width: 60%;
  }
}

@media (min-width: 1200px) {
  section.sidebar {
    padding: 5rem 0;
  }
}

@media (max-width: 1366px) {
  section.sidebar {
    padding: 3rem 0;
  }
}

#sidebar {
  width: 34.215%;
  max-width: 27.5rem;
  background: #F2F3F5;
  padding: 2.875rem 0 1.3125rem;
}

#sidebar #sidebar-top, #sidebar .cta-sidebar > div:last-child {
  padding-left: 3.125rem;
  padding-right: 3.125rem;
}

@media (max-width: 479px) {
  #sidebar #sidebar-top, #sidebar .cta-sidebar > div:last-child {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

#sidebar .title, #sidebar a, #sidebar button {
  padding-left: 3.125rem;
  padding-right: 3.125rem;
}

#sidebar .title {
  margin-bottom: .75rem;
}

#sidebar .sidebar-links > li > a, #sidebar .sidebar-links > li > button {
  color: #000;
  position: relative;
  padding-top: 1.0625rem;
  padding-bottom: .875rem;
}

#sidebar .sidebar-links > li > a:hover, #sidebar .sidebar-links > li > a:focus, #sidebar .sidebar-links > li > a:active, #sidebar .sidebar-links > li > a.active, #sidebar .sidebar-links > li > a.open, #sidebar .sidebar-links > li > button:hover, #sidebar .sidebar-links > li > button:focus, #sidebar .sidebar-links > li > button:active, #sidebar .sidebar-links > li > button.active, #sidebar .sidebar-links > li > button.open {
  background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0)), to(#fff));
  background: linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
}

#sidebar .sidebar-links > li > a:hover:before, #sidebar .sidebar-links > li > a:focus:before, #sidebar .sidebar-links > li > a:active:before, #sidebar .sidebar-links > li > a.active:before, #sidebar .sidebar-links > li > a.open:before, #sidebar .sidebar-links > li > button:hover:before, #sidebar .sidebar-links > li > button:focus:before, #sidebar .sidebar-links > li > button:active:before, #sidebar .sidebar-links > li > button.active:before, #sidebar .sidebar-links > li > button.open:before {
  opacity: 1;
}

#sidebar .sidebar-links > li > a:before, #sidebar .sidebar-links > li > button:before {
  content: '';
  top: 0;
  left: -2px;
  width: 2px;
  opacity: 0;
  height: 3.5rem;
  position: absolute;
  background: #3CCBDA;
}

#sidebar .sidebar-links ul {
  display: none;
  margin-top: 1.0625rem;
}

#sidebar .sidebar-links ul li {
  margin-bottom: .5rem;
}

#sidebar .sidebar-links ul li:not(:last-child) {
  margin-bottom: 1.25rem;
}

#sidebar .sidebar-links ul a:hover, #sidebar .sidebar-links ul a:focus, #sidebar .sidebar-links ul a:active, #sidebar .sidebar-links ul a.active, #sidebar .sidebar-links ul a.open, #sidebar .sidebar-links ul button:hover, #sidebar .sidebar-links ul button:focus, #sidebar .sidebar-links ul button:active, #sidebar .sidebar-links ul button.active, #sidebar .sidebar-links ul button.open {
  text-decoration: underline;
}

#sidebar a, #sidebar button {
  line-height: 1.5625rem;
  font-weight: 400;
}

#sidebar a {
  display: block;
  text-decoration: none;
}

#sidebar button {
  width: 100%;
  text-align: left;
}

#sidebar button.active:not(.closed):after, #sidebar button.open:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

#sidebar button.active + ul {
  display: block;
}

#sidebar button:after {
  content: '';
  top: 1.375rem;
  left: 1.375rem;
  position: absolute;
  -webkit-transition: all .15s linear;
  transition: all .15s linear;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 0.625rem;
  height: 1rem;
  background-image: url("/assets/images/icons/arrow-right.svg");
}

@media (max-width: 1023px) {
  #sidebar {
    display: none;
  }
}

#sidebar-top {
  background: rgba(242, 243, 245, 0.7);
}

#sidebar-top button {
  width: initial;
}

#sidebar-top button:after {
  content: none;
}

#sidebar-top .title {
  color: #173366;
  line-height: 2.875rem;
  font-size: 1.75rem;
  font-weight: 400;
  padding-left: 0;
  padding-right: 0;
}

#sidebar-top ul li {
  padding-left: 0;
}

#sidebar-top ul li:before {
  display: none;
}

#sidebar-top ul ul {
  display: none;
  margin-top: 1rem;
}

#sidebar-top ul ul li:not(:last-child) {
  margin-bottom: .625rem;
}

#sidebar-top ul ul ul {
  padding-left: 1.75rem;
}

#sidebar-top ul ul .plus {
  left: .25rem;
  width: 0.75rem;
  height: 0.75rem;
}

#sidebar-top ul ul .plus:before, #sidebar-top ul ul .plus:after {
  width: 2px;
  height: .75rem;
}

@media (max-width: 479px) {
  #sidebar-top {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  #sidebar-top .title {
    font-size: 1.5rem;
  }
}

.text-image {
  text-align: left;
}

.text-image figure {
  margin-top: 0 !important;
  -webkit-box-shadow: 0px 0px 0px 10px rgba(255, 255, 255, 0.5);
          box-shadow: 0px 0px 0px 10px rgba(255, 255, 255, 0.5);
}

.text-image figure img:not(.loaded) {
  padding-bottom: 100%;
}

@media (min-width: 480px) {
  .text-image figure {
    max-width: 22.5rem;
  }
}

@media (max-width: 479px) {
  .text-image figure {
    width: 100%;
    margin-top: 1.875rem !important;
    max-width: calc(100% - 1.25rem);
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 1200px) {
  .text-image > div {
    margin-top: 2.25rem;
  }
}

@media (max-width: 1023px) {
  .text-image p .button + .button {
    margin-left: 0;
    margin-top: .9375rem;
  }
}

@media (min-width: 480px) {
  .text-image > div {
    width: 65.7143%;
  }
  .text-image figure {
    width: 30%;
  }
}

/*=============================
=            Video            =
=============================*/
.video-container:not(:first-child) {
  margin-top: 3.125rem;
}

.video-container:not(:last-child) {
  margin-bottom: 3.125rem;
}

.video-container > div:first-child, .video-container .video {
  position: relative;
}

.video-container .thumbnail, .video-container .video > * {
  position: absolute;
  width: 100%;
  height: 100%;
}

.video-container .thumbnail {
  z-index: 1;
}

.video-container .thumbnail, .video-container .thumbnail:before, .video-container .thumbnail:after {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.video-container .thumbnail:before, .video-container .thumbnail:after {
  content: '';
  -webkit-transition: all .15s;
  transition: all .15s;
  top: 50%;
  left: 50%;
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 7.5rem;
  height: 7.5rem;
}

@media (max-width: 479px) {
  .video-container .thumbnail:before, .video-container .thumbnail:after {
    width: 4.6875rem;
    height: 4.6875rem;
  }
}

.video-container .thumbnail:before {
  background-image: url("/assets/images/icons/play.svg");
}

.video-container .thumbnail:after {
  opacity: 0;
  background-image: url("/assets/images/icons/play-hover.svg");
}

.video-container .thumbnail:hover:before, .video-container .thumbnail:focus:before, .video-container .thumbnail:active:before {
  opacity: 0;
}

.video-container .thumbnail:hover:after, .video-container .thumbnail:focus:after, .video-container .thumbnail:active:after {
  opacity: 1;
}

.video-container .video {
  max-width: 100%;
  padding: 56.25% 0 0 0;
  position: relative;
}

.video-container .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.video-container .video > * {
  display: block;
}

.video-container .caption {
  padding-left: 2.125rem;
  padding-right: 2.125rem;
}

.video-container .caption .divider {
  color: darkslategray;
  font-size: 1rem;
  margin: 0 .75rem;
  display: inline-block;
}

@media (max-width: 767px) {
  .video-container .caption .divider {
    display: none;
  }
}

.video-container .caption button {
  color: #173366;
  display: inline;
  vertical-align: 0;
  position: relative;
}

.video-container .caption button:hover, .video-container .caption button:focus, .video-container .caption button:active {
  text-decoration: underline;
}

.video-container .caption button:after {
  content: '';
  right: -1.25rem;
  width: 1rem;
  height: 1rem;
  top: 50%;
  position: absolute;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("/assets/images/icons/play-caption.svg");
}

@media (max-width: 767px) {
  .video-container .caption button {
    display: block;
    margin-top: 1.25rem;
    text-decoration: underline;
  }
}

@media (max-width: 767px) {
  .video-container .caption {
    padding-left: 1.125rem;
    padding-right: 1.125rem;
    font-size: 0.875rem;
    letter-spacing: 0;
    line-height: 1.5rem;
    font-weight: 400;
  }
  .video-container .caption button {
    padding-left: 0;
  }
  .video-container .caption button:before {
    left: -1.5rem;
    width: 1.125rem;
    height: 1.125rem;
  }
}

/*=============================
=         Featured Box        =
=============================*/
.featured-box {
  clear: both;
  background: #F2F3F5;
  padding: 3.875rem 5rem 3.75rem;
}

.featured-box:not(:first-child) {
  margin-top: 3.125rem;
}

.featured-box:not(:last-child) {
  margin-bottom: 3.125rem;
}

@media (max-width: 767px) {
  .featured-box {
    padding: 1.875rem;
  }
  .featured-box:not(:first-child) {
    margin-top: 1.875rem;
  }
  .featured-box:not(:last-child) {
    margin-bottom: 1.875rem;
  }
  .featured-box h3 {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .featured-box h3 {
    font-size: 1.5rem;
    letter-spacing: 0.011rem;
    line-height: 2.875rem;
    margin-bottom: 0.5rem;
  }
}

/*=============================
=          Blockquote         =
=============================*/
blockquote {
  color: #113C67;
  text-align: left;
}

blockquote:not(:first-child) {
  margin-top: 3.125rem;
}

blockquote:not(:last-child) {
  margin-bottom: 3.125rem;
}

blockquote.box {
  color: #fff;
  text-align: left;
  background: linear-gradient(-45deg, #4C5059 0%, #7F8288 100%);
  padding: 4.35rem 5rem;
}

blockquote.box .quote {
  font-weight: 400;
  font-size: 1.75rem;
  letter-spacing: 0.5px;
  line-height: 2.25rem;
}

blockquote.box cite {
  color: #3CCBDA;
  font-weight: 400;
}

blockquote.box cite span {
  font-size: 1.125rem;
}

blockquote .top-docs-badge {
  display: none;
}

blockquote.badge .top-docs-badge {
  display: block;
  position: relative;
  border-radius: 15px;
  background: transparent;
  margin-top: 5%;
}

blockquote.with-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 25rem;
  max-height: 30rem;
}

@media (max-width: 767px) {
  blockquote.with-image {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative;
    height: auto;
  }
}

blockquote.with-image .quote-image {
  position: relative;
}

@media (max-width: 767px) {
  blockquote.with-image .quote-image {
    min-height: 15rem;
  }
}

blockquote.with-image > div {
  width: 49.9%;
}

@media (max-width: 767px) {
  blockquote.with-image > div {
    width: 100%;
  }
}

blockquote.with-image > div:last-child {
  padding: 3.438rem 2.688rem;
  background: linear-gradient(-45deg, #4C5059 0%, #7F8288 100%);
  color: #fff;
  font-size: 1.75rem;
  letter-spacing: 0.5px;
  line-height: 2.25rem;
}

@media (max-width: 767px) {
  blockquote.with-image > div:last-child {
    padding: 2.063rem 2.563rem;
  }
}

blockquote.with-image > div:last-child .quote {
  font-weight: 400;
}

@media (max-width: 767px) {
  blockquote.with-image > div:last-child .quote {
    font-size: 1rem;
    letter-spacing: 0;
    line-height: 1.25rem;
  }
}

blockquote.with-image > div:last-child cite {
  font-weight: 400;
  font-size: 1.25rem;
  color: #3CCBDA;
}

@media (max-width: 767px) {
  blockquote.with-image > div:last-child cite {
    font-size: 0.875rem;
    letter-spacing: 0;
    line-height: 1.25rem;
  }
}

blockquote.with-image > div:last-child image {
  width: 100%;
  height: 100%;
}

blockquote.with-image.image-right > div:first-child {
  padding: 6.438rem 4.688rem;
  background: linear-gradient(-45deg, #4C5059 0%, #7F8288 100%);
  color: #fff;
  font-size: 1.75rem;
  letter-spacing: 0.5px;
  line-height: 2.25rem;
}

@media (max-width: 767px) {
  blockquote.with-image.image-right > div:first-child {
    padding: 2.063rem 2.563rem;
  }
}

blockquote.with-image.image-right > div:first-child .quote {
  font-weight: 400;
}

@media (max-width: 767px) {
  blockquote.with-image.image-right > div:first-child .quote {
    font-size: 1rem;
    letter-spacing: 0;
    line-height: 1.25rem;
  }
}

blockquote.with-image.image-right > div:first-child cite {
  font-weight: 400;
  font-size: 1.25rem;
  color: #3CCBDA;
}

@media (max-width: 767px) {
  blockquote.with-image.image-right > div:first-child cite {
    font-size: 0.875rem;
    letter-spacing: 0;
    line-height: 1.25rem;
  }
}

blockquote.with-image.image-right > div:first-child image {
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  blockquote:not(:first-child) {
    margin-top: 1.875rem;
  }
  blockquote:not(:last-child) {
    margin-bottom: 1.875rem;
  }
  blockquote.box {
    padding: 2.9375rem 2.6875rem;
    margin-left: -0.25rem;
    width: calc(100% + (0.25rem * 2));
  }
}

@media (max-width: 320px) {
  blockquote.box {
    margin-left: -1rem;
    width: calc(100% + (1rem * 2));
  }
}

/*=============================
=            Table            =
=============================*/
.table-responsive {
  overflow: hidden;
  border-top-left-radius: 0.3125rem;
  border-top-right-radius: 0.3125rem;
}

.table-responsive:not(:first-child) {
  margin-top: 3.125rem;
}

.table-responsive:not(:last-child) {
  margin-bottom: 3.125rem;
}

.table-responsive, .table-responsive table {
  width: 100%;
}

@media (max-width: 767px) {
  .table-responsive:not(:first-child) {
    margin-top: 1.875rem;
  }
  .table-responsive:not(:last-child) {
    margin-bottom: 1.875rem;
  }
}

@media (max-width: 479px) {
  .table-responsive {
    overflow-x: scroll;
    max-width: calc(100vw - (1.25rem * 2));
  }
}

@media (max-width: 320px) {
  .table-responsive {
    max-width: calc(100vw - (1rem * 2));
  }
}

table thead {
  color: #173366;
  position: relative;
  background: #f8f8f9;
}

table th {
  text-align: left;
  font-weight: 500;
  white-space: nowrap;
}

table th, table td {
  vertical-align: middle;
  padding: 1.0625rem 1.25rem .8125rem;
}

table tr {
  border-bottom: 1px solid #d7dde2;
}

table tbody tr {
  -webkit-transition: all .3s;
  transition: all .3s;
}

table tbody tr:hover {
  color: #fff;
  background: #173366;
}

table .center {
  text-align: center;
}

table .right {
  text-align: right;
}

@media (min-width: 1024px) {
  table {
    table-layout: fixed;
  }
}

/*=============================
=              Map            =
=============================*/
.map-container {
  padding-bottom: 50%;
}

.map-container:not(:first-child) {
  margin-top: 3.125rem;
}

.map-container:not(:last-child) {
  margin-bottom: 3.125rem;
}

@media (max-width: 479px) {
  .map-container:not(:first-child) {
    margin-top: 1.875rem;
  }
  .map-container:not(:last-child) {
    margin-bottom: 1.875rem;
  }
}

/*=============================
=           Bio Card          =
=============================*/
@media (min-width: 1200px) {
  .cards-container.bio > div:not(:first-child), .card.bio:nth-child(n+5) {
    margin-top: 3.072%;
  }
  .card.bio {
    width: 22.696%;
  }
  .card.bio:not(:nth-child(4n)):not(:last-child) {
    margin-right: 3.072%;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .cards-container.bio > div:not(:first-child), .card.bio:nth-child(n+4) {
    margin-top: 2%;
  }
  .card.bio {
    width: 32%;
  }
  .card.bio:not(:nth-child(3n)):not(:last-child) {
    margin-right: 2%;
  }
}

@media (max-width: 1023px) {
  .cards-container.bio > div:not(:first-child), .card.bio:nth-child(n+3) {
    margin-top: 5%;
  }
  .card.bio {
    width: 47.5%;
  }
  .card.bio:not(:nth-child(even)):not(:last-child) {
    margin-right: 5%;
  }
}

/*=============================
=      Fellowship Card        =
=============================*/
.cards-container.fellowship > div {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.cards-container.fellowship > div .physician-locations {
  display: none;
}

.card.bio.fellowship {
  width: 32.5%;
  border: 0;
  margin-top: 0;
  margin-right: 1px !important;
  background: #F2F3F5;
}

.card.bio.fellowship > div:first-child {
  padding-bottom: 100%;
}

.card.bio.fellowship > div:last-child {
  padding: 0;
  text-align: left;
  min-height: 2.5rem;
  border-left: 1px solid #3ccbda;
  margin-top: 1rem;
  margin-bottom: 1rem;
  margin-left: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.card.bio.fellowship > div:last-child h4, .card.bio.fellowship > div:last-child p {
  margin-left: 0.7rem;
}

.card.bio.fellowship > div:last-child h4 {
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 130%;
  margin-bottom: 0;
}

.card.bio.fellowship > div:last-child p {
  display: block;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 300;
  margin-bottom: 0;
  line-height: 130%;
}

.card.bio.fellowship:hover, .card.bio.fellowship:active, .card.bio.fellowship:focus {
  background: #173367;
}

.card.bio.fellowship.current > div:last-child {
  background: transparent;
}

.card.bio.fellowship.current h4 {
  color: #173367;
}

@media (max-width: 767px) {
  .card.bio.fellowship {
    width: 49.5%;
  }
}

/*=============================
=            Sitemap          =
=============================*/
section.sitemap .container2 > ul {
  text-align: left;
  max-width: none !important;
}

section.sitemap .container2 > ul:not(:first-child) {
  margin-top: 3.125rem;
}

section.sitemap .container2 > ul:not(:last-child) {
  margin-bottom: 3.125rem;
}

section.sitemap .container2 > ul > li:not(:last-child) {
  margin-bottom: .5rem;
}

section.sitemap .container2 > ul > li > a {
  font-weight: 500;
}

@media (min-width: 768px) {
  section.sitemap .container2 > ul > li {
    -webkit-column-break-inside: avoid;
       page-break-inside: avoid;
            break-inside: avoid-column;
  }
}

section.sitemap .container2 > ul .submenu li {
  padding-left: 1.5rem;
}

section.sitemap .container2 > ul .submenu li:not(:last-child) {
  margin-bottom: 0;
}

section.sitemap .container2 > ul .submenu li:before {
  left: 0;
}

@media (min-width: 768px) {
  section.sitemap .container2 > ul {
    -webkit-columns: 3;
       -moz-columns: 3;
            columns: 3;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  section.sitemap .container2 > ul {
    -webkit-columns: 2;
       -moz-columns: 2;
            columns: 2;
  }
}

/*=============================
=            Events           =
=============================*/
body.events .post-snippet > div:last-child {
  padding: 2.25rem;
}

@media (max-width: 479px) {
  body.events .post-snippet {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  body.events .post-snippet > div {
    width: 100%;
  }
  body.events .post-snippet > div:first-child {
    padding-bottom: 55%;
  }
  body.events .post-snippet > div:last-child {
    padding: 1rem 1.25rem;
  }
}

.filterbytags {
  opacity: 1;
  height: 100%;
  visibility: visible;
  -webkit-transition: all .5s;
  transition: all .5s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.filterbytags.hidden {
  opacity: 0;
  height: 0;
  visibility: hidden;
}

.filterbytags label {
  cursor: pointer;
}

.filterbytags label, .filterbytags .simple {
  color: #DDE1E6;
  font-size: 1.25rem;
  font-weight: 500;
}

@media (max-width: 479px) {
  .filterbytags label, .filterbytags .simple {
    font-size: 1.125rem;
  }
}

.filterbytags .required-field {
  color: #b20101;
}

.filterbytags > div {
  width: 100%;
}

.filterbytags > div:not(:last-of-type) {
  margin-bottom: 2.5rem;
}

.filterbytags > div > label {
  display: block;
  margin-bottom: .75rem;
}

@media (max-width: 479px) {
  .filterbytags > div:not(:last-of-type) {
    margin-bottom: 1rem;
  }
  .filterbytags > div > label {
    margin-bottom: .325rem;
  }
}

.filterbytags .hidden {
  display: none;
}

.filterbytags .input-group {
  position: relative;
}

.filterbytags select {
  padding-right: 40px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.filterbytags select {
  height: 3.125rem;
  border-radius: 6px;
  background: #f8f9f9;
  border: 2px solid #97a1a7;
}

.filterbytags select:active, .filterbytags select:focus {
  background: #fff;
  -webkit-box-shadow: 0 0 0 4px #E1E8EB;
          box-shadow: 0 0 0 4px #E1E8EB;
}

.filterbytags select + .icon-form-dropdown {
  right: .875rem;
  pointer-events: none;
  top: 50%;
  position: absolute;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.filterbytags select + .icon-form-dropdown:before {
  content: '';
  display: block;
  width: 1rem;
  height: 1rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("/assets/images//assets/images/icons/arrow-select.svg");
}

@media (max-width: 479px) {
  .filterbytags select + .icon-form-dropdown:before {
    height: 1rem;
    width: .875rem;
  }
}

@media (max-width: 479px) {
  .filterbytags select {
    height: 2.75rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

@media (min-width: 480px) {
  .filterbytags .half {
    width: 47.06%;
  }
  .filterbytags .three {
    width: 29.413%;
  }
  .filterbytags .four {
    width: 20.59%;
  }
}

#no-results:not(.show), #display-details:not(.show) {
  display: none;
}

.event-details {
  font-size: 0.9rem;
  line-height: 1.5rem;
  margin-bottom: 1rem;
}

.event-details img {
  margin-right: 0.5rem;
}

#posts-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

#posts-list .post-snippet {
  padding-left: 0;
  width: 100%;
  margin-top: 0;
}

@media (max-width: 1023px) {
  #posts-list .post-snippet {
    width: 100%;
    max-width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media (max-width: 767px) {
  #posts-list .post-snippet {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media (max-width: 767px) {
  #posts-list .post-snippet div {
    width: 100%;
  }
  #posts-list .post-snippet > :first-child {
    padding-bottom: 66.21%;
  }
}

#posts-list .post-snippet.current p {
  color: #fff;
}

#posts-list .event-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

#posts-list .event-details div {
  margin-bottom: 0.5rem;
}

#posts-list .event-details img {
  margin-right: 0.3rem;
}

#posts-list h4 {
  margin: 1.5rem 0;
}

.event .content figure img {
  width: 100%;
}

/*=============================
=          Double Side        =
=============================*/
.double-side:not(:first-child) {
  margin-top: 3.75rem;
}

.double-side:not(:last-child) {
  margin-bottom: 3.75rem;
}

.double-side h3:not(:last-child) {
  margin-bottom: 1.125rem;
}

.double-side p:not(:last-child) {
  font-size: 1rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 1024px) {
  .double-side {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .double-side > div {
    max-width: 50%;
    padding-bottom: .375rem;
  }
  .double-side > div:first-child {
    width: 49%;
    padding-right: 3.875rem;
  }
  .double-side > div:last-child {
    padding-right: 1rem;
    padding-left: 4.25rem;
    border-left: 1px solid #DDE1E6;
  }
}

@media (max-width: 1023px) {
  .double-side > div:first-child {
    margin-bottom: 2.5rem;
    padding-bottom: 3.125rem;
    border-bottom: 1px solid #c8cdd4;
  }
}

@media (max-width: 767px) {
  .double-side:not(:first-child) {
    margin-top: 2.5rem;
  }
  .double-side:not(:last-child) {
    margin-bottom: 2.5rem;
  }
  .double-side h3:not(:last-child) {
    margin-bottom: .5rem;
  }
  .double-side > div:first-child {
    padding-bottom: 2rem;
    margin-bottom: 1.375rem;
  }
}

.locations_languages {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 767px) {
  .locations_languages {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.locations_languages > div {
  margin: 0 0 3rem 0;
  padding: 0 2.5rem;
  width: 49.9%;
}

.locations_languages > div a {
  text-decoration: none;
}

.locations_languages > div a:hover {
  text-decoration: underline;
}

.locations_languages > div:first-child {
  border-right: 1px solid #DDE1E6;
}

@media (max-width: 767px) {
  .locations_languages > div {
    width: 100%;
    padding: 0;
    margin: 1.25rem 0;
  }
  .locations_languages > div:first-child {
    border: none;
  }
}

@media (max-width: 1366px) and (min-width: 769px) {
  .container1, .container2, .container3 {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy9fdmFycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL3RlbXBsYXRlcy9kZWZhdWx0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzsrQkFFK0I7QUFJL0I7O2dDQUVnQztBQUtoQzs7Z0NBRWdDO0FBUWhDOztnQ0FFZ0M7QUF3QmhDOztnQ0FFZ0M7QUFjaEM7O2dDQUVnQztBQThCaEM7O2dDQUVnQztBQzlGaEM7RUFDRSxjQUFhO0VBQ2IsNkNBQWlEO0NBK0RsRDs7QUFqRUQ7RUFLSSxjQUFzQztDQXFCdkM7O0FBMUJIO0VBUU0sY0QwRWtCO0NDckVuQjs7QUFiTDtFQVdRLFNBQVE7Q0FDVDs7QUFaUDtFQWVNLG1CQUFrQjtDQUNuQjs7QUFFRDtFQWxCSjtJQW1CTSxpQkR1RDREO0lDdEQ1RCxtQkFBa0Q7R0FNckQ7RUExQkg7SUF1QlEsY0Q0RHNCO0dDM0R2QjtDQXFCTjs7QUFqQkc7RUE1Qko7SUE2Qk0sU0FBUTtHQUVYO0NBb0JGOztBQW5ERDtFQWlDSSxjQUFhO0NBQ2Q7O0FBbENIO0VBb0NJLGNBQWE7RUFDYixvREFBaUU7Q0FDbEU7O0FBRUQ7RUF4Q0Y7SUEwQ00sMEJBQXlCO0dBQzFCO0NBdUJKOztBQXBCQztFQTlDRjtJQStDSSxtQkFBNEM7SUFDNUMseUNBQXVEO0dBaUIxRDtFQWpFRDtJQW1ETSxjRDZCa0I7SUM1QmxCLHFEQUE2RTtHQUM5RTtFQXJETDtJQXVETSwwQkFBeUI7R0FDMUI7Q0F3Qko7O0FBdEJDO0VBMURGO0lBMkRJLGtCQUFpQjtHQU1wQjtFQWpFRDtJQThETSxtQ0FBdUM7R0FDeEM7Q0EwQko7O0FBdEJEO0VBRUksb0JBQW1CO0VBQ25CLGVEN0NnQjtFQzhDaEIsc0JBQXFCO0VBQ3JCLHFCQUFvQjtDQU9yQjs7QUFMQztFQVBKO0lBUU0sZ0JBQWU7SUFDZix5QkFB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LGFBQVk7R0FDYjtDQXlPTjs7QUFwT0Q7RUFDRTtJQUNFLG1CQUFrQjtJQUNsQixvQkFBbUI7R0FDcEI7Q0F1T0YiLCJmaWxlIjoiL2Nzcy90ZW1wbGF0ZXMvZGVmYXVsdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgICAgRm9udHMgICAgICAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbiRnaWJzb246ICdjYW5hZGEtdHlwZS1naWJzb24nLCBzYW5zLXNlcmlmO1xuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPSAgICAgICAgICBGb250IFNpemVzICAgICAgICAgID1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbiRzbWFsbDogLjg3NXJlbTsgLy8gMTRweFxuJHRleHQ6IDEuMTI1cmVtOyAvLyAxOHB4XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgRm9udCBXZWlnaHRzICAgICAgICAgPVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuJGxpZ2h0OiAzMDA7XG4kbm9ybWFsOiA0MDA7XG4kc2VtaS1ib2xkOiA1MDA7XG4kYm9sZDogNTAwO1xuJGV4dHJhLWJvbGQ6IDgwMDtcblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj0gICAgICAgICAgICBDb2xvcnMgICAgICAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4kYmxhY2s6ICMwMDA7XG4kd2hpdGU6ICNmZmY7XG4kaW1nLWJnOiAjZTllYWVlO1xuJGJvZHktY29sb3I6ICMxMzE0MTc7XG4kYm9yZGVyOiAjRERFMUU2O1xuJGJvcmRlcjI6ICNkN2RkZTI7XG4kYm9yZGVyMzogI0FFQjlDMjtcbiRib3JkZXIzOiAjM0NDQkRBO1xuJHJlZDogI2IyMDEwMTtcbiR5ZWxsb3c6ICM5MUU5RjI7XG4kYmc6ICNGMkYzRjU7XG4kcHJpbWFyeTogIzE3MzM2NjtcbiRzZWNvbmRhcnk6ICMzQ0NCREE7XG4kaGVhZGluZzogIzE3MzM2NjtcbiRpbnB1dC1iZzogI2Y5ZmFmYTtcbiRpbnB1dC1zaGFkb3c6ICNFMUY3RkE7XG4kbGluZWFyLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTM0ZGVnLCAjM0ZENkU2IDAlLCAjM0ZENkU2IDElLCAjM0ZENkU1IDMlLCAjM0ZENkU0IDclLCAjM0VEN0UzIDEyJSwgIzNFRDdFMSAxOSUsICMzRUQ4REYgMjYlLCAjM0VEOERFIDM0JSwgIzNERDhEQyA0MyUsICMzREQ5REEgNTIlLCAjM0REOUQ4IDYyJSwgIzNDREFENyA3MSUsICMzQ0RBRDYgODElLCAjM0NEQUQ1IDkxJSwgIzNDREFENSAxMDAlKTtcbiR0ZXN0aW1vbmlhbHMtZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICM0QzUwNTkgMCUsICM3RjgyODggMTAwJSk7XG4kZm9vdGVyLWNvbG9yOiAjRUFFRUVGO1xuJGZvb3Rlci1ib3JkZXI6ICMzOTNBM0U7XG4kcXVvdGU6ICMxMTNDNjc7XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgICBDb250YWluZXJzICAgICAgICAgPVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuJGNvbnRhaW5lcjE6IDg3LjVyZW07XG4kY29udGFpbmVyMjogNzcuNXJlbTtcbiRjb250YWluZXIzOiA1Ny41cmVtO1xuXG4kcGFkZGluZzogMi41cmVtO1xuJHBhZGRpbmcyOiAxLjI1cmVtO1xuJHBhZGRpbmczOiAxcmVtO1xuXG4kZnVsbENvbnRhaW5lcjE6ICRjb250YWluZXIxICsgKCRwYWRkaW5nICogMik7XG4kZnVsbENvbnRhaW5lcjI6ICRjb250YWluZXIyICsgKCRwYWRkaW5nICogMik7XG4kZnVsbENvbnRhaW5lcjM6ICRjb250YWluZXIzICsgKCRwYWRkaW5nICogMik7XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgICAgIFNpemVzICAgICAgICAgICAgPVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuJGFubm91bmNlbWVudHNIZWlnaHQ6IDIuODc1cmVtO1xuJGFubm91bmNlbWVudHNIZWlnaHRNb2JpbGU6IDIuNXJlbTtcblxuJHRvcGJhckhlaWdodDogMy43NXJlbTtcbiR0b3BiYXJIZWlnaHRNb2JpbGU6IDIuNXJlbTtcblxuJG5hdndyYXBIZWlnaHQ6IDcuMzc1cmVtO1xuJG5hdndyYXBIZWlnaHRNb2JpbGU6IDUuNDM3NXJlbTtcblxuJHRvcEhlaWdodDogJGFubm91bmNlbWVudHNIZWlnaHQgKyAkdG9wYmFySGVpZ2h0O1xuJHRvcEhlaWdodE1vYmlsZTogJGFubm91bmNlbWVudHNIZWlnaHRNb2JpbGUgKyAkdG9wYmFySGVpZ2h0TW9iaWxlO1xuXG4kaGVhZGVySGVpZ2h0OiAkdG9wSGVpZ2h0ICsgJG5hdndyYXBIZWlnaHQ7XG4kaGVhZGVySGVpZ2h0TW9iaWxlOiAkdG9wSGVpZ2h0TW9iaWxlICsgJG5hdndyYXBIZWlnaHRNb2JpbGU7XG5cbiRoZXJvSGVpZ2h0OiAyOC4xMjVyZW07XG4kaGVyb0hlaWdodE1vYmlsZTogMThyZW07XG5cbiRzaW1wbGVIZXJvSGVpZ2h0OiAyOHJlbTtcbiRzaW1wbGVIZXJvSGVpZ2h0TW9iaWxlOiAxNHJlbTtcblxuJGJhckhlaWdodDogNXJlbTtcbiRiYXJIZWlnaHRNb2JpbGU6IDUuOTM3NXJlbTtcblxuJGJvcmRlclJhZGl1czogLjMxMjVyZW07XG5cbiRzYWZhcmk6IDQuMTI1cmVtO1xuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPSAgICAgICAgICBCcmVha3BvaW50cyAgICAgICAgID1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbiRhYm92ZS1sZzogJ21pbi13aWR0aDogMTUwMHB4JztcbiRsZzogJ21heC13aWR0aDogMTQ5OXB4JztcbiRhYm92ZS1sYXB0b3A6ICdtaW4td2lkdGg6IDEzNjdweCc7XG4kbGFwdG9wOiAnbWF4LXdpZHRoOiAxMzY2cHgnO1xuJGFib3ZlLW1kOiAnbWluLXdpZHRoOiAxMjAwcHgnO1xuJG1kOiAnbWF4LXdpZHRoOiAxMTk5cHgnO1xuJGFib3ZlLXNtOiAnbWluLXdpZHRoOiAxMDI0cHgnO1xuJHNtOiAnbWF4LXdpZHRoOiAxMDIzcHgnO1xuJGFib3ZlLXhzOiAnbWluLXdpZHRoOiA3NjhweCc7XG4keHM6ICdtYXgtd2lkdGg6IDc2N3B4JztcbiRhYm92ZS1tb2JpbGU6ICdtaW4td2lkdGg6IDQ4MHB4JztcbiRtb2JpbGU6ICdtYXgtd2lkdGg6IDQ3OXB4JztcbiRtb2JpbGUtbGFuZHNjYXBlOiAnbWF4LWhlaWdodDogNDc5cHgnO1xuJGlwaG9uZTogJ21heC13aWR0aDogMzIwcHgnO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVzb3VyY2VzL3Njc3MvX3ZhcnMuc2NzcyIsIkBpbXBvcnQgXCJib3VyYm9uXCI7XG5AaW1wb3J0IFwibmVhdFwiO1xuQGltcG9ydCBcIi4uL21peGluc1wiO1xuQGltcG9ydCBcIi4uL3ZhcnNcIjtcblxuI2hlcm8ge1xuICBoZWlnaHQ6IDM2cmVtO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gKCN7JHRvcEhlaWdodH0gKyAxMHJlbSkpO1xuXG4gICYuc2ltcGxlIHtcbiAgICBoZWlnaHQ6ICRzaW1wbGVIZXJvSGVpZ2h0ICsgJGJhckhlaWdodDtcblxuICAgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBoZWlnaHQ6ICRzaW1wbGVIZXJvSGVpZ2h0O1xuXG4gICAgICAuY29udGFpbmVyMiB7XG4gICAgICAgIHRvcDogNjAlO1xuICAgICAgfVxuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIEBtZWRpYSgkeHMpIHtcbiAgICAgIG1hcmdpbi10b3A6ICR0b3BIZWlnaHRNb2JpbGU7XG4gICAgICBoZWlnaHQ6ICRzaW1wbGVIZXJvSGVpZ2h0TW9iaWxlICsgJGJhckhlaWdodE1vYmlsZTtcblxuICAgICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgaGVpZ2h0OiAkc2ltcGxlSGVyb0hlaWdodE1vYmlsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpub3QoLnNpbXBsZSkgPiAqOmZpcnN0LWNoaWxkIC5jb250YWluZXIyIHtcbiAgICBAbWVkaWEoJGFib3ZlLW1kKSB7XG4gICAgICB0b3A6IDUyJTtcbiAgICB9XG4gIH1cbiAgLmxvZ28ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBoZWlnaHQ6IDM2cmVtO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAoI3skYmFySGVpZ2h0fSArICN7JHRvcEhlaWdodH0gKyAxMHJlbSkpO1xuICB9XG5cbiAgQG1lZGlhKCRzbSkge1xuICAgIC5iZy1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEoJG1vYmlsZSkge1xuICAgIGhlaWdodDogJGhlcm9IZWlnaHRNb2JpbGUgKyAkYmFySGVpZ2h0TW9iaWxlO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAoI3skdG9wSGVpZ2h0TW9iaWxlfSArIDEwcmVtKSk7XG5cbiAgICA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgaGVpZ2h0OiAkaGVyb0hlaWdodE1vYmlsZTtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAoI3skYmFySGVpZ2h0TW9iaWxlfSArICN7JHRvcEhlaWdodE1vYmlsZX0gKyAxMHJlbSkpO1xuICAgIH1cbiAgICAuYmctY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuXG4gICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyR0b3BIZWlnaHR9KTtcbiAgICB9XG4gIH1cbn1cblxubWFpbiB7XG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFweDtcbiAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcblxuICAgIEBtZWRpYSAoJHhzKSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wMTNyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgfVxuICB9XG5cbiAgcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG4gIGZpZ3VyZTpub3QoW2NsYXNzXSkgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBmaWd1cmU6bm90KC52aWRlbyksIC52aWRlby1jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAbWVkaWEoJHhzKSB7XG4gICAgICBAaW5jbHVkZSBibG9ja1NwYWNlKDEuODc1cmVtKTtcbiAgICB9XG4gIH1cbiAgZmlndXJlOm5vdCgudmlkZW8pIHtcbiAgICBiYWNrZ3JvdW5kOiAkaW1nLWJnO1xuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcigxLjg3NXJlbSk7XG4gICAgfVxuXG4gICAgQG1lZGlhKCRhYm92ZS1tb2JpbGUpIHtcbiAgICAgICYubGVmdCwgJi5yaWdodCB7XG4gICAgICAgIG1heC13aWR0aDogMTMuNXJlbTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1pbi13aWR0aDogMTMuNXJlbTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAxMy41cmVtO1xuXG4gICAgICAgICAgJjpub3QoLmxvYWRlZCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTMuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGVmdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICB9XG4gICAgICAmLnJpZ2h0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgIH1cbiAgICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2tTcGFjZSgxLjg3NXJlbSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSgkYWJvdmUtbWQpIHtcbiAgICAgICYubGVmdCwgJi5yaWdodCB7XG4gICAgICAgIG1heC13aWR0aDogMjByZW07XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDIwcmVtO1xuXG4gICAgICAgICAgJjpub3QoLmxvYWRlZCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjEuMjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmxlZnQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICAgICYucmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMi41cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgfVxuICAgICAgJi5zbWFsbCB7XG4gICAgICAgIG1heC13aWR0aDogMTIuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBmaWdjYXB0aW9uLCAuY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjk7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206ICAxLjI1cmVtO1xuXG4gICAgQG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAuODEyNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuaDEge1xuICBjb2xvcjogJHByaW1hcnk7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDQuMDYyNXJlbTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzEyNXJlbTtcbiAgfVxuXG4gIEBtZWRpYSgkeHMpIHtcbiAgICBmb250LXNpemU6IDIuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjg3NXJlbTtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuOTM3NXJlbTtcbiAgICB9XG4gIH1cbn1cblxuaDIsIGgzIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG5cbiAgICBAbWVkaWEoJGxhcHRvcCkge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG4gIH1cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG5cbiAgQG1lZGlhKCR4cykge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMzFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcblxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgIH1cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjkzNzVyZW07XG4gICAgfVxuICB9XG59XG5cbmgzIHtcbiAgY29sb3I6ICRwcmltYXJ5O1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS40MzhyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjFweDtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG4gIH1cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjE4NzVyZW07XG4gIH1cblxuICBAbWVkaWEoJHhzKSB7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjY4NzVyZW07XG4gICAgfVxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuODc1cmVtO1xuICAgIH1cbiAgfVxufVxuXG4uYnJlYWRjcnVtYnMge1xuICBmb250LXdlaWdodDogJG5vcm1hbDtcbiAgQGluY2x1ZGUgZmxleDtcbiAgQGluY2x1ZGUgZmxleC1zcGFjZShmbGV4LXN0YXJ0KTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG5cbiAgbGk6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgdmVydGljYWwtYWxpZ246IC0ycHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAxcmVtIDAgLjc1cmVtO1xuICAgIHdpZHRoOiAwLjYyNXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgYmcoJ2ljb25zL2JyZWFkY3J1bWItYXJyb3cuc3ZnJyk7XG5cbiAgICBAbWVkaWEoJHhzKSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICAgIG1hcmdpbjogMCAuNXJlbTtcbiAgICAgIHdpZHRoOiAwLjNyZW07XG4gICAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICB9XG4gIH1cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhKCRhYm92ZS14cykge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxuXG4gIGxpOmxhc3QtY2hpbGQge1xuICAgIEBtZWRpYSAoJHhzKSB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICB9XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPSAgICAgICAgICAgU2VjdGlvbnMgICAgICAgICAgPVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG5zZWN0aW9uLmZ1bGwsIHNlY3Rpb24uc2lkZWJhciB7XG4gIEBtZWRpYSgkbWQpIHtcbiAgICBwYWRkaW5nOiA1LjYyNXJlbSAwO1xuICB9XG4gIEBtZWRpYSgkeHMpIHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAwIDIuNXJlbTtcbiAgfVxufVxuXG5zZWN0aW9uLmZ1bGwge1xuICBiYWNrZ3JvdW5kOiAkYmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICA+IC5jb250YWluZXIxID4gKjpub3QoLmNhcmRzLWNvbnRhaW5lcik6bm90KC50ZXh0LWltYWdlKSB7XG4gICAgQGluY2x1ZGUgbWF4LXdpZHRoKDU3LjVyZW0pO1xuICB9XG5cbiAgQG1lZGlhKCRhYm92ZS1tZCkge1xuICAgIHBhZGRpbmc6IDUuODc1cmVtIDAgNi44NzVyZW07XG4gIH1cbn1cblxuc2VjdGlvbi5zaWRlYmFyIC5jb250YWluZXIxLCAudGV4dC1pbWFnZSB7XG4gIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCk7XG4gIEBpbmNsdWRlIGZsZXgtc3BhY2U7XG59XG5cbnNlY3Rpb24uc2lkZWJhciB7XG4gIC5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSgkYWJvdmUtc20pIHtcbiAgICAgIHdpZHRoOiA2Mi4yMDklO1xuICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcblxuICAgICAgQG1lZGlhKCRsYXB0b3ApIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEoJGFib3ZlLW1kKSB7XG4gICAgcGFkZGluZzogNXJlbSAwO1xuICB9XG5cbiAgQG1lZGlhKCRsYXB0b3ApIHtcbiAgICBwYWRkaW5nOiAzcmVtIDA7XG4gIH1cbn1cblxuI3NpZGViYXIge1xuICB3aWR0aDogMzQuMjE1JTtcbiAgbWF4LXdpZHRoOiAyNy41cmVtO1xuICBiYWNrZ3JvdW5kOiAkYmc7XG4gIHBhZGRpbmc6IDIuODc1cmVtIDAgMS4zMTI1cmVtO1xuXG4gICNzaWRlYmFyLXRvcCwgLmN0YS1zaWRlYmFyID4gZGl2Omxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigzLjEyNXJlbSk7XG5cbiAgICBAbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgY29udGFpbmVyKDEuNXJlbSk7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLCBhLCBidXR0b24ge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigzLjEyNXJlbSk7XG4gIH1cbiAgLnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNzVyZW07XG4gIH1cbiAgLnNpZGViYXItbGlua3Mge1xuICAgID4gbGkgPiB7XG4gICAgICBhLCBidXR0b24ge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjA2MjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuODc1cmVtO1xuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlLCAmLmFjdGl2ZSwgJi5vcGVuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTkwZGVnLCByZ2JhKCR3aGl0ZSwgMCkgMCUsICR3aGl0ZSAxMDAlKTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogLTJweDtcbiAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAzLjVyZW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IDEuMDYyNXJlbTtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICB9XG4gICAgICBhLCBidXR0b24ge1xuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5hY3RpdmUsICYub3BlbiB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgYSwgYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAkbm9ybWFsO1xuICB9XG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBidXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAmLmFjdGl2ZTpub3QoLmNsb3NlZCk6YWZ0ZXIsICYub3BlbjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgICYuYWN0aXZlICsgdWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IDEuMzc1cmVtO1xuICAgICAgbGVmdDogMS4zNzVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBsaW5lYXI7XG4gICAgICBAaW5jbHVkZSBiZztcbiAgICAgIHdpZHRoOiAwLjYyNXJlbTtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvaWNvbnMvYXJyb3ctcmlnaHQuc3ZnJyk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhKCRzbSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI3NpZGViYXItdG9wIHtcbiAgYmFja2dyb3VuZDogcmdiYSgkYmcsIC43KTtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiBpbml0aWFsO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgY29sb3I6ICRwcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjg3NXJlbTtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRub3JtYWw7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKDApO1xuICB9XG5cbiAgdWwge1xuICAgIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgICAgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC42MjVyZW07XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS43NXJlbTtcbiAgICAgIH1cbiAgICAgIC5wbHVzIHtcbiAgICAgICAgbGVmdDogLjI1cmVtO1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoLjc1cmVtKTtcblxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICBoZWlnaHQ6IC43NXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgfVxufVxuXG4udGV4dC1pbWFnZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgZmlndXJlIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMTBweCByZ2JhKCR3aGl0ZSwgLjUpO1xuXG4gICAgaW1nOm5vdCgubG9hZGVkKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEoJGFib3ZlLW1vYmlsZSkge1xuICAgICAgbWF4LXdpZHRoOiAyMi41cmVtO1xuICAgIH1cbiAgICBAbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbSAhaW1wb3J0YW50O1xuICAgICAgQGluY2x1ZGUgbWF4LXdpZHRoKGNhbGMoMTAwJSAtIDEuMjVyZW0pKTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEoJGFib3ZlLW1kKSB7XG4gICAgPiBkaXYge1xuICAgICAgbWFyZ2luLXRvcDogMi4yNXJlbTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhKCRzbSkge1xuICAgIHAgLmJ1dHRvbiArIC5idXR0b24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAuOTM3NXJlbTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhKCRhYm92ZS1tb2JpbGUpIHtcbiAgICA+IGRpdiB7XG4gICAgICB3aWR0aDogNjUuNzE0MyU7XG4gICAgfVxuICAgIGZpZ3VyZSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgIH1cbiAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgICAgVmlkZW8gICAgICAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi52aWRlby1jb250YWluZXIge1xuICBAaW5jbHVkZSBibG9ja1NwYWNlO1xuXG4gID4gZGl2OmZpcnN0LWNoaWxkLCAudmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAudGh1bWJuYWlsLCAudmlkZW8gPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgQGluY2x1ZGUgc3F1YXJlKDEwMCUpO1xuICB9XG4gIC50aHVtYm5haWwge1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmLCAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBiZztcbiAgICB9XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cztcbiAgICAgIEBpbmNsdWRlIGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIHNxdWFyZSg3LjVyZW0pO1xuXG4gICAgICBAbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoNC42ODc1cmVtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9pY29ucy9wbGF5LnN2ZycpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2ljb25zL3BsYXktaG92ZXIuc3ZnJyk7XG4gICAgfVxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmlkZW8ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA1Ni4yNSUgMCAwIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaWZyYW1lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICA+ICoge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC5jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoMi4xMjVyZW0pO1xuXG4gICAgLmRpdmlkZXIge1xuICAgICAgY29sb3I6IGRhcmtzbGF0ZWdyYXk7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBtYXJnaW46IDAgLjc1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBAbWVkaWEgKCR4cykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHJpZ2h0OiAtMS4yNXJlbTtcbiAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDFyZW0pO1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXIoNTAlLCBhYnNvbHV0ZSk7XG4gICAgICAgIEBpbmNsdWRlIGJnKCdpY29ucy9wbGF5LWNhcHRpb24uc3ZnJyk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAoJHhzKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEoJHhzKSB7XG4gICAgICBAaW5jbHVkZSBjb250YWluZXIoMS4xMjVyZW0pO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkbm9ybWFsO1xuXG4gICAgICBidXR0b24ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IC0xLjVyZW07XG4gICAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDEuMTI1cmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgRmVhdHVyZWQgQm94ICAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi5mZWF0dXJlZC1ib3gge1xuICBjbGVhcjogYm90aDtcbiAgYmFja2dyb3VuZDogJGJnO1xuICBwYWRkaW5nOiAzLjg3NXJlbSA1cmVtIDMuNzVyZW07XG4gIEBpbmNsdWRlIGJsb2NrU3BhY2U7XG5cbiAgQG1lZGlhKCR4cykge1xuICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgIEBpbmNsdWRlIGJsb2NrU3BhY2UoMS44NzVyZW0pO1xuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMnJlbTtcblxuICAgICAgQG1lZGlhICgkeHMpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAxMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuODc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj0gICAgICAgICAgQmxvY2txdW90ZSAgICAgICAgID1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuYmxvY2txdW90ZSB7XG4gIGNvbG9yOiAkcXVvdGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIEBpbmNsdWRlIGJsb2NrU3BhY2U7XG5cbiAgJi5ib3gge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiAkdGVzdGltb25pYWxzLWdyYWRpZW50O1xuICAgIHBhZGRpbmc6IDQuMzVyZW0gNXJlbTtcbiAgICAucXVvdGUge1xuICAgICAgZm9udC13ZWlnaHQ6ICRub3JtYWw7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgICB9XG5cbiAgICBjaXRlIHtcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRub3JtYWw7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50b3AtZG9jcy1iYWRnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYuYmFkZ2Uge1xuICAgIC50b3AtZG9jcy1iYWRnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIG1hcmdpbi10b3A6IDUlO1xuICAgIH1cbiAgfVxuXG4gICYud2l0aC1pbWFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4taGVpZ2h0OiAyNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAzMHJlbTtcblxuICAgIEBtZWRpYSAoJHhzKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC5xdW90ZS1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBtZWRpYSAoJHhzKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE1cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIHdpZHRoOiA0OS45JTtcblxuICAgICAgQG1lZGlhICgkeHMpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmc6IDMuNDM4cmVtIDIuNjg4cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGVzdGltb25pYWxzLWdyYWRpZW50O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG5cbiAgICAgICAgQG1lZGlhICgkeHMpIHtcbiAgICAgICAgICBwYWRkaW5nOiAyLjA2M3JlbSAyLjU2M3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xdW90ZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRub3JtYWw7XG5cbiAgICAgICAgICBAbWVkaWEgKCR4cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjaXRlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogJG5vcm1hbDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XG5cbiAgICAgICAgICBAbWVkaWEgKCR4cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuaW1hZ2UtcmlnaHQge1xuICAgICAgPiBkaXYge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nOiA2LjQzOHJlbSA0LjY4OHJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGVzdGltb25pYWxzLWdyYWRpZW50O1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcblxuICAgICAgICAgIEBtZWRpYSAoJHhzKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyLjA2M3JlbSAyLjU2M3JlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucXVvdGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRub3JtYWw7XG5cbiAgICAgICAgICAgIEBtZWRpYSAoJHhzKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNpdGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcblxuICAgICAgICAgICAgQG1lZGlhICgkeHMpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSgkeHMpIHtcbiAgICBAaW5jbHVkZSBibG9ja1NwYWNlKDEuODc1cmVtKTtcblxuICAgICYuYm94IHtcbiAgICAgIHBhZGRpbmc6IDIuOTM3NXJlbSAyLjY4NzVyZW07XG4gICAgICBAaW5jbHVkZSB3aWRlcigwLjI1cmVtKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhKCRpcGhvbmUpIHtcbiAgICAmLmJveCB7XG4gICAgICBAaW5jbHVkZSB3aWRlcigkcGFkZGluZzMpO1xuICAgIH1cbiAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgICAgVGFibGUgICAgICAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlclJhZGl1cztcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXJSYWRpdXM7XG4gIEBpbmNsdWRlIGJsb2NrU3BhY2U7XG5cbiAgJiwgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQG1lZGlhKCR4cykge1xuICAgIEBpbmNsdWRlIGJsb2NrU3BhY2UoMS44NzVyZW0pO1xuICB9XG4gIEBtZWRpYSgkbW9iaWxlKSB7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtICgjeyRwYWRkaW5nMn0gKiAyKSk7XG4gIH1cbiAgQG1lZGlhKCRpcGhvbmUpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAoI3skcGFkZGluZzN9ICogMikpO1xuICB9XG59XG5cbnRhYmxlIHtcbiAgdGhlYWQge1xuICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmOTtcbiAgfVxuICB0aCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXdlaWdodDogJHNlbWktYm9sZDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIHRoLCB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiAxLjA2MjVyZW0gMS4yNXJlbSAuODEyNXJlbTtcbiAgfVxuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXIyO1xuICB9XG4gIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgfVxuICB9XG4gIC5jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAucmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgQG1lZGlhKCRhYm92ZS1zbSkge1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPSAgICAgICAgICAgICAgTWFwICAgICAgICAgICAgPVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4ubWFwLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gIEBpbmNsdWRlIGJsb2NrU3BhY2U7XG5cbiAgQG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBibG9ja1NwYWNlKDEuODc1cmVtKTtcbiAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgICBCaW8gQ2FyZCAgICAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbkBtZWRpYSgkYWJvdmUtbWQpIHtcbiAgLmNhcmRzLWNvbnRhaW5lci5iaW8gPiBkaXY6bm90KDpmaXJzdC1jaGlsZCksIC5jYXJkLmJpbzpudGgtY2hpbGQobis1KSB7XG4gICAgbWFyZ2luLXRvcDogMy4wNzIlO1xuICB9XG4gIC5jYXJkLmJpbyB7XG4gICAgd2lkdGg6IDIyLjY5NiU7XG5cbiAgICAmOm5vdCg6bnRoLWNoaWxkKDRuKSk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMuMDcyJTtcbiAgICB9XG4gIH1cbn1cbkBtZWRpYSgkYWJvdmUtc20pIGFuZCAoJG1kKSB7XG4gIC5jYXJkcy1jb250YWluZXIuYmlvID4gZGl2Om5vdCg6Zmlyc3QtY2hpbGQpLCAuY2FyZC5iaW86bnRoLWNoaWxkKG4rNCkge1xuICAgIG1hcmdpbi10b3A6IDIlO1xuICB9XG4gIC5jYXJkLmJpbyB7XG4gICAgd2lkdGg6IDMyJTtcblxuICAgICY6bm90KDpudGgtY2hpbGQoM24pKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgfVxuICB9XG59XG5AbWVkaWEoJHNtKSB7XG4gIC5jYXJkcy1jb250YWluZXIuYmlvID4gZGl2Om5vdCg6Zmlyc3QtY2hpbGQpLCAuY2FyZC5iaW86bnRoLWNoaWxkKG4rMykge1xuICAgIG1hcmdpbi10b3A6IDUlO1xuICB9XG4gIC5jYXJkLmJpbyB7XG4gICAgd2lkdGg6IDQ3LjUlO1xuXG4gICAgJjpub3QoOm50aC1jaGlsZChldmVuKSk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgIH1cbiAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgRmVsbG93c2hpcCBDYXJkICAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uY2FyZHMtY29udGFpbmVyLmZlbGxvd3NoaXAgPiBkaXYge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLnBoeXNpY2lhbi1sb2NhdGlvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNhcmQuYmlvLmZlbGxvd3NoaXAge1xuICB3aWR0aDogMzIuNSU7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI0YyRjNGNTtcblxuICA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gIH1cblxuICA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWluLWhlaWdodDogMi41cmVtO1xuXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjM2NjYmRhO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGg0LCBwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjdyZW07XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogIzE3MzM2NztcbiAgfVxuXG4gICYuY3VycmVudCB7XG4gICAgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBjb2xvcjogIzE3MzM2NztcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICB3aWR0aDogNDkuNSU7XG4gIH1cbn1cblxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgICAgU2l0ZW1hcCAgICAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbnNlY3Rpb24uc2l0ZW1hcCAuY29udGFpbmVyMiA+IHVsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGJsb2NrU3BhY2UoMy4xMjVyZW0pO1xuXG4gID4gbGkge1xuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICB9XG4gICAgPiBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgICB9XG5cbiAgICBAbWVkaWEoJGFib3ZlLXhzKSB7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgICB9XG4gIH1cbiAgLnN1Ym1lbnUgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhKCRhYm92ZS14cykge1xuICAgIGNvbHVtbnM6IDM7XG5cbiAgICBAbWVkaWEoJHNtKSB7XG4gICAgICBjb2x1bW5zOiAyO1xuICAgIH1cbiAgfVxufVxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPSAgICAgICAgICAgIEV2ZW50cyAgICAgICAgICAgPVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG5ib2R5LmV2ZW50cyB7XG4gIC5wb3N0LXNuaXBwZXQge1xuICAgID4gZGl2IHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmc6IDIuMjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDU1JTtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZmlsdGVyYnl0YWdzIHtcbiAgb3BhY2l0eTogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xuICBAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQpO1xuICBAaW5jbHVkZSBmbGV4LXNwYWNlO1xuXG4gICYuaGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBsYWJlbCwgLnNpbXBsZSB7XG4gICAgY29sb3I6ICRib3JkZXI7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcblxuICAgIEBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6ICR0ZXh0O1xuICAgIH1cbiAgfVxuICAucmVxdWlyZWQtZmllbGQge1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG4gID4gZGl2IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICB9XG4gICAgPiBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IC43NXJlbTtcbiAgICB9XG5cbiAgICBAbWVkaWEoJG1vYmlsZSkge1xuICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgfVxuICAgICAgPiBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC4zMjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgc2VsZWN0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuICBzZWxlY3Qge1xuICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmOGY5Zjk7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzk3YTFhNztcblxuICAgICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjRTFFOEVCO1xuICAgIH1cbiAgICArIC5pY29uLWZvcm0tZHJvcGRvd24ge1xuICAgICAgcmlnaHQ6IC44NzVyZW07XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcig1MCUsIGFic29sdXRlKTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxcmVtKTtcbiAgICAgICAgQGluY2x1ZGUgYmcoJy9hc3NldHMvaW1hZ2VzL2ljb25zL2Fycm93LXNlbGVjdC5zdmcnKTtcblxuICAgICAgICBAbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICB3aWR0aDogLjg3NXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBoZWlnaHQ6IDIuNzVyZW07XG4gICAgICBAaW5jbHVkZSBjb250YWluZXIoLjc1cmVtKTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEoJGFib3ZlLW1vYmlsZSkge1xuICAgIC5oYWxmIHtcbiAgICAgIHdpZHRoOiA0Ny4wNiU7XG4gICAgfVxuICAgIC50aHJlZSB7XG4gICAgICB3aWR0aDogMjkuNDEzJTtcbiAgICB9XG4gICAgLmZvdXIge1xuICAgICAgd2lkdGg6IDIwLjU5JTtcbiAgICB9XG4gIH1cbn1cblxuI25vLXJlc3VsdHMsICNkaXNwbGF5LWRldGFpbHMge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmV2ZW50LWRldGFpbHMge1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICBpbWcge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICB9XG59XG5cbiNwb3N0cy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAucG9zdC1zbmlwcGV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgIEBtZWRpYSgkc20pIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICBAbWVkaWEoJHhzKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIEBtZWRpYSgkeHMpIHtcbiAgICAgIGRpdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmPjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2Ni4yMSU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jdXJyZW50IHAge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAuZXZlbnQtZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgZGl2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjNyZW07XG4gICAgfVxuICB9XG5cbiAgaDQge1xuICAgIG1hcmdpbjogMS41cmVtIDA7XG4gIH1cbn1cblxuLmV2ZW50IC5jb250ZW50IHtcbiAgZmlndXJlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgIERvdWJsZSBTaWRlICAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uZG91YmxlLXNpZGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAzLjc1cmVtO1xufVxuXG4uZG91YmxlLXNpZGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG59XG5cbi5kb3VibGUtc2lkZSBoMzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07XG59XG5cbi5kb3VibGUtc2lkZSBwOm5vdCg6bGFzdC1jaGlsZCkge1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmRvdWJsZS1zaWRlIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLmRvdWJsZS1zaWRlID4gZGl2IHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjM3NXJlbTtcbiAgfVxuICAuZG91YmxlLXNpZGUgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiA0OSU7XG4gICAgcGFkZGluZy1yaWdodDogMy44NzVyZW07XG4gIH1cbiAgLmRvdWJsZS1zaWRlID4gZGl2Omxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA0LjI1cmVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlcjtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5kb3VibGUtc2lkZSA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M4Y2RkNDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmRvdWJsZS1zaWRlOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gIH1cbiAgLmRvdWJsZS1zaWRlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgfVxuICAuZG91YmxlLXNpZGUgaDM6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIH1cbiAgLmRvdWJsZS1zaWRlID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTtcbiAgfVxufVxuXG4ubG9jYXRpb25zX2xhbmd1YWdlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBtZWRpYSgkeHMpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgPiBkaXYge1xuICAgIG1hcmdpbjogMCAwIDNyZW0gMDtcbiAgICBwYWRkaW5nOiAwIDIuNXJlbTtcbiAgICB3aWR0aDogNDkuOSU7XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlcjtcbiAgICB9XG5cbiAgICBAbWVkaWEoJHhzKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDEuMjVyZW0gMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhKCRsYXB0b3ApIGFuZCAoJ21pbi13aWR0aDogNzY5cHgnKSB7XG4gIC5jb250YWluZXIxLCAuY29udGFpbmVyMiwgLmNvbnRhaW5lcjMge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvc2Nzcy90ZW1wbGF0ZXMvZGVmYXVsdC5zY3NzIiwiQG1peGluIHZlcnRpY2FsLWNlbnRlcigkdG9wOiA1MCUsICRwb3NpdGlvbjogcmVsYXRpdmUpIHtcblx0dG9wOiAkdG9wO1xuXHRwb3NpdGlvbjogJHBvc2l0aW9uO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlcigkbGVmdDogNTAlLCAkcG9zaXRpb246IHJlbGF0aXZlKSB7XG5cdGxlZnQ6ICRsZWZ0O1xuXHRwb3NpdGlvbjogJHBvc2l0aW9uO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbkBtaXhpbiBjZW50ZXIge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG5AbWl4aW4gaGlkZVZpc3VhbGx5IHtcblx0dG9wOiAtOTk5OXB4O1xuXHRsZWZ0OiAtOTk5OXB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbkBtaXhpbiBmbGV4KCRhbGlnbjogY2VudGVyKSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiAkYWxpZ247XG59XG5cbkBtaXhpbiBmbGV4LXNwYWNlKCRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuKSB7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbn1cblxuQG1peGluIG1heC13aWR0aCgkd2lkdGgsICRtYXJnaW46IGF1dG8pIHtcblx0bWF4LXdpZHRoOiAkd2lkdGg7XG5cdG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuXHRtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG59XG5cbkBtaXhpbiBjb250YWluZXIoJHBhZGRpbmc6ICRwYWRkaW5nKSB7XG5cdHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG5cdHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xufVxuXG5AbWl4aW4gc3F1YXJlKCRzaXplKSB7XG5cdHdpZHRoOiAkc2l6ZTtcblx0aGVpZ2h0OiAkc2l6ZTtcbn1cblxuQG1peGluIGJnKCRiZzogZmFsc2UpIHtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG5cdEBpZigkYmcpIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzLycrJGJnKTtcblx0fVxufVxuXG5AbWl4aW4gc2VsZWN0aW9uKCRiZywgJGNvbG9yKSB7XG5cdDo6LW1vei1zZWxlY3Rpb24ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiZztcblx0XHRjb2xvcjogJGNvbG9yO1xuXHR9XG5cdDo6c2VsZWN0aW9uIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0fVxufVxuXG5AbWl4aW4gd2lkZXIoJHBhZDogJHBhZGRpbmcpIHtcblx0bWFyZ2luLWxlZnQ6IC0kcGFkO1xuXHR3aWR0aDogY2FsYygxMDAlICsgKCN7JHBhZH0gKiAyKSk7XG59XG5cbkBtaXhpbiB0cmlhbmdsZSgkaGVpZ2h0LCAkd2lkdGgsICRjb2xvciwgJGRpcmVjdGlvbikge1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRAaW5jbHVkZSB0cmlhbmdsZUhvdmVyKCRjb2xvciwgJGRpcmVjdGlvbik7XG5cblx0QGlmKCRkaXJlY3Rpb24gPT0gJ3RvcCcpIHtcblx0XHQkd2lkdGg6ICR3aWR0aCAvIDI7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwICR3aWR0aCAkaGVpZ2h0ICR3aWR0aDtcblx0fVxuXHRAZWxzZSBpZigkZGlyZWN0aW9uID09ICdyaWdodCcpIHtcblx0XHQkaGVpZ2h0OiAkaGVpZ2h0IC8gMjtcblx0XHRib3JkZXItd2lkdGg6ICRoZWlnaHQgMCAkaGVpZ2h0ICR3aWR0aDtcblx0fVxuXHRAZWxzZSBpZigkZGlyZWN0aW9uID09ICdib3R0b20nKSB7XG5cdFx0JHdpZHRoOiAkd2lkdGggLyAyO1xuXHRcdGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGggMCAkd2lkdGg7XG5cdH1cblx0QGVsc2UgaWYoJGRpcmVjdGlvbiA9PSAnbGVmdCcpIHtcblx0XHQkaGVpZ2h0OiAkaGVpZ2h0IC8gMjtcblx0XHRib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoICRoZWlnaHQgMDtcblx0fVxufVxuXG5AbWl4aW4gdHJpYW5nbGVIb3ZlcigkY29sb3IsICRkaXJlY3Rpb24pIHtcblx0QGlmKCRkaXJlY3Rpb24gPT0gJ3RvcCcpIHtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvciB0cmFuc3BhcmVudDtcblx0fVxuXHRAZWxzZSBpZigkZGlyZWN0aW9uID09ICdyaWdodCcpIHtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvcjtcblx0fVxuXHRAZWxzZSBpZigkZGlyZWN0aW9uID09ICdib3R0b20nKSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdH1cblx0QGVsc2UgaWYoJGRpcmVjdGlvbiA9PSAnbGVmdCcpIHtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRjb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0fVxufVxuXG5cbkBtaXhpbiBwbHVzLXNpZ24oJHdpZHRoOiAycHgsICRoZWlnaHQ6IC43NXJlbSwgJGNvbG9yOiAkYm9keS1jb2xvciwgJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuXHRwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG5cdEBpZigkY29sb3IgPT0gJHdoaXRlKSB7XG5cdFx0YmFja2dyb3VuZDogJHByaW1hcnk7XG5cdFx0dHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDtcblx0XHRAaW5jbHVkZSBzcXVhcmUoMi41cmVtKTtcblx0fVxuXHRAZWxzZSB7XG5cdFx0QGluY2x1ZGUgc3F1YXJlKCRoZWlnaHQpO1xuXHR9XG5cblx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHRvcDogNTAlO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR3aWR0aDogJHdpZHRoO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGhlaWdodDogJGhlaWdodDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXHRcdHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1pbi1vdXQ7XG5cdH1cblx0JjpiZWZvcmUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtMTgwZGVnKTtcblx0fVxuXHQmOmFmdGVyIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xuXHR9XG59XG5cbkBtaXhpbiBhbmltYXRlLXBsdXMge1xuXHQucGx1cyB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgwZGVnKTtcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMjcwZGVnKTtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGJsb2NrU3BhY2UoJHNwYWNlOiAzLjEyNXJlbSkge1xuXHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRtYXJnaW4tdG9wOiAkc3BhY2U7XG5cdH1cblx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRtYXJnaW4tYm90dG9tOiAkc3BhY2U7XG5cdH1cbn1cblxuQG1peGluIGJ1dHRvbkhlaWdodCgkaGVpZ2h0LCAkYWRkOiBmYWxzZSkge1xuXHRoZWlnaHQ6ICRoZWlnaHQ7XG5cblx0QGlmKCRhZGQgPT0gJ2xlc3MnKSB7XG5cdFx0bGluZS1oZWlnaHQ6ICRoZWlnaHQgLSAuMTI1cmVtO1xuXHR9XG5cdEBlbHNlIGlmKCRhZGQpIHtcblx0XHRsaW5lLWhlaWdodDogJGhlaWdodCArIC4xMjVyZW07XG5cdH1cblx0QGVsc2Uge1xuXHRcdGxpbmUtaGVpZ2h0OiAkaGVpZ2h0O1xuXHR9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvc2Nzcy9fbWl4aW5zLnNjc3MiXSwic291cmNlUm9vdCI6IiJ9*/