@charset "UTF-8";
/* =============================================================
    TOP Page 
============================================================= */
.p-page-home {
  overflow: clip;
  /**
   * component
   */
  /**
  * b-top__mainvisual
  */
  /**
  * b-top__case
  */
  /**
  * b-top__introduction
  */
  /**
  * b-top__reason
  */
  /**
  * b-top__about
  */
  /**
  * b-top__cta
  */
  /**
  * b-top__news
  */
  /**
  * b-top__cta
  */
}
.p-page-home .c-home-title {
  display: grid;
  grid-gap: calc(8 * 100vw / 375);
  text-align: center;
  font-size: calc(26 * 100vw / 375);
  font-weight: var(--fw-bold);
  letter-spacing: 0.07em;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-page-home .c-home-title {
    font-size: 2.6rem;
    grid-gap: 1.7rem;
  }
}
.p-page-home .c-home-title .title-en {
  display: grid;
  justify-items: center;
  grid-gap: calc(17 * 100vw / 375);
  font-family: var(--font-en);
  font-weight: var(--fw-medium);
  font-size: calc(12 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .c-home-title .title-en {
    grid-gap: 1.7rem;
    font-size: 1.2rem;
  }
}
.p-page-home .c-home-title .title-en::before {
  content: "";
  display: block;
  width: calc(36 * 100vw / 375);
  height: calc(32 * 100vw / 375);
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88_4_1%22%20data-name%3D%22%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%204%20%E2%80%93%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235.924%22%20height%3D%2232.001%22%20viewBox%3D%220%200%2035.924%2032.001%22%3E%0A%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_213%22%20data-name%3D%22%E3%83%91%E3%82%B9%20213%22%20d%3D%22M9.847%2C12.495l8.271-8.607A10.168%2C10.168%2C0%2C0%2C0%2C1.6%2C4.6%2C9.958%2C9.958%2C0%2C0%2C0%2C3.531%2C17.644%2C10.157%2C10.157%2C0%2C0%2C0%2C7.806%2C19.79a7.979%2C7.979%2C0%2C0%2C1%2C2.041-7.3Z%22%20transform%3D%22translate(0.013%200.005)%22%20fill%3D%22%23fccb1f%22%2F%3E%0A%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_214%22%20data-name%3D%22%E3%83%91%E3%82%B9%20214%22%20d%3D%22M58.562%2C4.4A10.156%2C10.156%2C0%2C0%2C0%2C44.3%2C4.706l-.421.442a9.953%2C9.953%2C0%2C0%2C1%2C.51%2C11.558%2C10.1%2C10.1%2C0%2C0%2C1-4.718%2C3.874%2C10.209%2C10.209%2C0%2C0%2C1-6.107.469%2C7.981%2C7.981%2C0%2C0%2C0%2C2.3%2C4.053l8.593%2C8.153%2C14.4-14.729A9.92%2C9.92%2C0%2C0%2C0%2C58.562%2C4.4Z%22%20transform%3D%22translate(-25.749%20-1.254)%22%20fill%3D%22%23fccb1f%22%2F%3E%0A%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_215%22%20data-name%3D%22%E3%83%91%E3%82%B9%20215%22%20d%3D%22M42.537%2C30.1a9.961%2C9.961%2C0%2C0%2C0%2C.7-13.074l-8.271%2C8.607a7.977%2C7.977%2C0%2C0%2C0-2.041%2C7.291A10.175%2C10.175%2C0%2C0%2C0%2C42.539%2C30.1%22%20transform%3D%22translate(-25.102%20-13.132)%22%20fill%3D%22%23eaab00%22%2F%3E%0A%3C%2Fsvg%3E%0A");
}
@media screen and (min-width: 768px) {
  .p-page-home .c-home-title .title-en::before {
    width: 3.6rem;
    height: 3.2rem;
  }
}
.p-page-home .c-home-title-white .title-en::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88_4_1%22%20data-name%3D%22%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%204%20%E2%80%93%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235.924%22%20height%3D%2232.001%22%20viewBox%3D%220%200%2035.924%2032.001%22%3E%0A%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_213%22%20data-name%3D%22%E3%83%91%E3%82%B9%20213%22%20d%3D%22M9.847%2C12.495l8.271-8.607A10.168%2C10.168%2C0%2C0%2C0%2C1.6%2C4.6%2C9.958%2C9.958%2C0%2C0%2C0%2C3.531%2C17.644%2C10.157%2C10.157%2C0%2C0%2C0%2C7.806%2C19.79a7.979%2C7.979%2C0%2C0%2C1%2C2.041-7.3Z%22%20transform%3D%22translate(0.013%200.005)%22%20fill%3D%22%23fff%22%2F%3E%0A%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_214%22%20data-name%3D%22%E3%83%91%E3%82%B9%20214%22%20d%3D%22M58.562%2C4.4A10.156%2C10.156%2C0%2C0%2C0%2C44.3%2C4.706l-.421.442a9.953%2C9.953%2C0%2C0%2C1%2C.51%2C11.558%2C10.1%2C10.1%2C0%2C0%2C1-4.718%2C3.874%2C10.209%2C10.209%2C0%2C0%2C1-6.107.469%2C7.981%2C7.981%2C0%2C0%2C0%2C2.3%2C4.053l8.593%2C8.153%2C14.4-14.729A9.92%2C9.92%2C0%2C0%2C0%2C58.562%2C4.4Z%22%20transform%3D%22translate(-25.749%20-1.254)%22%20fill%3D%22%23fff%22%2F%3E%0A%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_215%22%20data-name%3D%22%E3%83%91%E3%82%B9%20215%22%20d%3D%22M42.537%2C30.1a9.961%2C9.961%2C0%2C0%2C0%2C.7-13.074l-8.271%2C8.607a7.977%2C7.977%2C0%2C0%2C0-2.041%2C7.291A10.175%2C10.175%2C0%2C0%2C0%2C42.539%2C30.1%22%20transform%3D%22translate(-25.102%20-13.132)%22%20fill%3D%22%23fff3d1%22%2F%3E%0A%3C%2Fsvg%3E%0A");
}
.p-page-home .b-top__mainvisual {
  margin-bottom: calc(10 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__mainvisual {
    margin-bottom: 1rem;
    padding-top: 11rem;
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__mainvisual--inner {
    position: relative;
  }
}
.p-page-home .b-top__mainvisual--description {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__mainvisual--description {
    padding: calc(20 * 100vw / 375) calc(15 * 100vw / 375) 0;
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__mainvisual--description {
    padding-left: calc(50 * 100vw / 1400);
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    height: fit-content;
  }
}
.p-page-home .b-top__mainvisual--description .mainvisual-logo {
  display: grid;
  grid-gap: calc(10 * 100vw / 375);
  margin-bottom: calc(10 * 100vw / 375);
  text-align: center;
  font-size: calc(12 * 100vw / 375);
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__mainvisual--description .mainvisual-logo {
    font-size: 1.2rem;
    grid-gap: calc(10 * 100vw / 1400);
  }
}
.p-page-home .b-top__mainvisual--description .mainvisual-logo__image {
  width: calc(190 * 100vw / 375);
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__mainvisual--description .mainvisual-logo {
    width: calc(232 * 100vw / 1400);
  }
}
.p-page-home .b-top__mainvisual--description .mainvisual-catch {
  margin-bottom: calc(20 * 100vw / 375);
  font-size: calc(36 * 100vw / 375);
  letter-spacing: 0.05em;
  line-height: 1.3888888889;
  text-align: center;
  font-weight: var(--fw-bold);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__mainvisual--description .mainvisual-catch {
    text-align: left;
    font-size: calc(48 * 100vw / 1400);
    line-height: 1.4166666667;
  }
}
.p-page-home .b-top__mainvisual--image {
  background-color: var(--color-gray);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__mainvisual--image {
    margin-top: calc(-30 * 100vw / 375);
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__mainvisual--image {
    border-radius: 2rem 0 0 2rem;
    width: calc(960 * 100vw / 1400);
    aspect-ratio: 960/600;
    margin-left: auto;
  }
}
.p-page-home .b-top__mainvisual--image-inner {
  overflow: hidden;
  display: flex;
  gap: calc(12 * 100vw / 375);
  aspect-ratio: 458/300;
  width: 123.7866vw;
  height: 80vw;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__mainvisual--image-inner {
    width: 110.657%;
    aspect-ratio: 940/600;
    gap: calc(33 * 100vw / 1400);
    margin-left: auto;
    height: calc(600 * 100vw / 1400);
    margin-left: auto;
  }
}
.p-page-home .b-top__mainvisual--image .mainvisual-loop {
  position: relative;
  rotate: 15deg;
  translate: 0 calc(-298 * 100vw / 375);
  left: calc(45 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__mainvisual--image .mainvisual-loop {
    left: calc(130 * 100vw / 1400);
    translate: 0 calc(-100 * 100vw / 1400);
  }
}
.p-page-home .b-top__mainvisual--image .mainvisual-loop:first-of-type picture:first-of-type img, .p-page-home .b-top__mainvisual--image .mainvisual-loop:last-of-type picture:first-of-type img {
  animation: mainLoop 50s -25s linear infinite;
}
.p-page-home .b-top__mainvisual--image .mainvisual-loop:first-of-type picture:nth-of-type(2) img, .p-page-home .b-top__mainvisual--image .mainvisual-loop:last-of-type picture:nth-of-type(2) img {
  animation: mainLoop2 50s linear infinite;
}
.p-page-home .b-top__mainvisual--image .mainvisual-loop:nth-of-type(2) picture:first-of-type img {
  animation: mainLoop 50s -25s linear infinite;
  animation-direction: reverse;
}
.p-page-home .b-top__mainvisual--image .mainvisual-loop:nth-of-type(2) picture:nth-of-type(2) img {
  animation: mainLoop2 50s linear infinite;
  animation-direction: reverse;
}
.p-page-home .b-top__mainvisual--image .mainvisual-loop:last-of-type img:first-of-type {
  animation: mainToTop 50s -25s linear infinite;
}
.p-page-home .b-top__mainvisual--image .mainvisual-loop:last-of-type img:nth-of-type(2) {
  animation: mainToTop2 50s linear infinite;
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__mainvisual--image .mainvisual-loop:last-of-type {
    display: none;
  }
}
.p-page-home .b-top__case--inner {
  overflow: hidden;
  display: flex;
  align-items: center;
  width: max-content;
  gap: calc(40 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__case--inner {
    gap: 5rem;
  }
}
.p-page-home .b-top__case--logo {
  display: flex;
  align-items: center;
  width: max-content;
  gap: calc(40 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__case--logo {
    gap: 5rem;
  }
}
.p-page-home .b-top__case--logo .case-logo__item {
  width: auto;
  height: calc(54 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__case--logo .case-logo__item {
    height: 8rem;
  }
}
.p-page-home .b-top__case--logo .case-logo__item img {
  height: 100%;
}
.p-page-home .b-top__case--logo:first-of-type {
  animation: loop 200s -100s linear infinite;
}
.p-page-home .b-top__case--logo:nth-of-type(2) {
  animation: loop2 200s linear infinite;
}
.p-page-home .b-top__introduction--inner {
  overflow: hidden;
  padding-top: calc(40 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__introduction--inner {
    padding-top: 10rem;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__introduction--text {
    padding: 0 calc(15 * 100vw / 375);
    margin-bottom: calc(80 * 100vw / 375);
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__introduction--text {
    width: 66rem;
    margin-left: 0px;
    position: relative;
    left: -3rem;
    top: 1.4rem;
  }
}
.p-page-home .b-top__introduction--text .introduction-title {
  margin-bottom: calc(20 * 100vw / 375);
  font-size: calc(24 * 100vw / 375);
  letter-spacing: 0.07em;
  line-height: 1.5;
  font-weight: var(--fw-bold);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__introduction--text .introduction-title {
    margin-bottom: 2rem;
    font-size: 3rem;
    line-height: 1.6;
  }
}
.p-page-home .b-top__introduction--text .introduction-title .color-yellow {
  color: var(--color-tertiary);
}
.p-page-home .b-top__introduction--text .introduction-lead {
  font-size: calc(16 * 100vw / 375);
  letter-spacing: 0.04em;
  line-height: 1.875;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__introduction--text .introduction-lead {
    font-size: 1.3rem;
    line-height: 2;
  }
}
.p-page-home .b-top__introduction--fegure {
  position: relative;
  padding-bottom: calc(50 * 100vw / 375);
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .p-page-home .b-top__introduction--fegure {
    padding-bottom: 8rem;
    width: 50vw;
    right: 15rem;
  }
}
.p-page-home .b-top__introduction--fegure::before {
  content: "";
  display: block;
  position: absolute;
  width: calc(320 * 100vw / 375);
  height: calc(230 * 100vw / 375);
  background-color: var(--color-gray);
  border-radius: 0 calc(20 * 100vw / 375) calc(20 * 100vw / 375) 0;
  top: calc(50 * 100vw / 375);
  left: 0;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__introduction--fegure::before {
    content: "";
    display: block;
    position: absolute;
    width: 50vw;
    height: 36rem;
    background-color: var(--color-gray);
    border-radius: 0 2rem 2rem 0;
    top: 8rem;
    left: 0;
    margin-left: -5rem;
  }
}
.p-page-home .b-top__introduction--fegure .introduction-image {
  position: relative;
  margin-left: auto;
  width: max-content;
  margin-right: calc(15 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__introduction--fegure .introduction-image {
    width: 48rem;
    margin-right: 0;
  }
}
.p-page-home .b-top__introduction--fegure .introduction-image__logo {
  position: absolute;
  top: calc(-30 * 100vw / 375);
  left: calc(20 * 100vw / 375);
  width: calc(133 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__introduction--fegure .introduction-image__logo {
    width: 16rem;
    top: 4rem;
    right: -8rem;
    left: auto;
  }
}
.p-page-home .b-top__introduction--fegure .introduction-image__portrait {
  width: calc(306 * 100vw / 375);
  border-radius: calc(20 * 100vw / 375);
  margin-bottom: calc(6 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__introduction--fegure .introduction-image__portrait {
    width: 48rem;
    margin-bottom: 1rem;
    border-radius: 2rem;
  }
}
.p-page-home .b-top__introduction--fegure .introduction-image figcaption {
  font-size: calc(10 * 100vw / 375);
  text-align: right;
  padding-right: calc(10 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__introduction--fegure .introduction-image figcaption {
    width: 48rem;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-right: 1rem;
    font-size: 1.1rem;
  }
}
.p-page-home .b-top__introduction--logo {
  display: flex;
  align-items: center;
  width: max-content;
  gap: calc(5 * 100vw / 375);
  animation: leftToRight 120s;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__introduction--logo {
    animation: leftToRight 200s;
  }
}
.p-page-home .b-top__introduction--logo .case-logo__item {
  width: calc(108 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__introduction--logo .case-logo__item {
    width: 16rem;
    gap: 1rem;
  }
}
.p-page-home .b-top__reason--inner {
  padding: calc(80 * 100vw / 375) calc(15 * 100vw / 375) calc(60 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__reason--inner {
    width: 100%;
    max-width: 140rem;
    padding: 10rem 20rem;
    margin: 0 auto;
  }
}
.p-page-home .b-top__reason--contents {
  display: grid;
  grid-gap: calc(20 * 100vw / 375);
  margin-top: calc(30 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__reason--contents {
    grid-gap: 2rem;
    margin-top: 4rem;
  }
}
.p-page-home .b-top__reason--contents .reason-contents__list {
  border: calc(5 * 100vw / 375) solid var(--color-primary);
  border-radius: calc(20 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__reason--contents .reason-contents__list {
    display: grid;
    grid-template-columns: 1fr 45rem;
    align-items: center;
    padding: 4rem 4rem 4rem 5.5rem;
    border: 0.5rem solid var(--color-primary);
    border-radius: 2rem;
  }
}
.p-page-home .b-top__reason--contents .reason-description__list {
  padding: calc(80 * 100vw / 375) calc(30 * 100vw / 375) calc(20 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__reason--contents .reason-description__list {
    padding: 0;
    width: 40rem;
    margin-top: 3em;
  }
}
.p-page-home .b-top__reason--contents .reason-description__title {
  position: relative;
  z-index: 1;
  margin-bottom: calc(14 * 100vw / 375);
  font-size: calc(24 * 100vw / 375);
  font-weight: var(--fw-bold);
  letter-spacing: 0.07em;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__reason--contents .reason-description__title {
    margin-bottom: 2rem;
    font-size: 2.4rem;
  }
}
.p-page-home .b-top__reason--contents .reason-description__title .number {
  position: absolute;
  z-index: -1;
  left: calc(-5 * 100vw / 375);
  top: calc(-50 * 100vw / 375);
  color: var(--color-gray);
  font-size: calc(100 * 100vw / 375);
  font-family: var(--font-en);
  font-weight: var(--fw-bold);
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__reason--contents .reason-description__title .number {
    font-size: 10rem;
    top: -5.5rem;
    left: -0.5rem;
  }
}
.p-page-home .b-top__reason--contents .reason-description__text {
  font-size: calc(16 * 100vw / 375);
  letter-spacing: 0.04em;
  line-height: 1.875;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__reason--contents .reason-description__text {
    font-size: 1.3rem;
  }
}
.p-page-home .b-top__reason--contents .reason-description__image {
  width: 100%;
  margin-bottom: calc(40 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__reason--contents .reason-description__image {
    width: 45rem;
    margin-bottom: 0;
  }
}
.p-page-home .b-top__about {
  background-color: var(--color-primary);
}
.p-page-home .b-top__about--inner {
  padding: calc(80 * 100vw / 375) 0 calc(60 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--inner {
    padding: 8rem 0 0;
  }
}
.p-page-home .b-top__about--contents {
  display: grid;
  grid-gap: calc(20 * 100vw / 375);
  margin-top: calc(-70 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents {
    grid-gap: 2rem;
    margin-top: 4rem;
  }
}
.p-page-home .b-top__about--contents .about-contents__list {
  position: relative;
  display: grid;
  grid-gap: calc(0 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-contents__list {
    grid-gap: 8rem;
    grid-gap: 18.7rem;
  }
}
.p-page-home .b-top__about--contents .about-contents__list .about-number {
  position: absolute;
  z-index: 1;
  right: calc(30 * 100vw / 375);
  top: 0;
  color: var(--color-secondary);
  font-size: calc(100 * 100vw / 375);
  font-family: var(--font-en);
  font-weight: var(--fw-bold);
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-contents__list .about-number {
    font-size: 10rem;
    top: 0;
    right: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-contents__list--item {
    position: relative;
    overflow: visible;
  }
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__about--contents .about-contents__container {
    padding: 0 calc(15 * 100vw / 375);
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-contents__container {
    position: relative;
    z-index: 200;
    margin-top: 7rem;
    margin-top: 14rem;
  }
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__about--contents .about-contents__image {
    margin-top: calc(30 * 100vw / 375);
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-contents__image {
    top: 0;
    left: 0;
    right: 0;
  }
}
.p-page-home .b-top__about--contents .about-contents__image .about-loop {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__about--contents .about-contents__image .about-loop {
    width: calc(280 * 100vw / 375);
    height: calc(404 * 100vw / 375);
  }
}
.p-page-home .b-top__about--contents .about-contents__image .about-loop img {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-contents__image .about-loop img {
    left: auto;
    right: 10rem;
    width: 37.4rem;
  }
}
.p-page-home .b-top__about--contents .about-contents__image .about-loop picture img {
  z-index: 1;
  animation: imageSwitch 8s 0s infinite;
  opacity: 0;
}
.p-page-home .b-top__about--contents .about-contents__image .about-loop picture:first-of-type img {
  opacity: 1;
}
.p-page-home .b-top__about--contents .about-contents__image .about-loop picture:nth-of-type(2) img {
  animation-delay: 4s;
}
.p-page-home .b-top__about--contents .about-contents__title {
  display: grid;
  grid-gap: 1.5rem;
  justify-content: center;
  width: calc(302 * 100vw / 375);
  background-color: var(--color-secondary);
  border-radius: 1rem;
  padding: 2.8rem 0;
  font-size: calc(30 * 100vw / 375);
  font-weight: var(--fw-bold);
  letter-spacing: 0.07em;
  line-height: 1;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__about--contents .about-contents__title {
    right: calc(15 * 100vw / 375);
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-contents__title {
    font-size: 3rem;
    width: 34.2rem;
    margin: 0%;
  }
}
.p-page-home .b-top__about--contents .about-contents__title::before {
  content: "";
  width: calc(20 * 100vw / 375);
  height: calc(22 * 100vw / 375);
  border-style: solid;
  border-right: calc(20 * 100vw / 375) solid transparent;
  border-left: calc(20 * 100vw / 375) solid transparent;
  border-top: calc(22 * 100vw / 375) solid var(--color-secondary);
  border-bottom: 0;
  position: absolute;
  bottom: calc(-11 * 100vw / 375);
  margin: auto;
  left: 0;
  right: 0;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-contents__title::before {
    width: 2rem;
    height: 2.2rem;
    border-right: 2rem solid transparent;
    border-left: 2rem solid transparent;
    border-top: 2.2rem solid var(--color-secondary);
    bottom: -1.1rem;
  }
}
.p-page-home .b-top__about--contents .about-contents__title-sub {
  font-size: calc(14 * 100vw / 375);
  font-weight: var(--fw-regular);
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-contents__title-sub {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__about--contents .about-contents__title-container {
    margin-bottom: calc(-60 * 100vw / 375);
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-contents__title-container {
    width: 59rem;
    position: absolute;
    margin-left: 50%;
    top: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__about--contents .about-description__container {
    width: 92vw;
    width: 100vw;
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-description__container {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__about--contents .about-description__inner {
    width: max-content;
    display: flex;
    gap: 3rem;
  }
}
.p-page-home .b-top__about--contents .about-description__list {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__about--contents .about-description__list {
    padding: 0;
    padding-top: calc(60 * 100vw / 375);
    padding-right: calc(30 * 100vw / 375);
    width: 92vw;
    width: 100vw;
    height: 98.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-description__list {
    padding: 0;
    padding-top: 7.2rem;
    width: 60rem;
    height: 25.8rem;
    background-color: var(--color-primary);
    margin-bottom: 0.5rem;
  }
}
.p-page-home .b-top__about--contents .about-description__title {
  display: grid;
  grid-gap: 0;
  font-size: calc(28 * 100vw / 375);
  font-weight: var(--fw-bold);
  letter-spacing: 0.07em;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-description__title {
    margin-bottom: 1.7rem;
    font-size: 3.6rem;
    width: max-content;
    line-height: 1.4666666667;
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-description__title--long {
    letter-spacing: 0;
  }
}
.p-page-home .b-top__about--contents .about-description__title--sub {
  font-size: calc(13 * 100vw / 375);
  letter-spacing: 0.04em;
  font-weight: var(--fw-regular);
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-description__title--sub {
    font-size: 1.3rem;
  }
}
.p-page-home .b-top__about--contents .about-description__title--icon {
  display: block;
  width: calc(40 * 100vw / 375);
  height: calc(40 * 100vw / 375);
  position: absolute;
  top: calc(-50 * 100vw / 375);
  left: 0;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-description__title--icon {
    top: -5rem;
    width: 4rem;
    height: 4rem;
  }
}
.p-page-home .b-top__about--contents .about-description__title .about-number {
  width: fit-content;
  font-size: calc(60 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-description__title .about-number {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 10rem;
  }
}
.p-page-home .b-top__about--contents .about-description__text {
  font-size: calc(16 * 100vw / 375);
  letter-spacing: 0.04em;
  line-height: 1.875;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-description__text {
    font-size: 1.3rem;
    width: 42rem;
  }
}
.p-page-home .b-top__about--contents .about-description__image {
  width: 100%;
  margin-bottom: calc(40 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .about-description__image {
    width: 45rem;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__about--contents .about-contents__list--item:nth-of-type(2) .about-contents__image .about-loop {
    margin-left: auto;
    width: calc(360 * 100vw / 375);
    height: calc(235 * 100vw / 375);
  }
}
.p-page-home .b-top__about--contents .about-contents__list--item:nth-of-type(2) .about-contents__image .about-loop img {
  left: auto;
  right: 0;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .pin-spacer:nth-of-type(2) .about-contents__container {
    margin-top: 14rem;
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .pin-spacer:nth-of-type(2) .about-contents__title-container {
    width: 60rem;
    margin-left: 50%;
    translate: -43rem 0;
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .pin-spacer:nth-of-type(2) .about-contents__image {
    right: 0;
    left: auto;
    height: 43.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__about--contents .pin-spacer:nth-of-type(2) .about-contents__image .about-loop {
    margin-left: auto;
    width: calc(360 * 100vw / 375);
    height: calc(235 * 100vw / 375);
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .pin-spacer:nth-of-type(2) .about-contents__image .about-loop {
    margin-left: auto;
  }
}
.p-page-home .b-top__about--contents .pin-spacer:nth-of-type(2) .about-contents__image .about-loop img {
  left: auto;
  right: 0;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .pin-spacer:nth-of-type(2) .about-contents__image .about-loop img {
    width: 66rem;
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .pin-spacer:nth-of-type(2) .about-description__container {
    padding-left: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .pin-spacer:nth-of-type(2) .about-description__list {
    padding-left: 17rem;
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__about--contents .pin-spacer:nth-of-type(2) .about-description__title .about-number {
    right: auto;
    left: 0;
  }
}
.p-page-home .b-top__cta {
  background-color: var(--color-gray-dark);
}
.p-page-home .b-top__cta--inner {
  padding: calc(74 * 100vw / 375) 0 calc(60 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__cta--inner {
    width: 100%;
    max-width: 140rem;
    padding: 9rem 20rem 10rem;
    margin: 0 auto;
    display: flex;
    gap: 7rem;
    flex-direction: row-reverse;
  }
}
.p-page-home .b-top__cta .cta-contents__title {
  padding: 0 calc(15 * 100vw / 375);
  margin-bottom: calc(10 * 100vw / 375);
  font-size: calc(24 * 100vw / 375);
  font-weight: var(--fw-bold);
  letter-spacing: 0.07em;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__cta .cta-contents__title {
    margin-bottom: 2rem;
    padding: 0;
    font-size: 3.6rem;
  }
}
.p-page-home .b-top__cta .cta-contents__lead {
  margin-bottom: calc(30 * 100vw / 375);
  padding: 0 calc(15 * 100vw / 375);
  font-size: calc(13 * 100vw / 375);
  letter-spacing: 0.04em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__cta .cta-contents__lead {
    padding: 0;
    margin-bottom: 4rem;
    font-size: 1.3rem;
  }
}
.p-page-home .b-top__cta .cta-contents__image {
  width: 100%;
  margin-top: calc(40 * 100vw / 375);
  padding: 0 calc(5 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__cta .cta-contents__image {
    width: 36.5rem;
    padding: 0;
    margin-top: 0;
  }
}
.p-page-home .b-top__news--inner {
  padding: calc(60 * 100vw / 375) calc(15 * 100vw / 375) 0;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news--inner {
    width: 100%;
    max-width: 140rem;
    padding: 9rem 20rem 0;
    margin: 0 auto;
  }
}
.p-page-home .b-top__news .news-article {
  margin-top: calc(30 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article {
    margin-top: 4rem;
  }
}
.p-page-home .b-top__news .news-article__trigger-inner {
  display: grid;
  grid-gap: calc(10 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__trigger-inner {
    grid-gap: 1.2rem;
  }
}
.p-page-home .b-top__news .news-article__trigger .news-article__heading {
  display: grid;
  grid-gap: calc(8 * 100vw / 375);
  background-color: var(--color-gray-dark);
  padding: calc(26 * 100vw / 375) calc(20 * 100vw / 375) calc(28 * 100vw / 375);
  border-radius: calc(10 * 100vw / 375);
  letter-spacing: 0.07em;
  line-height: 1;
  cursor: pointer;
  transition: opacity var(--transition-default);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__trigger .news-article__heading {
    grid-template-columns: 11.7rem 1fr auto;
    grid-gap: 4.5rem;
    padding: 3.4rem 6rem 3.3rem;
    border-radius: 1rem;
  }
}
.p-page-home .b-top__news .news-article__trigger .news-article__heading:hover {
  opacity: 0.6;
}
.p-page-home .b-top__news .news-article__trigger .news-article__heading .news-heading__date {
  position: relative;
  width: fit-content;
  font-size: calc(13 * 100vw / 375);
  font-family: var(--font-en);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__trigger .news-article__heading .news-heading__date {
    width: 100%;
    font-size: 1.3rem;
  }
}
.p-page-home .b-top__news .news-article__trigger .news-article__heading .news-heading__date::before {
  content: "";
  position: absolute;
  height: 1px;
  width: calc(40 * 100vw / 375);
  background-color: #BCBCBC;
  margin: auto;
  top: 0;
  bottom: 0;
  right: calc(-50 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__trigger .news-article__heading .news-heading__date::before {
    width: 1px;
    height: 4rem;
    right: 0;
  }
}
.p-page-home .b-top__news .news-article__trigger .news-article__heading .news-heading__text {
  font-size: calc(14 * 100vw / 375);
  letter-spacing: 0.02em;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__news .news-article__trigger .news-article__heading .news-heading__text {
    margin-bottom: calc(10 * 100vw / 375);
    line-height: 1.7142857143;
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__trigger .news-article__heading .news-heading__text {
    font-size: 1.3rem;
    -webkit-line-clamp: 1;
  }
}
.p-page-home .b-top__news .news-article__trigger .news-article__heading .news-heading__more {
  font-size: calc(11 * 100vw / 375);
  text-decoration-line: underline;
  text-underline-offset: 0.2em;
  font-family: var(--font-en);
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__trigger .news-article__heading .news-heading__more {
    font-size: 1.1rem;
    text-align: right;
  }
}
.p-page-home .b-top__news .news-article__contents {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1000;
  background-color: rgba(39, 39, 39, 0.6);
}
.p-page-home .b-top__news .news-article__contents--inner {
  background-color: #fff;
  border: calc(5 * 100vw / 375) solid var(--color-primary);
  overflow: hidden;
  height: 100dvh;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__contents--inner {
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100rem;
    max-height: 47.9rem;
    height: 80vh;
    border: 5px solid var(--color-primary);
    border-radius: 2rem;
    box-sizing: content-box;
  }
}
.p-page-home .b-top__news .news-article__contents .news-article__detail {
  position: relative;
  height: 100dvh;
  padding: calc(30 * 100vw / 375) 0 calc(90 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__contents .news-article__detail {
    width: 100rem;
    max-height: 47.9rem;
    height: 80vh;
    padding: 6rem 4rem 14rem;
  }
}
@media screen and (max-width: 767px) {
  .p-page-home .b-top__news .news-article__contents .news-article__detail::before {
    content: "";
    display: block;
    position: absolute;
    bottom: calc(88 * 100vw / 375);
    width: 100%;
    height: calc(68 * 100vw / 375);
    background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  }
}
.p-page-home .b-top__news .news-article__contents .news-article__detail--inner {
  height: 100%;
  overflow: auto;
  padding: 0 calc(30 * 100vw / 375) 18.1333333333vw;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__contents .news-article__detail--inner {
    scrollbar-width: thin;
    padding: 0 2rem;
  }
}
.p-page-home .b-top__news .news-article__contents .news-article__title {
  margin-bottom: calc(16 * 100vw / 375);
  font-size: calc(24 * 100vw / 375);
  font-weight: var(--fw-bold);
  line-height: 1.4583333333;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__contents .news-article__title {
    margin-bottom: 1.6rem;
    font-size: 2.4rem;
  }
}
.p-page-home .b-top__news .news-article__contents .news-article__date {
  display: block;
  margin-bottom: calc(18 * 100vw / 375);
  font-size: calc(13 * 100vw / 375);
  font-family: var(--font-en);
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__contents .news-article__date {
    margin-bottom: 1.8rem;
    font-size: 1.3rem;
  }
}
.p-page-home .b-top__news .news-article__contents .news-article__text {
  letter-spacing: 0.04em;
  font-size: calc(15 * 100vw / 375);
  line-height: 1.7333333333;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__contents .news-article__text {
    line-height: 2;
    font-size: 1.3rem;
  }
}
.p-page-home .b-top__news .news-article__contents .news-close-button {
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: calc(100dvh - 70 * 100vw / 375);
  width: calc(160 * 100vw / 375);
  height: calc(40 * 100vw / 375);
  background-color: var(--color-gray-dark);
  border: 3px solid var(--color-gray-dark);
  border-radius: 3rem;
  cursor: pointer;
  font-size: calc(14 * 100vw / 375);
  letter-spacing: 0.02em;
  font-weight: var(--fw-bold);
  transition: all var(--transition-default);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__contents .news-close-button {
    top: auto;
    bottom: 3rem;
    width: 16rem;
    height: 4rem;
    font-size: 1.4rem;
  }
}
.p-page-home .b-top__news .news-article__contents .news-close-button svg circle {
  transition: all var(--transition-default);
}
.p-page-home .b-top__news .news-article__contents .news-close-button:hover {
  background-color: var(--color-white);
}
.p-page-home .b-top__news .news-article__contents .news-close-button:hover svg circle {
  fill: #fff;
}
.p-page-home .b-top__news .news-article__contents .news-close-button-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(10 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__news .news-article__contents .news-close-button-inner {
    gap: 1rem;
  }
}
.p-page-home .b-top__contact--inner {
  padding: calc(80 * 100vw / 375) calc(15 * 100vw / 375) calc(60 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__contact--inner {
    width: 100%;
    max-width: 140rem;
    padding: 13.7rem 20rem 15rem;
    margin: 0 auto;
    display: flex;
    gap: 7rem;
    flex-direction: row-reverse;
  }
}
.p-page-home .b-top__contact .contact-contents__list {
  display: grid;
  grid-gap: calc(55 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__contact .contact-contents__list {
    grid-template-columns: repeat(2, 46rem);
    grid-gap: 8rem;
  }
}
.p-page-home .b-top__contact .contact-contents__list--item {
  padding: 0 0 calc(30 * 100vw / 375);
  border-radius: calc(10 * 100vw / 375);
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.16);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__contact .contact-contents__list--item {
    padding: 0 0 3rem;
    border-radius: 1rem;
  }
}
.p-page-home .b-top__contact .contact-contents__list .c-button__text {
  margin: 0 auto;
}
.p-page-home .b-top__contact .contact-contents__title {
  display: flex;
  align-items: start;
  position: relative;
  margin-top: calc(-34 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__contact .contact-contents__title {
    margin-top: -3rem;
    grid-template-columns: 19rem 1fr;
  }
}
.p-page-home .b-top__contact .contact-contents__title img {
  width: calc(164 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__contact .contact-contents__title img {
    width: 19rem;
  }
}
.p-page-home .b-top__contact .contact-contents__title .title-container {
  position: relative;
  display: grid;
  grid-gap: calc(2 * 100vw / 375);
  font-size: calc(24 * 100vw / 375);
  font-weight: var(--fw-bold);
  letter-spacing: 0.07em;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__contact .contact-contents__title .title-container {
    font-size: 2.4rem;
    grid-gap: 0.2rem;
  }
}
.p-page-home .b-top__contact .contact-contents__title .title-container .title-en {
  font-family: var(--font-en);
  font-weight: var(--fw-medium);
  font-size: calc(12 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__contact .contact-contents__title .title-container .title-en {
    font-size: 1.2rem;
  }
}
.p-page-home .b-top__contact .contact-contents__text {
  margin-bottom: calc(30 * 100vw / 375);
  padding: 0 calc(22 * 100vw / 375);
  font-size: calc(13 * 100vw / 375);
  letter-spacing: 0.04em;
  line-height: 2;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__contact .contact-contents__text {
    padding: 0;
    margin-bottom: 4rem;
    font-size: 1.3rem;
  }
}
.p-page-home .b-top__contact .contact-contents__list--contact .contact-contents__title {
  left: calc(23 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__contact .contact-contents__list--contact .contact-contents__title {
    left: 6.7rem;
  }
}
.p-page-home .b-top__contact .contact-contents__list--contact .contact-contents__title .title-container {
  left: calc(-20 * 100vw / 375);
  top: calc(80 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__contact .contact-contents__list--contact .contact-contents__title .title-container {
    left: -1.7rem;
    top: 7.7rem;
  }
}
.p-page-home .b-top__contact .contact-contents__list--download .contact-contents__title {
  left: calc(33 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__contact .contact-contents__list--download .contact-contents__title {
    left: 6.7rem;
  }
}
.p-page-home .b-top__contact .contact-contents__list--download .contact-contents__title .title-container {
  left: calc(10 * 100vw / 375);
  top: calc(70 * 100vw / 375);
}
@media screen and (min-width: 768px) {
  .p-page-home .b-top__contact .contact-contents__list--download .contact-contents__title .title-container {
    left: 2.7rem;
    top: 7.7rem;
  }
}

@keyframes mainLoop {
  0% {
    transform: translateY(100%);
  }
  to {
    transform: translateY(-100%);
  }
}
@keyframes mainLoop2 {
  0% {
    transform: translateY(0);
  }
  to {
    transform: translateY(-200%);
  }
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
@keyframes imageSwitch {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  60% {
    opacity: 0;
    z-index: 10;
  }
  100% {
    opacity: 0;
  }
}
@media screen and (max-width: 767px) {
  .scroll-slider {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
    padding-top: calc(106 * 100vw / 375);
    height: 100vh;
    width: 100vw;
  }
  .scroll-wrapper {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
    box-sizing: border-box;
    user-select: none;
    touch-action: pan-y;
  }
  .scroll-slide {
    flex: 1 0 calc(375 * 100vw / 375);
    max-width: calc(375 * 100vw / 375);
    height: 100%;
  }
  .scroll_dot {
    position: absolute;
    bottom: 3rem;
    z-index: 1000;
    left: 0;
    margin: auto;
    width: calc(100% - 30 * 100vw / 375);
  }
  .scroll_dot svg {
    margin: 0 auto;
    width: auto;
    display: block;
  }
  .item {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
  }
  .item-container {
    position: relative;
  }
  .item:last-of-type {
    padding-right: 0;
  }
  .item-image img {
    width: 100%;
    height: auto;
  }
  .tag {
    margin-right: 0.5rem;
  }
  .tag > a {
    display: block;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.25);
    color: #FFF;
  }
}
@keyframes grow-progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
#progress {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 1em;
  background: red;
  z-index: 1000;
  transform-origin: 0 50%;
  animation: grow-progress auto linear;
  animation-timeline: scroll();
}

@media screen and (min-width: 768px) {
  html:has(.scroll),
  html:has(.scroll2),
  html:has(.scroll-end),
  html:has(.scroll-end2) {
    overflow: visible;
  }
  html:has(.fixed):has(.scroll),
  html:has(.fixed2):has(.scroll2),
  html:has(.fixed):has(.scroll-end),
  html:has(.fixed2):has(.scroll-end2) {
    overflow: visible;
  }
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Helvetica Neue", Arial, sans-serif;
  color: #333;
  overflow-x: hidden;
  background-color: #f8f9fa;
}

.intro {
  min-height: 4rem;
}

.outro {
  min-height: 8rem;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

.content-wrapper {
  display: flex;
  align-items: center;
  max-width: 100vw;
  width: 100%;
  height: auto;
  flex-direction: row;
}

.scroll-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 3rem 0;
}
.left-column {
  flex: 1;
  height: 32rem; /* PCでの高さを制限 */
  height: 54rem;
  height: 43.3rem;
}

/* PCでの右カラムを高さ制限 */
.right-column {
  flex: 1;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .right-column, .right-column {
    height: 29rem; /* PCでの高さを制限 */
    height: 27rem; /* PCでの高さを制限 */
  }
}
/* スクロールコンテナ - 大枠 */
/* モバイル向け横スクロール設定 */
@media screen and (max-width: 767px) {
  .scroll-container {
    height: 100%;
    width: 200%; /* 横スクロール用に幅を広げる */
    top: 0;
    left: 0;
  }
}
/* デスクトップ向け縦スクロール設定 */
@media screen and (min-width: 768px) {
  .scroll-container {
    height: max-content; /* 縦スクロール用に高さを広げる */
    width: 100%;
    top: 0;
    right: 0;
  }
}
.content-area {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  gap: 0;
}

.content-area h3 {
  margin-bottom: 15px;
  font-size: 24px;
}

.content-area p {
  line-height: 1.6;
  color: #555;
  margin-bottom: 1rem;
}

.progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 4px;
  background-color: #3498db;
  z-index: 100;
}

.scroll-indicator {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: 14px;
  z-index: 100;
}

/* デバッグ用のグリッド（開発時の参考用） */
.debug-grid {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 0, 0, 0.1) 1px, transparent 1px), linear-gradient(to bottom, rgba(255, 0, 0, 0.1) 1px, transparent 1px);
  background-size: 50px 50px;
  pointer-events: none;
  opacity: 0.3;
  display: none; /* 実運用時はコメントアウトを外す */
}

.indicators {
  position: fixed;
  top: 50%;
  right: 0;
  left: 50%;
  transform: translate(65rem, -50%);
  display: flex;
  flex-direction: column;
  gap: 2rem;
  z-index: 100;
}
.indicators#indicators2 {
  left: 50%;
  right: auto;
  transform: translate(-64rem, -50%);
}
@media screen and (max-width: 767px) {
  .indicators {
    transform: translate(0, 0);
    flex-direction: row;
    top: auto;
    right: 0;
    left: -3rem;
    bottom: 3rem;
    height: fit-content;
    margin: auto;
    justify-content: center;
    position: absolute;
    width: fit-content;
  }
}

.indicator, .indicator2 {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background-color: var(--color-white);
  cursor: pointer;
  transition: all 0.3s ease;
}

.indicator.active, .indicator2.active {
  background-color: var(--color-tertiary);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWUuc2NzcyIsInRvb2xzL19taXhpbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFXQTtBQUFBO0FBQUE7QUFHQTtFQUNFO0FBR0Q7QUFBQTtBQUFBO0FBZ0RDO0FBQUE7QUFBQTtBQStKQTtBQUFBO0FBQUE7QUEyQ0E7QUFBQTtBQUFBO0FBMkpBO0FBQUE7QUFBQTtBQTZGRTtBQUFBO0FBQUE7QUF5YkY7QUFBQTtBQUFBO0FBd0RBO0FBQUE7QUFBQTtBQTRQQTtBQUFBO0FBQUE7O0FBNXRDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ3BCSTtFRGFOO0lBU0k7SUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDL0JFO0VEeUJKO0lBUUk7SUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUMzQ0E7RURvQ0Y7SUFTSTtJQUNBOzs7QUFNRjtFQUNFOztBQVFSO0VBQ0U7O0FDOURJO0VENkROO0lBR0k7SUFDQTs7O0FDakVFO0VEbUVKO0lBRUk7OztBQUdKO0VBQ0U7RUFDQTs7QUMzQ0U7RUR5Q0o7SUFJSTs7O0FDNUVBO0VEd0VKO0lBUUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQzlGQTtFRHdGRjtJQVFJO0lBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOztBQ3RHRjtFRHdGRjtJQWlCSTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDbEhBO0VENEdGO0lBUUk7SUFDQTtJQUNBOzs7QUFJTjtFQUNFO0VBQ0E7O0FDN0ZFO0VEMkZKO0lBSUk7OztBQzlIQTtFRDBISjtJQU9JO0lBQ0E7SUFDQTtJQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUM1SUE7RURzSUY7SUFRSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lB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Q0E7SUFDRTtJQUNBO0lBQ0E7O0VBT0o7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTtJQUNBOztFQUtKO0lBQ0U7O0VBQ0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUtOO0VBQ0U7SUFBTzs7RUFDUDtJQUFLOzs7QUFHUDtFQUNFO0VBQ0E7RUFBUztFQUNUO0VBQWE7RUFDYjtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUNuZ0RNO0VEMGdETjtBQUFBO0FBQUE7QUFBQTtJQUlFOztFQUdGO0FBQUE7QUFBQTtBQUFBO0lBSUU7OztBQWVKO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFZRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7OztBQVFGO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTtJQUNFO0lBQ0E7OztBQUlKO0FBT0E7QUFDQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0FBQ0E7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FDdnNESTtFRHlyRFI7SUFpQkk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFIiwiZmlsZSI6ImhvbWUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuQHVzZSBcIi4vc2V0dGluZ3NcIiBhcyB2YXJpYWJsZTtcbkB1c2UgXCIuL3Rvb2xzL21peGluXCIgYXMgbWl4aW47XG5cbi8vIGNhbGPjgpLoqIjnrpflvI/jga7jgb7jgb7jgrPjg7Pjg5HjgqTjg6vjgZnjgovjgZ/jgoHjga7lpInmlbBcbiRjYWxjU3A6IDM3NTtcbiRjYWxjUGM6IDE0MDA7XG4kY2FsY1h4bDogMTQ0MDtcbiRjYWxjUGNNYXg6IDE5MjA7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFRPUCBQYWdlIFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnAtcGFnZS1ob21lIHtcbiAgb3ZlcmZsb3c6IGNsaXA7XG4gIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gIH1cbiAvKipcbiAgKiBjb21wb25lbnRcbiAgKi9cbiAgLmMtaG9tZS10aXRsZSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWdhcDogY2FsYyg4ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IGNhbGMoMjYgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA3ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgICAgZ3JpZC1nYXA6IDEuN3JlbTtcbiAgICB9XG4gICAgLnRpdGxlLWVuIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAgICBncmlkLWdhcDogY2FsYygxNyAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWVuKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1tZWRpdW0pO1xuICAgICAgZm9udC1zaXplOiBjYWxjKDEyICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgZ3JpZC1nYXA6IDEuN3JlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IGNhbGMoMzYgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgIGhlaWdodDogY2FsYygzMiAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIwaWQlM0QlMjIlRTMlODIlQjMlRTMlODMlQjMlRTMlODMlOUQlRTMlODMlQkMlRTMlODMlOEQlRTMlODMlQjMlRTMlODMlODhfNF8xJTIyJTIwZGF0YS1uYW1lJTNEJTIyJUUzJTgyJUIzJUUzJTgzJUIzJUUzJTgzJTlEJUUzJTgzJUJDJUUzJTgzJThEJUUzJTgzJUIzJUUzJTgzJTg4JTIwNCUyMCVFMiU4MCU5MyUyMDElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHdpZHRoJTNEJTIyMzUuOTI0JTIyJTIwaGVpZ2h0JTNEJTIyMzIuMDAxJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzUuOTI0JTIwMzIuMDAxJTIyJTNFJTBBJTIwJTIwJTNDcGF0aCUyMGlkJTNEJTIyJUUzJTgzJTkxJUUzJTgyJUI5XzIxMyUyMiUyMGRhdGEtbmFtZSUzRCUyMiVFMyU4MyU5MSVFMyU4MiVCOSUyMDIxMyUyMiUyMGQlM0QlMjJNOS44NDclMkMxMi40OTVsOC4yNzEtOC42MDdBMTAuMTY4JTJDMTAuMTY4JTJDMCUyQzAlMkMwJTJDMS42JTJDNC42JTJDOS45NTglMkM5Ljk1OCUyQzAlMkMwJTJDMCUyQzMuNTMxJTJDMTcuNjQ0JTJDMTAuMTU3JTJDMTAuMTU3JTJDMCUyQzAlMkMwJTJDNy44MDYlMkMxOS43OWE3Ljk3OSUyQzcuOTc5JTJDMCUyQzAlMkMxJTJDMi4wNDEtNy4zWiUyMiUyMHRyYW5zZm9ybSUzRCUyMnRyYW5zbGF0ZSgwLjAxMyUyMDAuMDA1KSUyMiUyMGZpbGwlM0QlMjIlMjNmY2NiMWYlMjIlMkYlM0UlMEElMjAlMjAlM0NwYXRoJTIwaWQlM0QlMjIlRTMlODMlOTElRTMlODIlQjlfMjE0JTIyJTIwZGF0YS1uYW1lJTNEJTIyJUUzJTgzJTkxJUUzJTgyJUI5JTIwMjE0JTIyJTIwZCUzRCUyMk01OC41NjIlMkM0LjRBMTAuMTU2JTJDMTAuMTU2JTJDMCUyQzAlMkMwJTJDNDQuMyUyQzQuNzA2bC0uNDIxLjQ0MmE5Ljk1MyUyQzkuOTUzJTJDMCUyQzAlMkMxJTJDLjUxJTJDMTEuNTU4JTJDMTAuMSUyQzEwLjElMkMwJTJDMCUyQzEtNC43MTglMkMzLjg3NCUyQzEwLjIwOSUyQzEwLjIwOSUyQzAlMkMwJTJDMS02LjEwNy40NjklMkM3Ljk4MSUyQzcuOTgxJTJDMCUyQzAlMkMwJTJDMi4zJTJDNC4wNTNsOC41OTMlMkM4LjE1MyUyQzE0LjQtMTQuNzI5QTkuOTIlMkM5LjkyJTJDMCUyQzAlMkMwJTJDNTguNTYyJTJDNC40WiUyMiUyMHRyYW5zZm9ybSUzRCUyMnRyYW5zbGF0ZSgtMjUuNzQ5JTIwLTEuMjU0KSUyMiUyMGZpbGwlM0QlMjIlMjNmY2NiMWYlMjIlMkYlM0UlMEElMjAlMjAlM0NwYXRoJTIwaWQlM0QlMjIlRTMlODMlOTElRTMlODIlQjlfMjE1JTIyJTIwZGF0YS1uYW1lJTNEJTIyJUUzJTgzJTkxJUUzJTgyJUI5JTIwMjE1JTIyJTIwZCUzRCUyMk00Mi41MzclMkMzMC4xYTkuOTYxJTJDOS45NjElMkMwJTJDMCUyQzAlMkMuNy0xMy4wNzRsLTguMjcxJTJDOC42MDdhNy45NzclMkM3Ljk3NyUyQzAlMkMwJTJDMC0yLjA0MSUyQzcuMjkxQTEwLjE3NSUyQzEwLjE3NSUyQzAlMkMwJTJDMCUyQzQyLjUzOSUyQzMwLjElMjIlMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUoLTI1LjEwMiUyMC0xMy4xMzIpJTIyJTIwZmlsbCUzRCUyMiUyM2VhYWIwMCUyMiUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQScpO1xuICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgIHdpZHRoOiAzLjZyZW07XG4gICAgICAgICAgaGVpZ2h0OiAzLjJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi13aGl0ZSB7XG4gICAgICAudGl0bGUtZW4ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjBpZCUzRCUyMiVFMyU4MiVCMyVFMyU4MyVCMyVFMyU4MyU5RCVFMyU4MyVCQyVFMyU4MyU4RCVFMyU4MyVCMyVFMyU4MyU4OF80XzElMjIlMjBkYXRhLW5hbWUlM0QlMjIlRTMlODIlQjMlRTMlODMlQjMlRTMlODMlOUQlRTMlODMlQkMlRTMlODMlOEQlRTMlODMlQjMlRTMlODMlODglMjA0JTIwJUUyJTgwJTkzJTIwMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwd2lkdGglM0QlMjIzNS45MjQlMjIlMjBoZWlnaHQlM0QlMjIzMi4wMDElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNS45MjQlMjAzMi4wMDElMjIlM0UlMEElMjAlMjAlM0NwYXRoJTIwaWQlM0QlMjIlRTMlODMlOTElRTMlODIlQjlfMjEzJTIyJTIwZGF0YS1uYW1lJTNEJTIyJUUzJTgzJTkxJUUzJTgyJUI5JTIwMjEzJTIyJTIwZCUzRCUyMk05Ljg0NyUyQzEyLjQ5NWw4LjI3MS04LjYwN0ExMC4xNjglMkMxMC4xNjglMkMwJTJDMCUyQzAlMkMxLjYlMkM0LjYlMkM5Ljk1OCUyQzkuOTU4JTJDMCUyQzAlMkMwJTJDMy41MzElMkMxNy42NDQlMkMxMC4xNTclMkMxMC4xNTclMkMwJTJDMCUyQzAlMkM3LjgwNiUyQzE5Ljc5YTcuOTc5JTJDNy45NzklMkMwJTJDMCUyQzElMkMyLjA0MS03LjNaJTIyJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlKDAuMDEzJTIwMC4wMDUpJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyRiUzRSUwQSUyMCUyMCUzQ3BhdGglMjBpZCUzRCUyMiVFMyU4MyU5MSVFMyU4MiVCOV8yMTQlMjIlMjBkYXRhLW5hbWUlM0QlMjIlRTMlODMlOTElRTMlODIlQjklMjAyMTQlMjIlMjBkJTNEJTIyTTU4LjU2MiUyQzQuNEExMC4xNTYlMkMxMC4xNTYlMkMwJTJDMCUyQzAlMkM0NC4zJTJDNC43MDZsLS40MjEuNDQyYTkuOTUzJTJDOS45NTMlMkMwJTJDMCUyQzElMkMuNTElMkMxMS41NTglMkMxMC4xJTJDMTAuMSUyQzAlMkMwJTJDMS00LjcxOCUyQzMuODc0JTJDMTAuMjA5JTJDMTAuMjA5JTJDMCUyQzAlMkMxLTYuMTA3LjQ2OSUyQzcuOTgxJTJDNy45ODElMkMwJTJDMCUyQzAlMkMyLjMlMkM0LjA1M2w4LjU5MyUyQzguMTUzJTJDMTQuNC0xNC43MjlBOS45MiUyQzkuOTIlMkMwJTJDMCUyQzAlMkM1OC41NjIlMkM0LjRaJTIyJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlKC0yNS43NDklMjAtMS4yNTQpJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyRiUzRSUwQSUyMCUyMCUzQ3BhdGglMjBpZCUzRCUyMiVFMyU4MyU5MSVFMyU4MiVCOV8yMTUlMjIlMjBkYXRhLW5hbWUlM0QlMjIlRTMlODMlOTElRTMlODIlQjklMjAyMTUlMjIlMjBkJTNEJTIyTTQyLjUzNyUyQzMwLjFhOS45NjElMkM5Ljk2MSUyQzAlMkMwJTJDMCUyQy43LTEzLjA3NGwtOC4yNzElMkM4LjYwN2E3Ljk3NyUyQzcuOTc3JTJDMCUyQzAlMkMwLTIuMDQxJTJDNy4yOTFBMTAuMTc1JTJDMTAuMTc1JTJDMCUyQzAlMkMwJTJDNDIuNTM5JTJDMzAuMSUyMiUyMHRyYW5zZm9ybSUzRCUyMnRyYW5zbGF0ZSgtMjUuMTAyJTIwLTEzLjEzMiklMjIlMjBmaWxsJTNEJTIyJTIzZmZmM2QxJTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLyoqXG4gICogYi10b3BfX21haW52aXN1YWxcbiAgKi9cbiAgLmItdG9wX19tYWludmlzdWFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDEwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgcGFkZGluZy10b3A6IDExcmVtO1xuICAgIH1cbiAgICAmLS1pbm5lciB7XG4gICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgfVxuICAgICYtLWRlc2NyaXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWQtbWF4XCIpIHtcbiAgICAgICAgcGFkZGluZzogY2FsYygyMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKSBjYWxjKDE1ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpIDA7XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDUwICogKDEwMHZ3IC8gI3skY2FsY1BjfSkpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICB9XG4gICAgICAubWFpbnZpc3VhbC1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC1nYXA6IGNhbGMoMTAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMTAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjKDEyICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICBncmlkLWdhcDogY2FsYygxMCAqICgxMDB2dyAvICN7JGNhbGNQY30pKTtcbiAgICAgICAgfVxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTkwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjMyICogKDEwMHZ3IC8gI3skY2FsY1BjfSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubWFpbnZpc3VhbC1jYXRjaCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMjAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYygzNiAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGMoNTAvMzYpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1ib2xkKTtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYyg0OCAqICgxMDB2dyAvICN7JGNhbGNQY30pKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogY2FsYyg2OC80OCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi0taW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kLW1heFwiKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTMwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnJlbSAwIDAgMnJlbTtcbiAgICAgICAgd2lkdGg6IGNhbGMoOTYwICogKDEwMHZ3IC8gI3skY2FsY1BjfSkpO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDk2MC82MDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgICAgJi1pbm5lciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogY2FsYygxMiAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiA0NTggLyAzMDA7XG4gICAgICAgIHdpZHRoOiAxMjMuNzg2NnZ3O1xuICAgICAgICBoZWlnaHQ6IDgwdnc7XG4gICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgd2lkdGg6IDExMC42NTclO1xuICAgICAgICAgIGFzcGVjdC1yYXRpbzogOTQwIC8gNjAwO1xuICAgICAgICAgIGdhcDogY2FsYygzMyAqICgxMDB2dyAvICN7JGNhbGNQY30pKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoNjAwICogKDEwMHZ3IC8gI3skY2FsY1BjfSkpO1xuICAgICAgICAgIFxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubWFpbnZpc3VhbC1sb29wIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICByb3RhdGU6IDE1ZGVnO1xuICAgICAgICB0cmFuc2xhdGU6IDAgY2FsYygtMjk4ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICBsZWZ0OiBjYWxjKDQ1ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMTMwICogKDEwMHZ3IC8gI3skY2FsY1BjfSkpO1xuICAgICAgICAgIHRyYW5zbGF0ZTogMCBjYWxjKC0xMDAgKiAoMTAwdncgLyAjeyRjYWxjUGN9KSk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fcmV2ZXJzZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUsIFxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgcGljdHVyZSB7XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogbWFpbkxvb3AgNTBzIC0yNXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IG1haW5Mb29wMiA1MHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgcGljdHVyZSB7XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogbWFpbkxvb3AgNTBzIC0yNXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogbWFpbkxvb3AyIDUwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgYW5pbWF0aW9uOiBtYWluVG9Ub3AgNTBzIC0yNXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICAgIGFuaW1hdGlvbjogbWFpblRvVG9wMiA1MHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWQtbWF4XCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICogYi10b3BfX2Nhc2VcbiAgKi9cbiAgLmItdG9wX19jYXNlIHtcbiAgICAmLS1pbm5lciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICBnYXA6IGNhbGMoNDAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICBnYXA6IDVyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLWxvZ28ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICBnYXA6IGNhbGMoNDAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICBnYXA6IDVyZW07XG4gICAgICB9XG4gICAgICAuY2FzZS1sb2dvX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogY2FsYyg1NCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICBoZWlnaHQ6IDhyZW07XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGFuaW1hdGlvbjogbG9vcCAyMDBzIC0xMDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICBhbmltYXRpb246IGxvb3AyIDIwMHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgfVxuICAgIH1cbiAgIFxuICAgIFxuICB9XG5cbiAgLyoqXG4gICogYi10b3BfX2ludHJvZHVjdGlvblxuICAqL1xuICAuYi10b3BfX2ludHJvZHVjdGlvbiB7XG4gICAgJi0taW5uZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDQwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWQtbWF4XCIpIHtcbiAgICAgICAgcGFkZGluZzogMCBjYWxjKDE1ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDgwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgd2lkdGg6IDY2cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IC0zcmVtO1xuICAgICAgICB0b3A6IDEuNHJlbTtcbiAgICAgIH1cbiAgICAgIC5pbnRyb2R1Y3Rpb24ge1xuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDIwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygyNCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LWJvbGQpO1xuICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNvbG9yLXllbGxvdyB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGVydGlhcnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLWxlYWQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygxNiAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NTtcbiAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi0tZmVndXJlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDUwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcbiAgICAgICAgICB3aWR0aDogNTB2dztcbiAgICAgICAgICByaWdodDogMTVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMyMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDIzMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgY2FsYygyMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKSBjYWxjKDIwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpIDA7XG4gICAgICAgIHRvcDogY2FsYyg1MCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogNTB2dztcbiAgICAgICAgICBoZWlnaHQ6IDM2cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXkpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnJlbSAycmVtIDA7XG4gICAgICAgICAgdG9wOiA4cmVtO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaW50cm9kdWN0aW9uIHtcbiAgICAgICAgJi1pbWFnZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTUgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0OHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbG9nbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoLTMwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgbGVmdDogY2FsYygyMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEzMyAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNnJlbTtcbiAgICAgICAgICAgICAgdG9wOiA0cmVtO1xuICAgICAgICAgICAgICByaWdodDogLThyZW07XG4gICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3BvcnRyYWl0IHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMwNiAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMjAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAgY2FsYyg2ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDQ4cmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygxMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygxMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiA0OHJlbTtcbiAgICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi0tbG9nbyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgIGdhcDogY2FsYyg1ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgYW5pbWF0aW9uOiBsZWZ0VG9SaWdodCAxMjBzO1xuICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBsZWZ0VG9SaWdodCAyMDBzO1xuICAgICAgfVxuICAgICAgLmNhc2UtbG9nb19faXRlbSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwOCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICB3aWR0aDogMTZyZW07XG4gICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgXG4gICAgXG4gIH1cblxuICAvKipcbiAgKiBiLXRvcF9fcmVhc29uXG4gICovXG4gIC5iLXRvcF9fcmVhc29uIHtcbiAgICAmLS1pbm5lciB7XG4gICAgICBwYWRkaW5nOiBjYWxjKDgwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpIGNhbGMoMTUgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSkgY2FsYyg2MCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDE0MHJlbTtcbiAgICAgICAgcGFkZGluZzogMTByZW0gMjByZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1jb250ZW50cyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1nYXA6IGNhbGMoMjAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKDMwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgZ3JpZC1nYXA6IDJyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICB9XG4gICAgICAucmVhc29uIHtcbiAgICAgICAgJi1jb250ZW50c19fbGlzdCB7XG4gICAgICAgICAgYm9yZGVyOiBjYWxjKDUgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSkgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYygyMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDQ1cmVtO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gNHJlbSA0cmVtIDUuNXJlbTtcbiAgICAgICAgICAgIGJvcmRlcjogLjVyZW0gc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAmX19saXN0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGMoODAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSkgY2FsYygzMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKSBjYWxjKDIwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDQwcmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDE0ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDI0ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LWJvbGQpO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgIGxlZnQ6IGNhbGMoLTUgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICAgIHRvcDogY2FsYygtNTAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDEwMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZW4pO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZnctYm9sZCk7XG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcmVtO1xuICAgICAgICAgICAgICAgIHRvcDogLTUuNXJlbTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMC41cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDE2ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoNDAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICB3aWR0aDogNDVyZW07XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgICAvKipcbiAgKiBiLXRvcF9fYWJvdXRcbiAgKi9cbiAgLmItdG9wX19hYm91dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgJi0taW5uZXIge1xuICAgICAgcGFkZGluZzogY2FsYyg4MCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKSAwIGNhbGMoNjAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICBwYWRkaW5nOiA4cmVtIDAgMDtcbiAgICAgICAgXG4gICAgICB9XG4gICAgfVxuICAgICYtLWNvbnRlbnRzIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogY2FsYygyMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTcwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgZ3JpZC1nYXA6IDJyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICB9XG4gICAgICAuYWJvdXQge1xuICAgICAgICAmLWNvbnRlbnRzIHtcbiAgICAgICAgICAmX19saXN0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLWdhcDogY2FsYygwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgZ3JpZC1nYXA6IDhyZW07XG4gICAgICAgICAgICAgIGdyaWQtZ2FwOiAxOC43cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFib3V0LW51bWJlciB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgei1pbmRleDoxO1xuICAgICAgICAgICAgICByaWdodDogY2FsYygzMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDEwMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZW4pO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZnctYm9sZCk7XG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcmVtO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0taXRlbSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgICAgLy8gZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IDU0cmVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kLW1heFwiKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgY2FsYygxNSAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgIC8vIHdpZHRoOiA2NnJlbTtcbiAgICAgICAgICAgICAgLy8gd2lkdGg6IDUwdnc7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgei1pbmRleDogMjAwO1xuICAgICAgICAgICAgICAvLyB0b3A6IDEwcmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA3cmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kLW1heFwiKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoMzAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICAvLyB3aWR0aDogNjZyZW07XG4gICAgICAgICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAvLyB3aWR0aDogNTB2dztcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hYm91dC1sb29wIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWQtbWF4XCIpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygyODAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDQwNCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiA2NnJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICByaWdodDogMTByZW07XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMzcuNHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcGljdHVyZSB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAvLyBhbmltYXRpb246IGltYWdlU3dpdGNoIDE1cyBpbmZpbml0ZTtcbiAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogaW1hZ2VTd2l0Y2ggOHMgMHMgaW5maW5pdGU7XG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgLy8gei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgLy8gLy8gYW5pbWF0aW9uOiBpbWFnZVN3aXRjaCAxNXMgaW5maW5pdGU7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFuaW1hdGlvbjogaW1hZ2VTd2l0Y2ggMTBzIDBzIGluZmluaXRlO1xuICAgICAgICAgICAgICAgICAgICAvLyB6LWluZGV4OiAwO1xuICAgICAgICAgICAgICAgICAgICAvLyBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogNHM7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLWdhcDogMS41cmVtO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzMDIgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuOHJlbSAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDMwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LWJvbGQpO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWQtbWF4XCIpIHtcbiAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoMTUgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICAgIHdpZHRoOiAzNC4ycmVtO1xuICAgICAgICAgICAgICBtYXJnaW46IDAlO1xuICAgICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiA3cmVtO1xuICAgICAgICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYygyMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDIyICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IGNhbGMoMjAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBjYWxjKDIwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiBjYWxjKDIyICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpIHNvbGlkIHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKC0xMSAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIuMnJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDJyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMi4ycmVtIHNvbGlkIHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMS4xcmVtO1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtc3ViIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDE0ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZnctcmVndWxhcik7XG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kLW1heFwiKSB7XG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogY2FsYygzMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC02MCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1OXJlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDNyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kLW1heFwiKSB7XG4gICAgICAgICAgICAgIC8vIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICAgICAgICAgICAgd2lkdGg6IDkydnc7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgIC8vIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAzMnJlbTtcbiAgICAgICAgICAgICAgLy8gd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IDUwdnc7XG4gICAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgICAgLy8gaGVpZ2h0OiBjYWxjKDMycmVtICogNCk7XG4gICAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDEzcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgIC8vICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiA1OXJlbTtcbiAgICAgICAgICAgIC8vICAgICBoZWlnaHQ6IDEycmVtO1xuICAgICAgICAgICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIC8vICAgICB0b3A6IC0xMnJlbTtcbiAgICAgICAgICAgIC8vICAgICBsZWZ0OiA1MHZ3O1xuICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICAgICAgLy8gICB9XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZC1tYXhcIikge1xuICAgICAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGdhcDogM3JlbTtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19saXN0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZC1tYXhcIikge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyg2MCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygzMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgd2lkdGg6IDkydnc7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDM3MCogMTAwdncgLyAzNzUpO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNy4ycmVtO1xuICAgICAgICAgICAgICB3aWR0aDogNjByZW07XG4gICAgICAgICAgICAgIC8vIHRvcDogNS41cmVtO1xuICAgICAgICAgICAgICAvLyBtYXJnaW4tdG9wOiA3ZW07XG4gICAgICAgICAgICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgLy8gaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAgIGhlaWdodDogMjUuOHJlbTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDI4ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LWJvbGQpO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuN3JlbTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjZyZW07XG4gICAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGMoNDQgLyAzMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1sb25nIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tc3ViIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDEzICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZnctcmVndWxhcik7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0taWNvbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYyg0MCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDQwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogY2FsYygtNTAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAtNXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hYm91dCB7XG4gICAgICAgICAgICAgICYtbnVtYmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDYwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTByZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygxNiAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS44NzU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICAgICAgd2lkdGg6IDQycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoNDAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICB3aWR0aDogNDVyZW07XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLWNvbnRlbnRzX19saXN0LS1pdGVtIHtcbiAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgIC5hYm91dC1jb250ZW50cyB7XG4gICAgICAgICAgICAgXG4gICAgICAgICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgICAgICAuYWJvdXQtbG9vcCB7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWQtbWF4XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDM2MCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDIzNSAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBpbi1zcGFjZXIge1xuICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAuYWJvdXQtY29udGVudHMge1xuICAgICAgICAgICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNHJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICAmLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MHJlbTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICB0cmFuc2xhdGU6IC00M3JlbSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0My4zcmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5hYm91dC1sb29wIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWQtbWF4XCIpIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzYwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDIzNSAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY2cmVtO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuYWJvdXQtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZy1yaWdodDogNTB2dztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxN3JlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICAuYWJvdXQge1xuICAgICAgICAgICAgICAgICYtbnVtYmVyIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAvKipcbiAgKiBiLXRvcF9fY3RhXG4gICovXG4gIC5iLXRvcF9fY3RhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LWRhcmspO1xuICAgICYtLWlubmVyIHtcbiAgICAgIHBhZGRpbmc6IGNhbGMoNzQgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSkgMCBjYWxjKDYwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTQwcmVtO1xuICAgICAgICBwYWRkaW5nOiA5cmVtIDIwcmVtIDEwcmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA3cmVtO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICB9XG4gICAgfVxuICAgIC5jdGEtY29udGVudHMge1xuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAwIGNhbGMoMTUgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMTAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYygyNCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LWJvbGQpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBmb250LXNpemU6IDMuNnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fbGVhZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMzAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgIHBhZGRpbmc6IDAgY2FsYygxNSAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjKDEzICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoNDAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgIHBhZGRpbmc6IDAgY2FsYyg1ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgIHdpZHRoOiAzNi41cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAqIGItdG9wX19uZXdzXG4gICovXG4gIC5iLXRvcF9fbmV3cyB7XG4gICAgJi0taW5uZXIge1xuICAgICAgcGFkZGluZzogY2FsYyg2MCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKSBjYWxjKDE1ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpIDA7XG4gICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDByZW07XG4gICAgICAgIHBhZGRpbmc6IDlyZW0gMjByZW0gMDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIC5uZXdzLWFydGljbGUge1xuICAgICAgbWFyZ2luLXRvcDogY2FsYygzMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICB9XG4gICAgICAmX190cmlnZ2VyIHtcbiAgICAgICAgJi1pbm5lciB7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLWdhcDogY2FsYygxMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgZ3JpZC1nYXA6IDEuMnJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm5ld3MtYXJ0aWNsZV9faGVhZGluZyB7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLWdhcDogY2FsYyg4ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktZGFyayk7XG4gICAgICAgICAgcGFkZGluZzogY2FsYygyNiAqICgxMDB2dyAvICN7JGNhbGNTcH0pKSBjYWxjKDIwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpIGNhbGMoMjggKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYygxMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTEuN3JlbSAxZnIgYXV0bztcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA0LjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAzLjRyZW0gNnJlbSAzLjNyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC42O1xuICAgICAgICAgIH1cbiAgICAgICAgICAubmV3cy1oZWFkaW5nIHtcbiAgICAgICAgICAgICZfX2RhdGUge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDEzICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1lbik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg0MCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkNCQ0JDO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBjYWxjKC01MCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygxNCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZC1tYXhcIikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMTAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGMoMjQvMTQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAxO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19tb3JlIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDExICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IC4yZW07XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWVuKTtcbiAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fY29udGVudHMge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzkgMzkgMzkgLyA2MCUpO1xuICAgICAgICAmLS1pbm5lciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICBib3JkZXI6IGNhbGMoNSAqICgxMDB2dyAvICN7JGNhbGNTcH0pKSBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGhlaWdodDogMTAwZHZoO1xuICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwcmVtO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDcuOXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogODB2aDtcbiAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubmV3cy1hcnRpY2xlIHtcbiAgICAgICAgICAmX19kZXRhaWwge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgICAgICBwYWRkaW5nOiBjYWxjKDMwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpIDAgY2FsYyg5MCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDByZW07XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ3LjlyZW07XG4gICAgICAgICAgICAgIGhlaWdodDogODB2aDtcbiAgICAgICAgICAgICAgcGFkZGluZzogNnJlbSA0cmVtIDE0cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kLW1heFwiKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKDg4ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyg2OCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0taW5uZXIge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIGNhbGMoMzAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSkgY2FsYyg2OCAqIDEwMHZ3IC8gMzc1KTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAycmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDE2ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDI0ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LWJvbGQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGMoMzUvMjQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fYm9keSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fZGF0ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMTggKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICBmb250LXNpemU6IGNhbGMoMTMgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1lbik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuOHJlbTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygxNSAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKDI2LzE1KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm5ld3MtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgdG9wOiBjYWxjKDEwMGR2aCAtICg3MCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKSk7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTYwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgIGhlaWdodDogIGNhbGMoNDAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS1kYXJrKTtcbiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5LWRhcmspO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygxNCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1ib2xkKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KSA7XG4gICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogM3JlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxNnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgY2lyY2xlIHtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCkgO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgIGNpcmNsZSB7XG4gICAgICAgICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLWlubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IGNhbGMoMTAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgKiBiLXRvcF9fY3RhXG4gICovXG4gIC5iLXRvcF9fY29udGFjdCB7XG4gICAgJi0taW5uZXIge1xuICAgICAgcGFkZGluZzogY2FsYyg4MCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKSBjYWxjKDE1ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpIGNhbGMoNjAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDByZW07XG4gICAgICAgIHBhZGRpbmc6IDEzLjdyZW0gMjByZW0gMTVyZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDdyZW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRhY3QtY29udGVudHMge1xuICAgICAgJl9fY29udGFpbmVyIHtcblxuICAgICAgfVxuICAgICAgJl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtZ2FwOiBjYWxjKDU1ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDQ2cmVtKTtcbiAgICAgICAgICBncmlkLWdhcDogOHJlbTtcbiAgICAgICAgfVxuICAgICAgICAmLS1pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgY2FsYygzMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKDEwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgM3JlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jLWJ1dHRvbl9fdGV4dCB7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTM0ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICBtYXJnaW4tdG9wOiAtM3JlbTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxOXJlbSAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxNjQgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxOXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgZ3JpZC1nYXA6IGNhbGMoMiAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICBmb250LXNpemU6IGNhbGMoMjQgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LWJvbGQpO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA3ZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgICAgICBncmlkLWdhcDogMC4ycmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICAudGl0bGUtZW4ge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZW4pO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LW1lZGl1bSk7XG4gICAgICAgICAgICBmb250LXNpemU6IGNhbGMoMTIgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3RleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDMwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICBwYWRkaW5nOiAwIGNhbGMoMjIgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYygxMyAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fbGlzdCB7XG4gICAgICAgICYtLWNvbnRhY3Qge1xuICAgICAgICAgIC5jb250YWN0LWNvbnRlbnRzIHtcbiAgICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICAgbGVmdDogY2FsYygyMyAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW4ucmVzcG9uc2l2ZShcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA2LjdyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYygtMjAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKDgwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAtMS43cmVtO1xuICAgICAgICAgICAgICAgICAgdG9wOiA3LjdyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLWRvd25sb2FkIHtcbiAgICAgICAgICAuY29udGFjdC1jb250ZW50cyB7XG4gICAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMzMgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogNi43cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC50aXRsZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKDcwICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZFwiKSB7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAyLjdyZW07XG4gICAgICAgICAgICAgICAgICB0b3A6IDcuN3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG59XG5cbkBrZXlmcmFtZXMgbWFpbkxvb3Age1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWFpbkxvb3AyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxvb3Age1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbG9vcDIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMCUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGltYWdlU3dpdGNoIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNTAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNjAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgfVxuICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLy8gU1DnlKjjgIDnuKbjgrnjgq/jg63jg7zjg6vjgafmqKrjgrnjgq/jg63jg7zjg6vjgZnjgotcbkBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZC1tYXhcIikge1xuICAuc2VjdGlvbi1pdGVtcyB7XG4gICAgLy8gcGFkZGluZzogMS41cmVtO1xuICB9XG4gIC5zY3JvbGwtc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxMDYgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cblxuICAuc2Nyb2xsLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIGNvbHVtbi1nYXA6IGNhbGMoMzAgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAvLyB3aWR0aDogMTQ3MHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2Nyb2xsLXNsaWRlIHtcbiAgICBmbGV4OiAxIDAgY2FsYygzNzUgKiAoMTAwdncgLyAjeyRjYWxjU3B9KSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDM3NSAqICgxMDB2dyAvICN7JGNhbGNTcH0pKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnNjcm9sbF9kb3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDNyZW07XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYygzMCAqICgxMDB2dyAvICN7JGNhbGNTcH0pKSk7XG4gICAgc3ZnIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJl9kZXRhaWwge1xuXG4gICAgfVxuICB9XG5cbiAgLml0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gd2lkdGg6IGNhbGMoMzQ1ICogKDEwMHZ3IC8gI3skY2FsY1NwfSkpO1xuICAgICYtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAmLWltYWdlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgXG4gIH1cblxuICAudGFnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IC4yNXJlbSAuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoI0ZGRkZGRiwgLjI1KTtcbiAgICAgIGNvbG9yOiAjRkZGO1xuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGdyb3ctcHJvZ3Jlc3Mge1xuICBmcm9tIHsgdHJhbnNmb3JtOiBzY2FsZVgoMCk7IH1cbiAgdG8geyB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxufVxuIFxuI3Byb2dyZXNzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwOyB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDFlbTtcbiAgYmFja2dyb3VuZDogcmVkO1xuICB6LWluZGV4OiAxMDAwO1xuIFxuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgYW5pbWF0aW9uOiBncm93LXByb2dyZXNzIGF1dG8gbGluZWFyO1xuICBhbmltYXRpb24tdGltZWxpbmU6IHNjcm9sbCgpO1xufVxuXG5AaW5jbHVkZSBtaXhpbi5yZXNwb25zaXZlKFwibWRcIikge1xuICBodG1sOmhhcyguZml4ZWQpLGh0bWw6aGFzKC5maXhlZDIpIHtcbiAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIGh0bWw6aGFzKC5zY3JvbGwpLFxuICBodG1sOmhhcyguc2Nyb2xsMiksXG4gIGh0bWw6aGFzKC5zY3JvbGwtZW5kKSxcbiAgaHRtbDpoYXMoLnNjcm9sbC1lbmQyKSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgXG4gIGh0bWw6aGFzKC5maXhlZCk6aGFzKC5zY3JvbGwpLFxuICBodG1sOmhhcyguZml4ZWQyKTpoYXMoLnNjcm9sbDIpLFxuICBodG1sOmhhcyguZml4ZWQpOmhhcyguc2Nyb2xsLWVuZCksXG4gIGh0bWw6aGFzKC5maXhlZDIpOmhhcyguc2Nyb2xsLWVuZDIpIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAuZml4ZWQsLmZpeGVkMiB7XG4gICAgLmFib3V0LWRlc2NyaXB0aW9uX19jb250YWluZXIge1xuICAgICAgLy8gb3ZlcmZsb3cteTogc2Nyb2xsICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cblxuICBcbn1cblxuXG5cblxuKiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzMzMztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xufVxuXG4uc2VjdGlvbiB7XG4gIFxuICAvLyBkaXNwbGF5OiBmbGV4O1xuICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xuICAvLyBwYWRkaW5nOiAycmVtO1xufVxuXG4uaW50cm8ge1xuICBtaW4taGVpZ2h0OiA0cmVtO1xufVxuXG4ub3V0cm8ge1xuICBtaW4taGVpZ2h0OiA4cmVtO1xuXG59XG5cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi5jb250ZW50LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvLyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAvLyBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAvLyBoZWlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29udGVudC13cmFwcGVyIHtcbiAgICBcbiAgfVxufVxuLnNjcm9sbC1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDNyZW0gMDtcbiAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgXG4gIH1cbn1cblxuXG4ubGVmdC1jb2x1bW4ge1xuICBmbGV4OiAxO1xuICBoZWlnaHQ6IDMycmVtOyAvKiBQQ+OBp+OBrumrmOOBleOCkuWItumZkCAqL1xuICBoZWlnaHQ6IDU0cmVtO1xuICBoZWlnaHQ6IDQzLjNyZW07XG59XG5cbi8qIFBD44Gn44Gu5Y+z44Kr44Op44Og44KS6auY44GV5Yi26ZmQICovXG4ucmlnaHQtY29sdW1uIHtcbiAgZmxleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBib3JkZXItcmFkaXVzOiAwIDhweCA4cHggMDtcbiAgLy8gYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5yaWdodC1jb2x1bW4sLnJpZ2h0LWNvbHVtbiB7XG4gICAgaGVpZ2h0OiAyOXJlbTsgLyogUEPjgafjga7pq5jjgZXjgpLliLbpmZAgKi9cbiAgICBoZWlnaHQ6IDI3cmVtOyAvKiBQQ+OBp+OBrumrmOOBleOCkuWItumZkCAqL1xuICB9XG59XG5cbi8qIOOCueOCr+ODreODvOODq+OCs+ODs+ODhuODiiAtIOWkp+aeoCAqL1xuLnNjcm9sbC1jb250YWluZXIge1xuICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6ICNmY2YwZTM7XG4gIC8vIGJvcmRlci1yYWRpdXM6IDAgOHB4IDhweCAwO1xufVxuXG4vKiDjg6Ljg5DjgqTjg6vlkJHjgZHmqKrjgrnjgq/jg63jg7zjg6voqK3lrpogKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zY3JvbGwtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDIwMCU7IC8qIOaoquOCueOCr+ODreODvOODq+eUqOOBq+W5heOCkuW6g+OBkuOCiyAqL1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbi8qIOODh+OCueOCr+ODiOODg+ODl+WQkeOBkee4puOCueOCr+ODreODvOODq+ioreWumiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNjcm9sbC1jb250YWluZXIge1xuICAgIGhlaWdodDogbWF4LWNvbnRlbnQ7IC8qIOe4puOCueOCr+ODreODvOODq+eUqOOBq+mrmOOBleOCkuW6g+OBkuOCiyAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG4uY29udGVudC1hcmVhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8vIGdhcDogMi4ycmVtO1xuICBnYXA6IDA7XG59XG5cbi5jb250ZW50LWFyZWEgaDMge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi5jb250ZW50LWFyZWEgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjNTU1O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDk4ZGI7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLnNjcm9sbC1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgei1pbmRleDogMTAwO1xufVxuXG4vKiDjg4fjg5Djg4PjgrDnlKjjga7jgrDjg6rjg4Pjg4nvvIjplovnmbrmmYLjga7lj4LogIPnlKjvvIkgKi9cbi5kZWJ1Zy1ncmlkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsMCwwLDAuMSkgMXB4LCB0cmFuc3BhcmVudCAxcHgpLFxuICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwwLDAsMC4xKSAxcHgsIHRyYW5zcGFyZW50IDFweCk7XG4gIGJhY2tncm91bmQtc2l6ZTogNTBweCA1MHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC4zO1xuICBkaXNwbGF5OiBub25lOyAvKiDlrp/pgYvnlKjmmYLjga/jgrPjg6Hjg7Pjg4jjgqLjgqbjg4jjgpLlpJbjgZkgKi9cbn1cblxuLnBpbi1zcGFjZXIge1xuICAvLyBtYXJnaW46IDBweCAwcHggNTBweCAhaW1wb3J0YW50O1xufVxuLmluZGljYXRvcnMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg2NXJlbSwgLTUwJSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMnJlbTtcbiAgei1pbmRleDogMTAwO1xuXG4gICYjaW5kaWNhdG9yczIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNjRyZW0sIC01MCUpO1xuICB9XG4gIEBpbmNsdWRlIG1peGluLnJlc3BvbnNpdmUoXCJtZC1tYXhcIikge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IC0zcmVtO1xuICAgIGJvdHRvbTogM3JlbTtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICB9XG59XG5cbi5pbmRpY2F0b3IsLmluZGljYXRvcjIge1xuICB3aWR0aDogLjhyZW07XG4gIGhlaWdodDogLjhyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG4uaW5kaWNhdG9yLmFjdGl2ZSwuaW5kaWNhdG9yMi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXJ0aWFyeSk7XG59XG5cbiIsIi8vIHJlc3BvbnNpdmVcbkBtaXhpbiByZXNwb25zaXZlKCR0eXBlKSB7XG4gICAgQGlmICR0eXBlID09IFwic21cIiB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaWYgJHR5cGUgPT0gXCJtZFwiIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICAgIC8vIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC8vICAgICBAY29udGVudDtcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBAaWYgJHR5cGUgPT0gXCJsZ1wiIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAkdHlwZSA9PSBcInhsXCIge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAkdHlwZSA9PSBcInh4bFwiIHtcbiAgICAgICAgLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KXtcbiAgICAgICAgLy8gICAgIEBjb250ZW50O1xuICAgICAgICAvLyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGlmICR0eXBlID09IFwic20tbWF4XCIge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGlmICR0eXBlID09IFwibWQtbWF4XCIge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLy8gICAgIEBjb250ZW50O1xuICAgICAgICAvLyB9XG4gICAgfVxuICAgIEBpZiAkdHlwZSA9PSBcImxnLW1heFwiIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAkdHlwZSA9PSBcInhsLW1heFwiIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaWYgJHR5cGUgPT0gXCJ4eGwtbWF4XCIge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzk5cHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAkdHlwZSA9PSBcInNtLW9ubHlcIiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaWYgJHR5cGUgPT0gXCJtZC1vbmx5XCIge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGlmICR0eXBlID09IFwibGctb25seVwiIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaWYgJHR5cGUgPT0gXCJ4bC1vbmx5XCIge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTM5OXB4KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0= */
