/*------------------------------------------------------------
	Media
------------------------------------------------------------*/
/*------------------------------------------------------------
	Flex Box
------------------------------------------------------------*/
:root {
  --font-pri: "Mona Sans", sans-serif;
  --font-title: "TASA Lexend", sans-serif;
  --header-index: 99;
  --header-fixed: 8rem;
  --header-height: 9.6rem; }

.popup {
  inset: 0;
  z-index: 101;
  position: fixed;
  visibility: hidden; }
  .popup.open .popup-overlay {
    opacity: 1;
    visibility: visible; }
  .popup.open .popup-main {
    opacity: 1;
    visibility: visible; }
  .popup .wpcf7-response-output {
    text-align: center; }
  .popup-close {
    top: 2rem;
    z-index: 5;
    right: 2rem;
    cursor: pointer;
    user-select: none;
    position: absolute;
    border-radius: 50%;
    backdrop-filter: blur(0.5rem);
    background-color: rgba(255, 255, 255, 0.25); }
    @media screen and (max-width: 1200px) {
      .popup-close {
        top: 1rem;
        right: 1rem;
        background-color: #131313; } }
    .popup-close img {
      width: 2rem;
      height: 2rem;
      filter: brightness(0) invert(1); }
  .popup-overlay {
    inset: 0;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    transition: 0.4s ease-in-out;
    background-color: rgba(0, 0, 0, 0.8); }
  .popup-main {
    top: 50%;
    left: 50%;
    z-index: 2;
    opacity: 0;
    width: 100%;
    display: flex;
    padding: 1.6rem;
    position: absolute;
    visibility: hidden;
    max-width: 124.6rem;
    height: fit-content;
    transition: 0.4s ease-in-out;
    overflow: hidden auto;
    flex-direction: column;
    transform: translate(-50%, -50%); }
  .popup-wrap {
    width: 100%;
    position: relative; }
    @media screen and (max-width: 1200px) {
      .popup-wrap .m-contact-wrap {
        border-radius: 0; } }
  .popup-over {
    min-height: 80vh;
    max-height: 85vh;
    position: relative;
    overflow: hidden auto; }
    @media screen and (max-width: 1024px) {
      .popup-over:has(.popup-noti) {
        min-height: 65vh; } }
    @media screen and (max-width: 767px) {
      .popup-over:has(.popup-noti) {
        min-height: 45vh; } }
  .popup-contact {
    overflow: hidden;
    position: relative;
    isolation: isolate;
    border-radius: 1.6rem;
    padding-bottom: 5.6rem;
    background-color: #fdfdfd; }
    @media screen and (max-width: 1200px) {
      .popup-contact {
        padding-bottom: 2.4rem; } }
    .popup-contact-bg {
      z-index: -1;
      position: relative;
      padding-top: calc(420 / 1216 * 100%); }
      .popup-contact-bg::before {
        content: "";
        left: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        bottom: -0.2rem;
        position: absolute;
        pointer-events: none;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%); }
      .popup-contact-bg img {
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        transform: translate(-50%, -50%); }
    .popup-contact-position {
      z-index: 3;
      padding: 0 5.6rem;
      margin-top: -16rem;
      position: relative; }
      @media screen and (max-width: 1200px) {
        .popup-contact-position {
          padding: 0 2.4rem;
          margin-top: -10rem; } }
      @media screen and (max-width: 576px) {
        .popup-contact-position {
          padding: 0 1.6rem;
          margin-top: -5rem; } }
    .popup-contact-row {
      align-items: end; }
    @media screen and (max-width: 767px) {
      .popup-contact-col {
        width: 100%; } }
    .popup-contact-info_heading .title-40 {
      line-height: 140%; }
      .popup-contact-info_heading .title-40 span {
        color: #96171a; }
    .popup-contact-info_img {
      max-width: 10rem;
      user-select: none; }
      .popup-contact-info_img img {
        width: 100%;
        object-fit: cover;
        filter: brightness(0) saturate(100%) invert(18%) sepia(55%) saturate(2914%) hue-rotate(339deg) brightness(89%) contrast(105%); }
    @media screen and (max-width: 767px) {
      .popup-contact-info > .btn {
        display: none; } }
    .popup-contact-form {
      max-width: 52rem;
      margin-left: auto; }
      @media screen and (max-width: 767px) {
        .popup-contact-form {
          max-width: 100%; } }
      @media screen and (min-width: 768px) {
        .popup-contact-form form .form-action {
          display: none; } }
    .popup-contact-product_box {
      gap: 1.2rem;
      display: flex;
      align-items: center; }
    .popup-contact-product_img {
      flex-shrink: 0; }
      .popup-contact-product_img .img {
        overflow: hidden;
        user-select: none;
        width: 8rem;
        height: 8rem;
        border-radius: 0.2rem; }
        .popup-contact-product_img .img img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
    .popup-contact-product_content > * {
      line-height: 175%; }
    .popup-contact-product_content .name {
      color: #96171a; }
      @media screen and (min-width: 1201px) {
        .popup-contact-product_content .name:hover {
          text-decoration: underline; } }
  .popup-noti {
    overflow: hidden;
    isolation: isolate;
    border-radius: 1.6rem;
    padding-bottom: 13rem;
    background-color: #fdfdfd; }
    @media screen and (max-width: 992px) {
      .popup-noti {
        padding-bottom: 8rem; } }
    @media screen and (max-width: 767px) {
      .popup-noti {
        padding-bottom: 4rem; } }
    .popup-noti-content_heading .title-32 {
      line-height: 150%; }
      @media screen and (max-width: 400px) {
        .popup-noti-content_heading .title-32 br {
          display: none; } }
      .popup-noti-content_heading .title-32 span {
        color: #96171a; }
    .popup-noti-content_img {
      margin: 0 auto;
      max-width: 10rem; }
      .popup-noti-content_img img {
        width: 100%;
        object-fit: cover;
        filter: brightness(0) saturate(100%) invert(18%) sepia(55%) saturate(2914%) hue-rotate(339deg) brightness(89%) contrast(105%); }
    .popup-noti .popup-contact-position {
      margin-top: -8rem; }
  .popup-product form .form-action {
    display: block; }
  .popup:has(.popup-project) .popup-main {
    max-width: 132.6rem; }
  .popup:has(.popup-project) .popup-close {
    top: -1rem;
    right: -1rem; }
  .popup:has(.popup-project) .popup-over {
    overflow: unset; }
  .popup-project-slide {
    --letter-spacing: 0.8rem; }
    .popup-project-slide .swiper {
      margin: 0 calc(-1 * var(--letter-spacing)); }
      .popup-project-slide .swiper-slide {
        padding: 0 var(--letter-spacing); }
  .popup-project-main .popup-project-img {
    padding-top: calc(600 / 1328 * 100%); }
  .popup-project-thumb {
    width: 100%;
    margin: 0 auto;
    position: relative;
    max-width: 76.8rem; }
    .popup-project-thumb .swiper-slide {
      width: calc(100% / 3); }
      @media screen and (max-width: 576px) {
        .popup-project-thumb .swiper-slide {
          width: calc(100% / 2); } }
    @media screen and (max-width: 1200px) {
      .popup-project-thumb .swiper-navigation {
        display: none; } }
    .popup-project-thumb .swiper-navigation-prev {
      left: -5.2rem; }
      @media screen and (max-width: 1366px) {
        .popup-project-thumb .swiper-navigation-prev {
          left: -1.6rem; } }
      .popup-project-thumb .swiper-navigation-prev::after {
        transform: rotate(90deg); }
    .popup-project-thumb .swiper-navigation-next {
      right: -5.2rem; }
      @media screen and (max-width: 1366px) {
        .popup-project-thumb .swiper-navigation-next {
          right: -1.6rem; } }
      .popup-project-thumb .swiper-navigation-next::after {
        transform: rotate(-90deg); }
    .popup-project-thumb .swiper-navigation > * {
      top: 50%;
      z-index: 5;
      position: absolute;
      border-color: transparent;
      transform: translateY(-50%); }
      .popup-project-thumb .swiper-navigation > *:after {
        width: 2.4rem;
        height: 2.4rem;
        filter: brightness(0) invert(1);
        background-image: url("../../assets/images/icons/icon-chevron.svg"); }
    .popup-project-thumb .popup-project-img {
      padding-top: calc(118 / 208 * 100%); }
  .popup-project-img {
    overflow: hidden;
    position: relative; }
    .popup-project-img img {
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      transform: translate(-50%, -50%); }

.type {
  margin: 4rem 0rem 12rem; }
  @media screen and (max-width: 992px) {
    .type {
      margin: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .type {
      margin: 4rem 0rem; } }
  .type-list {
    --letter-spacing: 0.8rem;
    display: flex;
    flex-wrap: wrap;
    row-gap: 1.6rem;
    margin: 0 calc(-1 * var(--letter-spacing)); }
    @media screen and (max-width: 767px) {
      .type-list {
        row-gap: 0.8rem;
        --letter-spacing: 0.4rem; } }
  .type-item {
    width: calc(100% / 4);
    padding: 0 var(--letter-spacing); }
    @media screen and (max-width: 991px) {
      .type-item {
        width: calc(100% / 3); } }
    @media screen and (max-width: 767px) {
      .type-item {
        width: calc(100% / 2); } }
  .type-box {
    height: 100%;
    overflow: hidden;
    transition: 0.4s ease-in-out;
    border-radius: 0.2rem; }
    @media screen and (min-width: 1201px) {
      .type-box:hover {
        box-shadow: 0 0.8rem 2.4rem 0 rgba(0, 0, 0, 0.1); }
        .type-box:hover img {
          transform: translate(-50%, -50%) scale(1.05); }
        .type-box:hover .type-content .title-24 {
          font-weight: 500;
          color: #96171a; } }
  .type-img {
    overflow: hidden;
    position: relative;
    padding-top: calc(1 / 1 * 100%); }
    .type-img img {
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      transform: translate(-50%, -50%);
      transition: 0.4s ease-in-out; }
  .type-content {
    height: 100%;
    text-align: center;
    padding: 1.6rem 2rem;
    background-color: #f0f0f0; }
    @media screen and (max-width: 1200px) {
      .type-content {
        padding: 1.2rem; } }
    .type-content .title-24 {
      line-height: 133%;
      transition: 0.4s ease-in-out; }
      @media screen and (max-width: 576px) {
        .type-content .title-24 {
          font-size: 1.4rem; } }

.banner-pri {
  position: relative; }
  .banner-pri-bg {
    inset: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    position: absolute; }
    .banner-pri-bg::before {
      content: "";
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      position: absolute;
      background: linear-gradient(0deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.65) 100%); }
    .banner-pri-bg img {
      width: 100%;
      object-fit: cover;
      height: 100% !important; }
  .banner-pri-position {
    z-index: 3;
    padding: 20rem 0;
    position: relative; }
    @media screen and (max-width: 576px) {
      .banner-pri-position {
        padding: 10rem 0; } }
  .banner-pri-content .title-40 {
    color: white;
    line-height: 140%; }
  .banner-pri-content .text-16 {
    color: white; }
  @media screen and (max-width: 1024px) {
    .banner-pri-row {
      row-gap: 3.2rem; } }
  @media screen and (max-width: 1024px) {
    .banner-pri-col {
      width: 100%; } }
  .banner-pri-video {
    gap: 0.8rem;
    margin-top: 2.4rem;
    display: flex;
    align-items: center; }
    .banner-pri-video .video-play {
      top: unset;
      left: unset;
      transform: unset;
      position: relative; }
      @media screen and (min-width: 768px) {
        .banner-pri-video .video-play {
          width: 5.6rem;
          height: 5.6rem; } }
      .banner-pri-video .video-play img {
        margin-left: 0.4rem;
        width: 2.1rem;
        height: 2.1rem; }
        @media screen and (max-width: 767px) {
          .banner-pri-video .video-play img {
            width: 1.6rem;
            height: 1.6rem; } }
    .banner-pri-video .text-18 {
      color: white; }
  .banner-pri-img {
    overflow: hidden;
    position: relative;
    padding-top: calc(332 / 592 * 100%); }
    @media screen and (min-width: 1201px) {
      .banner-pri-img:hover img {
        transform: translate(-50%, -50%) scale(1.05); } }
    .banner-pri-img img {
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      transform: translate(-50%, -50%);
      transition: 0.4s ease-in-out; }

.banner-news {
  position: relative;
  height: calc(100vh - 14.6rem); }
  @media screen and (max-width: 1200px) {
    .banner-news {
      height: auto; } }
  .banner-news .swiper {
    height: 100%; }
    .banner-news .swiper-pagination {
      margin-top: 2rem; }
  .banner-news-home,
  .banner-news .banner-home {
    height: 100%;
    display: flex;
    position: relative; }
    .banner-news-home::before,
    .banner-news .banner-home::before {
      content: "";
      width: 100%;
      display: block;
      padding-top: 56.25%; }
      @media screen and (max-width: 767px) {
        .banner-news-home::before,
        .banner-news .banner-home::before {
          padding-top: 80%; } }
      @media screen and (max-width: 576px) {
        .banner-news-home::before,
        .banner-news .banner-home::before {
          padding-top: 100%; } }
  .banner-news-bg,
  .banner-news .banner-video {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute; }
    .banner-news-bg img,
    .banner-news-bg video,
    .banner-news-bg iframe,
    .banner-news .banner-video img,
    .banner-news .banner-video video,
    .banner-news .banner-video iframe {
      width: 100%;
      object-fit: cover;
      height: 100% !important; }
  .banner-news-position {
    inset: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    position: absolute; }
  .banner-news-content {
    width: 100%;
    height: 100%;
    color: white;
    text-align: center;
    align-items: center;
    padding-bottom: 6.4rem;
    justify-content: flex-end; }
    @media screen and (max-width: 1024px) {
      .banner-news-content {
        padding-bottom: 3.2rem; } }
    .banner-news-content > * {
      line-height: normal; }
    .banner-news-content .title-80 {
      font-size: 8rem; }
      @media screen and (max-width: 1200px) {
        .banner-news-content .title-80 {
          font-size: 6.4rem; } }
      @media screen and (max-width: 767px) {
        .banner-news-content .title-80 {
          font-size: 4.8rem; } }
      @media screen and (max-width: 576px) {
        .banner-news-content .title-80 {
          font-size: 3.2rem; } }
    @media screen and (max-width: 767px) {
      .banner-news-content .title-40 {
        font-size: 2.4rem; } }
    @media screen and (max-width: 576px) {
      .banner-news-content .title-40 {
        font-size: 2rem; } }
    .banner-news-content .view-link {
      color: white;
      font-size: 2rem;
      margin-top: 2rem; }
      @media only screen and (max-width: 1200px) {
        .banner-news-content .view-link {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 800px) {
        .banner-news-content .view-link {
          font-size: 1.6rem; } }
      @media screen and (max-width: 1200px) {
        .banner-news-content .view-link {
          margin-top: 1.2rem; } }
      .banner-news-content .view-link:after {
        background-color: white; }

.product-box {
  height: 100%; }
  @media screen and (min-width: 1201px) {
    .product-box:hover .img {
      opacity: 0; }
      .product-box:hover .img-hover {
        opacity: 1; } }
  @media screen and (max-width: 576px) {
    .product-box {
      row-gap: 0.8rem; } }
  .product-box-img {
    display: block;
    position: relative; }
    .product-box-img .img {
      box-shadow: 0 0.8rem 2.4rem 0 rgba(0, 0, 0, 0.1);
      overflow: hidden;
      user-select: none;
      position: relative;
      border-radius: 0.2rem;
      transition: opacity 0.4s;
      padding-top: calc(1 / 1 * 100%); }
      .product-box-img .img img {
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        transform: translate(-50%, -50%);
        transition: 0.4s ease-in-out; }
      .product-box-img .img-hover {
        top: 0;
        opacity: 0;
        width: 100%;
        position: absolute; }
    .product-box-img .hot {
      top: 0.8rem;
      left: 0.8rem;
      right: 0.8rem;
      padding: 0.8rem;
      position: absolute;
      width: fit-content;
      background-color: #96171a; }
      @media screen and (max-width: 767px) {
        .product-box-img .hot {
          padding: 0.4rem; } }
      .product-box-img .hot .text-14 {
        color: white;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-clamp: 1;
        -webkit-line-clamp: 1; }
        @media screen and (max-width: 767px) {
          .product-box-img .hot .text-14 {
            font-size: 1.2rem; } }
  .product-box-content {
    height: 100%; }
    .product-box-content .title-28 {
      line-height: 130%;
      width: fit-content;
      transition: 0.4s ease-in-out; }
      @media screen and (min-width: 1201px) {
        .product-box-content .title-28:hover {
          color: #96171a; } }
      @media screen and (max-width: 576px) {
        .product-box-content .title-28 {
          font-size: 1.8rem; } }
    .product-box-content .text-18 {
      color: #999;
      line-height: 150%; }
      @media screen and (max-width: 576px) {
        .product-box-content .text-18 {
          font-size: 1.4rem; } }

.related-project {
  margin: 12rem 0rem 6rem; }
  @media screen and (max-width: 992px) {
    .related-project {
      margin: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .related-project {
      margin: 4rem 0rem; } }
  .related-project-heading {
    gap: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 991px) {
      .related-project-heading {
        justify-content: center; } }
    @media screen and (max-width: 991px) {
      .related-project-heading > .btn,
      .related-project-heading .swiper-navigation {
        display: none; } }
  .related-project-swiper {
    position: relative;
    --letter-spacing: 0.8rem; }
    @media screen and (max-width: 767px) {
      .related-project-swiper {
        --letter-spacing: 0.4rem; } }
    .related-project-swiper .swiper {
      margin: 0 calc(-1 * var(--letter-spacing)); }
      .related-project-swiper .swiper-slide {
        height: auto;
        width: calc(100% / 4);
        padding: 0 var(--letter-spacing); }
        @media screen and (max-width: 1200px) {
          .related-project-swiper .swiper-slide {
            width: calc(100% / 3); } }
        @media screen and (max-width: 767px) {
          .related-project-swiper .swiper-slide {
            width: calc(100% / 1.5); } }
  @media screen and (min-width: 992px) {
    .related-project-inner > .btn {
      display: none; } }
  .related-project .btn {
    border-color: #96171a; }
  .related-project .list-project-img {
    padding-top: calc(400 / 320 * 100%); }

.productdt {
  margin: 8rem 0rem 12rem; }
  @media screen and (max-width: 992px) {
    .productdt {
      margin: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .productdt {
      margin: 4rem 0rem; } }
  @media screen and (min-width: 1201px) {
    .productdt-row {
      --rg: 3.2rem;
      --cg: 3.2rem; } }
  @media screen and (max-width: 1024px) {
    .productdt-col {
      width: 100%; } }
  .productdt-slide {
    --letter-spacing: 0.8rem; }
    @media screen and (max-width: 1024px) {
      .productdt-slide {
        width: 100%;
        margin: 0 auto;
        max-width: 50rem; } }
    @media screen and (max-width: 576px) {
      .productdt-slide {
        row-gap: 0.8rem;
        --letter-spacing: 0.4rem; } }
    .productdt-slide .swiper {
      margin: 0 calc(-1 * var(--letter-spacing)); }
      .productdt-slide .swiper-slide {
        padding: 0 var(--letter-spacing); }
  .productdt-thumb .swiper-slide {
    width: calc(100% / 4); }
    @media screen and (max-width: 576px) {
      .productdt-thumb .swiper-slide {
        width: calc(100% / 3); } }
    .productdt-thumb .swiper-slide-thumb-active .productdt-img {
      box-shadow: 0 0.8rem 2.4rem 0 rgba(0, 0, 0, 0.1);
      border-color: #96171a; }
  .productdt-img {
    cursor: pointer;
    overflow: hidden;
    position: relative;
    transition: 0.4s ease-in-out;
    border-radius: 0.2rem;
    background-color: #f0f0f0;
    padding-top: calc(1 / 1 * 100%);
    border: 0.2rem solid transparent; }
    .productdt-img img {
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      position: absolute;
      object-fit: contain;
      transform: translate(-50%, -50%);
      transition: 0.4s ease-in-out;
      height: 100% !important; }
  .productdt-heading {
    gap: 1.2rem;
    flex-wrap: wrap;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .productdt-heading .title-48,
    .productdt-heading .title-36 {
      color: #96171a; }
    .productdt-heading .share {
      gap: 0.8rem;
      margin-left: auto;
      display: flex;
      align-items: center; }
      .productdt-heading .share:after {
        background-color: #656565; }
      .productdt-heading .share img {
        object-fit: cover;
        width: 2rem;
        height: 2rem;
        filter: brightness(0) saturate(100%) invert(43%) sepia(0%) saturate(950%) hue-rotate(237deg) brightness(90%) contrast(90%); }
      .productdt-heading .share .text-16 {
        color: #656565;
        line-height: 125%; }
  @media screen and (max-width: 767px) {
    .productdt-desc ul {
      row-gap: 1rem; } }
  .productdt-desc ul li {
    gap: 1.2rem;
    display: flex;
    justify-content: space-between; }
    .productdt-desc ul li:not(:last-child) {
      padding-bottom: 1.6rem;
      border-bottom: 0.1rem solid #d9d9d9; }
      @media screen and (max-width: 767px) {
        .productdt-desc ul li:not(:last-child) {
          padding-bottom: 1rem; } }
    .productdt-desc ul li .text-14 {
      line-height: 140%; }
      @media screen and (max-width: 576px) {
        .productdt-desc ul li .text-14 {
          font-size: 1.2rem; }
          .productdt-desc ul li .text-14 br {
            display: none; } }
      .productdt-desc ul li .text-14:first-child {
        width: 16.4rem;
        flex-shrink: 0; }
        @media screen and (max-width: 576px) {
          .productdt-desc ul li .text-14:first-child {
            width: 14rem; } }
      .productdt-desc ul li .text-14:last-child {
        text-align: right; }
  .productdt-action {
    gap: 1.6rem;
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.6rem; }
    @media screen and (max-width: 576px) {
      .productdt-action {
        justify-content: center; } }
    .productdt-action .btn-pri {
      border-color: #96171a; }
  .productdt-info > * > li {
    gap: 1.2rem;
    display: flex; }
    @media screen and (max-width: 991px) {
      .productdt-info > * > li {
        flex-direction: column; } }
    .productdt-info > * > li .title-32 {
      flex-shrink: 0;
      width: 43.2rem;
      line-height: normal; }
      @media screen and (max-width: 1200px) {
        .productdt-info > * > li .title-32 {
          width: 35rem; } }
    .productdt-info > * > li:not(:last-child) {
      padding-bottom: 4.8rem;
      border-bottom: 0.1rem solid #d9d9d9; }
      @media screen and (max-width: 992px) {
        .productdt-info > * > li:not(:last-child) {
          padding-bottom: 3.2rem; } }
      @media screen and (max-width: 576px) {
        .productdt-info > * > li:not(:last-child) {
          padding-bottom: 2.4rem; } }
  .productdt-info .gallery-list {
    gap: 1.6rem;
    width: 100%;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 1200px) {
      .productdt-info .gallery-list {
        gap: 0.8rem; } }
  .productdt-info .gallery-item {
    width: calc(100% / 4 - 1.2rem); }
    @media screen and (max-width: 1200px) {
      .productdt-info .gallery-item {
        width: calc(100% / 4 - 0.6rem); } }
    @media screen and (max-width: 576px) {
      .productdt-info .gallery-item {
        width: calc(100% / 2 - 0.4rem); } }
  .productdt-info .gallery-img {
    overflow: hidden;
    position: relative;
    padding-top: calc(180 / 208 * 100%); }
    @media screen and (min-width: 1201px) {
      .productdt-info .gallery-img:hover img {
        transform: translate(-50%, -50%) scale(1.05); } }
    .productdt-info .gallery-img img {
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      transform: translate(-50%, -50%);
      transition: 0.4s ease-in-out; }
  .productdt .mona-content ul:first-of-type {
    margin-top: 0; }
    .productdt .mona-content ul:first-of-type li:first-of-type {
      margin-top: 0; }
  .productdt .mona-content ul li {
    margin: 0.8rem 0;
    padding-left: 1.6rem; }
    @media screen and (max-width: 576px) {
      .productdt .mona-content ul li {
        font-size: 1.4rem; } }
    .productdt .mona-content ul li::before {
      top: 1.1rem;
      border-radius: 50%;
      width: 0.4rem;
      height: 0.4rem;
      background-color: #131313; }

.p-product-detail .banner-news-bg {
  cursor: pointer; }

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