/*COLORS*/
/*FONTS*/
.vc_container,
.vc_container-fluid {
    position: relative;
    z-index: 10;
}

.vc_container .container,
  .vc_container-fluid .container {
    max-width: 100%;
}

.vc_container .container-fluid,
  .vc_container-fluid .container-fluid {
    width: 100%;
}

/*Ipad fix*/
.vc_row-flex .row:before, .vc_row-flex .row:after {
    display: none;
}

.vc_row > .container > .row {
    padding: 0;
}

.vc_row-flex > .container > .row, .vc_row-flex > .container-fluid > .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.vc_row-flex > .container > .row > .vc_column_container, .vc_row-flex > .container-fluid > .row > .vc_column_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.vc_row-flex > .container > .row > .vc_column_container > .vc_column-inner, .vc_row-flex > .container-fluid > .row > .vc_column_container > .vc_column-inner {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    z-index: 1;
}

@media (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .vc_row-flex > .container > .row > .vc_column_container > .vc_column-inner, .vc_row-flex > .container-fluid > .row > .vc_column_container > .vc_column-inner {
          /* IE10+ specific styles */
    }

    .vc_row-flex > .container > .row > .vc_column_container > .vc_column-inner > *, .vc_row-flex > .container-fluid > .row > .vc_column_container > .vc_column-inner > * {
        min-height: 1em;
    }
}

.vc_row-flex > .container > .row::before, .vc_row-flex > .container > .row::after, .vc_row-flex > .container-fluid > .row::before, .vc_row-flex > .container-fluid > .row::after {
    display: none;
}

.vc_row-o-columns-stretch > .container > .row, .vc_row-o-columns-stretch > .container-fluid > .row {
    -ms-flex-line-pack: stretch;
    align-content: stretch;
}

.vc_row-o-columns-top > .container > .row, .vc_row-o-columns-top > .container-fluid > .row {
    -ms-flex-line-pack: start;
    align-content: flex-start;
}

.vc_row-o-columns-bottom > .container > .row, .vc_row-o-columns-bottom > .container-fluid > .row {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.vc_row-o-columns-middle > .container > .row, .vc_row-o-columns-middle > .container-fluid > .row {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.vc_row.vc_row-o-columns-top > .container > .row::after, .vc_row.vc_row-o-columns-top > .container-fluid > .row::after, .vc_row.vc_row-o-columns-bottom > .container > .row::after, .vc_row.vc_row-o-columns-bottom > .container-fluid > .row::after, .vc_row.vc_row-o-columns-middle > .container > .row::after, .vc_row.vc_row-o-columns-middle > .container-fluid > .row::after {
    content: '';
    width: 100%;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    display: block;
}

.vc_row-o-equal-height > .container > .row > .vc_column_container, .vc_row-o-equal-height > .container-fluid > .row > .vc_column_container {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.vc_row-o-content-top > .container > .row > .vc_column_container > .vc_column-inner, .vc_row-o-content-top > .container-fluid > .row > .vc_column_container > .vc_column-inner {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.vc_row-o-content-top:not(.vc_row-o-equal-height) > .container > row > .vc_column_container, .vc_row-o-content-top:not(.vc_row-o-equal-height) > .container-fluid > row > .vc_column_container {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.vc_row-o-content-bottom > .container > .row > .vc_column_container > .vc_column-inner, .vc_row-o-content-bottom > .container-fluid > .row > .vc_column_container > .vc_column-inner {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.vc_row-o-content-bottom:not(.vc_row-o-equal-height) > .container > row > .vc_column_container, .vc_row-o-content-bottom:not(.vc_row-o-equal-height) > .container-fluid > row > .vc_column_container {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.vc_row-o-content-middle > .container > .row > .vc_column_container > .vc_column-inner, .vc_row-o-content-middle > .container-fluid > .row > .vc_column_container > .vc_column-inner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.vc_row-o-content-middle:not(.vc_row-o-equal-height) > .container > .vc_column_container, .vc_row-o-content-middle:not(.vc_row-o-equal-height) > .container-fluid > .vc_column_container {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.wpb_column[data-stretch].vc_column_container > .vc_column-inner {
    background-size: cover;
    height: 100%;
}

@media (max-width: 1023px) {
    div[data-stretch="right"] .vc_column-inner {
        position: relative;
    }
}

@media (max-width: 769px) {
    .vc_col-sm-6:nth-of-type(2n+1) {
        clear: both;
    }
}

.bump_round {
    width: 139px;
    height: 139px;
    position: absolute;
    top: -23px;
    left: 0;
    right: 0;
    margin: 0 auto;
    border-radius: 50%;
    background-color: #fff;
    text-align: center;
    z-index: -1;
}

.bump_bottom {
    bottom: -23px;
    top: auto;
}

.vc_section.vc_row-o-full-height {
    min-height: 100vh !important;
}

canvas.vc_row_canvas_anim {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

svg.vc_row_canvas_anim {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 170px;
    -webkit-transition: opacity .3s ease;
    -o-transition: opacity .3s ease;
    transition: opacity .3s ease;
    opacity: 0;
}

svg.vc_row_canvas_anim.loaded {
    opacity: 1;
}

.stm_gradient_animation {
    -webkit-animation: Gradient 15s ease infinite;
    animation: Gradient 15s ease infinite;
    background-size: 400% 400% !important;
}

.stm_container_has_video {
    overflow: hidden;
}

.stm_container_has_video .stm_video_iframe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    padding-bottom: 56.25%;
    /* 16:9 */
    z-index: 10;
}

@media (min-width: 1500px) {
    .stm_container_has_video .stm_video_iframe {
        -webkit-transform: translateY(-25%);
        -ms-transform: translateY(-25%);
        transform: translateY(-25%);
    }
}

.stm_container_has_video .stm_video_iframe iframe {
    display: block;
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 100%;
}

.stm_container_has_video .vc_video-bg-container {
    z-index: 30;
}

.stm_container_has_video .stm_row-opacity {
    z-index: 20;
}

@media (max-width: 1100px) {
    .stm_container_has_video .stm_video_iframe {
        display: none;
    }
}

.stm_featured_row > .vc_row > .wpb_column {
    -webkit-box-shadow: 0 2px 7px rgba(0, 0, 0, 0);
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0);
}

.stm_featured_row > .vc_row > .wpb_column:hover {
    -webkit-box-shadow: 0 2px 7px rgba(0, 0, 0, 0.13);
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.13);
}

.stm_featured_row .stm_featured_box {
    position: relative;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    z-index: 10;
}

.stm_featured_row .stm_featured_box .wpb_wrapper {
    -webkit-transform: scale(0.95);
    -ms-transform: scale(0.95);
    transform: scale(0.95);
}

@media (max-width: 550px) {
    .stm_featured_row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .stm_featured_row .stm_featured_box {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }

    .stm_featured_row .stm_featured_box .wpb_wrapper {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }
}

.stm_row__divider_enabled {
    position: relative;
}

.stm_row__divider_enabled.stm_row__divider_saw.stm_row__divider_bottom .stm_row__divider, .stm_row__divider_enabled.stm_row__divider_saw.stm_row__divider_top .stm_row__divider, .stm_row__divider_enabled.stm_row__divider_saw.stm_row__divider_both .stm_row__divider {
    position: absolute;
    left: 0;
    right: 0;
}

.stm_row__divider_enabled.stm_row__divider_saw.stm_row__divider_bottom .stm_row__divider:after, .stm_row__divider_enabled.stm_row__divider_saw.stm_row__divider_top .stm_row__divider:after, .stm_row__divider_enabled.stm_row__divider_saw.stm_row__divider_both .stm_row__divider:after {
    content: '';
    bottom: -5px;
    display: block;
    background: -webkit-linear-gradient(45deg, transparent 33.333%, #FFF 33.333%, #FFF 66.667%, transparent 66.667%), -webkit-linear-gradient(135deg, transparent 33.333%, #FFF 33.333%, #FFF 66.667%, transparent 66.667%);
    background: -o-linear-gradient(45deg, transparent 33.333%, #FFF 33.333%, #FFF 66.667%, transparent 66.667%), -o-linear-gradient(135deg, transparent 33.333%, #FFF 33.333%, #FFF 66.667%, transparent 66.667%);
    background: linear-gradient(45deg, transparent 33.333%, #FFF 33.333%, #FFF 66.667%, transparent 66.667%), linear-gradient(-45deg, transparent 33.333%, #FFF 33.333%, #FFF 66.667%, transparent 66.667%);
    background-repeat: repeat-x;
    background-size: 16px 32px;
    height: 8px;
    -webkit-filter: drop-shadow(#ffffff 0px 1px 0px);
}

.stm_row__divider_enabled.stm_row__divider_saw.stm_row__divider_top .stm_row__divider, .stm_row__divider_enabled.stm_row__divider_saw.stm_row__divider_both .stm_row__divider:nth-child(1) {
    bottom: auto;
    top: -8px;
}

.stm_row__divider_enabled.stm_row__divider_saw.stm_row__divider_bottom .stm_row__divider, .stm_row__divider_enabled.stm_row__divider_saw.stm_row__divider_both .stm_row__divider:nth-child(2) {
    top: auto;
    bottom: -8px;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.overlap_mobile {
    z-index: 15 !important;
}

[class*=vc_container] .stm_kenburns {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    z-index: -1;
}

[class*=vc_container] .stm_kenburns .stm_kenburns__image {
    width: 110%;
    height: 110%;
    margin-left: -5%;
    margin-top: -5%;
    -webkit-animation: 60s linear stm_kenburns infinite;
    animation: 60s linear stm_kenburns infinite;
    background-repeat: no-repeat;
    background-size: cover;
}

@media (max-width: 1023px) {
    .overlap_mobile .vc_row-o-equal-height .vc_column-inner > .wpb_wrapper {
        height: auto !important;
    }
}

@-webkit-keyframes stm_kenburns {
    0% {
        -webkit-transform: scale(1) translateX(0) translateY(0);
        transform: scale(1) translateX(0) translateY(0);
    }

    50% {
        -webkit-transform: scale(1.2) translateX(-10%) translateY(5%);
        transform: scale(1.2) translateX(-10%) translateY(5%);
    }

    100% {
        -webkit-transform: scale(1) translateX(0) translateY(0);
        transform: scale(1) translateX(0) translateY(0);
    }
}

@keyframes stm_kenburns {
    0% {
        -webkit-transform: scale(1) translateX(0) translateY(0);
        transform: scale(1) translateX(0) translateY(0);
    }

    50% {
        -webkit-transform: scale(1.2) translateX(-10%) translateY(5%);
        transform: scale(1.2) translateX(-10%) translateY(5%);
    }

    100% {
        -webkit-transform: scale(1) translateX(0) translateY(0);
        transform: scale(1) translateX(0) translateY(0);
    }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmNfZWxlbWVudHMvcm93L3N0eWxlXzEuY3NzIiwic291cmNlcyI6WyJ2Y19lbGVtZW50cy9yb3cvc3R5bGVfMS5zY3NzIiwidmNfZWxlbWVudHMvcm93L19iYXNlLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfbWl4aW5zLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImJhc2VcIjtcclxuQGltcG9ydCBcIi4uLy4uL21peGluc1wiO1xyXG5cclxuY2FudmFzLnZjX3Jvd19jYW52YXNfYW5pbSB7XHJcbiAgQGluY2x1ZGUgYWJzb2x1dGVkKCk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG5zdmcudmNfcm93X2NhbnZhc19hbmltIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxNzBweDtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgJi5sb2FkZWQge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5zdG1fZ3JhZGllbnRfYW5pbWF0aW9uIHtcclxuICBhbmltYXRpb246IEdyYWRpZW50IDE1cyBlYXNlIGluZmluaXRlO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogNDAwJSA0MDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zdG1fY29udGFpbmVyX2hhc192aWRlbyB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAuc3RtX3ZpZGVvX2lmcmFtZSB7XHJcbiAgICBAaW5jbHVkZSBhYnNvbHV0ZWQoKTtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgLyogMTY6OSAqL1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHVuZGVyTGFwdG9wKSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUlKTtcclxuICAgIH1cclxuICAgIGlmcmFtZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogLTFweDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgLnZjX3ZpZGVvLWJnLWNvbnRhaW5lciB7XHJcbiAgICB6LWluZGV4OiAzMDtcclxuICB9XHJcbiAgLnN0bV9yb3ctb3BhY2l0eSB7XHJcbiAgICB6LWluZGV4OiAyMDtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMTAwcHgpIHtcclxuICAgIC5zdG1fdmlkZW9faWZyYW1lIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zdG1fZmVhdHVyZWRfcm93IHtcclxuICA+IC52Y19yb3cge1xyXG4gICAgPiAud3BiX2NvbHVtbiB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAuMTMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC52Y19jb2x1bW4taW5uZXIge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC8vYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICAuc3RtX2ZlYXR1cmVkX2JveCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIC53cGJfd3JhcHBlciB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAuc3RtX2ZlYXR1cmVkX2JveCB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgIC53cGJfd3JhcHBlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnN0bV9yb3dfX2RpdmlkZXJfZW5hYmxlZCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICYuc3RtX3Jvd19fZGl2aWRlciB7XHJcbiAgICAmX3NhdyB7XHJcbiAgICAgICYuc3RtX3Jvd19fZGl2aWRlcl9ib3R0b20sICYuc3RtX3Jvd19fZGl2aWRlcl90b3AsICYuc3RtX3Jvd19fZGl2aWRlcl9ib3RoIHtcclxuICAgICAgICAuc3RtX3Jvd19fZGl2aWRlciB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTVweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgMzMuMzMzJSwgI0ZGRiAzMy4zMzMlLCAjRkZGIDY2LjY2NyUsIHRyYW5zcGFyZW50IDY2LjY2NyUpLFxyXG4gICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCAzMy4zMzMlLCAjRkZGIDMzLjMzMyUsICNGRkYgNjYuNjY3JSwgdHJhbnNwYXJlbnQgNjYuNjY3JSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDMycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogZHJvcC1zaGFkb3coI2ZmZmZmZiAwcHggMXB4IDBweCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuc3RtX3Jvd19fZGl2aWRlcl90b3AgLnN0bV9yb3dfX2RpdmlkZXIsICYuc3RtX3Jvd19fZGl2aWRlcl9ib3RoIC5zdG1fcm93X19kaXZpZGVyOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgYm90dG9tOiBhdXRvO1xyXG4gICAgICAgIHRvcDogLThweDtcclxuICAgICAgfVxyXG4gICAgICAmLnN0bV9yb3dfX2RpdmlkZXJfYm90dG9tIC5zdG1fcm93X19kaXZpZGVyLCAmLnN0bV9yb3dfX2RpdmlkZXJfYm90aCAuc3RtX3Jvd19fZGl2aWRlcjpudGgtY2hpbGQoMikge1xyXG5cclxuICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgYm90dG9tOiAtOHB4O1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5vdmVybGFwX21vYmlsZSB7XHJcbiAgei1pbmRleDogMTUgIWltcG9ydGFudDtcclxufVxyXG5cclxuW2NsYXNzKj12Y19jb250YWluZXJdIC5zdG1fa2VuYnVybnMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB6LWluZGV4OiAtMTtcclxuICAuc3RtX2tlbmJ1cm5zX19pbWFnZSB7XHJcbiAgICB3aWR0aDogMTEwJTtcclxuICAgIGhlaWdodDogMTEwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtNSU7XHJcbiAgICBtYXJnaW4tdG9wOiAtNSU7XHJcbiAgICBhbmltYXRpb246IDYwcyBsaW5lYXIgc3RtX2tlbmJ1cm5zIGluZmluaXRlO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHRhYmxldHVuZGVyKSB7XHJcbiAgLm92ZXJsYXBfbW9iaWxlIHtcclxuICAgIC52Y19yb3ctby1lcXVhbC1oZWlnaHQge1xyXG4gICAgICAudmNfY29sdW1uLWlubmVyID4gLndwYl93cmFwcGVyIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzdG1fa2VuYnVybnMge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApO1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSB0cmFuc2xhdGVYKC0xMCUpIHRyYW5zbGF0ZVkoNSUpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcclxuICB9XHJcbn0iLCJAaW1wb3J0IFwiLi4vLi4vdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnNcIjtcclxuXHJcbi52Y19jb250YWluZXIsXHJcbi52Y19jb250YWluZXItZmx1aWQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAxMDtcclxuICAuY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbiAgLmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi8qSXBhZCBmaXgqL1xyXG4udmNfcm93LWZsZXgge1xyXG4gIC5yb3cge1xyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi52Y19yb3cge1xyXG4gICYgPiAuY29udGFpbmVyIHtcclxuICAgICYgPiAucm93IHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcclxuICAgICAgICAvL3BhZGRpbmc6IDAgNy41cHg7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXRvbmx5KSB7XHJcbiAgICAgICAgLy9wYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtZmxleCB7XHJcbiAgICAmID4gLmNvbnRhaW5lciwgJiA+IC5jb250YWluZXItZmx1aWQge1xyXG4gICAgICAvL2ZsZXg6IDE7XHJcbiAgICAgICYgPiAucm93IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICA+IC52Y19jb2x1bW5fY29udGFpbmVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICA+IC52Y19jb2x1bW4taW5uZXIge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIEBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xyXG4gICAgICAgICAgICAgIC8qIElFMTArIHNwZWNpZmljIHN0eWxlcyAqL1xyXG4gICAgICAgICAgICAgICYgPiAqIHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDFlbTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLW8tY29sdW1ucy1zdHJldGNoIHtcclxuICAgICYgPiAuY29udGFpbmVyLCAmID4gLmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgICAgICYgPiAucm93IHtcclxuICAgICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLW8tY29sdW1ucy10b3Age1xyXG4gICAgJiA+IC5jb250YWluZXIsICYgPiAuY29udGFpbmVyLWZsdWlkIHtcclxuICAgICAgJiA+IC5yb3cge1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtby1jb2x1bW5zLWJvdHRvbSB7XHJcbiAgICAmID4gLmNvbnRhaW5lciwgJiA+IC5jb250YWluZXItZmx1aWQge1xyXG4gICAgICAmID4gLnJvdyB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLW8tY29sdW1ucy1taWRkbGUge1xyXG4gICAgJiA+IC5jb250YWluZXIsICYgPiAuY29udGFpbmVyLWZsdWlkIHtcclxuICAgICAgJiA+IC5yb3cge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLnZjX3Jvdy1vLWNvbHVtbnMtdG9wLFxyXG4gICYudmNfcm93LW8tY29sdW1ucy1ib3R0b20sXHJcbiAgJi52Y19yb3ctby1jb2x1bW5zLW1pZGRsZSB7XHJcbiAgICAmID4gLmNvbnRhaW5lciwgJiA+IC5jb250YWluZXItZmx1aWQge1xyXG4gICAgICAmID4gLnJvdyB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtby1lcXVhbC1oZWlnaHQge1xyXG4gICAgJiA+IC5jb250YWluZXIsICYgPiAuY29udGFpbmVyLWZsdWlkIHtcclxuICAgICAgJiA+IC5yb3cge1xyXG4gICAgICAgID4gLnZjX2NvbHVtbl9jb250YWluZXIge1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLW8tY29udGVudC10b3Age1xyXG4gICAgJiA+IC5jb250YWluZXIsICYgPiAuY29udGFpbmVyLWZsdWlkIHtcclxuICAgICAgJiA+IC5yb3cge1xyXG4gICAgICAgID4gLnZjX2NvbHVtbl9jb250YWluZXIge1xyXG4gICAgICAgICAgPiAudmNfY29sdW1uLWlubmVyIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpub3QoLnZjX3Jvdy1vLWVxdWFsLWhlaWdodCkgPiAuY29udGFpbmVyLCAmOm5vdCgudmNfcm93LW8tZXF1YWwtaGVpZ2h0KSA+IC5jb250YWluZXItZmx1aWQge1xyXG4gICAgICA+IHJvdyB7XHJcbiAgICAgICAgPiAudmNfY29sdW1uX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtby1jb250ZW50LWJvdHRvbSB7XHJcbiAgICAmID4gLmNvbnRhaW5lciwgJiA+IC5jb250YWluZXItZmx1aWQge1xyXG4gICAgICAmID4gLnJvdyB7XHJcbiAgICAgICAgPiAudmNfY29sdW1uX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICA+IC52Y19jb2x1bW4taW5uZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpub3QoLnZjX3Jvdy1vLWVxdWFsLWhlaWdodCkgPiAuY29udGFpbmVyLCAmOm5vdCgudmNfcm93LW8tZXF1YWwtaGVpZ2h0KSA+IC5jb250YWluZXItZmx1aWQge1xyXG4gICAgICA+IHJvdyB7XHJcbiAgICAgICAgPiAudmNfY29sdW1uX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLW8tY29udGVudC1taWRkbGUge1xyXG4gICAgJiA+IC5jb250YWluZXIsICYgPiAuY29udGFpbmVyLWZsdWlkIHtcclxuICAgICAgJiA+IC5yb3cge1xyXG4gICAgICAgID4gLnZjX2NvbHVtbl9jb250YWluZXIge1xyXG4gICAgICAgICAgPiAudmNfY29sdW1uLWlubmVyIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOm5vdCgudmNfcm93LW8tZXF1YWwtaGVpZ2h0KSA+IC5jb250YWluZXIsICY6bm90KC52Y19yb3ctby1lcXVhbC1oZWlnaHQpID4gLmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgICAgID4gLnZjX2NvbHVtbl9jb250YWluZXIge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi53cGJfY29sdW1uW2RhdGEtc3RyZXRjaF0udmNfY29sdW1uX2NvbnRhaW5lciB7XHJcbiAgPiAudmNfY29sdW1uLWlubmVyIHtcclxuICAgIC8vd2lkdGg6IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXR1bmRlcikge1xyXG4gIGRpdltkYXRhLXN0cmV0Y2g9XCJyaWdodFwiXSB7XHJcbiAgICAudmNfY29sdW1uLWlubmVyIHtcclxuICAgICAgLy9tYXJnaW4tbGVmdDogLTE1cHggIWltcG9ydGFudDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGl2W2RhdGEtc3RyZXRjaD1cImxlZnRcIl0ge1xyXG4gICAgLnZjX2NvbHVtbi1pbm5lciB7XHJcbiAgICAgIC8vbWFyZ2luLXJpZ2h0OiAtMTVweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXRvbmx5KSB7XHJcbiAgLnZjX2NvbC1zbS02IHtcclxuICAgICY6bnRoLW9mLXR5cGUoMm4rMSkge1xyXG4gICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5idW1wIHtcclxuICAmX3JvdW5kIHtcclxuICAgIHdpZHRoOiAxMzlweDtcclxuICAgIGhlaWdodDogMTM5cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0yM3B4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgfVxyXG4gICZfYm90dG9tIHtcclxuICAgIGJvdHRvbTogLTIzcHg7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4udmNfc2VjdGlvbi52Y19yb3ctby1mdWxsLWhlaWdodCB7XHJcbiAgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDtcclxufSIsIi8qQ09MT1JTKi9cclxuJG1fYzogIzU4Yzc0NztcclxuJHNlY19jOiAjZmY2OTRlO1xyXG4kdGhfYzogIzBjMjc0YTtcclxuJHdoaXRlOiAjZmZmO1xyXG5cclxuLypGT05UUyovXHJcbiRtX2Y6ICdSb2JvdG8nO1xyXG4kc2VjX2Y6ICdSb2JvdG8nO1xyXG5cclxuLy9iczMgb3ZlcnJpZGVcclxuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiBub25lOyIsIkBmdW5jdGlvbiB1bmljb2RlKCRzdHIpIHtcclxuICAgIEByZXR1cm4gdW5xdW90ZShcIlxcXCJcIikgKyAkc3RyICsgdW5xdW90ZShcIlxcXCJcIik7XHJcbn1cclxuXHJcbkBtaXhpbiBwc2V1ZG8oKSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzb2x1dGVkKCkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gdGV4dF9yZW5kZXJpbmcoKSB7XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxuQG1peGluIGZhKCkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcbkBtaXhpbiBoX2xpbmUoKSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDQ2cHg7XHJcbiAgICBoZWlnaHQ6IDVweDtcclxuICAgIG1hcmdpbjogMCAwIDIxcHg7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXJfc21hbGwoKSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAzcHggMCAzcHggNXB4O1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbkBtaXhpbiByZXBlYXRpbmdfZ3JhZGllbnQoKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxyXG4gICAgICAgICAgICAgICAgICAgIDEzNWRlZyxcclxuICAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMTUpIDVweCxcclxuICAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMTUpIDEwcHgsXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgMTBweCxcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAxNXB4XHJcbiAgICApXHJcbn1cclxuXHJcbkBtaXhpbiByZXBlYXRpbmdfYm9yZGVyX2dyYWRpZW50KCkge1xyXG4gICAgYm9yZGVyLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxyXG4gICAgICAgICAgICAgICAgICAgIC00NWRlZyxcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAwcHgsXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgNXB4LFxyXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpIDVweCxcclxuICAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAxMHB4KSA0O1xyXG59XHJcblxyXG5AbWl4aW4gcHJlbG9hZGVyKCkge1xyXG4gICAgd2lkdGg6IDMycHg7XHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgYW5pbWF0aW9uOiBzY2FsZW91dCAxLjBzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xyXG4gICAgQGlmICRwb2ludCA9PSBsYXB0b3Age1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxNDQwcHgpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQgO1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJHBvaW50ID09IHVuZGVyTGFwdG9wIHtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMHB4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50IDtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwb2ludCA9PSBhZnRlckxhcHRvcCB7XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE1MDBweCkge1xyXG4gICAgICAgICAgICBAY29udGVudCA7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0IHtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50IDtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXRsYW5kIHtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNXB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQgO1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJHBvaW50ID09IHRhYmxldHVuZGVyIHtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50IDtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXRvbmx5IHtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY5cHgpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQgO1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJHBvaW50ID09IG1vYmlsZSB7XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50IDtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXRpemVkIHtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY5cHgpIGFuZCAobWluLXdpZHRoOiA0MjVweCkge1xyXG4gICAgICAgICAgICBAY29udGVudCA7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkcG9pbnQgPT0gbW9iaWxpemVkIHtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDI1cHgpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQgO1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJHBvaW50ID09IGlwaG9uZTVwb3J0cmFpdCB7XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3MHB4KSBhbmQgKG1pbi13aWR0aDogNTUxcHgpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQgO1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcG9pbnQpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQgO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHN0bWljb24oJGNvbnRlbnQsICRpbXBvcnRhbnQ6IHRydWUpIHtcclxuICAgIEBpZiAkaW1wb3J0YW50ID09IHRydWUge1xyXG4gICAgICAgIGNvbnRlbnQ6IHVuaWNvZGUoJGNvbnRlbnQpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdzdG1pY29ucycgIWltcG9ydGFudDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGNvbnRlbnQ6IHVuaWNvZGUoJGNvbnRlbnQpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnc3RtaWNvbnMnO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYWJzQWxpZ24oJGRpcmVjdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgIEBpZiAoJGRpcmVjdGlvbiA9PSB2KSB7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBoKSB7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gYykge1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtaXhpbiBjbGVhcmZpeCgpIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gc2l6ZSgkc2l6ZSkge1xyXG4gICAgd2lkdGg6ICN7JHNpemV9cHg7XHJcbiAgICBoZWlnaHQ6ICN7JHNpemV9cHg7XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBRUFBLFVBQVU7QUFNVixTQUFTO0FESFQsQUFBQSxhQUFhO0FBQ2IsbUJBQW1CLENBQUM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEVBQUUsR0FPWjtFQVZELEFBSUUsYUFKVyxDQUlYLFVBQVU7RUFIWixtQkFBbUIsQ0FHakIsVUFBVSxDQUFDO0lBQ1QsU0FBUyxFQUFFLElBQUksR0FDaEI7RUFOSCxBQU9FLGFBUFcsQ0FPWCxnQkFBZ0I7RUFObEIsbUJBQW1CLENBTWpCLGdCQUFnQixDQUFDO0lBQ2YsS0FBSyxFQUFFLElBQUksR0FD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 */
